Anish Shah added the comment: The problem is in `difflib.ndiff` function. When the string does not have a trailing newline, we get an unreadable output. After applying my patch, the following is the output of test2.py (submitted by Elena.Oat).
FFFFFFFF ====================================================================== FAIL: test_notrailingnewline_0 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 8, in test_notrailingnewline_0 self.assertEqual("abcDefehiJkl", "abcdefGhijkl") AssertionError: 'abcDefehiJkl' != 'abcdefGhijkl' - abcDefehiJkl ? ^ ^ ^ + abcdefGhijkl ? ^ ^ ^ ====================================================================== FAIL: test_notrailingnewline_1 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 14, in test_notrailingnewline_1 self.assertEqual("a\nbcdf", "a\nbddf") AssertionError: 'a\nbcdf' != 'a\nbddf' a - bcdf ? ^ + bddf ? ^ ====================================================================== FAIL: test_notrailingnewline_2 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 18, in test_notrailingnewline_2 self.assertEqual("a\nbcdf", "a\nbddg") AssertionError: 'a\nbcdf' != 'a\nbddg' a - bcdf + bddg ====================================================================== FAIL: test_starting_and_ending_newline_0 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 12, in test_starting_and_ending_newline_0 self.assertEqual("\nabcDefehiJkl\n", "\nabcdefGhijkl\n") AssertionError: '\nabcDefehiJkl\n' != '\nabcdefGhijkl\n' - abcDefehiJkl ? ^ ^ ^ + abcdefGhijkl ? ^ ^ ^ ====================================================================== FAIL: test_startingnewline_0 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 10, in test_startingnewline_0 self.assertEqual("\nabcDefehiJkl", "\nabcdefGhijkl") AssertionError: '\nabcDefehiJkl' != '\nabcdefGhijkl' - abcDefehiJkl ? ^ ^ ^ + abcdefGhijkl ? ^ ^ ^ ====================================================================== FAIL: test_trailingnewline_0 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 6, in test_trailingnewline_0 self.assertEqual("abcDefehiJkl\n", "abcdefGhijkl\n") AssertionError: 'abcDefehiJkl\n' != 'abcdefGhijkl\n' - abcDefehiJkl ? ^ ^ ^ + abcdefGhijkl ? ^ ^ ^ ====================================================================== FAIL: test_trailingnewline_1 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 16, in test_trailingnewline_1 self.assertEqual("a\nbcdf\n", "a\nbddf\n") AssertionError: 'a\nbcdf\n' != 'a\nbddf\n' a - bcdf ? ^ + bddf ? ^ ====================================================================== FAIL: test_trailingnewline_2 (__main__.AssertEqualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test.py", line 20, in test_trailingnewline_2 self.assertEqual("a\nbcdf\n", "a\nbddg\n") AssertionError: 'a\nbcdf\n' != 'a\nbddg\n' a - bcdf + bddg ---------------------------------------------------------------------- Ran 8 tests in 0.004s FAILED (failures=8) ---------- keywords: +patch Added file: http://bugs.python.org/file41782/issue24780.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue24780> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com