malmond / rpms / unbound

Forked from rpms/unbound 3 years ago
Clone
Blob Blame History Raw
diff --git a/testcode/do-tests.sh b/testcode/do-tests.sh
index 84d2ef5..b44dd77 100755
--- a/testcode/do-tests.sh
+++ b/testcode/do-tests.sh
@@ -1,6 +1,10 @@
 #!/usr/bin/env bash
 . testdata/common.sh
 
+# make sure that the binaries used during tests can find the libraries compiled with them
+LD_LIBRARY_PATH_BAK="$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$(pwd)/.libs"
+
 NEED_SPLINT='00-lint.tpkg'
 NEED_DOXYGEN='01-doc.tpkg'
 NEED_XXD='fwd_compress_c00c.tpkg fwd_zero.tpkg'
@@ -10,6 +14,23 @@ NEED_WHOAMI='07-confroot.tpkg'
 NEED_IPV6='fwd_ancil.tpkg fwd_tcp_tc6.tpkg stub_udp6.tpkg edns_cache.tpkg'
 NEED_NOMINGW='tcp_sigpipe.tpkg 07-confroot.tpkg 08-host-lib.tpkg fwd_ancil.tpkg'
 
+# 01-doc - checks for errors and warnings and there are warnings due to obsolted keywords
+# in the doxygen documentation. Not a big deal, therefore skipping this.
+#
+# 06-ianaports - This checks if the bundled copy is up to date, which is obviously not
+# as the version we are shipping is old version
+#
+# root_anchor - This fails because the pem file has been updated and re are shipping an
+# old copy of it.
+#
+# root_hints - This fails because addresses of root servers changed and we are shipping
+# an old copy of it. This is not an issue as all servers usually do priming on startup
+#
+# fwd_compress_c00c - The test fails because the HEX output contains one more zero on each
+# line at the beginning of the address from which the data is dumped. Nevertheless the data
+# are correct and match.
+ALWAYS_SKIP='01-doc.tpkg 06-ianaports.tpkg root_anchor.tpkg root_hints.tpkg fwd_compress_c00c.tpkg'
+
 # test if dig and ldns-testns are available.
 test_tool_avail "dig"
 test_tool_avail "ldns-testns"
@@ -50,6 +71,11 @@ for test in `ls *.tpkg`; do
 			SKIP=1;
 		fi
 	fi
+
+	if echo $ALWAYS_SKIP | grep $test >/dev/null; then
+		SKIP=1;
+	fi
+
 	if test $SKIP -eq 0; then
 		echo $test
 		sh ../testcode/mini_tpkg.sh -a ../.. exe $test
@@ -57,5 +83,21 @@ for test in `ls *.tpkg`; do
 		echo "skip $test"
 	fi
 done
-sh ../testcode/mini_tpkg.sh report
+sh ../testcode/mini_tpkg.sh report > .report.txt
+cat .report.txt
+
+# Make sure the test suite fails when some test failed
+if cat .report.txt | grep "FAILED" >/dev/null; then
+	echo "Some tests FAILED!!!"
+	RESULTS=1
+else
+	echo "All tests PASSED"
+	RESULTS=0
+fi
+rm -f .report.txt
 cat .perfstats.txt
+
+# restore LD_LIBRARY_PATH
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
+
+exit $RESULTS