Skip to content

Commit 67224b7

Browse files
committed
Merge branch 'ss/rename-tests'
Reorganize some tests and rename them; "ls t/" now gives a better overview of what is tested for these scripts than before. * ss/rename-tests: t7501: rename commit test to comply with naming convention t7500: rename commit tests script to comply with naming convention t7502: rename commit test script to comply with naming convention t7509: cleanup description and filename t2000: rename and combine checkout clash tests
2 parents 90d228b + 83af35e commit 67224b7

7 files changed

+137
-147
lines changed

t/t2000-checkout-cache-clash.sh

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
#!/bin/sh
2+
#
3+
# Copyright (c) 2005 Junio C Hamano
4+
#
5+
6+
test_description='git conflicts when checking files out test.'
7+
8+
# The first test registers the following filesystem structure in the
9+
# cache:
10+
#
11+
# path0 - a file
12+
# path1/file1 - a file in a directory
13+
#
14+
# And then tries to checkout in a work tree that has the following:
15+
#
16+
# path0/file0 - a file in a directory
17+
# path1 - a file
18+
#
19+
# The git checkout-index command should fail when attempting to checkout
20+
# path0, finding it is occupied by a directory, and path1/file1, finding
21+
# path1 is occupied by a non-directory. With "-f" flag, it should remove
22+
# the conflicting paths and succeed.
23+
24+
. ./test-lib.sh
25+
26+
show_files() {
27+
# show filesystem files, just [-dl] for type and name
28+
find path? -ls |
29+
sed -e 's/^[0-9]* * [0-9]* * \([-bcdl]\)[^ ]* *[0-9]* *[^ ]* *[^ ]* *[0-9]* [A-Z][a-z][a-z] [0-9][0-9] [^ ]* /fs: \1 /'
30+
# what's in the cache, just mode and name
31+
git ls-files --stage |
32+
sed -e 's/^\([0-9]*\) [0-9a-f]* [0-3] /ca: \1 /'
33+
# what's in the tree, just mode and name.
34+
git ls-tree -r "$1" |
35+
sed -e 's/^\([0-9]*\) [^ ]* [0-9a-f]* /tr: \1 /'
36+
}
37+
38+
date >path0
39+
mkdir path1
40+
date >path1/file1
41+
42+
test_expect_success \
43+
'git update-index --add various paths.' \
44+
'git update-index --add path0 path1/file1'
45+
46+
rm -fr path0 path1
47+
mkdir path0
48+
date >path0/file0
49+
date >path1
50+
51+
test_expect_success \
52+
'git checkout-index without -f should fail on conflicting work tree.' \
53+
'test_must_fail git checkout-index -a'
54+
55+
test_expect_success \
56+
'git checkout-index with -f should succeed.' \
57+
'git checkout-index -f -a'
58+
59+
test_expect_success \
60+
'git checkout-index conflicting paths.' \
61+
'test -f path0 && test -d path1 && test -f path1/file1'
62+
63+
test_expect_success SYMLINKS 'checkout-index -f twice with --prefix' '
64+
mkdir -p tar/get &&
65+
ln -s tar/get there &&
66+
echo first &&
67+
git checkout-index -a -f --prefix=there/ &&
68+
echo second &&
69+
git checkout-index -a -f --prefix=there/
70+
'
71+
72+
# The second test registers the following filesystem structure in the cache:
73+
#
74+
# path2/file0 - a file in a directory
75+
# path3/file1 - a file in a directory
76+
#
77+
# and attempts to check it out when the work tree has:
78+
#
79+
# path2/file0 - a file in a directory
80+
# path3 - a symlink pointing at "path2"
81+
#
82+
# Checkout cache should fail to extract path3/file1 because the leading
83+
# path path3 is occupied by a non-directory. With "-f" it should remove
84+
# the symlink path3 and create directory path3 and file path3/file1.
85+
86+
mkdir path2
87+
date >path2/file0
88+
test_expect_success \
89+
'git update-index --add path2/file0' \
90+
'git update-index --add path2/file0'
91+
test_expect_success \
92+
'writing tree out with git write-tree' \
93+
'tree1=$(git write-tree)'
94+
test_debug 'show_files $tree1'
95+
96+
mkdir path3
97+
date >path3/file1
98+
test_expect_success \
99+
'git update-index --add path3/file1' \
100+
'git update-index --add path3/file1'
101+
test_expect_success \
102+
'writing tree out with git write-tree' \
103+
'tree2=$(git write-tree)'
104+
test_debug 'show_files $tree2'
105+
106+
rm -fr path3
107+
test_expect_success \
108+
'read previously written tree and checkout.' \
109+
'git read-tree -m $tree1 && git checkout-index -f -a'
110+
test_debug 'show_files $tree1'
111+
112+
test_expect_success \
113+
'add a symlink' \
114+
'test_ln_s_add path2 path3'
115+
test_expect_success \
116+
'writing tree out with git write-tree' \
117+
'tree3=$(git write-tree)'
118+
test_debug 'show_files $tree3'
119+
120+
# Morten says "Got that?" here.
121+
# Test begins.
122+
123+
test_expect_success \
124+
'read previously written tree and checkout.' \
125+
'git read-tree $tree2 && git checkout-index -f -a'
126+
test_debug 'show_files $tree2'
127+
128+
test_expect_success \
129+
'checking out conflicting path with -f' \
130+
'test ! -h path2 && test -d path2 &&
131+
test ! -h path3 && test -d path3 &&
132+
test ! -h path2/file0 && test -f path2/file0 &&
133+
test ! -h path3/file1 && test -f path3/file1'
134+
135+
test_done

t/t2001-checkout-cache-clash.sh

Lines changed: 0 additions & 85 deletions
This file was deleted.

t/t7500-commit.sh renamed to t/t7500-commit-template-squash-signoff.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
test_description='git commit
77
8-
Tests for selected commit options.'
8+
Tests for template, signoff, squash and -F functions.'
99

1010
. ./test-lib.sh
1111

File renamed without changes.
File renamed without changes.

t/t7509-commit.sh renamed to t/t7509-commit-authorship.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Copyright (c) 2009 Erick Mattos
44
#
55

6-
test_description='git commit --reset-author'
6+
test_description='commit tests of various authorhip options. '
77

88
. ./test-lib.sh
99

0 commit comments

Comments
 (0)