def loadRecipeClass( repos, name, version, flavor, trv=None, ignoreInstalled=True, root=None, loadInstalledSource=None, overrides=None, buildLabel=None, cfg=None, ): if trv is None: trv = repos.getTrove(name, version, deps.parseFlavor(""), withFiles=True) if cfg is None: cfg = conarycfg.ConaryConfiguration(False) else: cfg = copy.deepcopy(cfg) cfg.initializeFlavors() if root: cfg.root = root branch = version.branch() label = version.branch().label() cfg.buildLabel = label cfg.buildFlavor = flavor name = name.split(":")[0] use.LocalFlags._clear() use.setBuildFlagsFromFlavor(name, flavor, error=False) use.resetUsed() use.track(True) loader = RecipeLoaderFromSourceTrove( trv, repos, cfg, name + ":source", branch, ignoreInstalled=ignoreInstalled, db=loadInstalledSource, overrides=overrides, buildFlavor=flavor, ) recipeClass = loader.getRecipe() recipeClass._trove = trv use.track(False) localFlags = flavorutil.getLocalFlags() usedFlags = use.getUsed() use.LocalFlags._clear() return loader, recipeClass, localFlags, usedFlags
def loadRecipeClass(repos, name, version, flavor, trv=None, ignoreInstalled=True, root=None, loadInstalledSource=None, overrides=None, buildLabel=None, cfg=None): if trv is None: trv = repos.getTrove(name, version, deps.parseFlavor(''), withFiles=True) if cfg is None: cfg = conarycfg.ConaryConfiguration(False) else: cfg = copy.deepcopy(cfg) cfg.initializeFlavors() if root: cfg.root = root branch = version.branch() label = version.branch().label() cfg.buildLabel = label cfg.buildFlavor = flavor name = name.split(':')[0] use.LocalFlags._clear() use.setBuildFlagsFromFlavor(name, flavor, error=False) use.resetUsed() use.track(True) loader = RecipeLoaderFromSourceTrove(trv, repos, cfg, name + ':source', branch, ignoreInstalled=ignoreInstalled, db=loadInstalledSource, overrides=overrides, buildFlavor=flavor) recipeClass = loader.getRecipe() recipeClass._trove = trv use.track(False) localFlags = flavorutil.getLocalFlags() usedFlags = use.getUsed() use.LocalFlags._clear() return loader, recipeClass, localFlags, usedFlags
def testTrack(self): Use = use.UseCollection() Use._addFlag('foo', value=True) Use._addFlag('bar', value=False) Use._addFlag('bam', value=False) assert(Use._getUsed() == []) Use._trackUsed(True) assert(bool(Use.foo)) assert(str(Use._getUsed()) == '[foo: True]') Use._trackUsed(False) bool(Use.bar) assert(str(Use._getUsed()) == '[foo: True]') Use._resetUsed() assert(Use._getUsed() == []) Use.foo._set(False) Use._trackUsed(True) assert(not bool(Use.foo)) Use._getUsed() assert(str(Use._getUsed()) == '[foo: False]') Use._trackUsed(False) use.setUsed([Use.bar]) Use._getUsed() assert(str(Use._getUsed()) == '[foo: False, bar: False]') Use._resetUsed() Use._trackUsed(True) Use.bar._set() assert(bool(Use.bar)) Use._getUsed() assert(str(Use._getUsed()) == '[bar: True]') Use._resetUsed() Use.bar._set() Use.foo._set(False) Use._trackUsed(True) assert(Use.bar | Use.foo) assert(set(x._name for x in Use._iterUsed()) == set(['bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert(not Use.foo & Use.bar) assert(set(x._name for x in Use._iterUsed()) == set(['bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert(not (Use.foo & Use.bar & Use.bam)) sorted(x._name for x in Use._iterUsed()) assert(set(x._name for x in Use._iterUsed()) == \ set(['bam', 'bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert(Use.foo | Use.bar | Use.bam) assert(set(x._name for x in Use._iterUsed()) == \ set(['bam', 'bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert(not (Use.foo == True)) assert([x._name for x in Use._iterUsed()] == ['foo']) Use._resetUsed() Use._trackUsed(True) assert(True != Use.foo) assert([x._name for x in Use._iterUsed()] == ['foo']) Arch = use.Arch use.resetUsed() use.track(True) assert(not bool(Arch.ppc.ppc64)) use.track(False) assert(use.getUsed() == [Arch.getCurrentArch()])
def testTrack(self): Use = use.UseCollection() Use._addFlag('foo', value=True) Use._addFlag('bar', value=False) Use._addFlag('bam', value=False) assert (Use._getUsed() == []) Use._trackUsed(True) assert (bool(Use.foo)) assert (str(Use._getUsed()) == '[foo: True]') Use._trackUsed(False) bool(Use.bar) assert (str(Use._getUsed()) == '[foo: True]') Use._resetUsed() assert (Use._getUsed() == []) Use.foo._set(False) Use._trackUsed(True) assert (not bool(Use.foo)) Use._getUsed() assert (str(Use._getUsed()) == '[foo: False]') Use._trackUsed(False) use.setUsed([Use.bar]) Use._getUsed() assert (str(Use._getUsed()) == '[foo: False, bar: False]') Use._resetUsed() Use._trackUsed(True) Use.bar._set() assert (bool(Use.bar)) Use._getUsed() assert (str(Use._getUsed()) == '[bar: True]') Use._resetUsed() Use.bar._set() Use.foo._set(False) Use._trackUsed(True) assert (Use.bar | Use.foo) assert (set(x._name for x in Use._iterUsed()) == set(['bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert (not Use.foo & Use.bar) assert (set(x._name for x in Use._iterUsed()) == set(['bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert (not (Use.foo & Use.bar & Use.bam)) sorted(x._name for x in Use._iterUsed()) assert(set(x._name for x in Use._iterUsed()) == \ set(['bam', 'bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert (Use.foo | Use.bar | Use.bam) assert(set(x._name for x in Use._iterUsed()) == \ set(['bam', 'bar', 'foo'])) Use._resetUsed() Use._trackUsed(True) assert (not (Use.foo == True)) assert ([x._name for x in Use._iterUsed()] == ['foo']) Use._resetUsed() Use._trackUsed(True) assert (True != Use.foo) assert ([x._name for x in Use._iterUsed()] == ['foo']) Arch = use.Arch use.resetUsed() use.track(True) assert (not bool(Arch.ppc.ppc64)) use.track(False) assert (use.getUsed() == [Arch.getCurrentArch()])