<s> import pprint <EOL> import re <EOL> from testrunner import testhelp <EOL> from conary_test import rephelp <EOL> from conary import versions <EOL> from conary . build import cook <EOL> from conary . deps import deps <EOL> from conary . build . errors import GroupPathConflicts <EOL> VFS = versions . VersionFromString <EOL> class GroupSetTest ( rephelp . RepositoryHelper ) : <EOL> def build ( self , str , name , dict = { } , serverIdx = <NUM_LIT:0> , returnName = None , <EOL> groupOptions = None , logLevel = None ) : <EOL> ( built , d ) = self . buildRecipe ( str , name , dict , <EOL> groupOptions = groupOptions , <EOL> logLevel = logLevel ) <EOL> if returnName : <EOL> name , verStr , flavor = [ x for x in built if x [ <NUM_LIT:0> ] == returnName ] [ <NUM_LIT:0> ] <EOL> else : <EOL> name , verStr , flavor = built [ <NUM_LIT:0> ] <EOL> repos = self . openRepository ( serverIdx ) <EOL> version = VFS ( verStr ) <EOL> pkg = repos . getTrove ( name , version , flavor ) <EOL> return pkg <EOL> def checkTroves ( self , collection , desiredList ) : <EOL> refs = sorted ( <EOL> ( ( x [ <NUM_LIT:0> ] [ <NUM_LIT:0> ] , x [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] . asString ( ) , str ( x [ <NUM_LIT:0> ] [ <NUM_LIT:2> ] ) ) , x [ <NUM_LIT:1> ] , x [ <NUM_LIT:2> ] ) <EOL> for x in collection . iterTroveListInfo ( ) ) <EOL> desiredList = sorted ( desiredList ) <EOL> if refs != desiredList : <EOL> self . fail ( "<STR_LIT>" % ( <EOL> pprint . pformat ( desiredList ) , <EOL> pprint . pformat ( refs ) ) ) <EOL> def _build ( self , * coreList ) : <EOL> recipe = ( <EOL> """<STR_LIT>""" % "<STR_LIT:\n>" . join ( [ "<STR_LIT>" % x for x in coreList ] ) ) <EOL> grp = self . build ( recipe , "<STR_LIT>" ) <EOL> repos = self . openRepository ( ) <EOL> return repos . getTrove ( '<STR_LIT>' , grp . getVersion ( ) , grp . getFlavor ( ) ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testInstallAndOptional ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testComponents ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testDependencies ( self ) : <EOL> self . addComponent ( '<STR_LIT>' , <EOL> requires = deps . parseDep ( '<STR_LIT>' ) ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . assertRaises ( cook . CookError , self . _build , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testDependencyChain ( self ) : <EOL> self . addComponent ( '<STR_LIT>' , <EOL> requires = deps . parseDep ( '<STR_LIT>' ) ) <EOL> self . addComponent ( '<STR_LIT>' , <EOL> requires = deps . parseDep ( '<STR_LIT>' ) ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testDependenciesSearchPath ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> d = deps . parseDep ( '<STR_LIT>' ) <EOL> d . union ( deps . parseDep ( '<STR_LIT>' ) ) <EOL> self . addComponent ( '<STR_LIT>' , requires = d ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testDifference ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testEmpty ( self ) : <EOL> self . addComponent ( "<STR_LIT>" ) <EOL> self . addComponent ( "<STR_LIT>" ) <EOL> self . addCollection ( "<STR_LIT>" , [ "<STR_LIT>" , "<STR_LIT>" ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . assertRaises ( cook . CookError , <EOL> self . _build , <EOL> "<STR_LIT>" ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . assertRaises ( cook . CookError , <EOL> self . _build , <EOL> "<STR_LIT>" ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testFindByName ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . cfg . debugRecipeExceptions = True <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> self . assertRaises ( cook . CookError , self . _build , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testFindBySourceName ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' , sourceName = '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] , <EOL> sourceName = '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testImageGroup ( self ) : <EOL> repos = self . openRepository ( ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> subGrp = repos . getTrove ( '<STR_LIT>' , grp . getVersion ( ) , <EOL> grp . getFlavor ( ) ) <EOL> assert ( not grp . troveInfo . imageGroup ( ) ) <EOL> assert ( not subGrp . troveInfo . imageGroup ( ) ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> subGrp = repos . getTrove ( '<STR_LIT>' , grp . getVersion ( ) , <EOL> grp . getFlavor ( ) ) <EOL> assert ( grp . troveInfo . imageGroup ( ) ) <EOL> assert ( not subGrp . troveInfo . imageGroup ( ) ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> subGrp = repos . getTrove ( '<STR_LIT>' , grp . getVersion ( ) , <EOL> grp . getFlavor ( ) ) <EOL> assert ( grp . troveInfo . imageGroup ( ) ) <EOL> assert ( subGrp . troveInfo . imageGroup ( ) ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testOptionalSubgroup ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testCheckPathConflicts ( self ) : <EOL> self . addComponent ( '<STR_LIT>' , <EOL> fileContents = [ ( '<STR_LIT>' , '<STR_LIT:foo>' ) ] ) <EOL> self . addComponent ( '<STR_LIT>' , <EOL> fileContents = [ ( '<STR_LIT>' , '<STR_LIT:bar>' ) ] ) <EOL> self . assertRaises ( GroupPathConflicts , self . _build , <EOL> "<STR_LIT>" ) <EOL> self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> self . assertRaises ( GroupPathConflicts , self . _build , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testPackages ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testMembers ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' , ( '<STR_LIT:bar>' , False ) ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testRepositoryLatest ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' , sourceName = '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] , <EOL> sourceName = '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . makeSourceTrove ( '<STR_LIT:foo>' , '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> trv = self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . markRemoved ( trv . getNameVersionFlavor ( ) ) <EOL> grp = self . build ( <EOL> """<STR_LIT>""" , "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testOverrides ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> return <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testNestedOverrides ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' ] , <EOL> weakRefList = [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testRedirects ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> redirectRecipe = "<STR_LIT:\n>" . join ( [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] ) <EOL> built , d = self . buildRecipe ( redirectRecipe , "<STR_LIT>" ) <EOL> self . assertRaisesRegexp ( cook . CookError , <EOL> '<STR_LIT>' + re . escape ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> ) + '<STR_LIT:$>' , <EOL> self . _build , '<STR_LIT>' , '<STR_LIT>' ) <EOL> self . assertRaisesRegexp ( cook . CookError , <EOL> '<STR_LIT>' + re . escape ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> ) + '<STR_LIT:$>' , <EOL> self . _build , '<STR_LIT>' , '<STR_LIT>' ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testPatch ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , False ) ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' ] , <EOL> weakRefList = [ ( '<STR_LIT>' , False ) , <EOL> '<STR_LIT>' , <EOL> ( '<STR_LIT>' , False ) ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , False ) ] ) <EOL> self . cfg . debugRecipeExceptions = True <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testSimpleGroup ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testSearchPath ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> '<STR_LIT>' , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testSearchPathErrors ( self ) : <EOL> e = self . assertRaises ( cook . CookError , self . _build , <EOL> "<STR_LIT>" ) <EOL> self . assertEquals ( str ( e ) , <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testCML ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . cfg . debugRecipeExceptions = True <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> self . addComponent ( '<STR_LIT>' , requires = '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ ( '<STR_LIT>' , False ) ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> self . addComponent ( "<STR_LIT>" , <EOL> fileContents = [ ( "<STR_LIT>" , "<STR_LIT>" ) ] ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testWalk ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , ( '<STR_LIT>' , False ) ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , ( '<STR_LIT>' , False ) ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' ] , <EOL> weakRefList = [ ( '<STR_LIT>' , True ) , <EOL> ( '<STR_LIT>' , True ) ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:bar>' ] , <EOL> weakRefList = [ ( '<STR_LIT>' , True ) , <EOL> ( '<STR_LIT>' , True ) ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testUpdate ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , False ) ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' ] , <EOL> weakRefList = [ ( '<STR_LIT>' , False ) , <EOL> '<STR_LIT>' , <EOL> ( '<STR_LIT>' , False ) ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , False ) ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . cfg . debugRecipeExceptions = True <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testWeakRefs ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( '<STR_LIT>' ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) <EOL> ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) <EOL> ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testTroveTupleLookup ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> grp = self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . checkTroves ( grp , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) ] ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testScripts ( self ) : <EOL> '''<STR_LIT>''' <EOL> def _checkScripts ( grp ) : <EOL> scripts = grp . troveInfo . scripts <EOL> for scriptType in scriptTypes : <EOL> script = getattr ( scripts , scriptType ) . script ( ) <EOL> self . assertEquals ( script , '<STR_LIT>' % scriptType ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> recipe = [ ] <EOL> scriptTypes = ( '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ) <EOL> for scriptType in scriptTypes : <EOL> recipe . append ( '<STR_LIT>' % <EOL> ( <NUM_LIT:2> * ( scriptType , ) ) ) <EOL> recipe . append ( '<STR_LIT>' % '<STR_LIT:U+002CU+0020>' . join ( <EOL> [ '<STR_LIT>' . join ( ( x , x ) ) for x in scriptTypes ] ) ) <EOL> recipe . append ( '<STR_LIT>' ) <EOL> recipe . append ( '<STR_LIT>' <EOL> '<STR_LIT>' ) <EOL> recipe . append ( '<STR_LIT>' ) <EOL> grp = self . _build ( * recipe ) <EOL> repos = self . openRepository ( ) <EOL> igrp = repos . getTrove ( '<STR_LIT>' , grp . getVersion ( ) , grp . getFlavor ( ) ) <EOL> for g in ( grp , igrp ) : <EOL> _checkScripts ( g ) <EOL> grp = self . _build ( "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> _checkScripts ( grp ) <EOL> e = self . assertRaises ( cook . CookError , <EOL> self . _build , "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . assertEquals ( str ( e ) , '<STR_LIT>' ) <EOL> e = self . assertRaises ( cook . CookError , <EOL> self . _build , "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" ) <EOL> self . assertEquals ( str ( e ) , '<STR_LIT>' ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testMultipleFinds ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . _build ( <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" % self . workDir <EOL> ) <EOL> self . assertEquals ( <NUM_LIT:1> , len ( [ <EOL> x for x in open ( '<STR_LIT>' % self . workDir ) . readlines ( ) <EOL> if '<STR_LIT>' in x ] ) ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testBuildReferences ( self ) : <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT:foo>' ] ) <EOL> trv = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> buildRefs = trv . getBuildRefs ( ) <EOL> self . assertEquals ( buildRefs , [ ( '<STR_LIT>' , trv . getVersion ( ) , <EOL> trv . getFlavor ( ) ) ] ) <EOL> repos = self . openRepository ( ) <EOL> subGroup = repos . getTrove ( '<STR_LIT>' , trv . getVersion ( ) , <EOL> trv . getFlavor ( ) ) <EOL> buildRefs = subGroup . getBuildRefs ( ) <EOL> assert ( not buildRefs ) <EOL> @ testhelp . context ( '<STR_LIT>' ) <EOL> def testPackagesForComponents ( self ) : <EOL> """<STR_LIT>""" <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> self . addComponent ( '<STR_LIT>' ) <EOL> self . addCollection ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> grp = self . _build ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> self . checkTroves ( grp , [ <EOL> ( ( '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT:foo>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , False ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , True , True ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , False , True ) , <EOL> ] ) </s>
