bpo-31324: Fix test.support.set_match_tests(None) (#4505)

diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 71d9c2c..b7cbdc6 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1931,6 +1931,8 @@
 
     if not patterns:
         func = None
+        # set_match_tests(None) behaves as set_match_tests(())
+        patterns = ()
     elif all(map(_is_full_match_test, patterns)):
         # Simple case: all patterns are full test identifier.
         # The test.bisect utility only uses such full test identifiers.
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 4756def..e06f7b8 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -500,6 +500,11 @@
             self.assertTrue(support.match_test(test_access))
             self.assertTrue(support.match_test(test_chdir))
 
+            # match all using None
+            support.set_match_tests(None)
+            self.assertTrue(support.match_test(test_access))
+            self.assertTrue(support.match_test(test_chdir))
+
             # match the full test identifier
             support.set_match_tests([test_access.id()])
             self.assertTrue(support.match_test(test_access))