diff -r 03708c680eca Lib/unittest/case.py --- a/Lib/unittest/case.py Wed Feb 03 07:52:06 2016 +0000 +++ b/Lib/unittest/case.py Tue Feb 02 22:19:54 2016 +0530 @@ -1183,10 +1183,11 @@ len(second) > self._diffThreshold): self._baseAssertEqual(first, second, msg) firstlines = first.splitlines(keepends=True) + firstlines[len(firstlines)-1] = self._appendNewLineChar( + firstlines[len(firstlines)-1]) secondlines = second.splitlines(keepends=True) - if len(firstlines) == 1 and first.strip('\r\n') == first: - firstlines = [first + '\n'] - secondlines = [second + '\n'] + secondlines[len(secondlines)-1] = self._appendNewLineChar( + secondlines[len(secondlines)-1]) standardMsg = '%s != %s' % _common_shorten_repr(first, second) diff = '\n' + ''.join(difflib.ndiff(firstlines, secondlines)) standardMsg = self._truncateMessage(standardMsg, diff) @@ -1302,6 +1303,11 @@ msg = self._formatMessage(msg, standardMsg) raise self.failureException(msg) + def _appendNewLineChar(self, line): + if line.rstrip('\r\n') == line: + return line + '\n' + return line + def _deprecate(original_func): def deprecated_func(*args, **kwargs):