help: use parseopt
[gitweb.git] / t / t7300-clean.sh
index 25d3102dedd31f43bfaabd1ae05fdebbc51863f8..38403643a6271ae4e6bb5a9c7d768ae4b50df34d 100755 (executable)
@@ -126,6 +126,20 @@ test_expect_success 'git-clean symbolic link' '
 
 '
 
+test_expect_success 'git-clean with wildcard' '
+
+       touch a.clean b.clean other.c &&
+       git-clean "*.clean" &&
+       test -f Makefile &&
+       test -f README &&
+       test -f src/part1.c &&
+       test -f src/part2.c &&
+       test ! -f a.clean &&
+       test ! -f b.clean &&
+       test -f other.c
+
+'
+
 test_expect_success 'git-clean -n' '
 
        mkdir -p build docs &&
@@ -291,4 +305,25 @@ test_expect_success 'clean.requireForce and -f' '
 
 '
 
+test_expect_success 'core.excludesfile' '
+
+       echo excludes >excludes &&
+       echo included >included &&
+       git config core.excludesfile excludes &&
+       output=$(git clean -n excludes included 2>&1) &&
+       expr "$output" : ".*included" >/dev/null &&
+       ! expr "$output" : ".*excludes" >/dev/null
+
+'
+
+test_expect_success 'removal failure' '
+
+       mkdir foo &&
+       touch foo/bar &&
+       chmod 0 foo &&
+       ! git clean -f -d
+
+'
+chmod 755 foo
+
 test_done