Files
Damian Pfammatter 568b1d8043 251 Refactored Taint Model Configuration (#258)
* 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
2026-05-20 10:56:29 +02:00
..

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 projects 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