test_counter_optimizer() and test_long_loop() of test_capi now create
a new function at each call. Otherwise, the optimizer counters are
not the expected values when the test is run more than once.
When running the Python test suite with -jN option, if a worker stdout
cannot be decoded from the locale encoding report a failed testn so the
exitcode is non-zero.
Fix test_gzip's failure under WASI, which does not have zlib, by using
test.support.import_helper.import_module to import zlib. (gzip
unconditionally imports zlib, so this does not cause any new skips.)
Brings `pathlib.Path.is_dir()` and `in line with `os.DirEntry.is_dir()`, which
will be important for implementing generic path walking and globbing.
Likewise `is_file()`.
This new exception type is raised instead of `NotImplementedError` when
a path operation is not supported. It can be raised from `Path.readlink()`,
`symlink_to()`, `hardlink_to()`, `owner()` and `group()`. In a future
version of pathlib, it will be raised by `AbstractPath` for these methods
and others, such as `AbstractPath.mkdir()` and `unlink()`.
* Add tests on PyImport_AddModuleRef(), PyImport_AddModule() and
PyImport_AddModuleObject().
* pythonrun.c: Replace Py_XNewRef(PyImport_AddModule(name)) with
PyImport_AddModuleRef(name).
* The following tests were disabled since the initial ctypes commit
in 2006, commit babddfca75:
* Callbacks.test_char_p()
* DeletePointerTestCase.test_X()
* NumberTestCase.test_perf()
* StructureTestCase.test_subclass_creation()
* Tests.test_X() of test_byteswap
* NumberTestCase.test_bool_from_address() was disabled in 2007 by
commit 5dc4fe09b7.
* Remove check_perf() and run_test() of test_numbers.
Re-arrange `pathlib.Path` test methods in source code. No other changes.
The test methods are arranged in two groups. The first group checks
`stat()`, `open()`, `iterdir()`, `readlink()`, and derived methods like
`exists()`, `read_text()`, `glob()` and `resolve()`. The second group
checks all other `Path` methods. To minimise the diff I've maintained the
method order within groups where possible.
This patch prepares the ground for a new `_AbstractPath` class, which will
support methods in the first group above. By churning the test methods
here, subsequent patches will be easier to review and less likely to break
things.
* Move imports at top level and sort imports.
* Replace c_buffer() with create_string_buffer(): c_buffer is a
deprecated alias.
* PEP 8: Add empty lines for readability between imports and classes.
Remove the @need_symbol('...') decorator of test.test_ctypes since
requested symbols are now always always available in ctypes.
Use the @unittest.skipUnless() decorator directly for the two types
only available on Windows:
* ctypes.WINFUNCTYPE
* ctypes.oledll
test_xmlrpc_net was skipped since 2017:
commit 73ffd3f203.
The public buildbot.python.org server has no XML-RPC interface
anymore, and no replacement server was found in 6 years.
Reimplement _iso8601_format() using the datetime isoformat() method.
Ignore the timezone.
Co-Authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
Deprecate two methods of creating typing.TypedDict classes with 0 fields using the functional syntax: `TD = TypedDict("TD")` and `TD = TypedDict("TD", None)`. Both will be disallowed in Python 3.15. To create a TypedDict class with 0 fields, either use `class TD(TypedDict): pass` or `TD = TypedDict("TD", {})`.