Activity log for bug #804127

Date Who What changed Old value New value Message
2011-07-01 00:05:54 Martin Packman bug added bug
2011-07-01 11:33:20 Jonathan Lange tags unicode
2011-07-01 11:35:32 Jonathan Lange summary assertThat should be careful when handling unicode assertThat sometimes generates unprintable AssertionErrors
2011-07-01 11:35:35 Jonathan Lange testtools: status New Triaged
2011-07-01 11:35:37 Jonathan Lange testtools: importance Undecided Medium
2011-07-28 17:38:58 Jonathan Lange description The assertThat method for use with matchers creates AssertionError instances that don't stringify on Python 2.4, 2.5, and some 2.6 minor versions when used with a non-ascii unicode argument. The testtools.testresults code has some robustness that means the failure is still printed, but other runners may break if the UnicodeEncodeError from trying to stringify the exception propagates. Instead of the expected output, these older Pythons get: Traceback (most recent call last): ... self.assertThat(u"\xa7", Equals(u"a")) File "C:\Python24\Lib\site-packages\testtools\testcase.py", line 351, in assertThat self.fail('Match failed. Matchee: "%s"\nMatcher: %s\nDifference: %s\n' AssertionError: <unprintable AssertionError object> The assertThat method for use with matchers creates AssertionError instances that don't stringify on Python 2.4, 2.5, and some 2.6 minor versions when used with a non-ascii unicode argument. The testtools.testresults code has some robustness that means the failure is still printed, but other runners may break if the UnicodeEncodeError from trying to stringify the exception propagates. Instead of the expected output, these older Pythons get: Traceback (most recent call last):   ...     self.assertThat(u"\xa7", Equals(u"a"), verbose=True)   File "C:\Python24\Lib\site-packages\testtools\testcase.py", line 351, in assertThat     self.fail('Match failed. Matchee: "%s"\nMatcher: %s\nDifference: %s\n' AssertionError: <unprintable AssertionError object>
2011-07-28 17:45:49 Jonathan Lange summary assertThat sometimes generates unprintable AssertionErrors assertThat(..., verbose=True) sometimes generates unprintable AssertionErrors
2011-08-05 07:57:40 Launchpad Janitor branch linked lp:~jml/testtools/unprintable-assertThat-804127
2011-08-05 09:15:04 Jonathan Lange testtools: status Triaged In Progress
2011-08-05 09:15:07 Jonathan Lange testtools: assignee Jonathan Lange (jml)
2011-09-14 10:15:02 Jonathan Lange branch linked lp:~gz/testtools/unprintable-assertThat-804127
2011-09-14 10:15:23 Jonathan Lange testtools: assignee Jonathan Lange (jml) Martin [gz] (gz)
2011-09-14 10:15:27 Jonathan Lange testtools: status In Progress Fix Committed
2011-09-14 10:26:08 Jonathan Lange testtools: milestone next
2011-09-14 10:35:16 Jonathan Lange testtools: status Fix Committed Fix Released