From 7a72b4a94c79a68a507fdead652d6b72ebbe0d85 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Fri, 30 Aug 2019 00:14:43 -0500 Subject: [PATCH] run_tests.sh: generate SMOKEDATA file automatically To make the script easier to use, don't make the user provide an external file. --- tools/run_tests.sh | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/tools/run_tests.sh b/tools/run_tests.sh index 4a74346..6f8132c 100755 --- a/tools/run_tests.sh +++ b/tools/run_tests.sh @@ -33,12 +33,25 @@ if [ $# -gt 0 ]; then set_test_groups "$@" fi -SMOKEDATA="${SMOKEDATA:=$HOME/data/smokedata}" -if [ ! -e "$SMOKEDATA" ]; then - echo "SMOKEDATA (value: $SMOKEDATA) does not exist. Set the" \ - "environmental variable SMOKEDATA to a file to use in" \ - "compression/decompression tests." 1>&2 - exit 1 + +TMPFILE="$(mktemp)" +USING_TMP_SMOKEDATA=false + +cleanup() { + rm "$TMPFILE" + if $USING_TMP_SMOKEDATA; then + rm "$SMOKEDATA" + fi +} + +trap cleanup EXIT + +if [ -z "${SMOKEDATA:-}" ]; then + # Generate default SMOKEDATA file. + SMOKEDATA=$(mktemp -t smokedata.XXXXXXXXXX) + USING_TMP_SMOKEDATA=true + cat $(find . -name '*.c' -o -name '*.h' -o -name '*.sh') \ + | head -c 1000000 > "$SMOKEDATA" fi NDKDIR="${NDKDIR:=/opt/android-ndk}" @@ -49,9 +62,6 @@ NPROC=$(grep -c processor /proc/cpuinfo) VALGRIND="valgrind --quiet --error-exitcode=100 --leak-check=full --errors-for-leak-kinds=all" SANITIZE_CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer" -TMPFILE="$(mktemp)" -trap "rm -f \"$TMPFILE\"" EXIT - ############################################################################### rm -f run_tests.log