Commit Graph

4050 Commits

Author SHA1 Message Date
Jeong, YunWon
82a8f67c71 Replace custom opcodes with CPython standard sequences (#6794)
* Replace custom opcodes with standard sequences

Remove RustPython-specific opcodes (BuildListFromTuples,
BuildMapForCall, BuildSetFromTuples, BuildTupleFromTuples)
and replace their usage with CPython 3.14 standard opcode
sequences:

- BuildListFromTuples → BUILD_LIST + LIST_EXTEND loop
- BuildSetFromTuples → BUILD_SET + SET_UPDATE loop
- BuildTupleFromTuples → BUILD_LIST + LIST_EXTEND + CALL_INTRINSIC_1(ListToTuple)
- BuildMapForCall → DICT_MERGE loop

Implement missing opcodes:
- ListExtend: Extend list with iterable elements
- SetUpdate: Add iterable elements to set
- DictMerge: Merge dict with duplicate key checking

* Auto-generate: generate_opcode_metadata.py

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-20 00:34:46 +09:00
Jiseok CHOI
00440b179a Update sqlite3 and the tests to CPython 3.14.2 (#6787)
* Update sqlite3, dbm.sqlite3 and tests to CPython 3.14.2

* Add skip decorators for failing sqlite3 tests

Skip tests that fail due to unimplemented features or behavior differences:
- _iterdump not implemented (test_dump.py)
- Unraisable exception handling not implemented (test_hooks.py, test_userfunctions.py)
- Keyword-only arguments not supported for various methods
- Autocommit behavior differences (test_transactions.py)
- TransactionTests skipped due to timeout parameter type issue
- Various error message differences (test_dbapi.py)
- SQLITE_DBCONFIG constants not implemented
- Row and Connection signature inspection issues

All tests now pass with 95 skipped out of 493 total tests.

* Change @unittest.skip to @unittest.expectedFailure per code review

- Convert @unittest.skip decorators to @unittest.expectedFailure for tests that fail without panic/hang
- Keep @unittest.skip only for TransactionTests class (setUp fails with timeout=0 int type)

* fixup
2026-01-19 02:45:47 +09:00
Jeong, YunWon
130bb82a43 LoadClosure as pseudo op (#6789) 2026-01-19 02:45:00 +09:00
Lee Dogeon
9b5eefbb7b Replace _compression with compression and update related too (#6788) 2026-01-19 00:38:51 +09:00
Lee Dogeon
ed785e3d86 Bump base64 to 3.14.2 (#6776) 2026-01-19 00:04:06 +09:00
Jeong, YunWon
3a9f020234 update test_sys from 3.14.2 (#6781)
* sys.is_remote_debug_enabled, supports_isolated_interpreters

* Update test_sys form Python 3.14.2

---------

Co-authored-by: CPython Devleopers <>
2026-01-18 23:58:39 +09:00
Jiseok CHOI
050db4725f sqlite3: fix Connection.cursor() factory argument handling (#6783)
Fix test_is_instance in CursorFactoryTests by properly handling the
factory argument in Connection.cursor() method. Now the factory can
be passed as both positional and keyword argument, and returns the
correct subclass type instead of always returning PyRef<Cursor>.

- Use FromArgs derive macro with CursorArgs struct for argument parsing
- Return PyObjectRef instead of PyRef<Cursor> to allow subclasses
- Use fast_issubclass to validate returned cursor is a Cursor subclass
- Properly differentiate between 'no argument' and 'None passed'
2026-01-18 23:37:47 +09:00
Jeong, YunWon
252fa816d6 sys._jit (#6779) 2026-01-18 21:54:44 +09:00
Jeong, YunWon
d3d63ea2d3 enable test_bytes (#6777) 2026-01-18 21:33:37 +09:00
Jeong, YunWon
e0b19c833c skip flaky test 2026-01-18 20:33:12 +09:00
Jeong, YunWon
8f7b1343bc mark and unmark successful/failing tests 2026-01-18 20:00:15 +09:00
Jeong, YunWon
3836958eaa Make ready_to_import always remove tempdir from sys.path (re-apply #6687) 2026-01-18 20:00:14 +09:00
CPython Devleopers
005014a3f9 Update test.support from 3.14.2 2026-01-18 19:56:55 +09:00
Jeong, YunWon
e0185aefb1 mark failing tests 2026-01-18 19:56:54 +09:00
CPython Devleopers
dfed341ec8 Upgrade unittest from 3.14.2 2026-01-18 19:56:54 +09:00
Lee Dogeon
5242ff5243 Bump json to 3.14.2 (#6774) 2026-01-18 19:16:48 +09:00
fanninpm
e4ce70bbda Update Lib/warnings to CPython 3.14 (#6762)
* Update Lib/warnings to CPython 3.14

* Add context_aware_warnings setting

XXX- The default setting of this and thread_inherit_context should be
true.

* Unmark passing test

* Mark failing tests

* Skip failing test in test_sys for now

Updating test_sys to CPython 3.14 is beyond the scope of this PR.

* test_improper_option is fixed

---------

Co-authored-by: Jeong, YunWon <jeong@youknowone.org>
2026-01-18 13:59:49 +09:00
Jeong, YunWon
96e08a425e Initialize warnings module during interpreter startup to process (#6766) 2026-01-18 13:15:40 +09:00
Jeong, YunWon
6616961d08 skip flaky tests (#6764) 2026-01-18 11:16:25 +09:00
Jeong, YunWon
ca76cb7bb0 thread_inherit_context, upgrade threading & contextvar (#6727)
* thread_inherit_context

* Update contextvar, threading from CPython 3.14.2

* partially patch test_sys to 3.14.2

---------

Co-authored-by: CPython Devleopers <>
2026-01-18 08:53:41 +09:00
Jeong, YunWon
11c9b0e783 fix finalizing and atexit timing (#6626)
* fix finalizing and atexit timing

* fix shutdown
2026-01-18 01:54:16 +09:00
Shahar Naveh
8ce5f49908 Update graphlib, heapq, ipaddress to 3.14.2 (#6758) 2026-01-18 01:23:34 +09:00
Jeong, YunWon
6df3753229 Py 3.14 changes fix (#6755)
* marshal v5

* conditional blclk

* fix jit don't use lossy string

* add varname

* symboltable takes responsibility of __debug__
2026-01-18 01:02:40 +09:00
Shahar Naveh
892116c009 Add some compiler tests from 3.13.11 (#6752)
* Add some compiler tests from 3.13.11

* Unmark passing test
2026-01-18 00:26:06 +09:00
CPython Devleopers
314a61562c Update calendar from CPython 3.14.2 2026-01-17 19:22:00 +09:00
CPython Devleopers
d75f272c8b Update argparse from CPython 3.14.2 2026-01-17 19:22:00 +09:00
CPython Devleopers
ef22bf4774 Update _colorize from CPython 3.14.2 2026-01-17 19:22:00 +09:00
CPython Devleopers
65e08c02b6 Update ensurepip from 3.14.2 2026-01-17 19:22:00 +09:00
Jeong, YunWon
522793850a mark and unmark unittest functions 2026-01-17 19:21:38 +09:00
CPython Devleopers
076d692b42 Upgrade string from CPython 3.14.2 2026-01-17 19:21:11 +09:00
Jeong, YunWon
346481d95e partially patch Lib/typing to 3.14 2026-01-17 19:21:11 +09:00
Jeong, YunWon
96038e48c5 partially patch inspect for PEP 649 in 3.13 2026-01-17 19:21:11 +09:00
Jeong, YunWon
dc93614f5a Add annotationlib,ann_module from 3.14.2
also partially update test_module
2026-01-17 19:21:11 +09:00
Jeong, YunWon
566b6f438b PEP 649 annotation phase 4 2026-01-17 19:21:11 +09:00
Jeong, YunWon
db01a1d653 Remove pickle from itertools 2026-01-17 19:21:11 +09:00
Jeong, YunWon
8d901a7300 Implement bool(NotImplemented) 2026-01-17 19:21:10 +09:00
Jeong, YunWon
280caea579 upgrade venvlauncher 2026-01-17 19:21:10 +09:00
Jeong, YunWon
7594ef5121 upgrade site to 3.14.2 2026-01-17 19:21:10 +09:00
Jeong, YunWon
299f1ea0aa skip flaky test_concurrent_futures.test_process_pool.test_ressources_gced_in_workers (#6750) 2026-01-17 19:18:54 +09:00
Jeong, YunWon
f4363a6b27 PEP 750 tstring (#6744) 2026-01-17 18:41:40 +09:00
Jeong, YunWon
02cc257b42 Support pickle better with __getnewargs_ex__ (#6749)
* Implement pickle more

* add weakref check

* check exports in __setstate__

* remove reducelib
2026-01-17 18:37:16 +09:00
Terry Tianlin Luan
833f7343c8 Update email library v3.13.11 (#6642)
* Updated the email library + added test suite

* Added Windows altzone + Fixed memory error in `bytes_inner.rs`
2026-01-17 18:15:35 +09:00
Shahar Naveh
380fa39eba Bytecode instrumented placeholder (#6741)
* Add all other bytecodes

* Mark passing/failing tests
2026-01-16 23:08:06 +09:00
Terry Tianlin Luan
4cb3b9d8f0 Updated the urllib + http libraries + test libraries (#6672)
* Updated urllib + urllib tests

* Updated http + test

* Annotated failing tests

* Fixed issues in httpservers, robotparser and urllib2net

* Fixed windows only success

* Annotated flaky test in test_logging
2026-01-16 23:03:49 +09:00
Lee Dogeon
ef871d227e Update json module to 3.13.11 (#6743) 2026-01-16 21:38:15 +09:00
Jeong, YunWon
746e71af87 reject SemLock reduce (#6738) 2026-01-16 10:18:31 +09:00
Terry Tianlin Luan
609dbb1439 Downgraded skips in tests (#6716)
* Downgraded skips in tests

* Fixed failing tests

* Fixed test_ftplib + test_socket + test_ssl + test_threaded_import failures

* Removed comments about which tests are run in which environment

* Addressed PR comments

* Annotated skips on failing tests

* Removed unneeded tests

* Removed unneeded sys import from test_ftplib

* Added annotation to test_ftplib

* Readded skipIf to test_cleanup_with_symlink_modes with a more general ENV_POLLUTING_TESTS_WINDOWS

* Addressed PR comments

* Made changes to minimize diff in PR

* Apply suggestion from @youknowone

---------

Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
2026-01-15 21:43:22 +09:00
Lee Dogeon
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
Jeong, YunWon
c06701abc8 skip test_multiprocessing_{fork,spawn}.test_threads.py (#6735) 2026-01-15 14:29:41 +09:00