X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/e1e0e038fd0fee3fe10524d7466deab03e78deb5..1b1974c45e5e23e5527aa43c4d9ece423a13dfdc:/tests/t0001-validate-git-versions.sh diff --git a/tests/t0001-validate-git-versions.sh b/tests/t0001-validate-git-versions.sh index 3378358..a65b35e 100755 --- a/tests/t0001-validate-git-versions.sh +++ b/tests/t0001-validate-git-versions.sh @@ -1,36 +1,41 @@ #!/bin/sh +test_description='Check Git version is correct' +CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh -prepare_tests 'Check Git version is correct' - -run_test 'extract Git version from Makefile' ' +test_expect_success 'extract Git version from Makefile' ' sed -n -e "/^GIT_VER[ ]*=/ { s/^GIT_VER[ ]*=[ ]*// p - }" ../Makefile >trash/makefile_version + }" ../../Makefile >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 +# 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 && + sed -e "s/-/./g" makefile_version >makefile_git_version && + test_cmp git_version makefile_git_version ' -run_test 'test submodule version matches Makefile' ' - if ! test -e ../git/.git +test_expect_success 'test submodule version matches Makefile' ' + if ! test -e ../../git/.git then echo "git/ is not a Git repository" >&2 else ( - cd .. && + 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 + ) | sed -e "s/^v//" >sm_version && + test_cmp sm_version makefile_version fi ' -tests_done +test_done