X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/3e022c8a41837e0894d017c4912b77e4b1792744..refs/heads/origin:/t/test-lib.sh diff --git a/t/test-lib.sh b/t/test-lib.sh index 95e322e..c1fb1b3 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -14,8 +14,8 @@ PAGER=cat TZ=UTC TERM=dumb export LANG LC_ALL PAGER TERM TZ -EDITOR=: -VISUAL=: +unset EDITOR +unset VISUAL unset GIT_EDITOR unset AUTHOR_DATE unset AUTHOR_EMAIL @@ -42,7 +42,6 @@ GIT_MERGE_VERBOSITY=5 export GIT_MERGE_VERBOSITY export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME -export EDITOR VISUAL GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u} # Protect ourselves from common misconfiguration to export @@ -285,6 +284,30 @@ test_expect_code () { echo >&3 "" } +# When running an StGit command that should exit with an error, use +# these instead of testing for any non-zero exit code with !. +exit_code () { + expected=$1 + shift + "$@" + test $? -eq $expected +} +general_error () { exit_code 1 "$@" ; } +command_error () { exit_code 2 "$@" ; } +conflict () { exit_code 3 "$@" ; } + +# Old-infrastructure commands don't exit with the proper value on +# conflicts. But we don't want half the tests to fail because of that, +# so use this instead of "conflict" for them. +conflict_old () { command_error "$@" ; } + +# Same thing, but for other commands that StGit where we just want to +# make sure that they fail instead of crashing. +must_fail () { + "$@" + test $? -gt 0 -a $? -le 129 +} + # test_cmp is a helper function to compare actual and expected output. # You can use it like: #