示例#1
0
    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)
示例#2
0
    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)
示例#3
0
 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)
示例#4
0
    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 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)
示例#6
0
 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 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)
示例#8
0
 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)
示例#9
0
    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)