File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -184,6 +184,27 @@ def testNestedCheckoutDep(self):
184184 self .cmpEntry (res [4 ], "e" )
185185 self .cmpEntry (res [5 ], "f" , checkoutDep = True )
186186
187+ def testNameAndDepends (self ):
188+ """A dependency must not use 'name' and 'depends' at the same time"""
189+ deps = [
190+ {
191+ "name" : "a" ,
192+ "depends" : [],
193+ }
194+ ]
195+ with self .assertRaises (ParseError ):
196+ list (Recipe .Dependency .parseEntries (MagicMock (), deps ))
197+
198+ def testNeitherNameNorDepends (self ):
199+ """A dependency must use 'name' or 'depends'"""
200+ deps = [
201+ {
202+ "if" : "a" ,
203+ }
204+ ]
205+ with self .assertRaises (ParseError ):
206+ list (Recipe .Dependency .parseEntries (MagicMock (), deps ))
207+
187208
188209class RecipeCommon :
189210
Original file line number Diff line number Diff line change @@ -877,6 +877,32 @@ def testPackageDepends(self):
877877 self .assertEqual (p .getPackageStep ().getArguments ()[2 ].getPackage ().getName (),
878878 "lib2" )
879879
880+ def testDuplicateDep (self ):
881+ """Dependencies must only be named once"""
882+ self .writeRecipe ("root" , """\
883+ root: True
884+ depends: [a, a]
885+ """ )
886+ self .writeRecipe ("a" , "" )
887+
888+ packages = self .generate ()
889+ self .assertRaises (ParseError , packages .getRootPackage )
890+
891+ def testDuplicateDepWithClass (self ):
892+ """Dependencies must only be named once"""
893+ self .writeRecipe ("root" , """\
894+ root: True
895+ inherit: [cls]
896+ depends: [a]
897+ """ )
898+ self .writeClass ("cls" , """\
899+ depends: [a]
900+ """ )
901+ self .writeRecipe ("a" , "" )
902+
903+ packages = self .generate ()
904+ self .assertRaises (ParseError , packages .getRootPackage )
905+
880906class TestDependencyEnv (RecipesTmp , TestCase ):
881907 """Tests related to "environment" block in dependencies"""
882908
You can’t perform that action at this time.
0 commit comments