Michael Rash 50434c5c4c Use the fwknop User-Agent for wget SSL external IP resolutions
Bug fix to ensure that a User-Agent string can be specified when the
fwknop client uses wget via SSL to resolve the external IP address. This
closes issue #134 on github reported by Barry Allard. The fwknop now
uses the wget '-U' option to specify the User-Agent string with a
default of "Fwknop/<version>". In addition, a new command line argument
"--use-wget-user-agent" to allow the default wget User-Agent string to
apply instead.
2014-09-27 23:23:12 -04:00
..
2011-12-05 22:20:39 -05:00

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:

# ./run-test-suite.sh --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:

# ./run-test-suite.sh --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:

http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html#3.5

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: http://blitiri.com.ar/p/libfiu/),
and then compile fwknop with the 'test/configure_max_coverage.sh' 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:

# ./run-test-suite.sh --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/spa_fuzzing.py'.