[PATCH v3 0/3] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug'
- From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Sep 1, 2021, 13:31 UTC
- Message-ID
- <pull.1022.v3.git.1630503102.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1022.v2.git.1630111653.gitgitgadget@gmail.com>
Changes since v2:
* Added '-a' flag as suggested by Elijah, equivalent to '-t -s -h' for 'test_pause' and to '-t -h' for 'debug'
v2:
* added 1/3 as a preliminary step to use TEST_SHELL_PATH in test_pause instead of SHELL_PATH, as suggested by Carlo * implemented the change in behaviour through optional flags in both test_pause and debug. This seemed to be the simplest way to keep the current behaviour but also provide a way to improve the UX.
v1: This series proposes two small quality-of-life improvements (in my opinion) to the 'test_pause' and 'debug' test functions: using the original values of HOME and TERM (before they are changed by the test framework) and using SHELL instead of SHELL_PATH.
The later might be too big of a change, but I think it makes sense. We could add a new GIT_TEST_* to conditionnaly change the behaviour, but I kept it simple for v1.
Cheers, Philippe.
Philippe Blain (3):
test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
test-lib-functions: optionally keep HOME, TERM and SHELL in
'test_pause'
test-lib-functions: optionally keep HOME and TERM in 'debug't/test-lib-functions.sh | 104 ++++++++++++++++++++++++++++++++++------ t/test-lib.sh | 6 ++- 2 files changed, 93 insertions(+), 17 deletions(-)
base-commit: 225bc32a989d7a22fa6addafd4ce7dcd04675dbf Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1022%2Fphil-blain%2Ftest-pause-and-debug-easier-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1022/phil-blain/test-pause-and-debug-easier-v3 Pull-Request: https://github.com/gitgitgadget/git/pull/1022
Range-diff vs v2:
1: 2f566f330e0 = 1: 2f566f330e0 test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
2: 00211457ece ! 2: 328b5d6e76f test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'
@@ t/test-lib-functions.sh: test_tick () {
+# This allows you to use your regular shell environment and Git aliases.
+# WARNING: this can break test reproducibility.
+# CAUTION: this can overwrite files in your HOME.
++# -a
++# Shortcut for -t -s -h
test_pause () {
- "$TEST_SHELL_PATH" <&6 >&5 2>&7
@@ t/test-lib-functions.sh: test_tick () {
+ -h)
+ PAUSE_HOME="$USER_HOME"
+ ;;
++ -a)
++ PAUSE_TERM="$USER_TERM"
++ PAUSE_SHELL="$SHELL"
++ PAUSE_HOME="$USER_HOME"
++ ;;
+ *)
+ break
+ ;;
3: 1fac9baec1d ! 3: 4e43bd086b5 test-lib-functions: optionally keep HOME and TERM in 'debug'
@@ t/test-lib-functions.sh: test_pause () {
+# This allows your debugger to find its config file in your home.
+# WARNING: this can break test reproducibility.
+# CAUTION: this can overwrite files in your HOME.
++# -a
++# Shortcut for -t -h
+#
# Examples:
# debug git checkout master
@@ t/test-lib-functions.sh: test_pause () {
+ -h)
+ DEBUG_HOME="$USER_HOME"
+ ;;
++ -a)
++ DEBUG_TERM="$USER_TERM"
++ DEBUG_HOME="$USER_HOME"
++ ;;
+ -d)
+ GIT_DEBUGGER="$2" &&
+ shift-- gitgitgadget