library testing infrastructure

This commit is contained in:
Alexey Fedoseev
2024-04-13 23:48:48 +03:00
parent 8303a2de9b
commit 1e19813fd2
5 changed files with 184 additions and 9 deletions

50
run-tests.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
DEBUG=1 make
DEBUG=1 make tests
if [ $? != 0 ]
then
echo "make test failed!"
exit 1
fi
echo
echo "tests ready!"
echo
for t in $(ls tests/*.test); do
num=$(echo $t | grep -Poe '\d+')
echo -n "$num $t... "
if [ -f "tests/$num-input.graphml" ]
then
$t > "$t.txt"
else
$t
fi
if [ $? != 0 ]
then
echo "test run failed!"
exit 2
fi
if [ -f "tests/$num-output.graphml" ]
then
diff "$t.graphml" "tests/$num-output.graphml" >/dev/null
if [ $? != 0 ]
then
echo "test failed: graphml file didn't match the pattern!"
exit 3
fi
fi
if [ -f "tests/$num-output.txt" ]
then
diff "$t.txt" "tests/$num-output.txt" >/dev/null
if [ $? != 0 ]
then
echo "test failed: output didn't match the pattern!"
exit 3
fi
fi
echo "ok"
done
exit 0