Skip to content
Snippets Groups Projects
Commit 6a69eb8f authored by Daniel Salzman's avatar Daniel Salzman
Browse files

zscanner-test: improve test script

Change-Id: Ic122d9fb46c97946bb35fd83f4fae9e810257e5d
parent 46bcb8ca
No related merge requests found
......@@ -19,10 +19,10 @@ $INCLUDE \./includes/include2 _a_.-b-c-./d/. ; Slashed character in file name,
$INCLUDE ./includes/include2 \0320\ \\\"\.\@\*.tld. ; Origin with special chars
5. NS @
$INCLUDE @abs_builddir@/zscanner_tests/includes/include2 ; Absolute path without origin
$INCLUDE @abs_builddir@/includes/include2 ; Absolute path without origin
6. NS @
$INCLUDE @abs_builddir@/zscanner_tests/includes/include2 tld. ; Absolute path with origin
$INCLUDE @abs_builddir@/includes/include2 tld. ; Absolute path with origin
7. NS @
; KO
......
......@@ -2,4 +2,4 @@ $ORIGIN .
$TTL 1
; KO
$INCLUDE @abs_builddir@/zscanner_tests/ ; Given file is a directory
$INCLUDE @abs_builddir@/ ; Given file is a directory
#!/bin/sh
TESTS_DIR="@abs_srcdir@/cases"
OUTS_DIR="@abs_builddir@/zscanner_tests"
OUTS_DIR="@abs_builddir@/.out"
TEST_BIN="@builddir@/../zscanner-tool -m 2"
# Delete temporary output directory at exit.
trap "chmod -R u+rw ${OUTS_DIR} && rm -rf ${OUTS_DIR}" EXIT
# If an argument -> verbose mode (stores result in /tmp).
if [ $# -eq 0 ]; then
RESULT_DIR=`mktemp -d /tmp/zscanner_tests.XXXX`
echo "ZSCANNER TEST ${RESULT_DIR}"
RESULT_DIR=`mktemp -d /tmp/zscanner_test.XXXX`
echo "ZSCANNER TEST ${RESULT_DIR}"
fi
# Create output directory and copy include zone files.
mkdir -p "${OUTS_DIR}/cases"
cp -r "${TESTS_DIR}/includes" "${OUTS_DIR}"
# Create output directory.
mkdir -p "${OUTS_DIR}"
# Run zscanner on all test zone files.
for file in $( (find "${TESTS_DIR}" -name "*.in"; find "@builddir@/../zscanner/test/cases" -name "*.in") | sort -n); do
fileout="$(basename "${file}" .in).out"
for file in $(find "${TESTS_DIR}" -name "*.in" | sort -n); do
fileout="$(basename "${file}" .in).out"
# Run zscanner.
${TEST_BIN} . "${file}" > "${OUTS_DIR}/${fileout}"
# Run zscanner.
${TEST_BIN} . "${file}" > "${OUTS_DIR}/${fileout}"
# Compare result with a reference one.
cmp -s "${OUTS_DIR}/${fileout}" "${fileout}"
# Compare result with the reference one.
cmp -s "${OUTS_DIR}/${fileout}" "${TESTS_DIR}/${fileout}"
RET=$?
RET=$?
# Check for differences.
if [ $RET -ne 0 ]; then
# If verbose print diff.
if [ $# -eq 0 ]; then
echo "\n=== ${fileout} DIFF ======================"
diff "${OUTS_DIR}/${fileout}" "${fileout}"
# Check for differences.
if [ $RET -ne 0 ]; then
# If verbose print diff.
if [ $# -eq 0 ]; then
echo "\n=== ${fileout} DIFF ======================"
diff "${OUTS_DIR}/${fileout}" "${TESTS_DIR}/${fileout}"
fi
fi
fi
done
# Store test result.
if [ $# -eq 0 ]; then
mv "${OUTS_DIR}" "${RESULT_DIR}"
echo "\nFINISHED ${RESULT_DIR}"
cp -a "${OUTS_DIR}/." "${RESULT_DIR}/"
echo "\nFINISHED ${RESULT_DIR}"
fi
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment