diff --git a/testing/test_meta.py b/testing/test_meta.py
new file mode 100644
index 000000000..7aa100e6e
--- /dev/null
+++ b/testing/test_meta.py
@@ -0,0 +1,28 @@
+import pkgutil
+import subprocess
+import sys
+
+import _pytest
+import pytest
+
+
+def _modules():
+    return sorted(
+        n
+        for _, n, _ in pkgutil.walk_packages(
+            _pytest.__path__, prefix=_pytest.__name__ + "."
+        )
+    )
+
+
+@pytest.mark.parametrize("module", _modules())
+def test_no_warnings(module):
+    # fmt: off
+    subprocess.check_call((
+        sys.executable,
+        "-W", "error",
+        # https://github.com/pytest-dev/pytest/issues/5901
+        "-W", "ignore:The usage of `cmp` is deprecated and will be removed on or after 2021-06-01.  Please use `eq` and `order` instead.:DeprecationWarning",  # noqa: E501
+        "-c", "import {}".format(module),
+    ))
+    # fmt: on
diff --git a/testing/test_runner.py b/testing/test_runner.py
index 9920d2b3e..2d6b8476c 100644
--- a/testing/test_runner.py
+++ b/testing/test_runner.py
@@ -567,9 +567,19 @@ def test_pytest_exit_msg(testdir):
     result.stderr.fnmatch_lines(["Exit: oh noes"])
 
 
+def _strip_resource_warnings(lines):
+    # Assert no output on stderr, except for unreliable ResourceWarnings.
+    # (https://github.com/pytest-dev/pytest/issues/5088)
+    return [
+        x
+        for x in lines
+        if not x.startswith(("Exception ignored in:", "ResourceWarning"))
+    ]
+
+
 def test_pytest_exit_returncode(testdir):
     testdir.makepyfile(
-        """
+        """\
         import pytest
         def test_foo():
             pytest.exit("some exit msg", 99)
@@ -577,19 +587,13 @@ def test_pytest_exit_returncode(testdir):
     )
     result = testdir.runpytest()
     result.stdout.fnmatch_lines(["*! *Exit: some exit msg !*"])
-    # Assert no output on stderr, except for unreliable ResourceWarnings.
-    # (https://github.com/pytest-dev/pytest/issues/5088)
-    assert [
-        x
-        for x in result.stderr.lines
-        if not x.startswith("Exception ignored in:")
-        and not x.startswith("ResourceWarning")
-    ] == [""]
+
+    assert _strip_resource_warnings(result.stderr.lines) == [""]
     assert result.ret == 99
 
     # It prints to stderr also in case of exit during pytest_sessionstart.
     testdir.makeconftest(
-        """
+        """\
         import pytest
 
         def pytest_sessionstart():
@@ -598,7 +602,10 @@ def test_pytest_exit_returncode(testdir):
     )
     result = testdir.runpytest()
     result.stdout.fnmatch_lines(["*! *Exit: during_sessionstart !*"])
-    assert result.stderr.lines == ["Exit: during_sessionstart", ""]
+    assert _strip_resource_warnings(result.stderr.lines) == [
+        "Exit: during_sessionstart",
+        "",
+    ]
     assert result.ret == 98