]> gitweb.ps.run Git - ps-cgit/blob - tests/t0001-validate-git-versions.sh
tests: check that Git version are in sync
[ps-cgit] / tests / t0001-validate-git-versions.sh
1 #!/bin/sh
2
3 . ./setup.sh
4
5 prepare_tests 'Check Git version is correct'
6
7 run_test 'extract Git version from Makefile' '
8         sed -n -e "/^GIT_VER[   ]*=/ {
9                 s/^GIT_VER[     ]*=[    ]*//
10                 p
11         }" ../Makefile >trash/makefile_version
12 '
13
14 run_test 'test Git version matches Makefile' '
15         ( cat ../git/GIT-VERSION-FILE || echo "No GIT-VERSION-FILE" ) |
16         sed -e "s/GIT_VERSION[  ]*=[    ]*//" >trash/git_version &&
17         diff -u trash/git_version trash/makefile_version
18 '
19
20 run_test '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//" >trash/sm_version &&
32                 diff -u trash/sm_version trash/makefile_version
33         fi
34 '
35
36 tests_done