[New-bugs-announce] [issue35687] The unittest module diff is missing/forgetting/not putting newline before + and ? for some inputs
Addons Zz
report at bugs.python.org
Tue Jan 8 16:57:48 EST 2019
New submission from Addons Zz <addonszz at outlook.com>:
Create this program and run with `Python 3.6.3`:
```python
import unittest
class StdErrUnitTests(unittest.TestCase):
def test_function_name(self):
expected = "testing.main_unit_tests.test_dictionaryBasicLogging:416 - dictionary\n" \
"testing.main_unit_tests.test_dictionaryBasicLogging:417 - dictionary {1: 'defined_chunk'}"
actual = "15:49:35:912.348986 - testing.main_unit_tests - dictionary\n" \
"15:49:35:918.879986 - testing.main_unit_tests - dictionary {1: 'defined_chunk'}"
self.assertEqual(expected, actual)
if __name__ == '__main__':
unittest.main()
```
### Actual output
```diff
F
======================================================================
FAIL: test_function_name (__main__.StdErrUnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\bug_assert_unittests.py", line 13, in test_function_name
self.assertEqual(expected, actual)
AssertionError: "testing.main_unit_tests.test_dictionaryBa[114 chars]nk'}" != "15:49:35:912.348986 - testing.main_unit_t[94 chars]nk'}"
- testing.main_unit_tests.test_dictionaryBasicLogging:416 - dictionary
- testing.main_unit_tests.test_dictionaryBasicLogging:417 - dictionary {1: 'defined_chunk'}+ 15:49:35:912.348986 - testing.main_unit_tests - dictionary
+ 15:49:35:918.879986 - testing.main_unit_tests - dictionary {1: 'defined_chunk'}
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
```
### Expected output
```diff
F
======================================================================
FAIL: test_function_name (__main__.StdErrUnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\bug_assert_unittests.py", line 13, in test_function_name
self.assertEqual(expected, actual)
AssertionError: "testing.main_unit_tests.test_dictionaryBa[114 chars]nk'}" != "15:49:35:912.348986 - testing.main_unit_t[94 chars]nk'}"
- testing.main_unit_tests.test_dictionaryBasicLogging:416 - dictionary
- testing.main_unit_tests.test_dictionaryBasicLogging:417 - dictionary {1: 'defined_chunk'}
+ 15:49:35:912.348986 - testing.main_unit_tests - dictionary
+ 15:49:35:918.879986 - testing.main_unit_tests - dictionary {1: 'defined_chunk'}
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
```
### Differences between actual and expected output
```diff
@@ -7,7 +7,8 @@
self.assertEqual(expected, actual)
AssertionError: "testing.main_unit_tests.test_dictionaryBa[114 chars]nk'}" != "15:49:35:912.348986 - testing.main_unit_t[94 chars]nk'}"
- testing.main_unit_tests.test_dictionaryBasicLogging:416 - dictionary
-- testing.main_unit_tests.test_dictionaryBasicLogging:417 - dictionary {1: 'defined_chunk'}+ 15:49:35:912.348986 - testing.main_unit_tests - dictionary
+- testing.main_unit_tests.test_dictionaryBasicLogging:417 - dictionary {1: 'defined_chunk'}
++ 15:49:35:912.348986 - testing.main_unit_tests - dictionary
+ 15:49:35:918.879986 - testing.main_unit_tests - dictionary {1: 'defined_chunk'}
```
This kind of bug frequently happens. On this case, it is not putting a new line before the `+`. Other cases, it is not putting a new line before the `?`.
----------
components: Tests, Windows
messages: 333258
nosy: addons_zz, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: The unittest module diff is missing/forgetting/not putting newline before + and ? for some inputs
type: behavior
versions: Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35687>
_______________________________________
More information about the New-bugs-announce
mailing list