1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
test_description='Check Git version is correct'
CGIT_TEST_NO_CREATE_REPOS=YesPlease
. ./setup.sh
if test "$CGIT_TEST_NO_GIT_VERSION" = "YesPlease"
then
skip_all='Skipping the Git version checks: CGIT_TEST_NO_GIT_VERSION is set'
test_done
fi
test_expect_success 'extract Git version from Makefile' '
sed -n -e "/^GIT_VERSION[[:space:]]*=/ {
s/^GIT_VERSION[[:space:]]*=[[:space:]]*//
p
}" "$TEST_OUTPUT_DIRECTORY/../Makefile" >makefile_version &&
test -s makefile_version
'
test_expect_success 'test Git version matches Makefile' '
( cat "$TEST_OUTPUT_DIRECTORY/../vendor/git/GIT-VERSION-FILE" ||
echo "No GIT-VERSION-FILE" ) |
sed -e "s/GIT_VERSION[[:space:]]*=[[:space:]]*//" -e "s/\\.dirty$//" >git_version &&
sed -e "s/-/./g" makefile_version >makefile_git_version &&
test_cmp git_version makefile_git_version
'
test_lazy_prereq SUBMODULE 'test -e "$TEST_OUTPUT_DIRECTORY/../vendor/git/.git"'
test_expect_success SUBMODULE 'test submodule version matches Makefile' '
git -C "$TEST_OUTPUT_DIRECTORY/.." ls-files --stage -- vendor/git >gitlink &&
submodule_oid=$(sed -n "s/^160000 \\([0-9a-f]*\\) .*/\\1/p" gitlink) &&
test -n "$submodule_oid" &&
git -C "$TEST_OUTPUT_DIRECTORY/../vendor/git" \
describe --match "v[0-9]*" "$submodule_oid" >submodule_tag &&
sed -e "s/^v//" -e "s/-/./" submodule_tag >submodule_version &&
test_cmp makefile_version submodule_version
'
test_done
|