#4069: aSet.remove(otherSet) would always report the empty frozenset([]) as the missing key.
Now it correctly refers to the initial otherset.
Reviewed by Raymond. Will backport to 2.6.
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 1b01954..499406f 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -382,6 +382,17 @@
else:
self.fail()
+ def test_remove_keyerror_set(self):
+ key = self.thetype([3, 4])
+ try:
+ self.s.remove(key)
+ except KeyError as e:
+ self.assert_(e.args[0] is key,
+ "KeyError should be {0}, not {1}".format(key,
+ e.args[0]))
+ else:
+ self.fail()
+
def test_discard(self):
self.s.discard('a')
self.assert_('a' not in self.s)