Thomas Wouters pointed out that _Abstract.__new__ should use super().__new__()
instead of going straight to object.__new__().
diff --git a/Lib/test/test_abc.py b/Lib/test/test_abc.py
index f93f3d3..008d839 100644
--- a/Lib/test/test_abc.py
+++ b/Lib/test/test_abc.py
@@ -130,6 +130,20 @@
         self.failUnless(issubclass(MyInt, A))
         self.failUnless(isinstance(42, A))
 
+    def test_all_new_methods_are_called(self):
+        class A(metaclass=abc.ABCMeta):
+            pass
+        class B:
+            counter = 0
+            def __new__(cls):
+                B.counter += 1
+                return super().__new__(cls)
+        class C(A, B):
+            pass
+        self.assertEqual(B.counter, 0)
+        C()
+        self.assertEqual(B.counter, 1)
+
 
 def test_main():
     test_support.run_unittest(TestABC)