* scripts: make check_redundant_patches.py executable The redundant-test-patches pre-commit hook uses `language: script`, which requires the executable bit, and fails on every commit touching Lib/test. Assisted-by: Claude:claude-sonnet-5-5 * csv: support non-ASCII Unicode dialect characters Store delimiter, quotechar and escapechar as `char` instead of `u8`, and run the reader state machine and the writer over code points, so that a single non-ASCII character such as `€` is accepted like in CPython. The field size limit is now counted in characters rather than bytes. Fixes #8408 Assisted-by: Claude:claude-sonnet-5-5
Test snippets
This directory contains two sets of test snippets which can be run in Python.
The snippets/ directory contains functional tests, and the benchmarks/
directory contains snippets for use in benchmarking RustPython's performance.
Setup
Our testing depends on pytest, which you can install using pip.
Running
Simply run pytest -v in this directory, and the tests should run (and hopefully
pass). If it hangs for a long time, that's because it's building RustPython in
release mode, which should take less time than it would to run every test
snippet with RustPython compiled in debug mode.
Regression result collector
jsontests.py uses the canonical regrtest process setup before discovery. Its
JSON and tables count each parent test once; failed subtests make their parent
fail. The standard unittest summary counts individual failure/error/skip events
and can therefore differ. Each case retains its full id and all subtest
callbacks reported by unittest, including their IDs, outcomes and tracebacks.
Historical result files are not rewritten.