mirror of
https://github.com/cyber-defence-campus/mole
synced 2026-06-20 13:19:21 +00:00
568b1d8043
* Added support for functions * Added unit-test for propagators * Updated documentation * Updated documentation and increase of patch version * Prevent newlines in YML files * First draft of new function-centric configuration * Fixed unit-tests * Distinguish src_par_slice and snk_par_slice * Cleanup * Updated popup dialogs * Remove empty aliases * Fix adding functions to new categories * Add tree items without tab refresh * Added context menu and remove functionality * Always fix functions * Updated documentation * Rename propagator to fixer * Updated documentation * Quotes in log messages * Try to restore path instruction using instruction address * Changing log outputs * Improved upwards propagation of checkbox states * Update analysis without waiting * Run re-analysis after function type signature fixes in non-UI thread * Include Path for type checking only * Support for installation with uv * Minor change in the installation instructions * Fix functions outside UI thread * Use proper session ID in logger
Tests
This directory contains the test suite for the Mole project.
Build Test Binaries
Before running the tests, you must first built the test binaries. Navigate to the tests data directory:
cd tests/data/
Then, compile all test binaries:
make all
To cross-compile the test binaries for a specific target architecture, specify the appropriate compilers. You may also define a custom file extension to distinguish the resulting binaries. For example:
CC=arm-linux-gcc CXX=arm-linux-g++ EXT=.linux-armv7 make all
Run Tests
In the following commands, we assume you are in the Mole project’s root directory:
Run All Tests
pytest
Run Specific Test File
pytest tests/test_data.py
pytest tests/slicing/test_pointer.py
Run Specific Test Class or Method
pytest tests/slicing/test_pointer.py::TestPointerAnalysis
pytest tests/slicing/test_pointer.py::TestPointerAnalysis::test_pointer_analysis_01
Run Tests for a Specific Architecture
To run tests only on binaries built for a specific architecture, set the EXT parameter to match the extension used during compilation:
EXT=".linux-armv7" pytest