Subject: [PATCH] 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 <[email protected]> Signed-off-by: John Keeping <[email protected]> --- This is an enhanced version of what I posted earlier, which now checks that the correct Git version is available even if "make get-git" has been used to fetch it, by examining Git's GIT-VERSION-FILE. I also changed the submodule test to check the version of the submodule in the index rather than whatever happens to be checked out. I think this is a more sensible test for people who are experimenting with different Git versions. tests/t0001-validate-git-versions.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 tests/t0001-validate-git-versions.sh 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 -- 1.8.2.279.g744670c _______________________________________________ cgit mailing list [email protected] http://hjemli.net/mailman/listinfo/cgit
