No consumers of readByte() were actually checking for EOF, so they would
all keep re-reading the same byte over and over again, potentially until the
process runs out of memory (ref #572).
* Port test runner script to Python.
This allows us to keep the test output in sorted order while still running the
tests in parallel. It also now defaults to using the number of available CPU
threads for parallel execution, rather than the previously hard-coded default.
* Also port decompyle_test.sh script to python within run_tests.py
* Fix cmake check target for multi-config generators.
Adds testing of release builds on both MSVC and GCC.
* Fix diff comparisons on Windows
* Ubuntu runners don't have ninja by default
* Support for JUMP_BACKWARD
* Initial support for Python 3.13
* Remove opcode from another old PR, not needed in the current one
* Update bytes/python_3_13.cpp
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Update bytecode_ops.inl
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Update .gitignore
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Update bytecode_ops.inl
---------
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Support for JUMP_BACKWARD
* Add missed flag CO_ASYNC_GENERATOR
* Revert "Support for JUMP_BACKWARD"
This reverts commit 81543ece8c481b6e6b0f5724d8aa6766d3dcb8ae.
* Modify .gitignore
* Added support for SWAP and WITH_EXCEPT_START, WITH_EXCEPT_START is simply added on top of SETUP_WITH_A so that it works properly.
* Resolve the warning about comparing size_t and int.
* Revert "Resolve the warning about comparing size_t and int."
This reverts commit 54dfe36629855ca557277572d307dacaf6a64fe9.
* Reapply "Resolve the warning about comparing size_t and int."
This reverts commit d21d1681ed6496856ea65151e5fd798f0a718416.
* Modify decompyle_test.sh
* Modify .gitignore
* Fix the logic error by placing the assignment inside the tuple
* Re-adding test files
* Fixing redundant brackets
* Add support for swap bytecode and simple WITH_EXCEPT_START bytecode support.
* Clean up some formatting issues
---------
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
`make check JOBS=4` will spawn 4 workers and spread the tests among them.
`make check FILTER=try` will only run tests that contain `try` in their name.