bpo-41282: Fix distutils.utils.byte_compile() DeprecationWarning (GH-25406)

* byte_compile() of distutils.utils no longer logs a
  DeprecationWarning
* test_distutils no longer logs a DeprecationWarning
diff --git a/Lib/distutils/__init__.py b/Lib/distutils/__init__.py
index 8eef902..fdad6f6 100644
--- a/Lib/distutils/__init__.py
+++ b/Lib/distutils/__init__.py
@@ -13,7 +13,8 @@
 
 __version__ = sys.version[:sys.version.index(' ')]
 
-warnings.warn("The distutils package is deprecated and slated for "
-              "removal in Python 3.12. Use setuptools or check "
-              "PEP 632 for potential alternatives",
+_DEPRECATION_MESSAGE = ("The distutils package is deprecated and slated for "
+                        "removal in Python 3.12. Use setuptools or check "
+                        "PEP 632 for potential alternatives")
+warnings.warn(_DEPRECATION_MESSAGE,
               DeprecationWarning, 2)
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 4b002ec..2ce5c5b 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -9,6 +9,7 @@
 import importlib.util
 import string
 import sys
+import distutils
 from distutils.errors import DistutilsPlatformError
 from distutils.dep_util import newer
 from distutils.spawn import spawn
@@ -419,8 +420,10 @@ def byte_compile (py_files,
              direct=1)
 """ % (optimize, force, prefix, base_dir, verbose))
 
+        msg = distutils._DEPRECATION_MESSAGE
         cmd = [sys.executable]
         cmd.extend(subprocess._optim_args_from_interpreter_flags())
+        cmd.append(f'-Wignore:{msg}:DeprecationWarning')
         cmd.append(script_name)
         spawn(cmd, dry_run=dry_run)
         execute(os.remove, (script_name,), "removing %s" % script_name,
diff --git a/Lib/test/test_distutils.py b/Lib/test/test_distutils.py
index a37f117..de94da5 100644
--- a/Lib/test/test_distutils.py
+++ b/Lib/test/test_distutils.py
@@ -5,14 +5,20 @@
 be run.
 """
 
-import distutils.tests
-import test.support
+import warnings
+from test import support
+from test.support import warnings_helper
+
+with warnings_helper.check_warnings(
+    ("The distutils package is deprecated", DeprecationWarning)):
+
+    import distutils.tests
 
 
 def test_main():
     # used by regrtest
-    test.support.run_unittest(distutils.tests.test_suite())
-    test.support.reap_children()
+    support.run_unittest(distutils.tests.test_suite())
+    support.reap_children()
 
 
 def load_tests(*_):