aboutsummaryrefslogtreecommitdiff
path: root/tests/t0001-validate-git-versions.sh
diff refs
from:
to:
flip
diff options
context:
space:
mode:
Diffstat (limited to 'tests/t0001-validate-git-versions.sh')
-rwxr-xr-xtests/t0001-validate-git-versions.sh17
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/t0001-validate-git-versions.sh b/tests/t0001-validate-git-versions.sh
index 416ac30..dd84fe3 100755
--- a/tests/t0001-validate-git-versions.sh
+++ b/tests/t0001-validate-git-versions.sh
@@ -1,5 +1,9 @@
#!/bin/sh
+if [ "${CGIT_TEST_NO_GIT_VERSION}" = "YesPlease" ]; then
+ exit 0
+fi
+
test_description='Check Git version is correct'
CGIT_TEST_NO_CREATE_REPOS=YesPlease
. ./setup.sh
@@ -11,10 +15,15 @@ test_expect_success 'extract Git version from Makefile' '
}" ../../Makefile >makefile_version
'
+# Note that Git's GIT-VERSION-GEN script applies "s/-/./g" to the version
+# string to produce the internal version in the GIT-VERSION-FILE, so we
+# must apply the same transformation to the version in the Makefile before
+# comparing them.
test_expect_success 'test Git version matches Makefile' '
( cat ../../git/GIT-VERSION-FILE || echo "No GIT-VERSION-FILE" ) |
sed -e "s/GIT_VERSION[ ]*=[ ]*//" -e "s/\\.dirty$//" >git_version &&
- test_cmp git_version makefile_version
+ sed -e "s/-/./g" makefile_version >makefile_git_version &&
+ test_cmp git_version makefile_git_version
'
test_expect_success 'test submodule version matches Makefile' '
@@ -24,11 +33,11 @@ test_expect_success 'test submodule version matches Makefile' '
else
(
cd ../.. &&
- sm_sha1=$(git ls-files --stage -- git |
+ sm_oid=$(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//" >sm_version &&
+ git describe --match "v[0-9]*" $sm_oid
+ ) | sed -e "s/^v//" -e "s/-/./" >sm_version &&
test_cmp sm_version makefile_version
fi
'