Add tests for git push'es mirror mode
[gitweb.git] / t / t7300-clean.sh
index 8697213e6b63fcaaaf2d91b7a3dc1b4e34f825ee..25d3102dedd31f43bfaabd1ae05fdebbc51863f8 100755 (executable)
@@ -39,6 +39,93 @@ test_expect_success 'git-clean' '
 
 '
 
+test_expect_success 'git-clean src/' '
+
+       mkdir -p build docs &&
+       touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
+       git-clean src/ &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test -f a.out &&
+       test ! -f src/part3.c &&
+       test -f docs/manual.txt &&
+       test -f obj.o &&
+       test -f build/lib.so
+
+'
+
+test_expect_success 'git-clean src/ src/' '
+
+       mkdir -p build docs &&
+       touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
+       git-clean src/ src/ &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test -f a.out &&
+       test ! -f src/part3.c &&
+       test -f docs/manual.txt &&
+       test -f obj.o &&
+       test -f build/lib.so
+
+'
+
+test_expect_success 'git-clean with prefix' '
+
+       mkdir -p build docs &&
+       touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
+       (cd src/ && git-clean) &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test -f a.out &&
+       test ! -f src/part3.c &&
+       test -f docs/manual.txt &&
+       test -f obj.o &&
+       test -f build/lib.so
+
+'
+test_expect_success 'git-clean -d with prefix and path' '
+
+       mkdir -p build docs src/feature &&
+       touch a.out src/part3.c src/feature/file.c docs/manual.txt obj.o build/lib.so &&
+       (cd src/ && git-clean -d feature/) &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test -f a.out &&
+       test -f src/part3.c &&
+       test ! -f src/feature/file.c &&
+       test -f docs/manual.txt &&
+       test -f obj.o &&
+       test -f build/lib.so
+
+'
+
+test_expect_success 'git-clean symbolic link' '
+
+       mkdir -p build docs &&
+       touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
+       ln -s docs/manual.txt src/part4.c
+       git-clean &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test ! -f a.out &&
+       test ! -f src/part3.c &&
+       test ! -f src/part4.c &&
+       test -f docs/manual.txt &&
+       test -f obj.o &&
+       test -f build/lib.so
+
+'
+
 test_expect_success 'git-clean -n' '
 
        mkdir -p build docs &&
@@ -73,6 +160,24 @@ test_expect_success 'git-clean -d' '
 
 '
 
+test_expect_success 'git-clean -d src/ examples/' '
+
+       mkdir -p build docs examples &&
+       touch a.out src/part3.c docs/manual.txt obj.o build/lib.so examples/1.c &&
+       git-clean -d src/ examples/ &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test -f a.out &&
+       test ! -f src/part3.c &&
+       test ! -f examples/1.c &&
+       test -f docs/manual.txt &&
+       test -f obj.o &&
+       test -f build/lib.so
+
+'
+
 test_expect_success 'git-clean -x' '
 
        mkdir -p build docs &&