mirror of
https://github.com/angr/angr
synced 2026-08-17 12:23:11 -04:00
The 16-bit test passed rebase_granularity=0x100 because cle aligned a rebased object up to the default 1 MiB granularity, which lands past the end of a 16-bit address space, so placing the extern object raised "Ran out of room in address space". angr/cle#735 now searches the free space with an alignment ladder that falls back to 0x1000 and then to a single byte when the granularity does not fit, so the default works and the argument only obscures what the test is about. angr resolves cle from master, which carries that fix. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ailment | ||
| analyses | ||
| angrdb | ||
| engines | ||
| exploration_techniques | ||
| factory | ||
| gui | ||
| knowledge_plugins | ||
| llm | ||
| manual | ||
| mcp | ||
| misc | ||
| perf | ||
| procedures | ||
| regression | ||
| serialization | ||
| sim | ||
| simos | ||
| state_plugins | ||
| storage | ||
| types | ||
| utils | ||
| __init__.py | ||
| common.py | ||
| README.md | ||
| test_calling_conventions.py | ||
| test_cli.py | ||
| test_fuzzer.py | ||
| test_load_shellcode.py | ||
Tests
Running tests
These tests require the binaries repository, clone it in the folder where angr was cloned.
git clone https://github.com/angr/binaries
nose2 or pytest may be used to run tests.
Each tool can be installed with pip:
pip install nose2
pip install pytest
To run the tests with nose2, from the root of the repository, run:
nose2 -s tests
Or if using pytest, simply run:
pytest
Writing new tests
New tests should be written using unittest, part of Python's standard library. For more information about unittest, see https://docs.python.org/3/library/unittest.html. While we prefer nose2 and pytest for running tests, avoid using nose2 or pytest features in tests themselves, to avoid dependency on a specific runner.