t4013: prepare for upcoming "diff --raw --abbrev" output format change

Most of the t4013 tests go through a list of sample command lines,
and each of them is executed and its output compared with an
expected one stored in t4013/ directory.  Allow these lines to begin
with a colon followed by magic word(s) so that test conditions can
easily be tweaked.

The expected use that will happen in later steps of this is to run
tests expecting the traditional output and run the same test without
the GIT_PRINT_SHA1_ELLIPSIS=yes environment exported for (perhaps
some of) them, which will have to expect different output.  Since
all of the existing tests are meant to run with the environment,
use the magic word "noellipses" to cause the variable not to be set
and exported.

As this step does not add any new test with the magic word, all
tests still run with the environment variable, expecting the
traditional output, but it will change soon.

Based-on-patch-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Ann T Ropea <bedhanger@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ann T Ropea 2017-12-03 22:27:41 +01:00 committed by Junio C Hamano
parent ca69d4d5b1
commit b4c02c3008

View File

@ -118,20 +118,37 @@ test_expect_success setup '
EOF
V=$(git version | sed -e 's/^git version //' -e 's/\./\\./g')
while read cmd
while read magic cmd
do
case "$cmd" in
'' | '#'*) continue ;;
case "$magic" in
'' | '#'*)
continue ;;
:*)
magic=${magic#:}
label="$magic-$cmd"
case "$magic" in
noellipses) ;;
*)
die "bug in t4103: unknown magic $magic" ;;
esac ;;
*)
cmd="$magic $cmd" magic=
label="$cmd" ;;
esac
test=$(echo "$cmd" | sed -e 's|[/ ][/ ]*|_|g')
test=$(echo "$label" | sed -e 's|[/ ][/ ]*|_|g')
pfx=$(printf "%04d" $test_count)
expect="$TEST_DIRECTORY/t4013/diff.$test"
actual="$pfx-diff.$test"
test_expect_success "git $cmd" '
{
echo "\$ git $cmd"
GIT_PRINT_SHA1_ELLIPSIS="yes" git $cmd |
echo "$ git $cmd"
case "$magic" in
"")
GIT_PRINT_SHA1_ELLIPSIS=yes git $cmd ;;
noellipses)
git $cmd ;;
esac |
sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
-e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
echo "\$"