diff options
author | David Sterba <dsterba@suse.com> | 2015-10-26 15:03:37 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2015-11-02 09:35:07 +0100 |
commit | 1c4aefc2b80df30fde528fb47d34f72dade18fc2 (patch) | |
tree | f8620b933348365e04b37b06c0508ae9bcab5bf6 /tests/common | |
parent | dfed5799dbc3f77c16da8f435b6cbabf1cb9b0c2 (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/common | 18 |
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() |