X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=comprehensive-test;h=cf01c7b0d736931a5aeaa6b08f28e2896cc23f4b;hb=503cd8a1792a51fea0cb1d474e646cb6978633ff;hp=12d63d6972ec467317de7bba67ab02ec002002d9;hpb=55b32c21451698763ebf9fa4a6e5ad035523f114;p=secnet.git diff --git a/comprehensive-test b/comprehensive-test index 12d63d6..cf01c7b 100755 --- a/comprehensive-test +++ b/comprehensive-test @@ -15,6 +15,19 @@ for arg in "$@"; do esac done +case "${OLD_SECNET_DIR:?must be set, perhaps to the empty string}" in + ''|/*) + ;; + ../*) + OLD_SECNET_DIR="${PWD%/*}/${OLD_SECNET_DIR#../}" + echo >&2 "x OLD_SECNET_DIR=$OLD_SECNET_DIR" + ;; + *) + echo >&2 "relative non-.. OLD_SECNET_DIR $OLD_SECNET_DIR !"; + exit 1 + ;; +esac + x () { echo >&2 "x $*"; "$@"; } srcdir=$(pwd) @@ -30,6 +43,29 @@ build_and_test () { x cd "$1" x "$srcdir/configure" CFLAGS='-O0 -g' x make $mflags all check + for t in mtest/check stest/check; do + x make $mflags clean + x make $mflags $t + done + x make $mflags clean + if [ "x$1" != x. ]; then + find -type f + else + git-ls-files -o + fi | perl -ne ' + s{^\./}{}; + s{^}{/}; + next if m{^/ct-files$}; + next if m{^/autom4te\.cache/}; + next if m{/Makefile$}; + next if m{\.mk$}; + next if m{^/common\.make$}; + next if m{^/(?:config|\.makefiles)\.stamp$}; + next if m{^/config\.(?:log|status|h)$}; + warn "clean in '"$1"' missed $_"; + $bad=1; + END { exit $bad; } + ' cd "$srcdir" }