Commit Graph
15289 Commits
Author SHA1 Message Date
Lee DogeonandClaude Opus 4.5 3a702ac772 Improve json.loads performance (#6704)
* Parse JSON in Rust

* Reuse key when decoding JSON

* Unmark resolved test

* Parse null/true/false directly in call_scan_once

Parse JSON constants (null, true, false) directly in Rust within
call_scan_once() instead of falling back to Python scan_once.
This reduces Python-Rust boundary crossings for array/object values.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Parse numbers directly in call_scan_once

Parse JSON numbers starting with digits (0-9) directly in Rust within
call_scan_once() by reusing the existing parse_number() method.
This reduces Python-Rust boundary crossings for array/object values.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Parse NaN/Infinity/-Infinity in call_scan_once

Parse special JSON constants (NaN, Infinity, -Infinity) and negative
numbers directly in Rust within call_scan_once(). This handles:
- 'N' -> NaN via parse_constant callback
- 'I' -> Infinity via parse_constant callback
- '-' -> -Infinity or negative numbers via parse_constant/parse_number

This reduces Python-Rust boundary crossings for array/object values.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Correct wrong index access

* Leave more flame span

* Refactor json scanstring with byte index

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 19:53:46 +09:00
Terry Tianlin Luan c5deb740ac Update asyncio library (#6601)
* Updated asyncio to v3.13.11

* Removed expectedFailure from `test_async_case.py`
2026-01-15 17:35:01 +09:00
dependabot[bot] a3d1b5e7ac Bump xml from 1.2.0 to 1.2.1 (#6730)
Bumps [xml](https://github.com/kornelski/xml-rs) from 1.2.0 to 1.2.1.
- [Changelog](https://github.com/kornelski/xml-rs/blob/main/Changelog.md)
- [Commits](https://github.com/kornelski/xml-rs/compare/1.2.0...1.2.1)

---
updated-dependencies:
- dependency-name: xml
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-15 17:21:22 +09:00
dependabot[bot] 2a2caa1897 Bump rand_core from 0.9.4 to 0.9.5 (#6731)
Bumps [rand_core](https://github.com/rust-random/rand) from 0.9.4 to 0.9.5.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/commits)

---
updated-dependencies:
- dependency-name: rand_core
  dependency-version: 0.9.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-15 17:20:34 +09:00
Jeong, YunWon c06701abc8 skip test_multiprocessing_{fork,spawn}.test_threads.py (#6735) 2026-01-15 14:29:41 +09:00
Jeong, YunWon b214362ca1 remove polluting tests (#6733) 2026-01-15 08:36:56 +09:00
Shahar Naveh e3890f9b4a Bytecode pseudo opcodes (#6715) 2026-01-15 02:52:25 +09:00
Jeong, YunWon 13a875f609 fix backslash handling in fix_test.py (#6729) 2026-01-15 00:01:14 +09:00
Jeong, YunWon 7a516c44c9 Update AI docs (#6728)
* update copilot instructions

* upgrade-pylib command
2026-01-14 23:51:41 +09:00
Jeong, YunWon 3d4aaaa6c1 thread.setname and context (#6726) 2026-01-14 17:20:52 +09:00
Jeong, YunWon 81d89d1d90 Fix flaky multiprocessing tests (#6725) 2026-01-14 16:59:10 +09:00
Lee Dogeon 2e5257d098 Introduce benchmark for json.loads (#6723) 2026-01-14 14:44:34 +09:00
6cb763a332 Fix some parts of cron-ci workflow (#6724)
* Use shared PYTHON_VERSION in cron-ci benchmark job

* Correct extra-tests/jsontests.py script

When the `extra_tests/jsontests.py` script was added, it was presumably during
the time when Python versions 3.5 to 3.8 were in use. At that time,
`test.libregrtest.runtest` was a valid path, but from CPython version 3.11
onwards, the path changed to `test.libregrtest.findtests`.

* Use ssl-rustls feature instead of ssl in cron-ci workflow

Replace the ssl feature with ssl-rustls in both the CARGO_ARGS
environment variable and the cargo-llvm-cov test command to fix
the cron-ci workflow.

Since 1a783fc9ec, it is disallowed
to use ssl manually.

* Replace inspect.getargspec with inspect.getfullargspec in custom_text_test_runner

inspect.getargspec() was removed in Python 3.11, causing jsontests.py to
fail with "TypeError: 'NoneType' object is not iterable" when running on
RustPython (which targets Python 3.13).

The get_function_args() function was silently catching the AttributeError
and returning None, which then caused the error in store_class_fields()
when trying to iterate over None.

> https://docs.python.org/3/whatsnew/3.11.html
> The getargspec() function, deprecated since Python 3.0; use
> inspect.signature() or inspect.getfullargspec() instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Exclude rustpython-venvlauncher in cron-ci workflow

Since rustpython-venvlauncher is Windows-only,
it disables the project in the cron-ci workflow.

* Apply suggestion from @fanninpm

Co-authored-by: fanninpm <luxverdans@sbcglobal.net>

* Trigger cron-ci workflow in pull_request

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
Co-authored-by: fanninpm <luxverdans@sbcglobal.net>
2026-01-14 13:28:25 +09:00
Lee Dogeon 49e6931c7e Introduce flame_guard in rustpython-stdlib too (#6722) 2026-01-14 09:14:05 +09:00
Shahar Naveh 9eeea925c7 Move OpArg to its own file (#6703)
* Move OpArg to its own file

* Fix merge

* Fix more merge
2026-01-14 08:58:49 +09:00
Jeong, YunWon bb57724d3b flush on WantWrite (#6717) 2026-01-13 22:05:49 +09:00
Jeong, YunWon f9e2f9d273 Upgrade math,cmath to 3.14.2 and totally delegate to pymath (#6705)
* Upgrade test_math, test_cmath from 3.14.2

* pymath 0.1.5
2026-01-13 22:05:32 +09:00
Jeong, YunWon e91bc11b0a Fix dict race condition (#6720) 2026-01-13 21:27:24 +09:00
Jeong, YunWon 4d7a289971 fix lib_update backslash support (#6719) 2026-01-13 19:02:34 +09:00
dependabot[bot] 7e47212886 Bump flate2 from 1.1.5 to 1.1.8 (#6711)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.5 to 1.1.8.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.5...1.1.8)

---
updated-dependencies:
- dependency-name: flate2
  dependency-version: 1.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 17:19:38 +09:00
dependabot[bot] 10f14fdedd Bump rand_core from 0.9.3 to 0.9.4 (#6714)
Bumps [rand_core](https://github.com/rust-random/rand) from 0.9.3 to 0.9.4.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/commits)

---
updated-dependencies:
- dependency-name: rand_core
  dependency-version: 0.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 10:43:06 +09:00
dependabot[bot] 1bb3439711 Bump winresource from 0.1.28 to 0.1.29 (#6713)
Bumps [winresource](https://github.com/BenjaminRi/winresource) from 0.1.28 to 0.1.29.
- [Commits](https://github.com/BenjaminRi/winresource/commits)

---
updated-dependencies:
- dependency-name: winresource
  dependency-version: 0.1.29
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 10:42:55 +09:00
Jeong, YunWon 69601a18a4 Upgrade threading to 3.13.11; sys.setprofile & impl more threading (#6691)
* Upgrade threading,test_threading from 3.13.11

* increase ci limit to 45mins

* impl more threading

* no static for asyncgen
2026-01-12 15:33:28 +09:00
Shahar Navehandgithub-actions[bot] 00bfea83bf Update ruff to 0.14.11 in the CI (#6708)
* Update ruff to 0.14.11 in the CI

* Auto-format: cargo fmt --all

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-12 10:52:15 +09:00
Lee Dogeonandgithub-actions[bot] f3b7f7fd47 Clarify commit message from pr-auto-commit (#6706)
* Clarify commit message from pr-auto-commit

* Auto-format: cargo fmt --all

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-12 08:08:50 +09:00
Jeong, YunWon 29bb8b47cd Super instructions (#6694)
* super instructions

* Fix classcell

* ZeroArg
2026-01-11 17:59:32 +09:00
Jeong, YunWon 12f08d6ed5 Merge pull request #6698 from youknowone/quick-import
preparing step to integrate fix_test into lib_updater
2026-01-11 17:20:14 +09:00
Jeong YunWon f2d5594288 fix_test --quick-import 2026-01-11 16:48:21 +09:00
Jeong, YunWonandJeong, YunWon 1d95a04ac8 Update test/libregrtest to CPython 3.13.10 (#6410)
* Update test/libregrtest to CPython 3.13.10

* Re-add try block around platform and encodings info

* Disable WindowsLoadTracker on Windows

* Disable struct._clearcache()

* Disable saved_test_environment context manager

* Disable support.record_original_stdout()

* Update test/test_regrtest.py to CPython 3.13.11

* Add autotest shim from CPython 3.13.11

* Mark failing tests and skip flaky ones in test/test_regrtest.py

* Mark failing test in test_fstring

* Add _test_eintr.py from CPython 3.13.11

* Skip long-running test in _test_eintr

* Mark failing/erroring tests in _test_eintr

* Skip panicking tests in test_io

* Unmark passing tests in test_io

* Mark failing test in test_urllib2net

* Unmark passing test in test_fstring

* Time out if any one test takes longer than 10 minutes

* Skip more flaky tests in test_threading

* Skip tests that pollute the environment for some reason

* Skip flaky tests in test.test_multiprocessing_fork.test_misc

* Skip flaky tests in test.test_multiprocessing_fork.test_manager

Had to go with the nuclear option.

* Skip flaky tests in test_regrtest

* Mark flaky tests in test_ftplib

* Fix multiprocessing tests on Darwin

* Remove test_sys from list of environment polluters

* Remove test_ftplib from list of environment polluters

* Add test.test_multiprocessing_fork.test_misc to list of environment
polluters

* Check 10 times if a test is still polluting the environment

* Save more of the test environment before a test is run

* Mark test_import as polluting the environment

* Unmark passing test in test_regrtest

* Mark flaky test in test_regrtest

* Remove tests from list of environment polluters

* Skip flaky test in test_logging

* Remove tests from list of polluting tests

* Skip certain problematic tests in test_threading

* Skip test causing worker bug in test_builtin

* Make env polluter skip in test_threading os-agnostic

* Remove test_file_eintr from list of polluters

* Remove test_subprocess from the list of polluters

* Address coderabbit comments

* fix threading._dangling

* Skip environment polluter in test.test_concurrent_futures.test_thread_pool

* Make skip in test_thread_pool os-agnostic

* Skip problematic tests in test_wait

* Skip flaky tests in test_process_pool

* Remove test_import from list of polluters

* Amend skips in test.test_multiprocessing_forkserver.test_processes

* Remove test_raise from list of polluters

* Remove test_ssl from list of polluters

* Skip flaky test in test_ssl

* Fix YAML formatting issue

---------

Co-authored-by: Jeong, YunWon <jeong@youknowone.org>
2026-01-11 16:19:34 +09:00
Padraic Fanning 1dcded40b8 Fix YAML formatting issue 2026-01-10 22:52:29 -05:00
Padraic Fanning 7445b27083 Skip flaky test in test_ssl 2026-01-10 22:10:35 -05:00
Padraic Fanning f9a1f2bda8 Remove test_ssl from list of polluters 2026-01-10 22:10:35 -05:00
Padraic Fanning 8d505dc0e5 Remove test_raise from list of polluters 2026-01-10 22:10:35 -05:00
Padraic Fanning 80af69e625 Amend skips in test.test_multiprocessing_forkserver.test_processes 2026-01-10 22:10:35 -05:00
Padraic Fanning 717265a59a Remove test_import from list of polluters 2026-01-10 22:10:35 -05:00
Padraic Fanning daaae22077 Skip flaky tests in test_process_pool 2026-01-10 22:10:35 -05:00
Padraic Fanning 1642959b92 Skip problematic tests in test_wait 2026-01-10 22:10:35 -05:00
Padraic Fanning 1c07d3545e Make skip in test_thread_pool os-agnostic 2026-01-10 22:10:35 -05:00
Padraic Fanning ae6deb7437 Skip environment polluter in test.test_concurrent_futures.test_thread_pool 2026-01-10 22:10:35 -05:00
Jeong, YunWon def6974bf6 fix threading._dangling 2026-01-10 22:10:35 -05:00
Padraic Fanning e6d2ba06b1 Address coderabbit comments 2026-01-10 22:10:35 -05:00
Padraic Fanning a09ed1bf97 Remove test_subprocess from the list of polluters 2026-01-10 22:10:35 -05:00
Padraic Fanning 55c309669b Remove test_file_eintr from list of polluters 2026-01-10 22:10:35 -05:00
Padraic Fanning d1e75c0ee0 Make env polluter skip in test_threading os-agnostic 2026-01-10 22:10:35 -05:00
Padraic Fanning 98d8ebcc1d Skip test causing worker bug in test_builtin 2026-01-10 22:10:35 -05:00
Padraic Fanning b76c0a20a8 Skip certain problematic tests in test_threading 2026-01-10 22:10:35 -05:00
Padraic Fanning d170b0281f Remove tests from list of polluting tests 2026-01-10 22:10:35 -05:00
Padraic Fanning 12811eb40c Skip flaky test in test_logging 2026-01-10 22:10:35 -05:00
Padraic Fanning 8765d86355 Remove tests from list of environment polluters 2026-01-10 22:10:35 -05:00
Padraic Fanning 40da80714c Mark flaky test in test_regrtest 2026-01-10 22:10:35 -05:00