From b85c7b76949017234ccc6ceafe503cc50917ebd2 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Mon, 26 Oct 2015 14:35:34 +0100 Subject: [PATCH] btrfs-progs: tests: add test driver for fuzzed images Signed-off-by: David Sterba --- Makefile.in | 6 +++++- tests/fuzz-tests.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 tests/fuzz-tests.sh diff --git a/Makefile.in b/Makefile.in index cc6ed59..8e24808 100644 --- a/Makefile.in +++ b/Makefile.in @@ -205,11 +205,15 @@ test-mkfs: btrfs mkfs.btrfs @echo " [TEST] mkfs-tests.sh" $(Q)bash tests/mkfs-tests.sh +test-fuzz: btrfs + @echo " [TEST] fuzz-tests.sh" + $(Q)bash tests/fuzz-tests.sh + test-clean: @echo "Cleaning tests" $(Q)bash tests/clean-tests.sh -test: test-fsck test-mkfs test-convert test-misc +test: test-fsck test-mkfs test-convert test-misc test-fuzz # # NOTE: For static compiles, you need to have all the required libs diff --git a/tests/fuzz-tests.sh b/tests/fuzz-tests.sh new file mode 100755 index 0000000..0e59832 --- /dev/null +++ b/tests/fuzz-tests.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# +# misc tests on fuzzed or crafted images + +unset TOP +unset LANG +LANG=C +SCRIPT_DIR=$(dirname $(readlink -f $0)) +TOP=$(readlink -f $SCRIPT_DIR/../) +TEST_DEV=${TEST_DEV:-} +RESULTS="$TOP/tests/fuzz-tests-results.txt" +IMAGE="$TOP/tests/test.img" + +source $TOP/tests/common + +export TOP +export RESULTS +export LANG +export IMAGE + +rm -f $RESULTS + +check_prereq btrfs + +# The tests are driven by their custom script called 'test.sh' + +for i in $(find $TOP/tests/fuzz-tests -maxdepth 1 -mindepth 1 -type d \ + ${TEST:+-name "$TEST"} | sort) +do + name=$(basename $i) + cd $i + if [ -x test.sh ]; then + echo "=== Entering $i" >> $RESULTS + echo " [TEST] $name" + ./test.sh + if [ $? -ne 0 ]; then + _fail "test failed for case $(basename $i)" + fi + fi + cd $TOP +done -- 2.7.4