Skip to content

Testing

Joachim Metz edited this page Nov 27, 2020 · 4 revisions

Automated tests

The libfsntfs package comes with automated tests, which are stored in the sub directory: tests.

To run the automated tests:

make check

The automated tests are currently only intended to run on a system that can run a bash shell.

Test profiles

There are also multiple test profiles:

  • libfsntfs
  • pyfsntfs
  • fsntfsinfo
  • fsntfsinfo_fs
  • fsntfsinfo_mft
  • fsntfsinfo_usn

These test profiles are used by one or more tests. By default the tests run all the test sets, if applicable. Each test profile can define which test sets to ignore in the ignore-file, e.g. for the libfsntfs test profile:

tests/input/.libfsntfs/ignore

Every line of the ignore-file specifies (the sub directory name of) the test set that should be ignored, e.g. for the basic test set:

basic

Some of the tests store data in the test profile to be used for comparison in successive test runs. At the moment this data needs to be cleaned out manual if it causes the test to fail due to legitimate changes.

Detecting memory leakage

The tests can also be run with valgrind to detect memory leakage.

Running the automated tests with valgrind will significantly impact the speed at which they are run.

To run the automated tests with valgrind:

make check CHECK_WITH_VALGRIND=1;

If the automated test process detects memory leaks it will end the specific test and indicate it failed.

Clone this wiki locally