Fix unittest.TestCase.assertDictContainsSubset so it can't die with unicode issues when constructing failure messages. Issue 7956
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index 7b6922c..d3bab2a 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -2573,13 +2573,10 @@
with self.assertRaises(self.failureException):
self.assertDictContainsSubset({'a': 1, 'c': 1}, {'a': 1})
- @unittest.expectedFailure
- def test_crazy(self):
one = ''.join(chr(i) for i in range(255))
- two = u'\uFFFD'
- first = {'foo': one}
- second = {'foo': two}
- self.assertDictContainsSubset(first, second)
+ # this used to cause a UnicodeDecodeError constructing the failure msg
+ with self.assertRaises(self.failureException):
+ self.assertDictContainsSubset({'foo': one}, {'foo': u'\uFFFD'})
def testAssertEqual(self):
equal_pairs = [