Tests in t7005 mask Git error codes and do not use our nice test helpers. Improve that, move some code into the setup test, and drop a few old-style blank lines while at it. Best-viewed-with: --ignore-all-space Signed-off-by: D. Ben Knoble <ben.knoble+github@xxxxxxxxx> --- t/t7005-editor.sh | 70 ++++++++++++++++------------------------------- 1 file changed, 23 insertions(+), 47 deletions(-) diff --git a/t/t7005-editor.sh b/t/t7005-editor.sh index 5fcf281dfb..791e2a0e74 100755 --- a/t/t7005-editor.sh +++ b/t/t7005-editor.sh @@ -7,62 +7,45 @@ unset EDITOR VISUAL GIT_EDITOR test_expect_success 'determine default editor' ' - vi=$(TERM=vt100 git var GIT_EDITOR) && test -n "$vi" - ' -if ! expr "$vi" : '[a-z]*$' >/dev/null -then - vi= -fi - -for i in GIT_EDITOR core_editor EDITOR VISUAL $vi -do - cat >e-$i.sh <<-EOF - #!$SHELL_PATH - echo "Edited by $i" >"\$1" - EOF - chmod +x e-$i.sh -done - -if ! test -z "$vi" -then - mv e-$vi.sh $vi -fi - test_expect_success setup ' + if ! expr "$vi" : "[a-z]*$" >/dev/null + then + vi= + fi && + + for i in GIT_EDITOR core_editor EDITOR VISUAL $vi + do + write_script e-$i.sh <<-EOF || return 1 + echo "Edited by $i" >"\$1" + EOF + done && + + if ! test -z "$vi" + then + mv e-$vi.sh $vi + fi && msg="Hand-edited" && test_commit "$msg" && - echo "$msg" >expect && - git show -s --format=%s > actual && - test_cmp expect actual - + test_commit_message HEAD -m "$msg" ' TERM=dumb export TERM test_expect_success 'dumb should error out when falling back on vi' ' - - if git commit --amend - then - echo "Oops?" - false - else - : happy - fi + test_must_fail git commit --amend ' test_expect_success 'dumb should prefer EDITOR to VISUAL' ' - EDITOR=./e-EDITOR.sh && VISUAL=./e-VISUAL.sh && export EDITOR VISUAL && git commit --amend && - test "$(git show -s --format=%s)" = "Edited by EDITOR" - + test_commit_message HEAD -m "Edited by EDITOR" ' TERM=vt100 @@ -83,9 +66,7 @@ esac test_expect_success "Using $i" ' git --exec-path=. commit --amend && - git show -s --pretty=oneline | - sed -e "s/^[0-9a-f]* //" >actual && - test_cmp expect actual + test_commit_message HEAD expect ' done @@ -105,9 +86,7 @@ esac test_expect_success "Using $i (override)" ' git --exec-path=. commit --amend && - git show -s --pretty=oneline | - sed -e "s/^[0-9a-f]* //" >actual && - test_cmp expect actual + test_commit_message HEAD expect ' done @@ -115,17 +94,14 @@ echo "echo space >\"\$1\"" >"e space.sh" && chmod a+x "e space.sh" && GIT_EDITOR="./e\ space.sh" git commit --amend && - test space = "$(git show -s --pretty=format:%s)" - + test_commit_message HEAD -m space ' unset GIT_EDITOR test_expect_success 'core.editor with a space' ' - git config core.editor \"./e\ space.sh\" && git commit --amend && - test space = "$(git show -s --pretty=format:%s)" - + test_commit_message HEAD -m space ' test_done -- 2.48.1