Tests: ResolverPlayground: create world file
authorSebastian Luther <SebastianLuther@gmx.de>
Thu, 12 Aug 2010 11:55:55 +0000 (13:55 +0200)
committerZac Medico <zmedico@gentoo.org>
Thu, 12 Aug 2010 12:34:19 +0000 (05:34 -0700)
pym/portage/tests/resolver/ResolverPlayground.py

index 947c5c7caf17e5212769224dea42d1856df2d39c..d085b40d38260213c187ddd8b54f7833b5ae4f2e 100644 (file)
@@ -27,7 +27,7 @@ class ResolverPlayground(object):
        it's work.
        """
        
-       def __init__(self, ebuilds={}, installed={}, profile={}):
+       def __init__(self, ebuilds={}, installed={}, profile={}, world=[]):
                """
                ebuilds: cpv -> metadata mapping simulating avaiable ebuilds. 
                installed: cpv -> metadata mapping simulating installed packages.
@@ -43,6 +43,7 @@ class ResolverPlayground(object):
                self._create_ebuilds(ebuilds)
                self._create_installed(installed)
                self._create_profile(ebuilds, installed, profile)
+               self._create_world(world)
                
                self.settings, self.trees = self._load_config()
                
@@ -183,6 +184,18 @@ class ResolverPlayground(object):
                os.makedirs(os.path.join(self.root, "etc"))
                os.symlink(sub_profile_dir, os.path.join(self.root, "etc", "make.profile"))
 
+       def _create_world(self, world):
+               #Create /var/lib/portage/world
+               var_lib_portage = os.path.join(self.root, "var", "lib", "portage")
+               os.makedirs(var_lib_portage)
+
+               world_file = os.path.join(var_lib_portage, "world")
+
+               f = open(world_file, "w")
+               for atom in world:
+                       f.write("%s\n" % atom)
+               f.close()
+
        def _load_config(self):
                env = {
                        "ACCEPT_KEYWORDS": "x86",