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 5439f0f..1e9a424 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.tdir'
 NEED_DOXYGEN='01-doc.tdir'
 NEED_XXD='fwd_compress_c00c.tdir fwd_zero.tdir'
@@ -11,6 +15,20 @@ NEED_IPV6='fwd_ancil.tdir fwd_tcp_tc6.tdir stub_udp6.tdir edns_cache.tdir'
 NEED_NOMINGW='tcp_sigpipe.tdir 07-confroot.tdir 08-host-lib.tdir fwd_ancil.tdir'
 NEED_DNSCRYPT_PROXY='dnscrypt_queries.tdir dnscrypt_queries_chacha.tdir'
 
+# 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
+#
+ALWAYS_SKIP='01-doc.tdir 06-ianaports.tdir root_anchor.tdir root_hints.tdir'
+
 # test if dig and ldns-testns are available.
 test_tool_avail "dig"
 test_tool_avail "ldns-testns"
@@ -52,6 +70,11 @@ for test in `ls -d *.tdir`; 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_tdir.sh -a ../.. exe $test
@@ -59,5 +82,21 @@ for test in `ls -d *.tdir`; do
 		echo "skip $test"
 	fi
 done
-sh ../testcode/mini_tdir.sh report
+sh ../testcode/mini_tdir.sh report > .report.txt
+cat .report.txt
+
+# Make sure the test suite fails when some test failed
+if grep "FAILED" .report.txt >/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