aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-03-19 21:00:29 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2013-03-20 21:06:50 +0100
commite1e0e038fd0fee3fe10524d7466deab03e78deb5 (patch)
tree7b73e96d84e4e94a10d31552346acf78be83ab04
parent0255821e22678d4c58c809efe17bf2798835d5b9 (diff)
downloadcgit-e1e0e038fd0fee3fe10524d7466deab03e78deb5.tar.gz
cgit-e1e0e038fd0fee3fe10524d7466deab03e78deb5.tar.xz
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>
-rwxr-xr-xtests/t0001-validate-git-versions.sh36
1 files changed, 36 insertions, 0 deletions
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