run_tests.sh: generate SMOKEDATA file automatically

To make the script easier to use, don't make the user provide an
external file.
This commit is contained in:
Eric Biggers 2019-08-30 00:14:43 -05:00
parent 9dcdcd0085
commit 7a72b4a94c

View File

@ -33,12 +33,25 @@ if [ $# -gt 0 ]; then
set_test_groups "$@" set_test_groups "$@"
fi fi
SMOKEDATA="${SMOKEDATA:=$HOME/data/smokedata}"
if [ ! -e "$SMOKEDATA" ]; then TMPFILE="$(mktemp)"
echo "SMOKEDATA (value: $SMOKEDATA) does not exist. Set the" \ USING_TMP_SMOKEDATA=false
"environmental variable SMOKEDATA to a file to use in" \
"compression/decompression tests." 1>&2 cleanup() {
exit 1 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 fi
NDKDIR="${NDKDIR:=/opt/android-ndk}" 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" VALGRIND="valgrind --quiet --error-exitcode=100 --leak-check=full --errors-for-leak-kinds=all"
SANITIZE_CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer" SANITIZE_CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer"
TMPFILE="$(mktemp)"
trap "rm -f \"$TMPFILE\"" EXIT
############################################################################### ###############################################################################
rm -f run_tests.log rm -f run_tests.log