Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Failed to load latest commit information.
afl replaced raw lcov results with a link
c-unit-tests Refactored how the cunit tests are processed so "make dist" does not …
conf [server / test suite] cleaner SNAT MASQUERADE support
fuzzing move fuzzing_spa_packets file to perl/FKO/t/ for fuzzing tests
misc [test suite] add and a few minor helper files for Free…
test-coverage updated untested function list for Linux systems
tests add --key-gen option to fwknopd (suggested by Jonathan Bennett)
README [test suite] README update to include --enable-complete mode [test suite] added for --enable-complete mode [test suite] added [python module] default to HMAC SHA256 when an HMAC key is used but n… [test suite] handle versions of lcov that don't have the --rc option [test suite] added script and --enable-cores-pattern…
hardening-check added stack protection detection for OpenBSD systems [test suite] handle versions of lcov that don't have the --rc option
invalid.args [test suite/client] memory leak bug fix and test coverage
invalid.key [test suite] more client/config_init.c test coverage
invalid2.key [test suite] more client/config_init.c test coverage
invalid3.key [test suite] more client/config_init.c test coverage
lcov.env [test suite] handle versions of lcov that don't have the --rc option
local_spa.key added local_spa.key file
long_spa.key [test suite] add long_spa.key file [test suite] update to use helper scripts for code coverage report ge… [test suite] buf fix for DYLD_LIBRARY_PATH on Mac OS X systems [test suite] SPA packet fuzzer minor comment additions to clearly def…
valgrind_suppressions [test suite] additional valgrind suppression for pcap-file processing


This directory contains the fwknop test suite.  After compiling the fwknop
sources in the parent directory of test/ the test suite can be executed.  One
of the most comprehensive ways of executing the test suite is as follows:

# ./ --enable-all

This mode enables IP resolution tests, so you will need Internet access in this
case.  If this is not possible or desirable, then another comprehensive testing
mode can be achieved with:

# ./ --enable-recompile --enable-perl-module-checks --enable-distcheck

Additional detail on the test suite (including --diff and --enable-valgrind
modes) may be found in the fwknop tutorial available here:

For even more comprehensive testing than the --enable-all switch, you can use
--enable-complete.  However, before doing this, you will want to install the
'libfiu' fault injection library (available here:,
and then compile fwknop with the 'test/' script. This
provides additional arguments to the 'configure' script to build fwknop with a
maximal testing and code coverage stance. Once fwknop is compiled, then run:

# ./ --enable-complete

Note that in this mode the test suite will consume about close to 500MB of disk
space in the test/output/ directory. The main source of this data consumption
is the usage of the python SPA packet fuzzer 'test/'.
Something went wrong with that request. Please try again.