]> gitweb.ps.run Git - ps-cgit/blob - tests/t0001-validate-git-versions.sh
t0001: ignore ".dirty" suffix on Git version
[ps-cgit] / tests / t0001-validate-git-versions.sh
1 #!/bin/sh
2
3 test_description='Check Git version is correct'
4 CGIT_TEST_NO_CREATE_REPOS=YesPlease
5 . ./setup.sh
6
7 test_expect_success 'extract Git version from Makefile' '
8         sed -n -e "/^GIT_VER[   ]*=/ {
9                 s/^GIT_VER[     ]*=[    ]*//
10                 p
11         }" ../../Makefile >makefile_version
12 '
13
14 test_expect_success 'test Git version matches Makefile' '
15         ( cat ../../git/GIT-VERSION-FILE || echo "No GIT-VERSION-FILE" ) |
16         sed -e "s/GIT_VERSION[  ]*=[    ]*//" -e "s/\\.dirty$//" >git_version &&
17         test_cmp git_version makefile_version
18 '
19
20 test_expect_success 'test submodule version matches Makefile' '
21         if ! test -e ../../git/.git
22         then
23                 echo "git/ is not a Git repository" >&2
24         else
25                 (
26                         cd ../.. &&
27                         sm_sha1=$(git ls-files --stage -- git |
28                                 sed -e "s/^[0-9]* \\([0-9a-f]*\\) [0-9] .*$/\\1/") &&
29                         cd git &&
30                         git describe --match "v[0-9]*" $sm_sha1
31                 ) | sed -e "s/^v//" >sm_version &&
32                 test_cmp sm_version makefile_version
33         fi
34 '
35
36 test_done