mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-09-12 21:07:43 +02:00
- For PR #93: unit test for dynlib module.
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
# #-- dynlibmod.test --#
|
||||
# source the master var file when it's there
|
||||
[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
|
||||
# use .tpkg.var.test for in test variable passing
|
||||
[ -f .tpkg.var.test ] && source .tpkg.var.test
|
||||
|
||||
. ../common.sh
|
||||
PRE="../.."
|
||||
if grep "define WITH_DYNLIBMODULE 1" $PRE/config.h; then echo test enabled; else echo test skipped; exit 0; fi
|
||||
|
||||
# compile the dynamic library module
|
||||
if grep "define USE_WINSOCK 1" $PRE/config.h; then
|
||||
echo "compile dynamic library dll for mingw"
|
||||
echo "x86_64-w64-mingw32-gcc -m64 -I$PRE -shared -Wall -fpic -o helloworld.dll $PRE/dynlibmod/examples/helloworld.c -L../.. -l:libunbound.a"
|
||||
x86_64-w64-mingw32-gcc -m64 -I$PRE -shared -Wall -fpic -o helloworld.dll $PRE/dynlibmod/examples/helloworld.c -L../.. -l:libunbound.a
|
||||
if test $? != 0; then
|
||||
echo "compile failure"
|
||||
exit 1;
|
||||
fi
|
||||
else
|
||||
echo "compile dynamic library"
|
||||
echo "gcc -I$PRE -shared -Wall -fpic -o helloworld.so $PRE/dynlibmod/examples/helloworld.c"
|
||||
gcc -I$PRE -shared -Wall -fpic -o helloworld.so $PRE/dynlibmod/examples/helloworld.c
|
||||
if test $? != 0; then
|
||||
echo "compile failure"
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
# start unbound in the background
|
||||
LD_LIBRARY_PATH="." $PRE/unbound -d -c ub.conf >unbound.log 2>&1 &
|
||||
UNBOUND_PID=$!
|
||||
echo "UNBOUND_PID=$UNBOUND_PID" >> .tpkg.var.test
|
||||
wait_unbound_up unbound.log
|
||||
|
||||
# test if the server is up.
|
||||
echo "> dig www.example.com."
|
||||
dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
|
||||
echo "> check answer"
|
||||
if grep "10.20.30.40" outfile; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "> cat logfiles"
|
||||
cat fwd.log
|
||||
cat unbound.log
|
||||
echo "Not OK"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "> check log for dynlibmod info"
|
||||
# wait for a moment for filesystem to catch up.
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 1; fi
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 1; fi
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 1; fi
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 1; fi
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 1; fi
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 1; fi
|
||||
if grep "hello world from operate" unbound.log >/dev/null; then :; else sleep 10; fi
|
||||
if grep "hello world from operate" unbound.log; then echo "yes it is in unbound.log";
|
||||
else
|
||||
echo "information not in unbound.log"
|
||||
echo "failed"
|
||||
echo "> cat logfiles"
|
||||
cat fwd.log
|
||||
cat unbound.log
|
||||
echo "Not OK"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "> cat logfiles"
|
||||
cat fwd.log
|
||||
cat unbound.log
|
||||
echo "> OK"
|
||||
exit 0
|
||||
Reference in New Issue
Block a user