Fix typos in docs, comments and test assert messages (#14872)
diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py
index d7a4af8..cbbb106 100644
--- a/Lib/asyncio/unix_events.py
+++ b/Lib/asyncio/unix_events.py
@@ -1243,7 +1243,7 @@
It doesn't require subscription on POSIX signal
but a thread creation is not free.
- The watcher has O(1) complexity, its perfomance doesn't depend
+ The watcher has O(1) complexity, its performance doesn't depend
on amount of spawn processes.
"""
diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py
index 2264efe..75d7975 100644
--- a/Lib/collections/__init__.py
+++ b/Lib/collections/__init__.py
@@ -440,7 +440,7 @@
'__slots__': (),
'_fields': field_names,
'_field_defaults': field_defaults,
- # alternate spelling for backward compatiblity
+ # alternate spelling for backward compatibility
'_fields_defaults': field_defaults,
'__new__': __new__,
'_make': _make,
diff --git a/Lib/dataclasses.py b/Lib/dataclasses.py
index 5e57e20..f778a27 100644
--- a/Lib/dataclasses.py
+++ b/Lib/dataclasses.py
@@ -1189,7 +1189,7 @@
raise TypeError(f'Invalid field: {item!r}')
if not isinstance(name, str) or not name.isidentifier():
- raise TypeError(f'Field names must be valid identifers: {name!r}')
+ raise TypeError(f'Field names must be valid identifiers: {name!r}')
if keyword.iskeyword(name):
raise TypeError(f'Field names must not be keywords: {name!r}')
if name in seen:
diff --git a/Lib/email/headerregistry.py b/Lib/email/headerregistry.py
index 452c6ad..8d1a202 100644
--- a/Lib/email/headerregistry.py
+++ b/Lib/email/headerregistry.py
@@ -245,7 +245,7 @@
the header name and the ': ' separator.
"""
- # At some point we need to put fws here iif it was in the source.
+ # At some point we need to put fws here if it was in the source.
header = parser.Header([
parser.HeaderLabel([
parser.ValueTerminal(self.name, 'header-name'),
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py
index 1bafc24..5aac048 100644
--- a/Lib/importlib/_bootstrap_external.py
+++ b/Lib/importlib/_bootstrap_external.py
@@ -261,7 +261,7 @@
# Python 3.7a2 3391 (update GET_AITER #31709)
# Python 3.7a4 3392 (PEP 552: Deterministic pycs #31650)
# Python 3.7b1 3393 (remove STORE_ANNOTATION opcode #32550)
-# Python 3.7b5 3394 (restored docstring as the firts stmt in the body;
+# Python 3.7b5 3394 (restored docstring as the first stmt in the body;
# this might affected the first line number #32911)
# Python 3.8a1 3400 (move frame block handling to compiler #17611)
# Python 3.8a1 3401 (add END_ASYNC_FOR #33041)
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 4bf42e0..9efb3d9 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -2978,7 +2978,7 @@
if sys.platform.startswith(('linux', 'freebsd')):
try:
names = os.listdir("/proc/self/fd")
- # Substract one because listdir() opens internally a file
+ # Subtract one because listdir() internally opens a file
# descriptor to list the content of the /proc/self/fd/ directory.
return len(names) - 1
except FileNotFoundError:
diff --git a/Lib/test/test_dataclasses.py b/Lib/test/test_dataclasses.py
index 53e8443..ea42904 100755
--- a/Lib/test/test_dataclasses.py
+++ b/Lib/test/test_dataclasses.py
@@ -3043,11 +3043,11 @@
def test_non_identifier_field_names(self):
for field in ['()', 'x,y', '*', '2@3', '', 'little johnny tables']:
with self.subTest(field=field):
- with self.assertRaisesRegex(TypeError, 'must be valid identifers'):
+ with self.assertRaisesRegex(TypeError, 'must be valid identifiers'):
make_dataclass('C', ['a', field])
- with self.assertRaisesRegex(TypeError, 'must be valid identifers'):
+ with self.assertRaisesRegex(TypeError, 'must be valid identifiers'):
make_dataclass('C', [field])
- with self.assertRaisesRegex(TypeError, 'must be valid identifers'):
+ with self.assertRaisesRegex(TypeError, 'must be valid identifiers'):
make_dataclass('C', [field, 'a'])
def test_underscore_field_names(self):
diff --git a/Lib/test/test_eintr.py b/Lib/test/test_eintr.py
index f61efa3..a5f8f64 100644
--- a/Lib/test/test_eintr.py
+++ b/Lib/test/test_eintr.py
@@ -22,7 +22,7 @@
print()
print("--- run eintr_tester.py ---", flush=True)
# In verbose mode, the child process inherit stdout and stdout,
- # to see output in realtime and reduce the risk of loosing output.
+ # to see output in realtime and reduce the risk of losing output.
args = [sys.executable, "-E", "-X", "faulthandler", *args]
proc = subprocess.run(args)
print(f"--- eintr_tester.py completed: "
diff --git a/Lib/test/test_fstring.py b/Lib/test/test_fstring.py
index c9e6e7d..fb76144 100644
--- a/Lib/test/test_fstring.py
+++ b/Lib/test/test_fstring.py
@@ -1161,7 +1161,7 @@
# These next lines contains tabs. Backslash escapes don't
# work in f-strings.
- # patchcheck doens't like these tabs. So the only way to test
+ # patchcheck doesn't like these tabs. So the only way to test
# this will be to dynamically created and exec the f-strings. But
# that's such a hassle I'll save it for another day. For now, convert
# the tabs to spaces just to shut up patchcheck.
diff --git a/Lib/test/test_importlib/test_main.py b/Lib/test/test_importlib/test_main.py
index 844ed26..5e2cb26 100644
--- a/Lib/test/test_importlib/test_main.py
+++ b/Lib/test/test_importlib/test_main.py
@@ -32,7 +32,7 @@
class ImportTests(fixtures.DistInfoPkg, unittest.TestCase):
def test_import_nonexistent_module(self):
# Ensure that the MetadataPathFinder does not crash an import of a
- # non-existant module.
+ # nonexistent module.
with self.assertRaises(ImportError):
importlib.import_module('does_not_exist')
diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py
index 393cdaf..567a5c6 100644
--- a/Lib/test/test_math.py
+++ b/Lib/test/test_math.py
@@ -1875,7 +1875,7 @@
def testPerm(self):
perm = math.perm
factorial = math.factorial
- # Test if factorial defintion is satisfied
+ # Test if factorial definition is satisfied
for n in range(100):
for k in range(n + 1):
self.assertEqual(perm(n, k),
@@ -1939,7 +1939,7 @@
def testComb(self):
comb = math.comb
factorial = math.factorial
- # Test if factorial defintion is satisfied
+ # Test if factorial definition is satisfied
for n in range(100):
for k in range(n + 1):
self.assertEqual(comb(n, k), factorial(n)
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index ff1ddca..899ca10 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -228,7 +228,7 @@
choices([], cum_weights=[], k=5)
def test_choices_subnormal(self):
- # Subnormal weights would occassionally trigger an IndexError
+ # Subnormal weights would occasionally trigger an IndexError
# in choices() when the value returned by random() was large
# enough to make `random() * total` round up to the total.
# See https://bugs.python.org/msg275594 for more detail.