Merge branch 'js/git-gdb'

Allow easier debugging of a single "git" invocation in our test
scripts.

* js/git-gdb:
  test: facilitate debugging Git executables in tests with gdb
This commit is contained in:
Junio C Hamano 2015-11-03 15:13:05 -08:00
commit 4b571eb0c2
3 changed files with 20 additions and 1 deletions

View file

@ -563,6 +563,11 @@ library for your script to use.
argument. This is primarily meant for use during the
development of a new test script.
- debug <git-command>
Run a git command inside a debugger. This is primarily meant for
use when debugging a failing test script.
- test_done
Your test script must have test_done at the end. Its purpose

View file

@ -145,6 +145,14 @@ test_pause () {
fi
}
# Wrap git in gdb. Adding this to a command can make it easier to
# understand what is going on in a failing test.
#
# Example: "debug git checkout master".
debug () {
GIT_TEST_GDB=1 "$@"
}
# Call test_commit with the arguments "<message> [<file> [<contents> [<tag>]]]"
#
# This will commit a file with the given contents and the given commit

View file

@ -19,4 +19,10 @@ GIT_TEXTDOMAINDIR='@@BUILD_DIR@@/po/build/locale'
PATH='@@BUILD_DIR@@/bin-wrappers:'"$PATH"
export GIT_EXEC_PATH GITPERLLIB PATH GIT_TEXTDOMAINDIR
exec "${GIT_EXEC_PATH}/@@PROG@@" "$@"
if test -n "$GIT_TEST_GDB"
then
unset GIT_TEST_GDB
exec gdb --args "${GIT_EXEC_PATH}/@@PROG@@" "$@"
else
exec "${GIT_EXEC_PATH}/@@PROG@@" "$@"
fi