| #!/bin/sh |
| # |
| # Copyright (c) 2007 Michael Spang |
| # |
| |
| test_description='git-clean basic tests' |
| |
| . ./test-lib.sh |
| |
| test_expect_success 'setup' ' |
| |
| mkdir -p src && |
| touch src/part1.c Makefile && |
| echo build >.gitignore && |
| echo \*.o >>.gitignore && |
| git-add . && |
| git-commit -m setup && |
| touch src/part2.c README && |
| git-add . |
| |
| ' |
| |
| test_expect_success 'git-clean' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| 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 -n' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -n && |
| 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' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -d && |
| 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 ! -d docs && |
| test -f obj.o && |
| test -f build/lib.so |
| |
| ' |
| |
| test_expect_success 'git-clean -x' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -x && |
| 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 -x' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -d -x && |
| 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 ! -d docs && |
| test ! -f obj.o && |
| test ! -d build |
| |
| ' |
| |
| test_expect_success 'git-clean -X' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -X && |
| 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 -X' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -d -X && |
| 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 ! -d build |
| |
| ' |
| |
| test_expect_success 'clean.requireForce' ' |
| |
| git-config clean.requireForce true && |
| ! git-clean |
| |
| ' |
| |
| test_expect_success 'clean.requireForce and -n' ' |
| |
| mkdir -p build docs && |
| touch a.out src/part3.c docs/manual.txt obj.o build/lib.so && |
| git-clean -n && |
| 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 'clean.requireForce and -f' ' |
| |
| git-clean -f && |
| 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_done |