mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 10:44:36 +08:00
* fix: signal.SIGINT and signal() raise NotImplementedError on wasi - Problem: signal.SIGINT and friends don't exist on wasi, and signal.signal() is hard-stubbed to raise NotImplementedError there - Cause: wasi-libc emulates signal()/raise() in a separate opt-in library that Rust's own wasm32-wasip1 target distribution doesn't ship - Fix: vendor wasi-sdk's prebuilt libwasi-emulated-signal.a, link it for wasm32-wasip1, and wire SIGINT/SIGABRT/SIGFPE/SIGILL/SIGSEGV/SIGTERM, signal()/getsignal()/raise_signal() through it. CPython's own WASI build links the same library Assisted-by: Claude Code:claude-sonnet-5 Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com> * Group WASI signal definitions in mod wasm Move WASI-only types, constants, FFI, and handlers into `mod wasm` and re-export them with `#[cfg(target_os = "wasi")]`. Assisted-by: Grok 4.6 --------- Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com> Co-authored-by: Jeong YunWon <jeong@youknowone.org>
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.