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 = [