python-pydiffx fails to build with Python 3.12.0a5. =================================== FAILURES =================================== ____________ DiffXChangeSectionTests.test_init_with_invalid_options ____________ self = <pydiffx.tests.test_dom_objects.DiffXChangeSectionTests testMethod=test_init_with_invalid_options> def test_init_with_invalid_options(self): """Testing DiffXChangeSection.__init__ with invalid options""" message = '"invalid_option" is not a valid option or content section' > with self.assertRaisesMessage(DiffXUnknownOptionError, message): pydiffx/tests/test_dom_objects.py:1235: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXChangeSectionTests testMethod=test_init_with_invalid_options> exception = <class 'pydiffx.errors.DiffXUnknownOptionError'> message = '"invalid_option" is not a valid option or content section' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXChangeSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____________ DiffXFileSectionTests.test_init_with_invalid_options _____________ self = <pydiffx.tests.test_dom_objects.DiffXFileSectionTests testMethod=test_init_with_invalid_options> def test_init_with_invalid_options(self): """Testing DiffXFileSection.__init__ with invalid options""" message = '"invalid_option" is not a valid option or content section' > with self.assertRaisesMessage(DiffXUnknownOptionError, message): pydiffx/tests/test_dom_objects.py:1603: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileSectionTests testMethod=test_init_with_invalid_options> exception = <class 'pydiffx.errors.DiffXUnknownOptionError'> message = '"invalid_option" is not a valid option or content section' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ DiffXFileDiffSectionTests.test_content_with_invalid_type ___________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_content_with_invalid_type> def test_content_with_invalid_type(self): """Testing DiffXFileDiffSection.content with invalid typw""" > self.run_invalid_content_type_test(content='test', expected_type=bytes) pydiffx/tests/test_dom_objects.py:1907: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:48: in run_invalid_content_type_test with self.assertRaisesMessage(TypeError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_content_with_invalid_type> exception = <class 'TypeError'> message = "Expected the content to be a <class 'bytes'> type, got <class 'str'> instead" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError __________ DiffXFileDiffSectionTests.test_encoding_with_invalid_type ___________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_encoding_with_invalid_type> def test_encoding_with_invalid_type(self): """Testing DiffXFileDiffSection.encoding with invalid type""" > self.run_invalid_option_type_test(option_name='encoding', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:1916: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_encoding_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "encoding" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ DiffXFileDiffSectionTests.test_init_with_invalid_options ___________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_init_with_invalid_options> def test_init_with_invalid_options(self): """Testing DiffXFileDiffSection.__init__ with invalid options""" message = '"invalid_option" is not a valid option or content section' > with self.assertRaisesMessage(DiffXUnknownOptionError, message): pydiffx/tests/test_dom_objects.py:1898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_init_with_invalid_options> exception = <class 'pydiffx.errors.DiffXUnknownOptionError'> message = '"invalid_option" is not a valid option or content section' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ________ DiffXFileDiffSectionTests.test_line_endings_with_invalid_type _________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_line_endings_with_invalid_type> def test_line_endings_with_invalid_type(self): """Testing DiffXFileDiffSection.line_endings with invalid type""" > self.run_invalid_option_type_test(option_name='line_endings', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:1937: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_line_endings_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "line_endings" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ________ DiffXFileDiffSectionTests.test_line_endings_with_invalid_value ________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_line_endings_with_invalid_value> def test_line_endings_with_invalid_value(self): """Testing DiffXFileDiffSection.line_endings with invalid value""" > self.run_invalid_option_value_test( option_name='line_endings', value='xxx', expected_choices=LineEndings.VALID_VALUES) pydiffx/tests/test_dom_objects.py:1930: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:79: in run_invalid_option_value_test with self.assertRaisesMessage(DiffXOptionValueChoiceError, /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_line_endings_with_invalid_value> exception = <class 'pydiffx.errors.DiffXOptionValueChoiceError'> message = '"xxx" is not a supported value for line_endings. Expected one of: dos, unix' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ____________ DiffXFileDiffSectionTests.test_type_with_invalid_type _____________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_type_with_invalid_type> def test_type_with_invalid_type(self): """Testing DiffXFileDiffSection.type with invalid type""" > self.run_invalid_option_type_test(option_name='type', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:1958: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_type_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "type" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ____________ DiffXFileDiffSectionTests.test_type_with_invalid_value ____________ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_type_with_invalid_value> def test_type_with_invalid_value(self): """Testing DiffXFileDiffSection.type with invalid value""" > self.run_invalid_option_value_test( option_name='type', value='xxx', expected_choices=DiffType.VALID_VALUES) pydiffx/tests/test_dom_objects.py:1951: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:79: in run_invalid_option_value_test with self.assertRaisesMessage(DiffXOptionValueChoiceError, /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXFileDiffSectionTests testMethod=test_type_with_invalid_value> exception = <class 'pydiffx.errors.DiffXOptionValueChoiceError'> message = '"xxx" is not a supported value for type. Expected one of: binary, text' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXFileDiffSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____________ DiffXMetaSectionTests.test_content_with_invalid_type _____________ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_content_with_invalid_type> def test_content_with_invalid_type(self): """Testing DiffXMetaSection.content with invalid typw""" > self.run_invalid_content_type_test(content='invalid', expected_type=dict) pydiffx/tests/test_dom_objects.py:2033: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:48: in run_invalid_content_type_test with self.assertRaisesMessage(TypeError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_content_with_invalid_type> exception = <class 'TypeError'> message = "Expected the content to be a <class 'dict'> type, got <class 'str'> instead" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXMetaSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ____________ DiffXMetaSectionTests.test_encoding_with_invalid_type _____________ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_encoding_with_invalid_type> def test_encoding_with_invalid_type(self): """Testing DiffXMetaSection.encoding with invalid type""" > self.run_invalid_option_type_test(option_name='encoding', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:2042: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_encoding_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "encoding" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXMetaSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____________ DiffXMetaSectionTests.test_format_with_invalid_type ______________ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_format_with_invalid_type> def test_format_with_invalid_type(self): """Testing DiffXMetaSection.format with invalid type""" > self.run_invalid_option_type_test(option_name='format', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:2061: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_format_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "format" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXMetaSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____________ DiffXMetaSectionTests.test_format_with_invalid_value _____________ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_format_with_invalid_value> def test_format_with_invalid_value(self): """Testing DiffXMetaSection.format with invalid value""" > self.run_invalid_option_value_test( option_name='format', value='xxx', expected_choices=MetaFormat.VALID_VALUES) pydiffx/tests/test_dom_objects.py:2054: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:79: in run_invalid_option_value_test with self.assertRaisesMessage(DiffXOptionValueChoiceError, /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_format_with_invalid_value> exception = <class 'pydiffx.errors.DiffXOptionValueChoiceError'> message = '"xxx" is not a supported value for format. Expected one of: json' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXMetaSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____________ DiffXMetaSectionTests.test_init_with_invalid_options _____________ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_init_with_invalid_options> def test_init_with_invalid_options(self): """Testing DiffXMetaSection.__init__ with invalid options""" message = '"invalid_option" is not a valid option or content section' > with self.assertRaisesMessage(DiffXUnknownOptionError, message): pydiffx/tests/test_dom_objects.py:2020: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXMetaSectionTests testMethod=test_init_with_invalid_options> exception = <class 'pydiffx.errors.DiffXUnknownOptionError'> message = '"invalid_option" is not a valid option or content section' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXMetaSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ DiffXPreambleSectionTests.test_content_with_invalid_type ___________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_content_with_invalid_type> def test_content_with_invalid_type(self): """Testing DiffXPreambleSection.content with invalid typw""" > self.run_invalid_content_type_test(content=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:2132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:48: in run_invalid_content_type_test with self.assertRaisesMessage(TypeError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_content_with_invalid_type> exception = <class 'TypeError'> message = "Expected the content to be a <class 'str'> type, got <class 'int'> instead" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError __________ DiffXPreambleSectionTests.test_encoding_with_invalid_type ___________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_encoding_with_invalid_type> def test_encoding_with_invalid_type(self): """Testing DiffXPreambleSection.encoding with invalid type""" > self.run_invalid_option_type_test(option_name='encoding', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:2141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_encoding_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "encoding" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ DiffXPreambleSectionTests.test_indent_with_invalid_type ____________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_indent_with_invalid_type> def test_indent_with_invalid_type(self): """Testing DiffXPreambleSection.indent with invalid type""" > self.run_invalid_option_type_test(option_name='indent', value='xxx', expected_type=int) pydiffx/tests/test_dom_objects.py:2151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_indent_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "indent" to be a <class \'int\'> type, got <class \'str\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ DiffXPreambleSectionTests.test_init_with_invalid_options ___________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_init_with_invalid_options> def test_init_with_invalid_options(self): """Testing DiffXPreambleSection.__init__ with invalid options""" message = '"invalid_option" is not a valid option or content section' > with self.assertRaisesMessage(DiffXUnknownOptionError, message): pydiffx/tests/test_dom_objects.py:2123: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_init_with_invalid_options> exception = <class 'pydiffx.errors.DiffXUnknownOptionError'> message = '"invalid_option" is not a valid option or content section' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ________ DiffXPreambleSectionTests.test_line_endings_with_invalid_type _________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_line_endings_with_invalid_type> def test_line_endings_with_invalid_type(self): """Testing DiffXPreambleSection.line_endings with invalid type""" > self.run_invalid_option_type_test(option_name='line_endings', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:2172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_line_endings_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "line_endings" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ________ DiffXPreambleSectionTests.test_line_endings_with_invalid_value ________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_line_endings_with_invalid_value> def test_line_endings_with_invalid_value(self): """Testing DiffXPreambleSection.line_endings with invalid value""" > self.run_invalid_option_value_test( option_name='line_endings', value='xxx', expected_choices=LineEndings.VALID_VALUES) pydiffx/tests/test_dom_objects.py:2165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:79: in run_invalid_option_value_test with self.assertRaisesMessage(DiffXOptionValueChoiceError, /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_line_endings_with_invalid_value> exception = <class 'pydiffx.errors.DiffXOptionValueChoiceError'> message = '"xxx" is not a supported value for line_endings. Expected one of: dos, unix' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError __________ DiffXPreambleSectionTests.test_mimetype_with_invalid_type ___________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_mimetype_with_invalid_type> def test_mimetype_with_invalid_type(self): """Testing DiffXPreambleSection.mimetype with invalid type""" > self.run_invalid_option_type_test(option_name='mimetype', value=123, expected_type=six.text_type) pydiffx/tests/test_dom_objects.py:2193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:67: in run_invalid_option_type_test with self.assertRaisesMessage(DiffXOptionValueError, expected_message): /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_mimetype_with_invalid_type> exception = <class 'pydiffx.errors.DiffXOptionValueError'> message = 'Expected "mimetype" to be a <class \'str\'> type, got <class \'int\'> instead' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError __________ DiffXPreambleSectionTests.test_mimetype_with_invalid_value __________ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_mimetype_with_invalid_value> def test_mimetype_with_invalid_value(self): """Testing DiffXPreambleSection.mimetype with invalid value""" > self.run_invalid_option_value_test( option_name='mimetype', value='image/png', expected_choices=PreambleMimeType.VALID_VALUES) pydiffx/tests/test_dom_objects.py:2186: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pydiffx/tests/test_dom_objects.py:79: in run_invalid_option_value_test with self.assertRaisesMessage(DiffXOptionValueChoiceError, /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_dom_objects.DiffXPreambleSectionTests testMethod=test_mimetype_with_invalid_value> exception = <class 'pydiffx.errors.DiffXOptionValueChoiceError'> message = '"image/png" is not a supported value for mimetype. Expected one of: text/markdown, text/plain' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXPreambleSectionTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ________ DiffXReaderTests.test_with_content_invalid_line_ending_option _________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_content_invalid_line_ending_option> def test_with_content_invalid_line_ending_option(self): """Testing DiffXReader with content section containing invalid line_ending= option """ reader = DiffXReader(io.BytesIO( b'#diffx: encoding=utf-8, version=1.0\n' b'#.change:\n' b'#..file:\n' b'#...meta: length=3, line_endings=c64\n' b'{}\n' )) message = ( 'Error on line 5: Unsupported value "c64" for line_endings. ' 'Expected one of: dos, unix' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1329: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_content_invalid_line_ending_option> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 5: Unsupported value "c64" for line_endings. Expected one of: dos, unix' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ DiffXReaderTests.test_with_content_missing_length_option ___________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_content_missing_length_option> def test_with_content_missing_length_option(self): """Testing DiffXReader with content section missing length= option """ reader = DiffXReader(io.BytesIO( b'#diffx: encoding=utf-8, version=1.0\n' b'#.change:\n' b'#..file:\n' b'#...meta:\n' b'{\n' b' "path": {\n' b' "new": "message2.py",\n' b' "old": "message.py"\n' b' }\n' b'}\n' )) message = ( 'Error on line 4: Expected section "...meta" to have a length ' 'option' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1309: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_content_missing_length_option> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 4: Expected section "...meta" to have a length option' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ______________ DiffXReaderTests.test_with_content_missing_newline ______________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_content_missing_newline> def test_with_content_missing_newline(self): """Testing DiffXReader with content section missing trailing newline """ reader = DiffXReader(io.BytesIO( b'#diffx: encoding=utf-8, version=1.0\n' b'#.change:\n' b'#..preamble: length=2\n' b':)\n' b'#.change:\n' )) message = 'Error on line 4: Expected a newline after content' > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1345: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_content_missing_newline> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 4: Expected a newline after content' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _______________ DiffXReaderTests.test_with_header_invalid_format _______________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_header_invalid_format> def test_with_header_invalid_format(self): """Testing DiffXReader with header in an invalid format""" reader = DiffXReader(io.BytesIO( b'#diffx: key=value key=value\n' )) message = ( 'Error on line 1: Unexpected or improperly formatted header: ' '%r' % b'#diffx: key=value key=value' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1269: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_header_invalid_format> exception = <class 'pydiffx.errors.DiffXParseError'> message = "Error on line 1: Unexpected or improperly formatted header: b'#diffx: key=value key=value'" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError __________ DiffXReaderTests.test_with_header_invalid_option_key_chars __________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_header_invalid_option_key_chars> def test_with_header_invalid_option_key_chars(self): """Testing DiffXReader with header containing invalid characters in option key """ reader = DiffXReader(io.BytesIO( b'#diffx: #key=value, version=1.0\n' )) message = ( 'Error on line 1, column 9: Header option key "#key" contains ' 'invalid characters' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1254: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_header_invalid_option_key_chars> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 1, column 9: Header option key "#key" contains invalid characters' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _________ DiffXReaderTests.test_with_header_invalid_option_value_chars _________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_header_invalid_option_value_chars> def test_with_header_invalid_option_value_chars(self): """Testing DiffXReader with header containing invalid characters in option value """ reader = DiffXReader(io.BytesIO( b'#diffx: key=#value, version=1.0\n' )) message = ( 'Error on line 1, column 13: Header option value "#value" for ' 'key "key" contains invalid characters' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_header_invalid_option_value_chars> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 1, column 13: Header option value "#value" for key "key" contains invalid characters' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _______________ DiffXReaderTests.test_with_invalid_section_order _______________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_invalid_section_order> def test_with_invalid_section_order(self): """Testing DiffXReader with invalid section order""" reader = DiffXReader(io.BytesIO( b'#diffx: version=1.0\n' b'#...file:\n' )) message = ( 'Error on line 2: Unknown or unexpected section ID "...file". ' 'Expected one of: ".change", ".meta", ".preamble"' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1238: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_invalid_section_order> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 2: Unknown or unexpected section ID "...file". Expected one of: ".change", ".meta", ".preamble"' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError __________________ DiffXReaderTests.test_with_invalid_version __________________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_invalid_version> def test_with_invalid_version(self): """Testing DiffXReader with invalid version in DiffX header""" reader = DiffXReader(io.BytesIO( b'#diffx: encoding=utf-8, version=142.6\n' )) message = ( 'Error on line 1: The DiffX version in this file (142.6) is not ' 'supported by this version of the diffx module' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_invalid_version> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 1: The DiffX version in this file (142.6) is not supported by this version of the diffx module' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ______________ DiffXReaderTests.test_with_meta_deserialize_error _______________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_meta_deserialize_error> def test_with_meta_deserialize_error(self): """Testing DiffXReader with meta section containing JSON content that could not be deserialized """ reader = DiffXReader(io.BytesIO( b'#diffx: encoding=utf-8, version=1.0\n' b'#.change:\n' b'#..file:\n' b'#...meta: length=2\n' b'"\n' )) message = ( 'Error on line 4: JSON metadata could not be parsed: ' 'Invalid control character at: line 1 column 2 (char 1)' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1385: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_meta_deserialize_error> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 4: JSON metadata could not be parsed: Invalid control character at: line 1 column 2 (char 1)' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ________________ DiffXReaderTests.test_with_meta_invalid_format ________________ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_meta_invalid_format> def test_with_meta_invalid_format(self): """Testing DiffXReader with meta section containing invalid format= option """ reader = DiffXReader(io.BytesIO( b'#diffx: encoding=utf-8, version=1.0\n' b'#.change:\n' b'#..file:\n' b'#...meta: length=14, format=html\n' b'<html></html>\n' )) message = ( 'Error on line 4: Unexpected metadata format "html". If the ' '"format" option is provided, it must be "json".' ) > with self.assertRaisesMessage(DiffXParseError, message): pydiffx/tests/test_reader.py:1365: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_reader.DiffXReaderTests testMethod=test_with_meta_invalid_format> exception = <class 'pydiffx.errors.DiffXParseError'> message = 'Error on line 4: Unexpected metadata format "html". If the "format" option is provided, it must be "json".' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXReaderTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ______________ GetNewlineForTypeTests.test_with_encoding_invalid _______________ self = <pydiffx.tests.test_utils_text.GetNewlineForTypeTests testMethod=test_with_encoding_invalid> def test_with_encoding_invalid(self): """Testing get_newline_for_type with invalid encoding""" message = 'unknown encoding: xxx-invalid' > with self.assertRaisesMessage(LookupError, message): pydiffx/tests/test_utils_text.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_text.GetNewlineForTypeTests testMethod=test_with_encoding_invalid> exception = <class 'LookupError'>, message = 'unknown encoding: xxx-invalid' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetNewlineForTypeTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ____________ GetNewlineForTypeTests.test_with_invalid_line_endings _____________ self = <pydiffx.tests.test_utils_text.GetNewlineForTypeTests testMethod=test_with_invalid_line_endings> def test_with_invalid_line_endings(self): """Testing get_newline_for_type with invalid value for line endings""" message = ( 'Unsupported value "xxx" for line_endings. Expected one of: ' 'dos, unix' ) > with self.assertRaisesMessage(ValueError, message): pydiffx/tests/test_utils_text.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_text.GetNewlineForTypeTests testMethod=test_with_invalid_line_endings> exception = <class 'ValueError'> message = 'Unsupported value "xxx" for line_endings. Expected one of: dos, unix' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetNewlineForTypeTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ GetUnifiedDiffHunksTests.test_with_bad_hunk_length_both ____________ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_both> def test_with_bad_hunk_length_both(self): """Testing get_unified_diff_hunks with bad hunk length on both original and modified sides at end of file """ message = ( 'Unexpected end of file when processing the diff hunk on line 6' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:820: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_both> exception = <class 'pydiffx.errors.MalformedHunkError'> message = 'Unexpected end of file when processing the diff hunk on line 6' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____ GetUnifiedDiffHunksTests.test_with_bad_hunk_length_both_and_new_hunk _____ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_both_and_new_hunk> def test_with_bad_hunk_length_both_and_new_hunk(self): """Testing get_unified_diff_hunks with bad hunk length on both original and modified sides followed by new hunk """ message = ( 'Malformed content in the diff hunk on line 7: %r' % b'@@ -30,7 +32,7 @@\n' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:875: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_both_and_new_hunk> exception = <class 'pydiffx.errors.MalformedHunkError'> message = "Malformed content in the diff hunk on line 7: b'@@ -30,7 +32,7 @@\\n'" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _________ GetUnifiedDiffHunksTests.test_with_bad_hunk_length_modified __________ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_modified> def test_with_bad_hunk_length_modified(self): """Testing get_unified_diff_hunks with bad hunk length on modified side at end of file """ message = ( 'Unexpected end of file when processing the diff hunk on line 6' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:856: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_modified> exception = <class 'pydiffx.errors.MalformedHunkError'> message = 'Unexpected end of file when processing the diff hunk on line 6' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___ GetUnifiedDiffHunksTests.test_with_bad_hunk_length_modified_and_new_hunk ___ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_modified_and_new_hunk> def test_with_bad_hunk_length_modified_and_new_hunk(self): """Testing get_unified_diff_hunks with bad hunk length on modified side followed by new hunk """ message = ( 'Malformed content in the diff hunk on line 7: %r' % b'@@ -30,7 +32,7 @@\n' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:931: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_modified_and_new_hunk> exception = <class 'pydiffx.errors.MalformedHunkError'> message = "Malformed content in the diff hunk on line 7: b'@@ -30,7 +32,7 @@\\n'" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ___________ GetUnifiedDiffHunksTests.test_with_bad_hunk_length_orig ____________ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_orig> def test_with_bad_hunk_length_orig(self): """Testing get_unified_diff_hunks with bad hunk length on original side at end of file """ message = ( 'Unexpected end of file when processing the diff hunk on line 6' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:838: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_orig> exception = <class 'pydiffx.errors.MalformedHunkError'> message = 'Unexpected end of file when processing the diff hunk on line 6' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _____ GetUnifiedDiffHunksTests.test_with_bad_hunk_length_orig_and_new_hunk _____ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_orig_and_new_hunk> def test_with_bad_hunk_length_orig_and_new_hunk(self): """Testing get_unified_diff_hunks with bad hunk length on original side followed by new hunk """ message = ( 'Malformed content in the diff hunk on line 7: %r' % b'@@ -30,7 +32,7 @@\n' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:903: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_bad_hunk_length_orig_and_new_hunk> exception = <class 'pydiffx.errors.MalformedHunkError'> message = "Malformed content in the diff hunk on line 7: b'@@ -30,7 +32,7 @@\\n'" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ______________ GetUnifiedDiffHunksTests.test_with_garbage_in_hunk ______________ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_garbage_in_hunk> def test_with_garbage_in_hunk(self): """Testing get_unified_diff_hunks with garbage in hunk""" message = ( 'Malformed content in the diff hunk on line 6: %r' % b'garbage\n' ) > with self.assertRaisesMessage(MalformedHunkError, message): pydiffx/tests/test_utils_unified_diffs.py:798: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_utils_unified_diffs.GetUnifiedDiffHunksTests testMethod=test_with_garbage_in_hunk> exception = <class 'pydiffx.errors.MalformedHunkError'> message = "Malformed content in the diff hunk on line 6: b'garbage\\n'" @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'GetUnifiedDiffHunksTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError ______________ DiffXWriterTests.test_new_change_after_new_change _______________ self = <pydiffx.tests.test_writer.DiffXWriterTests testMethod=test_new_change_after_new_change> def test_new_change_after_new_change(self): """Testing DiffXWriter.new_change after new_change""" stream, writer = self._create_writer() writer.new_change() message = ( 'new_change() cannot be called at this stage (after ' 'new_change()). Expected one of: new_file(), write_meta(), ' 'write_preamble()' ) > with self.assertRaisesMessage(DiffXSectionOrderError, message): pydiffx/tests/test_writer.py:488: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pydiffx.tests.test_writer.DiffXWriterTests testMethod=test_new_change_after_new_change> exception = <class 'pydiffx.errors.DiffXSectionOrderError'> message = 'new_change() cannot be called at this stage (after new_change()). Expected one of: new_file(), write_meta(), write_preamble()' @contextmanager def assertRaisesMessage(self, exception, message): > with self.assertRaisesRegexp(exception, re.escape(message)): E AttributeError: 'DiffXWriterTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? pydiffx/tests/testcases.py:68: AttributeError _______________ DiffXWriterTests.test_new_change_after_new_file ________________ self = <pydiffx.tests.test_writer.DiffXWriterTests testMethod=test_new_change_after_new_file> def test_new_change_after_new_file(self): """Testing DiffXWriter.new_change after new_file""" stream, writer = self._create_writer() writer.new_change() writer.new_file() message = ( 'new_change() cannot be called at this stage (after new_file()). ' 'Expected write_meta()' ) > with self.assertRaisesMessage(DiffXSectionOrderError, message): pydiffx/tests/test_writer.py:502: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Removed many old deprecated unittest features: - A number of TestCase method aliases: | Deprecated alias | Method Name | Deprecated in | +-----------------------|------------------------|---------------+ | failUnless | assertTrue() | 3.1 | | failIf | assertFalse() | 3.1 | | failUnlessEqual | assertEqual() | 3.1 | | failIfEqual | assertNotEqual() | 3.1 | | failUnlessAlmostEqual | assertAlmostEqual() | 3.1 | | failIfAlmostEqual | assertNotAlmostEqual() | 3.1 | | failUnlessRaises | assertRaises() | 3.1 | | assert_ | assertTrue() | 3.2 | | assertEquals | assertEqual() | 3.2 | | assertNotEquals | assertNotEqual() | 3.2 | | assertAlmostEquals | assertAlmostEqual() | 3.2 | | assertNotAlmostEquals | assertNotAlmostEqual() | 3.2 | | assertRegexpMatches | assertRegex() | 3.2 | | assertRaisesRegexp | assertRaisesRegex() | 3.2 | | assertNotRegexpMatches| assertNotRegex() | 3.5 | +-----------------------|------------------------|---------------+ You can use https://github.com/isidentical/teyit to automatically modernise your unit tests. - Undocumented and broken TestCase method assertDictContainsSubset (deprecated in Python 3.2). - Undocumented TestLoader.loadTestsFromModule parameter use_load_tests (deprecated and ignored since Python 3.2). - An alias of the TextTestResult class: _TextTestResult (deprecated in Python 3.2). (Contributed by Serhiy Storchaka in bpo-45162.) https://bugs.python.org/issue?@action=redirect&bpo=45162 https://docs.python.org/3.12/whatsnew/3.12.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.12/fedora-rawhide-x86_64/05576745-python-pydiffx/ For all our attempts to build python-pydiffx with Python 3.12, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.12/package/python-pydiffx/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.12: https://copr.fedorainfracloud.org/coprs/g/python/python3.12/ Let us know here if you have any questions. Python 3.12 is planned to be included in Fedora 39. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.12. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle. Changing version to 39.
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.
Automation has figured out the package is retired in Fedora 39. If you like it to be unretired, please open a ticket at https://pagure.io/releng/new_issue?template=package_unretirement
FEDORA-2023-23af3b428d has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-23af3b428d
FEDORA-2023-23af3b428d has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-37c3587aea has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-37c3587aea
FEDORA-2023-37c3587aea has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-37c3587aea` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-37c3587aea See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-37c3587aea has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.