}
-// --- Python intialization ----------------------------------------------------
+// --- Python initialization ---------------------------------------------------
static PyStatus set_config_string(
JNIEnv *env, PyConfig *config, wchar_t **config_str, jstring value
# accepts iterable as multiple arguments?
value = t(auto_valued)
except TypeError:
- # then pass them in singlely
+ # then pass them in singly
value = t(*auto_valued)
self._member_names[key] = None
if non_auto_store:
ddfma375088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded\r
ddfma375089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded\r
\r
--- desctructive subtraction (from remainder tests)\r
+-- destructive subtraction (from remainder tests)\r
\r
-- +++ some of these will be off-by-one remainder vs remainderNear\r
\r
ddqua521 quantize 123.456 1e359 -> 0E+359 Inexact Rounded\r
ddqua522 quantize 1.234 1e359 -> 0E+359 Inexact Rounded\r
ddqua523 quantize 123.456 1e359 -> 0E+359 Inexact Rounded\r
--- next four are "won't fit" overfl\r
+-- next four are "won't fit" overflow\r
ddqua526 quantize 1.234 1e-299 -> NaN Invalid_operation\r
ddqua527 quantize 123.456 1e-299 -> NaN Invalid_operation\r
ddqua528 quantize 1.234 1e-299 -> NaN Invalid_operation\r
ddrem758 remainder 1000 sNaN -> NaN Invalid_operation\r
ddrem759 remainder Inf -sNaN -> -NaN Invalid_operation\r
\r
--- propaging NaNs\r
+-- propagating NaNs\r
ddrem760 remainder NaN1 NaN7 -> NaN1\r
ddrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation\r
ddrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation\r
ddrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation\r
ddrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation\r
\r
--- propaging NaNs\r
+-- propagating NaNs\r
ddrmn760 remaindernear NaN1 NaN7 -> NaN1\r
ddrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation\r
ddrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation\r
dqrem758 remainder 1000 sNaN -> NaN Invalid_operation\r
dqrem759 remainder Inf -sNaN -> -NaN Invalid_operation\r
\r
--- propaging NaNs\r
+-- propagating NaNs\r
dqrem760 remainder NaN1 NaN7 -> NaN1\r
dqrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation\r
dqrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation\r
dqrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation\r
dqrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation\r
\r
--- propaging NaNs\r
+-- propagating NaNs\r
dqrmn760 remaindernear NaN1 NaN7 -> NaN1\r
dqrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation\r
dqrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation\r
maxExponent: 384\r
minexponent: -383\r
\r
--- basics (examples in specificiation, etc.)\r
+-- basics (examples in specification, etc.)\r
expx001 exp -Infinity -> 0\r
expx002 exp -10 -> 0.0000453999298 Inexact Rounded\r
expx003 exp -1 -> 0.367879441 Inexact Rounded\r
remx758 remainder 1000 sNaN -> NaN Invalid_operation
remx759 remainder Inf -sNaN -> -NaN Invalid_operation
--- propaging NaNs
+-- propagating NaNs
remx760 remainder NaN1 NaN7 -> NaN1
remx761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation
remx762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation
rmnx759 remaindernear Inf sNaN -> NaN Invalid_operation
rmnx760 remaindernear NaN sNaN -> NaN Invalid_operation
--- propaging NaNs
+-- propagating NaNs
rmnx761 remaindernear NaN1 NaN7 -> NaN1
rmnx762 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation
rmnx763 remaindernear NaN3 -sNaN9 -> -NaN9 Invalid_operation
setup_process()
if (runtests.hunt_refleak is not None) and (not self.num_workers):
- # gh-109739: WindowsLoadTracker thread interfers with refleak check
+ # gh-109739: WindowsLoadTracker thread interferes with refleak check
use_load_tracker = False
else:
# WindowsLoadTracker is only needed on Windows
# Special Unicode characters
'\uFFFE'
'\uFFFF'
- # Match multiple sequential invalid characters for better effiency
+ # Match multiple sequential invalid characters for better efficiency
']+')
def _sanitize_xml_replace(regs):
>>> INF / INF
nan
-However unambigous operations with inf return inf:
+However unambiguous operations with inf return inf:
>>> INF * INF
inf
>>> 1.5 * INF
@support.cpython_only
def test_bad_ext_code(self):
# This should never happen in normal circumstances, because the type
- # and the value of the extesion code is checked in copyreg.add_extension().
+ # and the value of the extension code is checked in copyreg.add_extension().
key = (__name__, 'MyList')
def check(code, exc):
assert key not in copyreg._extension_registry
C.a
C.a
- # destructor shouldn't be able to see inconsisent state
+ # destructor shouldn't be able to see inconsistent state
C.a = X()
C.a = X()
self._check_crash(BrokenProcessPool, id, ExitAtUnpickle())
def test_error_at_task_unpickle(self):
- # gh-109832: Restore stderr overriden by _raise_error_ignore_stderr()
+ # gh-109832: Restore stderr overridden by _raise_error_ignore_stderr()
self.addCleanup(setattr, sys, 'stderr', sys.stderr)
# Check problem occurring while unpickling a task on workers
self._check_crash(PicklingError, _return_instance, ErrorAtPickle)
def test_error_during_result_unpickle_in_result_handler(self):
- # gh-109832: Restore stderr overriden by _raise_error_ignore_stderr()
+ # gh-109832: Restore stderr overridden by _raise_error_ignore_stderr()
self.addCleanup(setattr, sys, 'stderr', sys.stderr)
# Check problem occurring while unpickling a task in
filter=lambda x: x.startswith('CONVERT_TEST_'))
# We don't want the reverse lookup value to vary when there are
# multiple possible names for a given value. It should always
- # report the first lexigraphical name in that case.
+ # report the first lexicographical name in that case.
self.assertEqual(test_type(5).name, 'CONVERT_TEST_NAME_A')
def test_convert_int(self):
class Symbolic:
"""Simple non-numeric class for testing mixed arithmetic.
- It is not Integral, Rational, Real or Complex, and cannot be conveted
+ It is not Integral, Rational, Real or Complex, and cannot be converted
to int, float or complex. but it supports some arithmetic operations.
"""
def __init__(self, value):
"""Tests monitoring, sys.settrace, and sys.setprofile in a multi-threaded
-environmenet to verify things are thread-safe in a free-threaded build"""
+environment to verify things are thread-safe in a free-threaded build"""
import sys
import time
}''', 'A complex trick: 2')
self.assertEqual(f'''
{
-40 # fourty
+40 # forty
+ # plus
2 # two
}''', '\n42')
self.assertEqual(f'''
{
-40 # fourty
+40 # forty
+ # plus
2 # two
}''', '\n42')
ns.add_known_dir("/Library/Frameworks/Python.framework/Versions/9.8/lib/python9.8/lib-dynload")
ns.add_known_file("/Library/Frameworks/Python.framework/Versions/9.8/lib/python9.8/os.py")
- # This is definitely not the stdlib (see discusion in bpo-46890)
+ # This is definitely not the stdlib (see discussion in bpo-46890)
#ns.add_known_file("/Library/Frameworks/lib/python98.zip")
expected = dict(
ns.add_known_dir("/Library/Frameworks/DebugPython.framework/Versions/9.8/lib/python9.8/lib-dynload")
ns.add_known_xfile("/Library/Frameworks/DebugPython.framework/Versions/9.8/lib/python9.8/os.py")
- # This is definitely not the stdlib (see discusion in bpo-46890)
+ # This is definitely not the stdlib (see discussion in bpo-46890)
#ns.add_known_xfile("/Library/lib/python98.zip")
expected = dict(
executable="/Library/Frameworks/DebugPython.framework/Versions/9.8/bin/python9.8",
'adict': {
'd': 'e', 'f': 3 ,
'alpha numeric 1 with spaces' : 5,
- 'aplha numeric 1 %( - © ©ß¯' : 9,
+ 'alpha numeric 1 %( - © ©ß¯' : 9,
'alpha numeric ] 1 with spaces' : 15,
- 'aplha ]] numeric 1 %( - © ©ß¯]' : 19,
- ' aplha [ numeric 1 %( - © ©ß¯] ' : 11,
- ' aplha ' : 32,
+ 'alpha ]] numeric 1 %( - © ©ß¯]' : 19,
+ ' alpha [ numeric 1 %( - © ©ß¯] ' : 11,
+ ' alpha ' : 32,
'' : 10,
'nest4' : {
'd': 'e', 'f': 3 ,
'alpha numeric 1 with spaces' : 5,
- 'aplha numeric 1 %( - © ©ß¯' : 9,
+ 'alpha numeric 1 %( - © ©ß¯' : 9,
'' : 10,
'somelist' : ('g', ('h', 'i'), 'j'),
'somedict' : {
self.assertEqual(bc.convert('cfg://adict.d'), 'e')
self.assertEqual(bc.convert('cfg://adict[f]'), 3)
self.assertEqual(bc.convert('cfg://adict[alpha numeric 1 with spaces]'), 5)
- self.assertEqual(bc.convert('cfg://adict[aplha numeric 1 %( - © ©ß¯]'), 9)
+ self.assertEqual(bc.convert('cfg://adict[alpha numeric 1 %( - © ©ß¯]'), 9)
self.assertEqual(bc.convert('cfg://adict[]'), 10)
self.assertEqual(bc.convert('cfg://adict.nest4.d'), 'e')
self.assertEqual(bc.convert('cfg://adict.nest4[d]'), 'e')
self.assertEqual(bc.convert('cfg://adict[nest4].d'), 'e')
self.assertEqual(bc.convert('cfg://adict[nest4][f]'), 3)
self.assertEqual(bc.convert('cfg://adict[nest4][alpha numeric 1 with spaces]'), 5)
- self.assertEqual(bc.convert('cfg://adict[nest4][aplha numeric 1 %( - © ©ß¯]'), 9)
+ self.assertEqual(bc.convert('cfg://adict[nest4][alpha numeric 1 %( - © ©ß¯]'), 9)
self.assertEqual(bc.convert('cfg://adict[nest4][]'), 10)
self.assertEqual(bc.convert('cfg://adict[nest4][somelist][0]'), 'g')
self.assertEqual(bc.convert('cfg://adict[nest4][somelist][1][0]'), 'h')
self.assertRaises(ValueError, bc.convert, 'cfg://!')
self.assertRaises(KeyError, bc.convert, 'cfg://adict[2]')
self.assertRaises(KeyError, bc.convert, 'cfg://adict[alpha numeric ] 1 with spaces]')
- self.assertRaises(ValueError, bc.convert, 'cfg://adict[ aplha ]] numeric 1 %( - © ©ß¯] ]')
- self.assertRaises(ValueError, bc.convert, 'cfg://adict[ aplha [ numeric 1 %( - © ©ß¯] ]')
+ self.assertRaises(ValueError, bc.convert, 'cfg://adict[ alpha ]] numeric 1 %( - © ©ß¯] ]')
+ self.assertRaises(ValueError, bc.convert, 'cfg://adict[ alpha [ numeric 1 %( - © ©ß¯] ]')
def test_namedtuple(self):
# see bpo-39142
return f'Flt({int(self)})'
def baseline_sumprod(p, q):
- """This defines the target behavior including expections and special values.
+ """This defines the target behavior including exceptions and special values.
However, it is subject to rounding errors, so float inputs should be exactly
representable with only a few bits.
"""
# CREATE_NEW_CONSOLE creates a "popup" window.
@requires_resource('gui')
def run_in_separated_process(self, code):
- # Run test in a seprated process to avoid stdin conflicts.
+ # Run test in a separated process to avoid stdin conflicts.
# See: gh-110147
cmd = [sys.executable, '-c', code]
subprocess.run(cmd, check=True, capture_output=True,
self.assertIsInstance(lo, int)
self.assertIsInstance(hi, int)
self.assertGreaterEqual(hi, lo)
- # Apple plaforms return 15 without checking the argument.
+ # Apple platforms return 15 without checking the argument.
if not is_apple:
self.assertRaises(OSError, posix.sched_get_priority_min, -23)
self.assertRaises(OSError, posix.sched_get_priority_max, -23)
self.assertEqual(p2.__doc__, "doc-A")
# Case-3: with no user-provided doc new getter doc
- # takes precendence
+ # takes precedence
p = property(getter2, None, None, None)
p2 = p.getter(getter3)
else:
thrds = (
# on shutdown(immediate=False)
- # one of these threads shoud raise Shutdown
+ # one of these threads should raise Shutdown
(self._get, (q, go, results)),
(self._get, (q, go, results)),
(self._get, (q, go, results)),
self.assertEqual(re.search(r'12(?!)|3', '123')[0], '3')
def test_character_set_any(self):
- # The union of complementary character sets mathes any character
+ # The union of complementary character sets matches any character
# and is equivalent to "(?s:.)".
s = '1x\n'
for p in r'[\s\S]', r'[\d\D]', r'[\w\W]', r'[\S\s]', r'\s|\S':
try:
socket.getaddrinfo(None, ULONG_MAX + 1, type=socket.SOCK_STREAM)
except OverflowError:
- # Platforms differ as to what values consitute a getaddrinfo() error
+ # Platforms differ as to what values constitute a getaddrinfo() error
# return. Some fail for LONG_MAX+1, others ULONG_MAX+1, and Windows
# silently accepts such huge "port" aka "service" numeric values.
self.fail("Either no error or socket.gaierror expected.")
self.assertEqual(exc.lineno, 1)
self.assertEqual(exc.offset, 1)
- # Check that the warning is raised ony once if there are syntax errors
+ # Check that the warning is raised only once if there are syntax errors
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter('always', category=SyntaxWarning)
# Because this is hard to verify by parsing the data as a zip, the raw
# bytes are checked to ensure that they line up with the zip spec.
# The spec for this can be found at: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
- # The relevent sections for this test are:
+ # The relevant sections for this test are:
# - 4.3.7 for local file header
# - 4.5.3 for zip64 extra field
# in as a zip, this test looks at the raw bytes created to ensure that
# the correct data has been generated.
# The spec for this can be found at: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
- # The relevent sections for this test are:
+ # The relevant sections for this test are:
# - 4.3.7 for local file header
# - 4.3.9 for the data descriptor
# - 4.5.3 for zip64 extra field
"to run"
)
- # N.B.: We do alot of gymnastics below in the ZIP_STORED case to save
+ # N.B.: We do a lot of gymnastics below in the ZIP_STORED case to save
# and reconstruct a sparse zip on systems that support sparse files.
# Instead of creating a ~8GB zip file mainly consisting of null bytes
# for every run of the test, we create the zip once and save off the
Sorts a shelf of 10 blocks using insertion
sort, selection sort and quicksort.
-Shelfs are implemented using builtin lists.
+Shelves are implemented using builtin lists.
Blocks are turtles with shape "square", but
stretched to rectangles by shapesize()
$(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
$(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
-# This rule is for iOS, which requires an annoyingly just slighly different
+# This rule is for iOS, which requires an annoyingly just slightly different
# format for frameworks to macOS. It *doesn't* use a versioned framework, and
# the Info.plist must be in the root of the framework.
$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK): \
/* tainted sinks
*
- * Coverity considers argv, environ, read() data etc as tained.
+ * Coverity considers argv, environ, read() data etc as tainted.
*/
PyObject *PyErr_SetFromErrnoWithFilename(PyObject *exc, const char *filename)
// gh-108987: If _thread.start_new_thread() is called before or while
// Python is being finalized, thread_run() can called *after*.
// _PyRuntimeState_SetFinalizing() is called. At this point, all Python
- // threads must exit, except of the thread calling Py_Finalize() whch holds
- // the GIL and must not exit.
+ // threads must exit, except of the thread calling Py_Finalize() which
+ // holds the GIL and must not exit.
//
// At this stage, tstate can be a dangling pointer (point to freed memory),
// it's ok to call _PyThreadState_MustExit() with a dangling pointer.
// For now, `count` can be at most MI_BITMAP_FIELD_BITS and will never cross fields.
bool _mi_bitmap_try_find_from_claim(mi_bitmap_t bitmap, const size_t bitmap_fields, const size_t start_field_idx, const size_t count, mi_bitmap_index_t* bitmap_idx);
-// Like _mi_bitmap_try_find_from_claim but with an extra predicate that must be fullfilled
+// Like _mi_bitmap_try_find_from_claim but with an extra predicate that must be fulfilled
typedef bool (mi_cdecl *mi_bitmap_pred_fun_t)(mi_bitmap_index_t bitmap_idx, void* pred_arg);
bool _mi_bitmap_try_find_from_claim_pred(mi_bitmap_t bitmap, const size_t bitmap_fields, const size_t start_field_idx, const size_t count, mi_bitmap_pred_fun_t pred_fun, void* pred_arg, mi_bitmap_index_t* bitmap_idx);
_mi_verbose_message("secure level: %d\n", MI_SECURE);
_mi_verbose_message("mem tracking: %s\n", MI_TRACK_TOOL);
#if MI_TSAN
- _mi_verbose_message("thread santizer enabled\n");
+ _mi_verbose_message("thread sanitizer enabled\n");
#endif
mi_thread_init();
// TODO: maintain max/min allocated range for efficiency for more efficient rejection of invalid pointers?
// search downwards for the first segment in case it is an interior pointer
- // could be slow but searches in MI_INTPTR_SIZE * MI_SEGMENT_SIZE (512MiB) steps trough
+ // could be slow but searches in MI_INTPTR_SIZE * MI_SEGMENT_SIZE (512MiB) steps through
// valid huge objects
// note: we could maintain a lowest index to speed up the path for invalid pointers?
size_t lobitidx;
raw):
partial = 0 # depth
files = [topfile]
- # We start at 1 in case there are source lines (including blank onces)
+ # We start at 1 in case there are source lines (including blank ones)
# before the first marker line. Also, we already verified in
# _parse_marker_line() that the preprocessor reported lno as 1.
lno = 1
# While Python doesn't currently have full support for these platforms
# (see e.g., issue 1762561), we can at least make sure that float <-> string
# conversions work.
- # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
+ # FLOAT_WORDS_BIGENDIAN doesn't actually detect this case, but if it's not big
# or little, then it must be this?
printf "%s\n" "#define DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 1" >>confdefs.h
AS_VAR_IF([host_cpu], [wasm64], [AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-memory64"])])
],
dnl TODO: support other WASI runtimes
- dnl wasmtime starts the proces with "/" as CWD. For OOT builds add the
+ dnl wasmtime starts the process with "/" as CWD. For OOT builds add the
dnl directory containing _sysconfigdata to PYTHONPATH.
[WASI/*], [HOSTRUNNER='wasmtime run --wasm max-wasm-stack=16777216 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/'],
[HOSTRUNNER='']
LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';;
WASI*)
AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
- dnl not iplemented yet
+ dnl not implemented yet
]);;
CYGWIN*)
LDSHARED="gcc -shared -Wl,--enable-auto-image-base"
AC_MSG_RESULT([$SHLIBS])
dnl perf trampoline is Linux specific and requires an arch-specific
-dnl trampoline in asssembly.
+dnl trampoline in assembly.
AC_MSG_CHECKING([perf trampoline])
AS_CASE([$PLATFORM_TRIPLET],
[x86_64-linux-gnu], [perf_trampoline=yes],
# While Python doesn't currently have full support for these platforms
# (see e.g., issue 1762561), we can at least make sure that float <-> string
# conversions work.
- # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
+ # FLOAT_WORDS_BIGENDIAN doesn't actually detect this case, but if it's not big
# or little, then it must be this?
AC_DEFINE([DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754], [1],
[Define if C doubles are 64-bit IEEE 754 binary format, stored