Skip to content

Commit ec0e0f2

Browse files
Michael SpangJunio C Hamano
authored andcommitted
t7300: Basic tests for git-clean
This tests the -d, -n, -f, -x, and -X options to git-clean. Signed-off-by: Michael Spang <mspang@uwaterloo.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent b991625 commit ec0e0f2

File tree

1 file changed

+180
-0
lines changed

1 file changed

+180
-0
lines changed

t/t7300-clean.sh

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
#!/bin/sh
2+
#
3+
# Copyright (c) 2007 Michael Spang
4+
#
5+
6+
test_description='git-clean basic tests'
7+
8+
. ./test-lib.sh
9+
10+
test_expect_success 'setup' '
11+
12+
mkdir -p src &&
13+
touch src/part1.c Makefile &&
14+
echo build >.gitignore &&
15+
echo \*.o >>.gitignore &&
16+
git-add . &&
17+
git-commit -m setup &&
18+
touch src/part2.c README &&
19+
git-add .
20+
21+
'
22+
23+
test_expect_success 'git-clean' '
24+
25+
mkdir -p build docs &&
26+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
27+
git-clean &&
28+
test -f Makefile &&
29+
test -f README &&
30+
test -f src/part1.c &&
31+
test -f src/part2.c &&
32+
test ! -f a.out &&
33+
test ! -f src/part3.c &&
34+
test -f docs/manual.txt &&
35+
test -f obj.o &&
36+
test -f build/lib.so
37+
38+
'
39+
40+
test_expect_success 'git-clean -n' '
41+
42+
mkdir -p build docs &&
43+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
44+
git-clean -n &&
45+
test -f Makefile &&
46+
test -f README &&
47+
test -f src/part1.c &&
48+
test -f src/part2.c &&
49+
test -f a.out &&
50+
test -f src/part3.c &&
51+
test -f docs/manual.txt &&
52+
test -f obj.o &&
53+
test -f build/lib.so
54+
55+
'
56+
57+
test_expect_success 'git-clean -d' '
58+
59+
mkdir -p build docs &&
60+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
61+
git-clean -d &&
62+
test -f Makefile &&
63+
test -f README &&
64+
test -f src/part1.c &&
65+
test -f src/part2.c &&
66+
test ! -f a.out &&
67+
test ! -f src/part3.c &&
68+
test ! -d docs &&
69+
test -f obj.o &&
70+
test -f build/lib.so
71+
72+
'
73+
74+
test_expect_success 'git-clean -x' '
75+
76+
mkdir -p build docs &&
77+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
78+
git-clean -x &&
79+
test -f Makefile &&
80+
test -f README &&
81+
test -f src/part1.c &&
82+
test -f src/part2.c &&
83+
test ! -f a.out &&
84+
test ! -f src/part3.c &&
85+
test -f docs/manual.txt &&
86+
test ! -f obj.o &&
87+
test -f build/lib.so
88+
89+
'
90+
91+
test_expect_success 'git-clean -d -x' '
92+
93+
mkdir -p build docs &&
94+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
95+
git-clean -d -x &&
96+
test -f Makefile &&
97+
test -f README &&
98+
test -f src/part1.c &&
99+
test -f src/part2.c &&
100+
test ! -f a.out &&
101+
test ! -f src/part3.c &&
102+
test ! -d docs &&
103+
test ! -f obj.o &&
104+
test ! -d build
105+
106+
'
107+
108+
test_expect_success 'git-clean -X' '
109+
110+
mkdir -p build docs &&
111+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
112+
git-clean -X &&
113+
test -f Makefile &&
114+
test -f README &&
115+
test -f src/part1.c &&
116+
test -f src/part2.c &&
117+
test -f a.out &&
118+
test -f src/part3.c &&
119+
test -f docs/manual.txt &&
120+
test ! -f obj.o &&
121+
test -f build/lib.so
122+
123+
'
124+
125+
test_expect_success 'git-clean -d -X' '
126+
127+
mkdir -p build docs &&
128+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
129+
git-clean -d -X &&
130+
test -f Makefile &&
131+
test -f README &&
132+
test -f src/part1.c &&
133+
test -f src/part2.c &&
134+
test -f a.out &&
135+
test -f src/part3.c &&
136+
test -f docs/manual.txt &&
137+
test ! -f obj.o &&
138+
test ! -d build
139+
140+
'
141+
142+
test_expect_success 'clean.requireForce' '
143+
144+
git-config clean.requireForce true &&
145+
! git-clean
146+
147+
'
148+
149+
test_expect_success 'clean.requireForce and -n' '
150+
151+
mkdir -p build docs &&
152+
touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
153+
git-clean -n &&
154+
test -f Makefile &&
155+
test -f README &&
156+
test -f src/part1.c &&
157+
test -f src/part2.c &&
158+
test -f a.out &&
159+
test -f src/part3.c &&
160+
test -f docs/manual.txt &&
161+
test -f obj.o &&
162+
test -f build/lib.so
163+
164+
'
165+
166+
test_expect_success 'clean.requireForce and -f' '
167+
168+
git-clean -f &&
169+
test -f README &&
170+
test -f src/part1.c &&
171+
test -f src/part2.c &&
172+
test ! -f a.out &&
173+
test ! -f src/part3.c &&
174+
test -f docs/manual.txt &&
175+
test -f obj.o &&
176+
test -f build/lib.so
177+
178+
'
179+
180+
test_done

0 commit comments

Comments
 (0)