def test_clone_upgrade_synthetic(self):
     """ test clone upgrade with on-the-fly generated chroots """
     supported = distro_info.UbuntuDistroInfo().supported()
     for meta in [
             "ubuntu-standard", "ubuntu-desktop", "kubuntu-desktop",
             "xubuntu-desktop"
     ]:
         logging.info("testing %s" % meta)
         old = self._create_fake_upgradable_root(supported[-2], meta=meta)
         self.addCleanup(shutil.rmtree, old)
         # create statefile based on the old data
         with tarfile.open("lala.tar.gz", "w:gz") as state:
             state.add(os.path.join(old, "var", "lib", "apt-clone",
                                    "installed.pkgs"),
                       arcname="./var/lib/apt-clone/installed.pkgs")
         # create new fake environment and try to upgrade
         new = self._create_fake_upgradable_root(supported[-1], meta=meta)
         self.addCleanup(shutil.rmtree, new)
         cache = apt.Cache(rootdir=new)
         clone = AptClone()
         clone._restore_package_selection_in_cache("lala.tar.gz",
                                                   cache,
                                                   protect_installed=True)
         self.assertFalse(cache[meta].marked_delete,
                          "package %s marked for removal" % meta)
         self.assertTrue(len(cache.get_changes()) > 0)
 def test_clone_upgrade_regression(self):
     """ regression test against known installs """
     new = self._create_fake_upgradable_root("natty", meta="ubuntu-desktop")
     self.addCleanup(shutil.rmtree, new)
     cache = apt.Cache(rootdir=new)
     clone = AptClone()
     clone._restore_package_selection_in_cache(
         "./data/regression/apt-clone-state-ubuntu.tar.gz", cache)
     self.assertTrue(len(cache.get_changes()) > 0)
 def test_clone_upgrade_regression(self):
     """ regression test against known installs """
     new = self._create_fake_upgradable_root("natty", meta="ubuntu-desktop")
     self.addCleanup(shutil.rmtree, new)
     cache = apt.Cache(rootdir=new)
     clone = AptClone()
     clone._restore_package_selection_in_cache(
         "./data/regression/apt-clone-state-ubuntu.tar.gz", cache)
     self.assertTrue(len(cache.get_changes()) > 0)
 def test_clone_upgrade_synthetic(self):
     """ test clone upgrade with on-the-fly generated chroots """
     supported = distro_info.UbuntuDistroInfo().supported()
     for meta in ["ubuntu-standard", "ubuntu-desktop", "kubuntu-desktop",
                  "xubuntu-desktop"]:
         logging.info("testing %s" % meta)
         old = self._create_fake_upgradable_root(supported[-2], meta=meta)
         self.addCleanup(shutil.rmtree, old)
         # create statefile based on the old data
         with tarfile.open("lala.tar.gz", "w:gz") as state:
             state.add(
                 os.path.join(old, "var", "lib", "apt-clone",
                              "installed.pkgs"),
                 arcname = "./var/lib/apt-clone/installed.pkgs")
         # create new fake environment and try to upgrade
         new = self._create_fake_upgradable_root(supported[-1], meta=meta)
         self.addCleanup(shutil.rmtree, new)
         cache = apt.Cache(rootdir=new)
         clone = AptClone()
         clone._restore_package_selection_in_cache("lala.tar.gz", cache, protect_installed=True)
         self.assertFalse(cache[meta].marked_delete,
                          "package %s marked for removal" % meta)
         self.assertTrue(len(cache.get_changes()) > 0)