tests: eliminate unnecessary setup test assertions

Most of git's tests write files and define shell functions and
variables that will last throughout a test script at the top of
the script, before all test assertions:

	. ./test-lib.sh

	VAR='some value'
	export VAR

	>empty

	fn () {
		do something
	}

	test_expect_success 'setup' '
		... nontrivial commands go here ...
	'

Two scripts use a different style with this kind of trivial code
enclosed by a test assertion; fix them.  The usual style is easier to
read since there is less indentation to keep track of and no need to
worry about nested quotes; and on the other hand, because the commands
in question are trivial, it should not make the test suite any worse
at catching future bugs in git.

While at it, make some other small tweaks:

 - spell function definitions with a space before () for consistency
   with other scripts;

 - use the self-contained command "git mktree </dev/null" in
   preference to "git write-tree" which looks at the index when
   writing an empty tree.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jonathan Nieder 2011-05-06 15:58:52 -05:00 committed by Junio C Hamano
parent ec014eac0e
commit 73151df0cf
2 changed files with 97 additions and 99 deletions

View File

@ -8,17 +8,14 @@ test_description='Merge base and parent list computation.
. ./test-lib.sh
test_expect_success 'setup' '
T=$(git write-tree) &&
M=1130000000
Z=+0000
M=1130000000 &&
Z=+0000 &&
GIT_COMMITTER_EMAIL=git@comm.iter.xz &&
GIT_COMMITTER_NAME="C O Mmiter" &&
GIT_AUTHOR_NAME="A U Thor" &&
GIT_AUTHOR_EMAIL=git@au.thor.xz &&
export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL &&
GIT_COMMITTER_EMAIL=git@comm.iter.xz
GIT_COMMITTER_NAME='C O Mmiter'
GIT_AUTHOR_NAME='A U Thor'
GIT_AUTHOR_EMAIL=git@au.thor.xz
export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
doit () {
OFFSET=$1 &&
@ -40,6 +37,9 @@ test_expect_success 'setup' '
echo $commit >.git/refs/tags/$NAME &&
echo $commit
}
test_expect_success 'setup' '
T=$(git mktree </dev/null)
'
test_expect_success 'set up G and H' '

View File

@ -28,18 +28,17 @@ Testing basic merge operations/option parsing.
. ./test-lib.sh
test_expect_success 'set up test data and helpers' '
printf "%s\n" 1 2 3 4 5 6 7 8 9 >file &&
printf "%s\n" "1 X" 2 3 4 5 6 7 8 9 >file.1 &&
printf "%s\n" 1 2 3 4 "5 X" 6 7 8 9 >file.5 &&
printf "%s\n" 1 2 3 4 5 6 7 8 "9 X" >file.9 &&
printf "%s\n" "1 X" 2 3 4 5 6 7 8 9 >result.1 &&
printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 9 >result.1-5 &&
printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 "9 X" >result.1-5-9 &&
printf '%s\n' 1 2 3 4 5 6 7 8 9 >file
printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >file.1
printf '%s\n' 1 2 3 4 '5 X' 6 7 8 9 >file.5
printf '%s\n' 1 2 3 4 5 6 7 8 '9 X' >file.9
printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >result.1
printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 9 >result.1-5
printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9
create_merge_msgs () {
echo "Merge commit '\''c2'\''" >msg.1-5 &&
echo "Merge commit '\''c2'\''; commit '\''c3'\''" >msg.1-5-9 &&
echo "Merge commit 'c2'" >msg.1-5 &&
echo "Merge commit 'c2'; commit 'c3'" >msg.1-5-9 &&
{
echo "Squashed commit of the following:" &&
echo &&
@ -57,11 +56,11 @@ test_expect_success 'set up test data and helpers' '
} >squash.1-5-9 &&
echo >msg.nolog &&
{
echo "* commit '\''c3'\'':" &&
echo "* commit 'c3':" &&
echo " commit 3" &&
echo
} >msg.log
} &&
}
verify_merge () {
test_cmp "$2" "$1" &&
@ -72,16 +71,16 @@ test_expect_success 'set up test data and helpers' '
git show -s --pretty=format:%s HEAD >msg.act &&
test_cmp "$3" msg.act
fi
} &&
}
verify_head () {
echo "$1" >head.expected &&
git rev-parse HEAD >head.actual &&
test_cmp head.expected head.actual
} &&
}
verify_parents () {
printf "%s\n" "$@" >parents.expected &&
printf '%s\n' "$@" >parents.expected &&
>parents.actual &&
i=1 &&
while test $i -le $#
@ -91,17 +90,16 @@ test_expect_success 'set up test data and helpers' '
return 1
done &&
test_cmp parents.expected parents.actual
} &&
}
verify_mergeheads () {
printf "%s\n" "$@" >mergehead.expected &&
printf '%s\n' "$@" >mergehead.expected &&
test_cmp mergehead.expected .git/MERGE_HEAD
} &&
}
verify_no_mergehead () {
! test -e .git/MERGE_HEAD
}
'
test_expect_success 'setup' '
git add file &&