Issue #23943: Fix typos. Patch by Piotr Kasprzyk.
diff --git a/Lib/test/decimaltestdata/exp.decTest b/Lib/test/decimaltestdata/exp.decTest
index 021b478..6a7af23 100644
--- a/Lib/test/decimaltestdata/exp.decTest
+++ b/Lib/test/decimaltestdata/exp.decTest
@@ -19,7 +19,7 @@
 ------------------------------------------------------------------------

 version: 2.59

 

--- Tests of the exponential funtion.  Currently all testcases here

+-- Tests of the exponential function.  Currently all testcases here

 -- show results which are correctly rounded (within <= 0.5 ulp).

 

 extended:    1

diff --git a/Lib/test/script_helper.py b/Lib/test/script_helper.py
index b31fc40..b29392f 100644
--- a/Lib/test/script_helper.py
+++ b/Lib/test/script_helper.py
@@ -34,7 +34,7 @@
     doesn't have an obvious home with Python's current home finding logic.
 
     Setting PYTHONHOME is one way to get most of the testsuite to run in that
-    situation.  PYTHONPATH or PYTHONUSERSITE are other common envirnonment
+    situation.  PYTHONPATH or PYTHONUSERSITE are other common environment
     variables that might impact whether or not the interpreter can start.
     """
     global __cached_interp_requires_environment
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
index 74d512d..9292d92 100644
--- a/Lib/test/test_doctest.py
+++ b/Lib/test/test_doctest.py
@@ -2170,7 +2170,7 @@
          ...
          AttributeError: 'module' object has no attribute 'sillySetup'
 
-       The setUp and tearDown funtions are passed test objects. Here
+       The setUp and tearDown functions are passed test objects. Here
        we'll use the setUp function to supply the missing variable y:
 
          >>> def setUp(test):
@@ -2316,7 +2316,7 @@
          ...
          AttributeError: 'module' object has no attribute 'sillySetup'
 
-       The setUp and tearDown funtions are passed test objects.
+       The setUp and tearDown functions are passed test objects.
        Here, we'll use a setUp function to set the favorite color in
        test_doctest.txt:
 
diff --git a/Lib/test/test_email/__init__.py b/Lib/test/test_email/__init__.py
index a59775c..d2f7d31 100644
--- a/Lib/test/test_email/__init__.py
+++ b/Lib/test/test_email/__init__.py
@@ -87,7 +87,7 @@
     element tuples.  However derived, the resulting sequence is passed via
     *args to the parameterized test function.
 
-    In a _params dictioanry, the keys become part of the name of the generated
+    In a _params dictionary, the keys become part of the name of the generated
     tests.  In a _params list, the values in the list are converted into a
     string by joining the string values of the elements of the tuple by '_' and
     converting any blanks into '_'s, and this become part of the name.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 0db760f..c8a3623 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -707,7 +707,7 @@
             raise socket.gaierror
 
     def testSendtoErrors(self):
-        # Testing that sendto doens't masks failures. See #10169.
+        # Testing that sendto doesn't masks failures. See #10169.
         s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         self.addCleanup(s.close)
         s.bind(('', 0))
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index 98f01ee..4b75ea6 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -629,7 +629,7 @@
 
         def generator():
             while 1:
-                yield "genereator"
+                yield "generator"
 
         def callback():
             if callback.gen is None: