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]))