def test_get_lts_linux_metapackage(self):
     q = DistUpgradeQuirks(mock.Mock(), mock.Mock())
     mock_cache = set([
         make_mock_pkg(
             name="linux-image-3.13.0-24-generic",
             is_installed=True,
             candidate_rec={"Source": "linux-lts-quantal"},
         ),
     ])
     pkgname = q._get_linux_metapackage(mock_cache, headers=False)
     self.assertEqual(pkgname, "linux-generic-lts-quantal")
 def test_get_lowlatency_linux_metapackage(self):
     q = DistUpgradeQuirks(mock.Mock(), mock.Mock())
     mock_cache = set([
         make_mock_pkg(
             name="linux-image-4.2.0-16-lowlatency",
             is_installed=True,
             candidate_rec={"Source": "linux"},
         ),
     ])
     pkgname = q._get_linux_metapackage(mock_cache, headers=False)
     self.assertEqual(pkgname, "linux-lowlatency")
    def test_screensaver_poke(self):
        # fake nothing is installed
        empty_status = tempfile.NamedTemporaryFile()
        apt_pkg.config.set("Dir::state::status", empty_status.name)

        # create quirks class
        controller = mock.Mock()
        config = mock.Mock()
        quirks = DistUpgradeQuirks(controller, config)
        quirks._pokeScreensaver()
        res = quirks._stopPokeScreensaver()
        res  # pyflakes
 def disabled__as_fglrx_is_gone_testFglrx(self):
     mock_lspci_good = set(['1002:9990'])
     mock_lspci_bad = set(['8086:ac56'])
     config = mock.Mock()
     cache = apt.Cache()
     controller = mock.Mock()
     controller.cache = cache
     q = DistUpgradeQuirks(controller, config)
     if q.arch not in ['i386', 'amd64']:
         return self.skipTest("Not on an arch with fglrx package")
     self.assertTrue(q._supportInModaliases("fglrx", mock_lspci_good))
     self.assertFalse(q._supportInModaliases("fglrx", mock_lspci_bad))
 def test_patch(self):
     q = DistUpgradeQuirks(MockController(), MockConfig)
     # create patch environment
     patchdir = CURDIR + "/patchdir/"
     shutil.copy(patchdir + "foo_orig", patchdir + "foo")
     shutil.copy(patchdir + "fstab_orig", patchdir + "fstab")
     shutil.copy(patchdir + "pycompile_orig", patchdir + "pycompile")
     shutil.copy(patchdir + "dotdot_orig", patchdir + "dotdot")
     shutil.copy(patchdir + "fail_orig", patchdir + "fail")
     # apply patches
     q._applyPatches(patchdir=patchdir)
     self._verify_result_checksums()
     # now apply patches again and ensure we don't patch twice
     q._applyPatches(patchdir=patchdir)
     self._verify_result_checksums()
    def test_enable_recommends_during_upgrade(self):
        controller = mock.Mock()

        config = mock.Mock()
        q = DistUpgradeQuirks(controller, config)
        # server mode
        apt_pkg.config.set("APT::Install-Recommends", "0")
        controller.serverMode = True
        self.assertFalse(apt_pkg.config.find_b("APT::Install-Recommends"))
        q.ensure_recommends_are_installed_on_desktops()
        self.assertFalse(apt_pkg.config.find_b("APT::Install-Recommends"))
        # desktop mode
        apt_pkg.config.set("APT::Install-Recommends", "0")
        controller.serverMode = False
        self.assertFalse(apt_pkg.config.find_b("APT::Install-Recommends"))
        q.ensure_recommends_are_installed_on_desktops()
        self.assertTrue(apt_pkg.config.find_b("APT::Install-Recommends"))
 def test_parse_from_modaliases_header(self):
     pkgrec = {
         "Package":
         "foo",
         "Modaliases":
         "modules1(pci:v00001002d00006700sv*sd*bc03sc*i*, "
         "pci:v00001002d00006701sv*sd*bc03sc*i*), "
         "module2(pci:v00001002d00006702sv*sd*bc03sc*i*, "
         "pci:v00001001d00006702sv*sd*bc03sc*i*)"
     }
     controller = mock.Mock()
     config = mock.Mock()
     q = DistUpgradeQuirks(controller, config)
     self.assertEqual(q._parse_modaliases_from_pkg_header({}), [])
     self.assertEqual(q._parse_modaliases_from_pkg_header(pkgrec),
                      [("modules1", [
                          "pci:v00001002d00006700sv*sd*bc03sc*i*",
                          "pci:v00001002d00006701sv*sd*bc03sc*i*"
                      ]),
                       ("module2", [
                           "pci:v00001002d00006702sv*sd*bc03sc*i*",
                           "pci:v00001001d00006702sv*sd*bc03sc*i*"
                       ])])