mirror of
https://github.com/ntop/n2n.git
synced 2024-09-20 00:51:10 +02:00
b735ad6b9e
* Add a simple test framework * Add a code coverage report example oneliner * Move the coverage report into a separate directory * Add a github action to run tests and publish a branch with the coverage report * Fix: Missing job separator * Fix: remember to actually run configure * Fix: Gotta autogen before I configure * Dont try to upload coverage report unless this is a push * Clearly show the git ref tested in the coverage report * Add a test for the various transforms * Add tests for the elliptic curve and pearson hash * Ensure we ignore new generated output * Remove unneeded boilerplate from the compression tests * Add an example of a test of the encoded wire packets * Ensure that correctly testable data is output even when zstd is not compiled * Factor test runner out into its own script and attempt to add it to the cmake file * Tell cmake about a new object file * Stop trying to make Cmake work... * Stop trying to make cmake work, round 2 * In the middle of a thousand lines of cmake output was one important one - windows could not find assert() - try again * Try again to plumb the tests into cmake * Add missing library to our superset install line * Fix build error when libcap-dev is installed * Switch to using artifact uploads instead of pages to store/show the coverage report * Fix artifact upload yaml * Upload coverage report to codecov * Fix codecov - clearly it doesnt do a recursive search for coverage files * Fix codecov - my hopeful use of a list of directories didnt work * Fix codecov - unfortunately, it doesnt just consume the coverage data and needs us to generate the gcov output * Fix codecov - nope, it still doesnt recursively search * Fix codecov - it really helps if I run the gcov data generator * Add a simple matrix build * Fix older ubuntu versions of gcovr that do not support the '--html-title' option * Ensure we use gcover options that are identical on older ubuntu * Improve coverage generation and required build packages
40 lines
811 B
Bash
Executable File
40 lines
811 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This expects to find the tests in the tools dir and the expected results
|
|
# in the tests dir.
|
|
|
|
TESTS="
|
|
tests-compress
|
|
tests-elliptic
|
|
tests-hashing
|
|
tests-transform
|
|
tests-wire
|
|
"
|
|
|
|
TOOLSDIR=tools
|
|
TESTDATA=tests
|
|
|
|
# Allow both dirs be overidden
|
|
[ -n "$1" ] && TOOLSDIR="$1"
|
|
[ -n "$2" ] && TESTDATA="$2"
|
|
|
|
# Confirm we have all the tools and data
|
|
for i in $TESTS; do
|
|
if [ ! -e $TOOLSDIR/$i ]; then
|
|
echo "Could not find test $TOOLSDIR/$i"
|
|
exit 1
|
|
fi
|
|
if [ ! -e $TESTDATA/$i.expected ]; then
|
|
echo "Could not find testdata $TESTDATA/$i.expected"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# Actually run the tests
|
|
set -e
|
|
for i in $TESTS; do
|
|
echo "$TOOLSDIR/$i >$TESTDATA/$i.out"
|
|
$TOOLSDIR/$i >$TESTDATA/$i.out
|
|
cmp $TESTDATA/$i.expected $TESTDATA/$i.out
|
|
done
|