Commit c89f85f
Add native chain() iterator; upgrade to real CPython list tests
Replace Python generator-based itertools.chain with a native assembly
iterator (ChainIterObject) that converts all iterables to iterators
upfront and iterates through them sequentially. This eliminates the
generator frame save/restore overhead that caused test_constructors
to hang when iterating through 5 layers of nested iterators (itermulti).
Replace simplified seq_tests.py and list_tests.py with real CPython
test files including itermulti, ALWAYS_EQ/NEVER_EQ sentinels,
cmp_to_key sort tests, extended slicing, and constructor exception
handling. Update test_list.py with real CPython tests (overflow,
equal_operator_modifying, count_index_remove_crashes, etc.).
Results: make check 133/133 pass, test_list 35 pass / 17 fail / 7 skip
out of 59 real CPython tests (completes in <60s, no hangs or crashes).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 5373bcc commit c89f85f
7 files changed
Lines changed: 846 additions & 158 deletions
File tree
- lib
- test
- src
- tests/cpython
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
| 115 | + | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
10 | 6 | | |
11 | 7 | | |
12 | 8 | | |
| |||
0 commit comments