Also make test_copymode_symlink_to_symlink in test_shutil more strict.
(cherry picked from commit b4f2c89118)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Order of tests matter second part makes testing file writable and
possible to remove again.
(cherry picked from commit f5c05e015c)
Co-authored-by: Pavol Babinčák <scroolik@gmail.com>
gh-108303: Move `double_const` to `test_import` where it belongs (GH-112108)
(cherry picked from commit 0738b9a338)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
gh-109980: Fix test_tarfile_vs_tar on macOS (GH-112905)
On recentish macOS versions the system tar
command includes system metadata (ACLs, extended attributes
and resource forks) in the tar archive, which
shutil.make_archive will not do. This can cause
spurious test failures.
(cherry picked from commit dd2ebdf89f)
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
gh-110017: Disable test_signal.test_stress_modifying_handlers on macOS (GH-112834)
Test test_stress_modifying_handlers in test_signal can crash
the interpreter due to a bug in macOS. Filed as FB13453490
with Apple.
(cherry picked from commit bf0beae6a0)
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
gh-109981: Fix support.fd_count() on macOS 14 (GH-112797)
Use scanning "/dev/fd/" on macOS in support.fd_count(). That's both more efficient than scanning all possible file descriptors, and avoids crashing the interpreter when there are open "guarded" file descriptors.
"Guarded" file descriptors are a macOS feature where file descriptors used by system libraries are marked and cause hard crashes when used by "user" code.
(cherry picked from commit 953ee622b3)
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
* Ignore os.close() errors when ignore_errors is True.
* Pass os.close() errors to the error handler if specified.
* os.close no longer retried after error.
(cherry picked from commit 11d88a178b)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit 8cdfee1bb9)
Co-authored-by: Ken Jin <kenjin@python.org>
Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
It breaks import machinery if the test module has submodules used in
other tests.
(cherry picked from commit e08b70fab1)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
[3.12] gh-109413: libregrtest: enable mypy's `--strict-optional` check on most files (GH-112586) (GH-112602)
gh-109413: libregrtest: enable mypy's `--strict-optional` check on most files (GH-112586)
(cherry picked from commit 36dbebed44)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
gh-112105: Make completer delims work on libedit (gh-112106)
(cherry picked from commit 2df26d8348)
Co-authored-by: Tian Gao <gaogaotiantian@hotmail.com>
gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors (GH-112410)
(cherry picked from commit 2c8b191742)
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
gh-94722: fix DocTest.__eq__ for case of no line number on one side (GH-112385)
(cherry picked from commit fbb9027a03)
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
gh-73561: Omit interface scope from IPv6 when used as Host header (GH-93324)
Omit the `@interface_scope` from an IPv6 address when used as Host header by `http.client`.
---------
(cherry picked from commit ce1096f974)
[Google LLC]
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
[3.12] gh-102837: more tests for the math module (GH-111930)(GH-102523) (GH-112030)
* gh-102837: improve test coverage for math module (GH-102523)
(Only the test changes from GH-102523 are cherry-picked)
- input checks for math_1(L989), math_1a(L1023), math_2(L1064,L1071), hypot(L2682), log(L2307), ldexp(L2168), ceil(L1165), floor(L1236,L1239) and dist(L2587,L2588,L2628).
- improve fsum coverage for exceptional cases (L1433,L1438,L1451,L1497), ditto fmod(L2378)
(all line numbers are wrt the main branch at 5e6661bce9)
* gh-102837: more tests for the math module (GH-111930)
Add tests to improve coverage:
* fsum: L1369, L1379, L1383, L1412
* trunc: L2081
* log: L2267
* dist: L2577, L2579
* hypot: L2632
* (not cherry-picked for 3.11: sumprod)
* pow: L2982
* prod: L3294, L3308, L3318-3330
// line numbers wrt to 9dc4fb8204
(cherry picked from commit c61de456db)
---------
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
(cherry picked from commit c6aea46a71)
* Fix crash when encoding is not string or None.
* Fix crash when both line_buffering and write_through raise exception
when converted ti int.
* Add a number of tests for constructor and reconfigure() method
with invalid arguments.
(cherry picked from commit ee06fffd38)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
gh-111929: Fix regrtest --pgo: test_str => test_unicode (GH-111938)
test_unicode was renamed to test_str in Python 3.13, but Python 3.12
still uses test_unicode name.
(cherry picked from commit 5f42a2bc40)
Co-authored-by: Victor Stinner <vstinner@python.org>
Add DEFAULT_BUFFER_SIZE, text_encoding, and IncrementalNewlineDecoder.
(cherry picked from commit baeb7718f8)
Co-authored-by: Nicolas Tessore <n.tessore@ucl.ac.uk>
[3.12] gh-111881: Use lazy import in test.support (#111885) (#111890)
gh-111881: Use lazy import in test.support (#111885)
* Import lazily getpass in test.support
Backport to 3.11: test.support.os_helper is unchanged.
(cherry picked from commit 0372e3b02a)
(cherry picked from commit e983ca859d)
gh-111881: Import doctest lazily in libregrtest (GH-111884)
In most cases, doctest is not needed. So don't always import it at
startup. The change reduces the number of modules already
imported when a test is run.
(cherry picked from commit 6f09f69b7f)
Co-authored-by: Victor Stinner <vstinner@python.org>