X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/c95cc5ec56dbb7394015eb18201403be6d80f69b..6dbbffe01533a91c79c4497c80f46af8e1581e25:/tests/t0001-validate-git-versions.sh diff --git a/tests/t0001-validate-git-versions.sh b/tests/t0001-validate-git-versions.sh index 754046e..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[ ]*=[ ]*//" >git_version && - test_cmp git_version makefile_version + sed -e "s/GIT_VERSION[ ]*=[ ]*//" -e "s/\\.dirty$//" >git_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 '