t7005: use modern test style

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@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
D. Ben Knoble 2025-08-13 13:50:03 -04:00 committed by Junio C Hamano
parent 8d2709d075
commit 83d64df8d5

View File

@ -7,62 +7,45 @@ test_description='GIT_EDITOR, core.editor, and stuff'
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 @@ do
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 @@ do
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 @@ test_expect_success 'editor with a space' '
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