Exemple #1
0
def _remove(distpatcher, args, **kw):
    opts = _parse_args(args[1:], 'y', [])
    if 'y' in opts:
        auto_confirm = True
    else:
        auto_confirm = False

    retcode = 0
    for dist in set(opts['args']):
        try:
            remove(dist, auto_confirm=auto_confirm)
        except PackagingError:
            logger.warning('%r not installed', dist)
            retcode = 1

    return retcode
Exemple #2
0
def _remove(distpatcher, args, **kw):
    opts = _parse_args(args[1:], 'y', [])
    if 'y' in opts:
        auto_confirm = True
    else:
        auto_confirm = False

    retcode = 0
    for dist in set(opts['args']):
        try:
            remove(dist, auto_confirm=auto_confirm)
        except PackagingError:
            logger.warning('%r not installed', dist)
            retcode = 1

    return retcode
 def test_uninstall(self):
     dist, site_packages = self.install_dist()
     self.assertIsFile(site_packages, "foo", "__init__.py")
     self.assertIsFile(site_packages, "foo", "sub", "__init__.py")
     self.assertIsFile(site_packages, "Foo-0.1.dist-info", "RECORD")
     self.assertTrue(remove("Foo", paths=[site_packages]))
     self.assertIsNotFile(site_packages, "foo", "sub", "__init__.py")
     self.assertIsNotFile(site_packages, "Foo-0.1.dist-info", "RECORD")
 def test_uninstall(self):
     dist, site_packages = self.install_dist()
     self.assertIsFile(site_packages, 'foo', '__init__.py')
     self.assertIsFile(site_packages, 'foo', 'sub', '__init__.py')
     self.assertIsFile(site_packages, 'Foo-0.1.dist-info', 'RECORD')
     self.assertTrue(remove('Foo', paths=[site_packages]))
     self.assertIsNotFile(site_packages, 'foo', 'sub', '__init__.py')
     self.assertIsNotFile(site_packages, 'Foo-0.1.dist-info', 'RECORD')
    def test_uninstall_error_handling(self):
        # makes sure if there are OSErrors (like permission denied)
        # remove() stops and displays a clean error
        dist, site_packages = self.install_dist("Meh")

        # breaking os.rename
        old = os.rename

        def _rename(source, target):
            raise OSError(42, "impossible operation")

        os.rename = _rename
        try:
            self.assertFalse(remove("Meh", paths=[site_packages]))
        finally:
            os.rename = old

        logs = [log for log in self.get_logs(logging.INFO) if log.startswith("Error:")]
        self.assertEqual(logs, ["Error: [Errno 42] impossible operation"])

        self.assertTrue(remove("Meh", paths=[site_packages]))
    def test_uninstall_error_handling(self):
        # makes sure if there are OSErrors (like permission denied)
        # remove() stops and displays a clean error
        dist, site_packages = self.install_dist('Meh')

        # breaking os.rename
        old = os.rename

        def _rename(source, target):
            raise OSError(42, 'impossible operation')

        os.rename = _rename
        try:
            self.assertFalse(remove('Meh', paths=[site_packages]))
        finally:
            os.rename = old

        logs = [
            log for log in self.get_logs(logging.INFO)
            if log.startswith('Error:')
        ]
        self.assertEqual(logs, ['Error: [Errno 42] impossible operation'])

        self.assertTrue(remove('Meh', paths=[site_packages]))