2007-05-06 21:50:54 +02:00
|
|
|
#!/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 &&
|
2007-07-03 07:52:14 +02:00
|
|
|
git add . &&
|
2007-05-06 21:50:54 +02:00
|
|
|
git-commit -m setup &&
|
|
|
|
touch src/part2.c README &&
|
2007-07-03 07:52:14 +02:00
|
|
|
git add .
|
2007-05-06 21:50:54 +02:00
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
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' '
|
|
|
|
|
2007-07-03 07:52:14 +02:00
|
|
|
git config clean.requireForce true &&
|
2007-05-06 21:50:54 +02:00
|
|
|
! 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
|