threads / patch / 8001

patch, 3 partst7300: Basic tests for git-clean

Subject: [PATCH 1/3] t7300: Basic tests for git-clean

## tl;dr

4 messages between May 6, 2007 and May 6, 2007. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Michael Spang· May 6, 2007, 18:09 UTC · lore
This tests the -d, -n, -f, -x, and -X options to git-clean.
Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
---
 t/t7300-clean.sh |  157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 157 insertions(+), 0 deletions(-)
 create mode 100755 t/t7300-clean.sh
Show changes to t/t7300-clean.sh +157 −0
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
new file mode 100755
index 0000000..1fb3850
--- /dev/null
+++ b/t/t7300-clean.sh
@@ -0,0 +1,157 @@
+#!/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 ! -e a.out &&
+    test ! -e 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 ! -e a.out &&
+    test ! -e src/part3.c &&
+    test ! -e 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 ! -e a.out &&
+    test ! -e src/part3.c &&
+    test -f docs/manual.txt &&
+    test ! -e 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 ! -e a.out &&
+    test ! -e src/part3.c &&
+    test ! -e docs &&
+    test ! -e obj.o &&
+    test ! -e 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 ! -e 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 ! -e obj.o &&
+    test ! -e build"
+
+test_expect_failure \
+    'clean.requireForce' \
+    "mkdir -p build docs &&
+    touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
+    git-config clean.requireForce true &&
+    git-clean"
+
+test_expect_success \
+    'clean.requireForce and -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 ! -e a.out &&
+    test ! -e src/part3.c &&
+    test -f docs/manual.txt &&
+    test -f obj.o &&
+    test -f build/lib.so"
+
+test_done
Michael Spang· May 6, 2007, 19:08 UTC · re: Michael Spang · lore

[PATCH(amend)] Really run "git-clean -n" in test

Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
---
Whoops.
 t/t7300-clean.sh |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
Show changes to t/t7300-clean.sh +5 −4
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 1fb3850..1ada8da 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -125,14 +125,15 @@ test_expect_success \
 
 test_expect_failure \
     'clean.requireForce' \
-    "mkdir -p build docs &&
-    touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
-    git-config clean.requireForce true &&
+    "git-config clean.requireForce true &&
     git-clean"
 
 test_expect_success \
     'clean.requireForce and -n' \
-    "test -f Makefile &&
+    "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 &&
Junio C Hamano· May 6, 2007, 19:18 UTC · re: Michael Spang · lore

Re: [PATCH(amend)] Really run "git-clean -n" in test

Michael Spang <mspang@uwaterloo.ca> writes:
Show 7 quoted lines
> Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
> ---
>
> Whoops.
>
>  t/t7300-clean.sh |    9 +++++----
>  1 files changed, 5 insertions(+), 4 deletions(-)
Oops indeed.
* This is not an "amend"; you are following up an earlier patch of
  your own.  Marking such a patch as "amend" is only confusing.
  Please do not do it.
Show 7 quoted lines
>  test_expect_failure \
>      'clean.requireForce' \
> -    "mkdir -p build docs &&
> -    touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
> -    git-config clean.requireForce true &&
> +    "git-config clean.requireForce true &&
>      git-clean"
* Please do not do this.  test_expect_failure, unless used for a
  very simple single test, is almost always a bug.  You would
  not know which step of && chain failed, even though you may be
  expecting the failure from the last one.
* I do not think a "this reformats every existing tests" patch
  is needed nor wanted, but at least I'd like to see new scripts
  and updates to the existing ones to be consistently formatted
  like this:
	test_expect_success 'name of the test' '
		test body goes here &&
                like this &&
		and this
	'
Michael Spang· May 6, 2007, 19:50 UTC · re: Junio C Hamano · lore

[PATCH] 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>
---
This replaces 1/3 and the "amend".

I guess this is the desired format? The email you sent seemed to have spaces on one of the lines, the others had tabs so I am using tabs.

 t/t7300-clean.sh |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 180 insertions(+), 0 deletions(-)
 create mode 100755 t/t7300-clean.sh
Show changes to t/t7300-clean.sh +180 −0
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
new file mode 100755
index 0000000..5c31e94
--- /dev/null
+++ b/t/t7300-clean.sh
@@ -0,0 +1,180 @@
+#!/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 ! -e a.out &&
+	test ! -e 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 ! -e a.out &&
+	test ! -e src/part3.c &&
+	test ! -e 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 ! -e a.out &&
+	test ! -e src/part3.c &&
+	test -f docs/manual.txt &&
+	test ! -e 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 ! -e a.out &&
+	test ! -e src/part3.c &&
+	test ! -e docs &&
+	test ! -e obj.o &&
+	test ! -e 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 ! -e 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 ! -e obj.o &&
+	test ! -e 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 ! -e a.out &&
+	test ! -e src/part3.c &&
+	test -f docs/manual.txt &&
+	test -f obj.o &&
+	test -f build/lib.so
+
+'
+
+test_done
-- 
1.5.2.rc1.4.g47e1

← back to recent threads