test-lib functions: add --author support to test_commit

Add support for --author to "test_commit". This will simplify some
current and future tests, one of those is being changed here.

Let's also line-wrap the "git commit" command invocation to make diffs
that add subsequent options easier to add, as they'll only need to add
a new option line.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2021-01-12 21:17:58 +01:00 committed by Junio C Hamano
parent 76b8b8d05c
commit 999cfc4f45
2 changed files with 12 additions and 6 deletions

View file

@ -18,11 +18,8 @@ message_body () {
}
test_expect_success '-C option copies authorship and message' '
echo "Initial" >foo &&
git add foo &&
test_tick &&
git commit -m "Initial Commit" --author Frigate\ \<flying@over.world\> &&
git tag Initial &&
test_commit --author Frigate\ \<flying@over.world\> \
"Initial Commit" foo Initial Initial &&
echo "Test 1" >>foo &&
test_tick &&
git commit -a -C Initial &&

View file

@ -185,6 +185,8 @@ debug () {
# Do not call test_tick before making a commit
# --signoff
# Invoke "git commit" with --signoff
# --author=<author>
# Invoke "git commit" with --author=<author>
#
# This will commit a file with the given contents and the given commit
# message, and tag the resulting commit with the given tag name.
@ -193,6 +195,7 @@ debug () {
test_commit () {
notick= &&
author= &&
signoff= &&
indir= &&
while test $# != 0
@ -201,6 +204,10 @@ test_commit () {
--notick)
notick=yes
;;
--author)
author="$2"
shift
;;
--signoff)
signoff="$1"
;;
@ -222,7 +229,9 @@ test_commit () {
then
test_tick
fi &&
git ${indir:+ -C "$indir"} commit $signoff -m "$1" &&
git ${indir:+ -C "$indir"} commit \
${author:+ --author "$author"} \
$signoff -m "$1" &&
git ${indir:+ -C "$indir"} tag "${4:-$1}"
}