all repos — cgit @ e1e0e038fd0fee3fe10524d7466deab03e78deb5

a hyperfast web frontend for git written in c

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>
John Keeping john@keeping.me.uk
Tue, 19 Mar 2013 20:00:29 +0000
commit

e1e0e038fd0fee3fe10524d7466deab03e78deb5

parent

0255821e22678d4c58c809efe17bf2798835d5b9

1 files changed, 36 insertions(+), 0 deletions(-)

jump to
A 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