bpo-34909: keep searching mixins until base class is found (GH-9737) (GH-9738)

(cherry picked from commit cd45385ffad8910293e5659cfe7ab036e70613b7)
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index 6c147d7..60eabbe 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1813,6 +1813,27 @@
         self.assertEqual(ConfusedColor.RED.social(), "what's up?")
         self.assertTrue(issubclass(ReformedColor, int))
 
+    def test_multiple_inherited_mixin(self):
+        class StrEnum(str, Enum):
+            def __new__(cls, *args, **kwargs):
+                for a in args:
+                    if not isinstance(a, str):
+                        raise TypeError("Enumeration '%s' (%s) is not"
+                                        " a string" % (a, type(a).__name__))
+                return str.__new__(cls, *args, **kwargs)
+        @unique
+        class Decision1(StrEnum):
+            REVERT = "REVERT"
+            REVERT_ALL = "REVERT_ALL"
+            RETRY = "RETRY"
+        class MyEnum(StrEnum):
+            pass
+        @unique
+        class Decision2(MyEnum):
+            REVERT = "REVERT"
+            REVERT_ALL = "REVERT_ALL"
+            RETRY = "RETRY"
+
 
 class TestOrder(unittest.TestCase):