Raise MemoryError instead of InvalidOperation/MallocError for compatibility
with decimal.py. The standard specifies InsufficientStorage (MallocError) as
a sub-condition of InvalidOperation. This allows a calculation to continue
with NaN results when allocation fails.
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index 4a352e5..694b959 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -3837,7 +3837,7 @@
 
         x = dir(C)
         y = [s for s in dir(P) if '__' in s or not s.startswith('_')]
-        self.assertEqual(set(x) - set(y), {'MallocError'})
+        self.assertEqual(set(x) - set(y), set())
 
     def test_context_attributes(self):