From: John Keeping Date: Tue, 19 Mar 2013 20:00:29 +0000 (+0000) Subject: tests: check that Git version are in sync X-Git-Tag: v0.9.2~69 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e1e0e038fd0fee3fe10524d7466deab03e78deb5;p=cgit 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 Signed-off-by: John Keeping --- diff --git a/tests/t0001-validate-git-versions.sh b/tests/t0001-validate-git-versions.sh new file mode 100755 index 0000000..3378358 --- /dev/null +++ b/tests/t0001-validate-git-versions.sh @@ -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