summaryrefslogtreecommitdiff
path: root/tests/common
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2015-10-26 15:03:37 +0100
committerDavid Sterba <dsterba@suse.com>2015-11-02 09:35:07 +0100
commit1c4aefc2b80df30fde528fb47d34f72dade18fc2 (patch)
treef8620b933348365e04b37b06c0508ae9bcab5bf6 /tests/common
parentdfed5799dbc3f77c16da8f435b6cbabf1cb9b0c2 (diff)
btrfs-progs: tests: add support for command instrumentation
Add a way to wrap commands executed by the tests. This means the common wrappers: run_check, run_check_stdout and run_mayfail , with the exception of the use root_helper. The contents of the shell variable INSTRUMENT are prepended to the command, without quotes. Use with care. Example: this has been tested with valgrind, the output goes to the RESULTS file. $ INSTRUMENT=valgrind make test-misc Any use of root_helper/SUDO_HELPER will skip the instrumentation. Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tests/common')
-rw-r--r--tests/common18
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/common b/tests/common
index 4542fa89..ea9a569b 100644
--- a/tests/common
+++ b/tests/common
@@ -25,7 +25,11 @@ run_check()
{
echo "############### $@" >> $RESULTS 2>&1
if [ "$TEST_LOG" = 'tty' ]; then echo "CMD: $@" > /dev/tty; fi
- "$@" >> $RESULTS 2>&1 || _fail "failed: $@"
+ if [ "$1" = 'root_helper' ]; then
+ "$@" >> $RESULTS 2>&1 || _fail "failed: $@"
+ else
+ $INSTRUMENT "$@" >> $RESULTS 2>&1 || _fail "failed: $@"
+ fi
}
# same as run_check but the stderr+stdout output is duplicated on stdout and
@@ -34,7 +38,11 @@ run_check_stdout()
{
echo "############### $@" >> $RESULTS 2>&1
if [ "$TEST_LOG" = 'tty' ]; then echo "CMD(stdout): $@" > /dev/tty; fi
- "$@" 2>&1 | tee -a $RESULTS || _fail "failed: $@"
+ if [ "$1" = 'root_helper' ]; then
+ "$@" 2>&1 | tee -a $RESULTS || _fail "failed: $@"
+ else
+ $INSTRUMENT "$@" 2>&1 | tee -a $RESULTS || _fail "failed: $@"
+ fi
}
# same as run_check but does not fail the test, output is logged
@@ -42,7 +50,11 @@ run_mayfail()
{
echo "############### $@" >> $RESULTS 2>&1
if [ "$TEST_LOG" = 'tty' ]; then echo "CMD(mayfail): $@" > /dev/tty; fi
- "$@" >> $RESULTS 2>&1 || _log "failed (ignored): $@"
+ if [ "$1" = 'root_helper' ]; then
+ "$@" >> $RESULTS 2>&1 || _log "failed (ignored): $@"
+ else
+ $INSTRUMENT "$@" >> $RESULTS 2>&1 || _log "failed (ignored): $@"
+ fi
}
check_prereq()