angr/tests
Yan abf1bf6335 Drop the rebase granularity workaround from the narrow p-code tests
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>
2026-08-11 01:31:50 +00:00
..
ailment [pre-commit.ci] pre-commit autoupdate (#6721) 2026-07-29 13:46:11 -07:00
analyses Drop the rebase granularity workaround from the narrow p-code tests 2026-08-11 01:31:50 +00:00
angrdb Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
engines Support narrow p-code pointer widths 2026-08-09 16:10:43 +00:00
exploration_techniques Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
factory tests: sum floats sequentially in run_manyfloatsum_symbolic (#6509) 2026-06-16 17:25:37 -07:00
gui DecompilationCache: Serialization support. (#6624) 2026-07-22 03:03:40 -07:00
knowledge_plugins CompleteCallingConventions: fail loudly when all workers die. (#6718) 2026-07-27 18:20:59 -07:00
llm DecompilationCache: Serialization support. (#6624) 2026-07-22 03:03:40 -07:00
manual Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
mcp Decompiler: Add edits layer; add more tools to MCP. (#6789) 2026-08-09 01:48:07 -07:00
misc Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
perf Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
procedures SimLibrary/SimSyscallLibrary: Treat None prototypes as absent. (#6673) 2026-07-24 11:29:58 -07:00
regression Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
serialization SimConstantVariable: Fix overflows and value out of range errors. (#6738) 2026-07-29 13:58:20 -07:00
sim Support native AIL Abs expressions in light engines (#6683) 2026-07-24 00:43:03 -07:00
simos Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00
state_plugins state_plugins: Map the heap region lazily and grow it on demand. (#6715) 2026-07-27 18:20:07 -07:00
storage Fix #6744: avoid empty Or expression in memory.find (#6750) 2026-08-05 04:01:10 -07:00
types SimStruct: Remove _arch_memo to fix the cache leak. (#6757) 2026-08-05 01:12:55 -07:00
utils CFGFast: Make the smart scan nodecode ratio O(log n) (#6767) 2026-08-05 01:42:45 -07:00
__init__.py tests: Structure test files into directories 2023-09-08 16:05:33 -07:00
common.py [pre-commit.ci] pre-commit autoupdate (#6721) 2026-07-29 13:46:11 -07:00
README.md Update test/README.md with current tools (#3774) 2023-02-01 18:48:16 -07:00
test_calling_conventions.py SimCCMicrosoftFastcall: Implement next_arg. (#6491) 2026-06-10 03:19:34 -07:00
test_cli.py Add Rust decompiler support to CLI (#6421) 2026-05-19 23:00:07 -07:00
test_fuzzer.py Fuzzer infrastructure: engine caching, custom breakpoints, icicle bump (#6346) 2026-04-15 15:22:31 -07:00
test_load_shellcode.py Enable ruff isort rule (#6452) 2026-06-02 14:48:07 -07:00

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.