diff options
author | Brian Behlendorf <[email protected]> | 2017-04-12 13:36:48 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2017-04-12 13:36:48 -0700 |
commit | 00481e7dad1d5608ae244eb053517e2c36d9a6de (patch) | |
tree | b3491e29349bcfa219906a11385a71d3168d9bd6 /tests/test-runner/include | |
parent | 120ff39a75ad52efc359308a5e128a58998dd2f3 (diff) |
OpenZFS 7503 - zfs-test should tail ::zfs_dbgmsg on test failure
Authored by: Pavel Zakharov <[email protected]>
Reviewed by: John Kennedy <[email protected]>
Reviewed by: Matt Ahrens <[email protected]>
Approved by: Gordon Ross <[email protected]>
Reviewed-by: Giuseppe Di Natale <[email protected]>
Reviewed-by: George Melikov <[email protected]>
Ported-by: Brian Behlendorf <[email protected]>
Porting Notes:
- Enable internal log for DEBUG builds and in zfs-tests.sh.
- callbacks/zfs_dbgmsg.ksh - Dump interal log via kstat.
- callbacks/zfs_dmesg.ksh - Dump dmesg log.
- default.cfg - 'Test Suite Specific Commands' dropped.
OpenZFS-issue: https://www.illumos.org/issues/7503
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/55a1300
Closes #6002
Diffstat (limited to 'tests/test-runner/include')
-rw-r--r-- | tests/test-runner/include/logapi.shlib | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/test-runner/include/logapi.shlib b/tests/test-runner/include/logapi.shlib index 10aaaf30e..d9f276e0e 100644 --- a/tests/test-runner/include/logapi.shlib +++ b/tests/test-runner/include/logapi.shlib @@ -24,7 +24,7 @@ # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2016 by Delphix. All rights reserved. # . ${STF_TOOLS}/include/stf.shlib @@ -392,6 +392,22 @@ function log_other # Internal functions # +# Execute custom callback scripts on test failure +# +# callback script paths are stored in TESTFAIL_CALLBACKS, delimited by ':'. + +function _execute_testfail_callbacks +{ + typeset callback + + print "$TESTFAIL_CALLBACKS:" | while read -d ":" callback; do + if [[ -n "$callback" ]] ; then + log_note "Performing test-fail callback ($callback)" + $callback + fi + done +} + # Perform cleanup and exit # # $1 - stf exit code @@ -402,6 +418,10 @@ function _endlog typeset logfile="/tmp/log.$$" _recursive_output $logfile + if [[ $1 == $STF_FAIL ]] ; then + _execute_testfail_callbacks + fi + if [[ -n $_CLEANUP ]] ; then typeset cleanup=$_CLEANUP log_onexit "" |