@ -63,6 +63,19 @@ To run these tests, run [`./tests.sh`](./tests.sh). You can filter the tests to
To invoke cross-architecture tests, use `./qemu-tests.sh`, and to run unit tests, use `./unit-tests.sh`
To run the tests in the same environment as the testing CI/CD, you can use the following Docker command.
```sh
# General test suite
docker compose run --rm --build ubuntu24.04-mount ./tests.sh
# Cross-architecture tests
docker compose run --rm --build ubuntu24.04-mount ./qemu-tests.sh
```
This comes in handy particularly for cross-architecture tests because the Docker environment has all the cross-compilers installed. The active `pwndbg` directory is mounted, preventing the need for a full rebuild whenever you update the codebase.
Remove the `-mount` if you want the tests to run from a clean slate (no files are mounted, meaning all binaries are recompiled each time).
## Writing Tests
Each test is a Python function that runs inside of an isolated GDB session.