tests: check that Git version are in sync

This ensures that the Git version pointed at by the submodule is the
same as the one that will be fetched using "make get-git".

Suggested-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: John Keeping <john@keeping.me.uk>
Bu işleme şunda yer alıyor:
John Keeping 2013-03-19 20:00:29 +00:00 işlemeyi yapan: Jason A. Donenfeld
ebeveyn 0255821e22
işleme e1e0e038fd

36
tests/t0001-validate-git-versions.sh Çalıştırılabilir dosya
Dosyayı Görüntüle

@ -0,0 +1,36 @@
#!/bin/sh
. ./setup.sh
prepare_tests 'Check Git version is correct'
run_test 'extract Git version from Makefile' '
sed -n -e "/^GIT_VER[ ]*=/ {
s/^GIT_VER[ ]*=[ ]*//
p
}" ../Makefile >trash/makefile_version
'
run_test 'test Git version matches Makefile' '
( cat ../git/GIT-VERSION-FILE || echo "No GIT-VERSION-FILE" ) |
sed -e "s/GIT_VERSION[ ]*=[ ]*//" >trash/git_version &&
diff -u trash/git_version trash/makefile_version
'
run_test 'test submodule version matches Makefile' '
if ! test -e ../git/.git
then
echo "git/ is not a Git repository" >&2
else
(
cd .. &&
sm_sha1=$(git ls-files --stage -- git |
sed -e "s/^[0-9]* \\([0-9a-f]*\\) [0-9] .*$/\\1/") &&
cd git &&
git describe --match "v[0-9]*" $sm_sha1
) | sed -e "s/^v//" >trash/sm_version &&
diff -u trash/sm_version trash/makefile_version
fi
'
tests_done