ResolverPlayground: use create_trees
authorZac Medico <zmedico@gentoo.org>
Tue, 25 Oct 2011 08:09:26 +0000 (01:09 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 25 Oct 2011 08:09:26 +0000 (01:09 -0700)
pym/portage/__init__.py
pym/portage/tests/resolver/ResolverPlayground.py

index d3df6e3231061f2d6f12836f52b06be8e504978f..7f781cf177018d7cd5a09fd1787810a390123055 100644 (file)
@@ -479,7 +479,7 @@ def portageexit():
        if data.secpass > 1 and os.environ.get("SANDBOX_ON") != "1":
                close_portdbapi_caches()
 
-def create_trees(config_root=None, target_root=None, trees=None):
+def create_trees(config_root=None, target_root=None, trees=None, env=None):
        if trees is None:
                trees = {}
        else:
@@ -490,9 +490,11 @@ def create_trees(config_root=None, target_root=None, trees=None):
                        portdbapi.portdbapi_instances.remove(portdb)
                        del trees[myroot]["porttree"], myroot, portdb
 
-       eprefix = os.environ.get("__PORTAGE_TEST_EPREFIX")
+       if env is None:
+               env = os.environ
+       eprefix = env.get("__PORTAGE_TEST_EPREFIX")
        settings = config(config_root=config_root, target_root=target_root,
-               config_incrementals=portage.const.INCREMENTALS, _eprefix=eprefix)
+               env=env, _eprefix=eprefix)
        settings.lock()
 
        myroots = [(settings["ROOT"], settings)]
index ec6f63166c3032bc8596e069c370750b96d28a91..4bbd03318ac976b3a615136f88aec00d4169ab38 100644 (file)
@@ -476,8 +476,10 @@ class ResolverPlayground(object):
                                portdir_overlay.append(path)
 
                env = {
+                       "__PORTAGE_TEST_EPREFIX": self.eprefix,
                        "ACCEPT_KEYWORDS": "x86",
                        "DISTDIR" : self.distdir,
+                       "PKGDIR": os.path.join(self.eroot, "usr/portage/packages"),
                        "PORTDIR": self.portdir,
                        "PORTDIR_OVERLAY": " ".join(portdir_overlay),
                        'PORTAGE_TMPDIR'       : os.path.join(self.eroot, 'var/tmp'),
@@ -490,19 +492,7 @@ class ResolverPlayground(object):
                if 'PORTAGE_GRPNAME' in os.environ:
                        env['PORTAGE_GRPNAME'] = os.environ['PORTAGE_GRPNAME']
 
-               settings = config(_eprefix=self.eprefix, env=env)
-               settings.lock()
-
-               trees = {
-                       self.root: {
-                                       "vartree": vartree(settings=settings),
-                                       "porttree": portagetree(self.root, settings=settings),
-                                       "bintree": binarytree(self.root,
-                                               os.path.join(self.eroot, "usr/portage/packages"),
-                                               settings=settings)
-                               }
-                       }
-
+               trees = portage.create_trees(env=env)
                for root, root_trees in trees.items():
                        settings = root_trees["vartree"].settings
                        settings._init_dirs()