def test_closed(self): local_warnings = [] def capture_warnings(msg, cls, stacklevel=None): self.assertEqual(cls, DeprecationWarning) local_warnings.append(msg) method = symbol_versioning.warn try: symbol_versioning.set_warning_method(capture_warnings) f = atomicfile.AtomicFile('test', mode='wb') self.assertEqual(False, f.closed) f.abort() self.assertEqual(True, f.closed) f = atomicfile.AtomicFile('test', mode='wb') f.close() self.assertEqual(True, f.closed) f = atomicfile.AtomicFile('test', mode='wb') f.commit() self.assertEqual(True, f.closed) finally: symbol_versioning.set_warning_method(method) txt = 'AtomicFile.closed deprecated in bzr 0.10' self.assertEqual([txt] * 4, local_warnings)
def test_closed(self): local_warnings = [] def capture_warnings(msg, cls, stacklevel=None): self.assertEqual(cls, DeprecationWarning) local_warnings.append(msg) method = symbol_versioning.warn try: symbol_versioning.set_warning_method(capture_warnings) f = atomicfile.AtomicFile('test', mode='wb') self.assertEqual(False, f.closed) f.abort() self.assertEqual(True, f.closed) f = atomicfile.AtomicFile('test', mode='wb') f.close() self.assertEqual(True, f.closed) f = atomicfile.AtomicFile('test', mode='wb') f.commit() self.assertEqual(True, f.closed) finally: symbol_versioning.set_warning_method(method) txt = 'AtomicFile.closed deprecated in bzr 0.10' self.assertEqual([txt]*4, local_warnings)
def check_deprecated_callable(self, expected_warning, expected_docstring, expected_name, expected_module, deprecated_callable): old_warning_method = symbol_versioning.warn try: symbol_versioning.set_warning_method(self.capture_warning) self.assertEqual(1, deprecated_callable()) self.assertEqual([expected_warning], self._warnings) deprecated_callable() self.assertEqual([expected_warning, expected_warning], self._warnings) self.assertEqualDiff(expected_docstring, deprecated_callable.__doc__) self.assertEqualDiff(expected_name, deprecated_callable.__name__) self.assertEqualDiff(expected_module, deprecated_callable.__module__) self.assertTrue(deprecated_callable.is_deprecated) finally: symbol_versioning.set_warning_method(old_warning_method)
def test_deprecated_dict(self): expected_warning = ( "access to a_deprecated_dict was deprecated in version 0.14.0." " Pull the other one!", DeprecationWarning, 2) old_warning_method = symbol_versioning.warn try: symbol_versioning.set_warning_method(self.capture_warning) self.assertEqual(len(a_deprecated_dict), 1) self.assertEqual([expected_warning], self._warnings) a_deprecated_dict['b'] = 42 self.assertEqual(a_deprecated_dict['b'], 42) self.assertTrue('b' in a_deprecated_dict) del a_deprecated_dict['b'] self.assertFalse('b' in a_deprecated_dict) self.assertEqual([expected_warning] * 6, self._warnings) finally: symbol_versioning.set_warning_method(old_warning_method)
def check_deprecated_callable(self, expected_warning, expected_docstring, expected_name, expected_module, deprecated_callable): if __doc__ is None: # With -OO the docstring should just be the deprecated version expected_docstring = expected_docstring.split('\n')[-2].lstrip() old_warning_method = symbol_versioning.warn try: symbol_versioning.set_warning_method(self.capture_warning) self.assertEqual(1, deprecated_callable()) self.assertEqual([expected_warning], self._warnings) deprecated_callable() self.assertEqual([expected_warning, expected_warning], self._warnings) self.assertEqualDiff(expected_docstring, deprecated_callable.__doc__) self.assertEqualDiff(expected_name, deprecated_callable.__name__) self.assertEqualDiff(expected_module, deprecated_callable.__module__) self.assertTrue(deprecated_callable.is_deprecated) finally: symbol_versioning.set_warning_method(old_warning_method)
def test_deprecated_list(self): expected_warning = ( "Modifying a_deprecated_list was deprecated in version 0.9.0." " Don't use me", DeprecationWarning, 3) old_warning_method = symbol_versioning.warn try: symbol_versioning.set_warning_method(self.capture_warning) self.assertEqual(['one'], a_deprecated_list) self.assertEqual([], self._warnings) a_deprecated_list.append('foo') self.assertEqual([expected_warning], self._warnings) self.assertEqual(['one', 'foo'], a_deprecated_list) a_deprecated_list.extend(['bar', 'baz']) self.assertEqual([expected_warning] * 2, self._warnings) self.assertEqual(['one', 'foo', 'bar', 'baz'], a_deprecated_list) a_deprecated_list.insert(1, 'xxx') self.assertEqual([expected_warning] * 3, self._warnings) self.assertEqual(['one', 'xxx', 'foo', 'bar', 'baz'], a_deprecated_list) a_deprecated_list.remove('foo') self.assertEqual([expected_warning] * 4, self._warnings) self.assertEqual(['one', 'xxx', 'bar', 'baz'], a_deprecated_list) val = a_deprecated_list.pop() self.assertEqual([expected_warning] * 5, self._warnings) self.assertEqual('baz', val) self.assertEqual(['one', 'xxx', 'bar'], a_deprecated_list) val = a_deprecated_list.pop(1) self.assertEqual([expected_warning] * 6, self._warnings) self.assertEqual('xxx', val) self.assertEqual(['one', 'bar'], a_deprecated_list) finally: symbol_versioning.set_warning_method(old_warning_method)
def test_deprecated_list(self): expected_warning = ( "Modifying a_deprecated_list was deprecated in version 0.9.0." " Don't use me", DeprecationWarning, 3) old_warning_method = symbol_versioning.warn try: symbol_versioning.set_warning_method(self.capture_warning) self.assertEqual(['one'], a_deprecated_list) self.assertEqual([], self._warnings) a_deprecated_list.append('foo') self.assertEqual([expected_warning], self._warnings) self.assertEqual(['one', 'foo'], a_deprecated_list) a_deprecated_list.extend(['bar', 'baz']) self.assertEqual([expected_warning]*2, self._warnings) self.assertEqual(['one', 'foo', 'bar', 'baz'], a_deprecated_list) a_deprecated_list.insert(1, 'xxx') self.assertEqual([expected_warning]*3, self._warnings) self.assertEqual(['one', 'xxx', 'foo', 'bar', 'baz'], a_deprecated_list) a_deprecated_list.remove('foo') self.assertEqual([expected_warning]*4, self._warnings) self.assertEqual(['one', 'xxx', 'bar', 'baz'], a_deprecated_list) val = a_deprecated_list.pop() self.assertEqual([expected_warning]*5, self._warnings) self.assertEqual('baz', val) self.assertEqual(['one', 'xxx', 'bar'], a_deprecated_list) val = a_deprecated_list.pop(1) self.assertEqual([expected_warning]*6, self._warnings) self.assertEqual('xxx', val) self.assertEqual(['one', 'bar'], a_deprecated_list) finally: symbol_versioning.set_warning_method(old_warning_method)