All of lore.kernel.org
 help / color / mirror / Atom feed
* [StGit PATCH 0/5] test suite update
@ 2008-04-17 21:12 Karl Hasselström
  2008-04-17 21:12 ` [StGit PATCH 1/5] If a patch is not changed when pushing, reuse the same commit object Karl Hasselström
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:12 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

This patch series pulls in updates to test-lib.sh from git (we now get
colored output!), and does some other assorted test suite updates.

---

Karl Hasselström (5):
      Use test_cmp instead of diff -u in the test suite
      Get rid of backticks in test-lib.sh
      Steal more test-lib.sh updates from git
      Use hardcoded author and committer names in tests
      If a patch is not changed when pushing, reuse the same commit object


 stgit/lib/transaction.py |   11 ++-
 t/t0002-status.sh        |   32 ++++----
 t/t1201-pull-trailing.sh |    2 
 t/t2700-refresh.sh       |   12 +--
 t/t2800-goto-subdir.sh   |    8 +-
 t/test-lib.sh            |  189 +++++++++++++++++++++++++++++++++++-----------
 6 files changed, 179 insertions(+), 75 deletions(-)

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [StGit PATCH 1/5] If a patch is not changed when pushing, reuse the same commit object
  2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
@ 2008-04-17 21:12 ` Karl Hasselström
  2008-04-17 21:12 ` [StGit PATCH 2/5] Use hardcoded author and committer names in tests Karl Hasselström
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:12 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

It should be marginally faster since we don't have to create a new
commit object, but mostly it's a cleanliness issue: rewriting history
when we don't have to is bad.

Signed-off-by: Karl Hasselström <kha@treskal.com>

---

 stgit/lib/transaction.py |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)


diff --git a/stgit/lib/transaction.py b/stgit/lib/transaction.py
index 2946a67..1ece01e 100644
--- a/stgit/lib/transaction.py
+++ b/stgit/lib/transaction.py
@@ -1,4 +1,5 @@
 from stgit import exception, utils
+from stgit.utils import any, all
 from stgit.out import *
 from stgit.lib import git
 
@@ -175,8 +176,8 @@ class StackTransaction(object):
         """Attempt to push the named patch. If this results in conflicts,
         halts the transaction. If index+worktree are given, spill any
         conflicts to them."""
-        cd = self.patches[pn].data
-        cd = cd.set_committer(None)
+        orig_cd = self.patches[pn].data
+        cd = orig_cd.set_committer(None)
         s = ['', ' (empty)'][cd.is_nochange()]
         oldparent = cd.parent
         cd = cd.set_parent(self.__head)
@@ -204,7 +205,11 @@ class StackTransaction(object):
             except git.MergeException, e:
                 self.__halt(str(e))
         cd = cd.set_tree(tree)
-        self.patches[pn] = self.__stack.repository.commit(cd)
+        if any(getattr(cd, a) != getattr(orig_cd, a) for a in
+               ['parent', 'tree', 'author', 'message']):
+            self.patches[pn] = self.__stack.repository.commit(cd)
+        else:
+            s = ' (unmodified)'
         del self.unapplied[self.unapplied.index(pn)]
         self.applied.append(pn)
         out.info('Pushed %s%s' % (pn, s))

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [StGit PATCH 2/5] Use hardcoded author and committer names in tests
  2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
  2008-04-17 21:12 ` [StGit PATCH 1/5] If a patch is not changed when pushing, reuse the same commit object Karl Hasselström
@ 2008-04-17 21:12 ` Karl Hasselström
  2008-04-17 21:12 ` [StGit PATCH 3/5] Steal more test-lib.sh updates from git Karl Hasselström
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:12 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

There seems to be no reason for these to stay commented out -- in
fact, commit v0.12-4-g5cd9e87 which introduced these lines seems to
have left them commented out by mistake.

Signed-off-by: Karl Hasselström <kha@treskal.com>

---

 t/test-lib.sh |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


diff --git a/t/test-lib.sh b/t/test-lib.sh
index 2d12f1b..5e4c7a1 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -20,11 +20,11 @@ unset COMMIT_AUTHOR_NAME
 unset EMAIL
 unset GIT_ALTERNATE_OBJECT_DIRECTORIES
 unset GIT_AUTHOR_DATE
-#GIT_AUTHOR_EMAIL=author@example.com
-#GIT_AUTHOR_NAME='A U Thor'
+GIT_AUTHOR_EMAIL=author@example.com
+GIT_AUTHOR_NAME='A U Thor'
 unset GIT_COMMITTER_DATE
-#GIT_COMMITTER_EMAIL=committer@example.com
-#GIT_COMMITTER_NAME='C O Mitter'
+GIT_COMMITTER_EMAIL=committer@example.com
+GIT_COMMITTER_NAME='C O Mitter'
 unset GIT_DIFF_OPTS
 unset GIT_DIR
 unset GIT_EXTERNAL_DIFF

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [StGit PATCH 3/5] Steal more test-lib.sh updates from git
  2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
  2008-04-17 21:12 ` [StGit PATCH 1/5] If a patch is not changed when pushing, reuse the same commit object Karl Hasselström
  2008-04-17 21:12 ` [StGit PATCH 2/5] Use hardcoded author and committer names in tests Karl Hasselström
@ 2008-04-17 21:12 ` Karl Hasselström
  2008-04-17 21:13 ` [StGit PATCH 4/5] Get rid of backticks in test-lib.sh Karl Hasselström
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:12 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

This patch incorporates the updates that were made to git's
test-lib.sh from revision v1.2.2-66-g6643688 up to revision
v1.5.5-67-g9a49e00. A few manual adjustments had to be made -- for
example, the StGit tests assume that the repository starts out with an
initial commit, and there's no need to try to get hold of a git binary
other than the one reachable via $PATH. And the test_must_fail helper
function is not that useful to us, since a crashing Python program
won't kill the entire Python interpreter.

The main improvement is that the test script output is now in color!

Shortlog of the imported changes:

  Alex Riesen (2):
        Fix permissions on test scripts
        Do no colorify test output if stdout is not a terminal

  Christian Couder (1):
        Trace into a file or an open fd and refactor tracing code.

  Clemens Buchacher (1):
        http-push: add regression tests

  Eric Wong (3):
        tests: Set EDITOR=: and VISUAL=: globally
        test-lib: quiet down init-db output for tests
        Update tests to use test-chmtime

  Gerrit Pape (1):
        Set $HOME for selftests

  Jeff King (3):
        fix config reading in tests
        use build-time SHELL_PATH in test scripts
        add test_cmp function for test scripts

  Johannes Schindelin (2):
        Introduce GIT_TEMPLATE_DIR
        Make tests independent of global config files

  Johannes Sixt (1):
        test-lib.sh: A command dying due to a signal is an unexpected failure.

  Josh Triplett (1):
        Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL

  Junio C Hamano (26):
        Perl interface: make testsuite work again.
        Perly Git: make sure we do test the freshly built one.
        test-lib: unset GIT_TRACE
        Merge branch 'ml/trace'
        Merge branch 'master' into pb/gitpm
        Deprecate merge-recursive.py
        Merge branch 'jc/gitpm'
        remove merge-recursive-old
        fix testsuite: make sure they use templates freshly built from the source
        Revert "fix testsuite: make sure they use templates freshly built from the source"
        GIT_SKIP_TESTS: allow users to omit tests that are known to break
        t5400 send-pack test: try a bit more nontrivial transfer.
        Fix timestamp for test-tick
        t/test-lib.sh: Protect ourselves from common misconfiguration
        War on whitespace
        Merge branch 'ei/worktree+filter'
        Unset GIT_EDITOR while running tests.
        Sane use of test_expect_failure
        test: reword the final message of tests with known breakages
        tests: introduce test_must_fail
        Merge branch 'cb/http-test'
        tests: introduce test_must_fail
        test-lib: fix TERM to dumb for test repeatability
        Merge branch 'maint'
        Test: catch if trash cannot be removed
        test_must_fail: 129 is a valid error code from usage()

  Martin Waitz (1):
        test-lib: separate individual test better in verbose mode.

  Matthias Lederhofer (1):
        introduce GIT_WORK_TREE to specify the work tree

  Michele Ballabio (2):
        test-lib.sh: move error line after error() declaration
        Fix typo in a comment in t/test-lib.sh

  Nicolas Pitre (1):
        use 'init' instead of 'init-db' for shipped docs and tools

  Petr Baudis (1):
        Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging

  Pierre Habouzit (2):
        Add some fancy colors in the test library when terminal supports it.
        Support a --quiet option in the test-suite.

  Robin Rosenberg (1):
        Quote arguments to tr in test-lib

  Shawn O. Pearce (1):
        Default GIT_MERGE_VERBOSITY to 5 during tests.

Signed-off-by: Karl Hasselström <kha@treskal.com>

---

 t/test-lib.sh |  179 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 139 insertions(+), 40 deletions(-)


diff --git a/t/test-lib.sh b/t/test-lib.sh
index 5e4c7a1..87c143a 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -4,14 +4,19 @@
 # Copyright (c) 2006 Yann Dirson - tuning for stgit
 #
 
+# Keep the original TERM for say_color
+ORIGINAL_TERM=$TERM
+
 # For repeatability, reset the environment to known value.
 LANG=C
 LC_ALL=C
 PAGER=cat
 TZ=UTC
-export LANG LC_ALL PAGER TZ
+TERM=dumb
+export LANG LC_ALL PAGER TERM TZ
 EDITOR=:
 VISUAL=:
+unset GIT_EDITOR
 unset AUTHOR_DATE
 unset AUTHOR_EMAIL
 unset AUTHOR_NAME
@@ -27,6 +32,7 @@ GIT_COMMITTER_EMAIL=committer@example.com
 GIT_COMMITTER_NAME='C O Mitter'
 unset GIT_DIFF_OPTS
 unset GIT_DIR
+unset GIT_WORK_TREE
 unset GIT_EXTERNAL_DIFF
 unset GIT_INDEX_FILE
 unset GIT_OBJECT_DIRECTORY
@@ -37,6 +43,7 @@ export GIT_MERGE_VERBOSITY
 export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME
 export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME
 export EDITOR VISUAL
+GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u}
 
 # Protect ourselves from common misconfiguration to export
 # CDPATH into the environment
@@ -57,19 +64,15 @@ esac
 # This test checks if command xyzzy does the right thing...
 # '
 # . ./test-lib.sh
-
-error () {
-	echo "* error: $*"
-	trap - exit
-	exit 1
-}
-
-say () {
-	echo "* $*"
-}
-
-test "${test_description}" != "" ||
-error "Test script did not set test_description."
+[ "x$ORIGINAL_TERM" != "xdumb" ] && (
+		TERM=$ORIGINAL_TERM &&
+		export TERM &&
+		[ -t 1 ] &&
+		tput bold >/dev/null 2>&1 &&
+		tput setaf 1 >/dev/null 2>&1 &&
+		tput sgr0 >/dev/null 2>&1
+	) &&
+	color=t
 
 while test "$#" -ne 0
 do
@@ -79,16 +82,63 @@ do
 	-i|--i|--im|--imm|--imme|--immed|--immedi|--immedia|--immediat|--immediate)
 		immediate=t; shift ;;
 	-h|--h|--he|--hel|--help)
-		echo "$test_description"
-		exit 0 ;;
+		help=t; shift ;;
 	-v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
 		export STGIT_DEBUG_LEVEL="-1"
 		verbose=t; shift ;;
+	-q|--q|--qu|--qui|--quie|--quiet)
+		quiet=t; shift ;;
+	--no-color)
+		color=; shift ;;
 	*)
 		break ;;
 	esac
 done
 
+if test -n "$color"; then
+	say_color () {
+		(
+		TERM=$ORIGINAL_TERM
+		export TERM
+		case "$1" in
+			error) tput bold; tput setaf 1;; # bold red
+			skip)  tput bold; tput setaf 2;; # bold green
+			pass)  tput setaf 2;;            # green
+			info)  tput setaf 3;;            # brown
+			*) test -n "$quiet" && return;;
+		esac
+		shift
+		echo "* $*"
+		tput sgr0
+		)
+	}
+else
+	say_color() {
+		test -z "$1" && test -n "$quiet" && return
+		shift
+		echo "* $*"
+	}
+fi
+
+error () {
+	say_color error "error: $*"
+	trap - exit
+	exit 1
+}
+
+say () {
+	say_color info "$*"
+}
+
+test "${test_description}" != "" ||
+error "Test script did not set test_description."
+
+if test "$help" = "t"
+then
+	echo "$test_description"
+	exit 0
+fi
+
 exec 5>&1
 if test "$verbose" = "t"
 then
@@ -99,8 +149,15 @@ fi
 
 test_failure=0
 test_count=0
+test_fixed=0
+test_broken=0
+
+die () {
+	echo >&5 "FATAL: Unexpected exit with code $?"
+	exit 1
+}
 
-trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit
+trap 'die' exit
 
 test_tick () {
 	if test -z "${test_tick+set}"
@@ -119,18 +176,29 @@ test_tick () {
 
 test_ok_ () {
 	test_count=$(expr "$test_count" + 1)
-	say "  ok $test_count: $@"
+	say_color "" "  ok $test_count: $@"
 }
 
 test_failure_ () {
 	test_count=$(expr "$test_count" + 1)
 	test_failure=$(expr "$test_failure" + 1);
-	say "FAIL $test_count: $1"
+	say_color error "FAIL $test_count: $1"
 	shift
 	echo "$@" | sed -e 's/^/	/'
 	test "$immediate" = "" || { trap - exit; exit 1; }
 }
 
+test_known_broken_ok_ () {
+	test_count=$(expr "$test_count" + 1)
+	test_fixed=$(($test_fixed+1))
+	say_color "" "  FIXED $test_count: $@"
+}
+
+test_known_broken_failure_ () {
+	test_count=$(expr "$test_count" + 1)
+	test_broken=$(($test_broken+1))
+	say_color skip "  still broken $test_count: $@"
+}
 
 test_debug () {
 	test "$debug" = "" || eval "$1"
@@ -155,9 +223,9 @@ test_skip () {
 	done
 	case "$to_skip" in
 	t)
-		say >&3 "skipping test: $@"
+		say_color skip >&3 "skipping test: $@"
 		test_count=$(expr "$test_count" + 1)
-		say "skip $test_count: $1"
+		say_color skip "skip $test_count: $1"
 		: true
 		;;
 	*)
@@ -171,13 +239,13 @@ test_expect_failure () {
 	error "bug in the test script: not 2 parameters to test-expect-failure"
 	if ! test_skip "$@"
 	then
-		say >&3 "expecting failure: $2"
+		say >&3 "checking known breakage: $2"
 		test_run_ "$2"
-		if [ "$?" = 0 -a "$eval_ret" != 0 -a "$eval_ret" -lt 129 ]
+		if [ "$?" = 0 -a "$eval_ret" = 0 ]
 		then
-			test_ok_ "$1"
+			test_known_broken_ok_ "$1"
 		else
-			test_failure_ "$@"
+		    test_known_broken_failure_ "$1"
 		fi
 	fi
 	echo >&3 ""
@@ -217,7 +285,24 @@ test_expect_code () {
 	echo >&3 ""
 }
 
-# Most tests can use the created repository, but some amy need to create more.
+# test_cmp is a helper function to compare actual and expected output.
+# You can use it like:
+#
+#	test_expect_success 'foo works' '
+#		echo expected >expected &&
+#		foo >actual &&
+#		test_cmp expected actual
+#	'
+#
+# This could be written as either "cmp" or "diff -u", but:
+# - cmp's output is not nearly as easy to read as diff -u
+# - not all diff versions understand "-u"
+
+test_cmp() {
+	$GIT_TEST_CMP "$@"
+}
+
+# Most tests can use the created repository, but some may need to create more.
 # Usage: test_create_repo <directory>
 test_create_repo () {
 	test "$#" = 1 ||
@@ -226,17 +311,28 @@ test_create_repo () {
 	repo="$1"
 	mkdir "$repo"
 	cd "$repo" || error "Cannot setup test environment"
-	git-init >/dev/null 2>&1 ||
-	error "cannot run git-init -- have you installed git-core?"
-	mkdir .git/info
-	echo "empty start" |
-	git-commit-tree `git-write-tree` >.git/refs/heads/master 2>&4 ||
-	error "cannot run git-commit -- is your git-core functioning?"
+	git init >/dev/null 2>&1 || error "cannot run git init"
+	echo "empty start" | \
+	    git commit-tree `git write-tree` >.git/refs/heads/master 2>&4 || \
+	    error "cannot run git commit"
+	mv .git/hooks .git/hooks-disabled
 	cd "$owd"
 }
 
 test_done () {
 	trap - exit
+
+	if test "$test_fixed" != 0
+	then
+		say_color pass "fixed $test_fixed known breakage(s)"
+	fi
+	if test "$test_broken" != 0
+	then
+		say_color error "still have $test_broken known breakage(s)"
+		msg="remaining $(($test_count-$test_broken)) test(s)"
+	else
+		msg="$test_count test(s)"
+	fi
 	case "$test_failure" in
 	0)
 		# We could:
@@ -247,11 +343,11 @@ test_done () {
 		# The Makefile provided will clean this test area so
 		# we will leave things as they are.
 
-		say "passed all $test_count test(s)"
+		say_color pass "passed all $msg"
 		exit 0 ;;
 
 	*)
-		say "failed $test_failure among $test_count test(s)"
+		say_color error "failed $test_failure among $msg"
 		exit 1 ;;
 
 	esac
@@ -261,14 +357,17 @@ test_done () {
 # t/ subdirectory and are run in trash subdirectory.
 PATH=$(pwd)/..:$PATH
 HOME=$(pwd)/trash
-GIT_TEMPLATE_DIR=$(pwd)/../templates
 GIT_CONFIG=.git/config
-export PATH HOME GIT_TEMPLATE_DIR GIT_CONFIG
-
+export PATH HOME GIT_CONFIG
 
 # Test repository
 test=trash
-rm -fr "$test"
+rm -fr "$test" || {
+	trap - exit
+	echo >&5 "FATAL: Cannot prepare test area"
+	exit 1
+}
+
 test_create_repo $test
 cd "$test"
 
@@ -285,8 +384,8 @@ do
 	done
 	case "$to_skip" in
 	t)
-		say >&3 "skipping test $this_test altogether"
-		say "skip all tests in $this_test"
+		say_color skip >&3 "skipping test $this_test altogether"
+		say_color skip "skip all tests in $this_test"
 		test_done
 	esac
 done

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [StGit PATCH 4/5] Get rid of backticks in test-lib.sh
  2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
                   ` (2 preceding siblings ...)
  2008-04-17 21:12 ` [StGit PATCH 3/5] Steal more test-lib.sh updates from git Karl Hasselström
@ 2008-04-17 21:13 ` Karl Hasselström
  2008-04-17 21:13 ` [StGit PATCH 5/5] Use test_cmp instead of diff -u in the test suite Karl Hasselström
  2008-04-17 21:14 ` [StGit PATCH 0/5] test suite update Karl Hasselström
  5 siblings, 0 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:13 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

The $(...) notation is just plain nicer.

Signed-off-by: Karl Hasselström <kha@treskal.com>

---

 t/test-lib.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


diff --git a/t/test-lib.sh b/t/test-lib.sh
index 87c143a..95e322e 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -307,13 +307,13 @@ test_cmp() {
 test_create_repo () {
 	test "$#" = 1 ||
 	error "bug in the test script: not 1 parameter to test-create-repo"
-	owd=`pwd`
+	owd=$(pwd)
 	repo="$1"
 	mkdir "$repo"
 	cd "$repo" || error "Cannot setup test environment"
 	git init >/dev/null 2>&1 || error "cannot run git init"
 	echo "empty start" | \
-	    git commit-tree `git write-tree` >.git/refs/heads/master 2>&4 || \
+	    git commit-tree $(git write-tree) >.git/refs/heads/master 2>&4 || \
 	    error "cannot run git commit"
 	mv .git/hooks .git/hooks-disabled
 	cd "$owd"

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [StGit PATCH 5/5] Use test_cmp instead of diff -u in the test suite
  2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
                   ` (3 preceding siblings ...)
  2008-04-17 21:13 ` [StGit PATCH 4/5] Get rid of backticks in test-lib.sh Karl Hasselström
@ 2008-04-17 21:13 ` Karl Hasselström
  2008-04-17 21:14 ` [StGit PATCH 0/5] test suite update Karl Hasselström
  5 siblings, 0 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:13 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

Since diff -u isn't available everywhere, and the user might want to
use something else.

Signed-off-by: Karl Hasselström <kha@treskal.com>

---

 t/t0002-status.sh        |   32 ++++++++++++++++----------------
 t/t1201-pull-trailing.sh |    2 +-
 t/t2700-refresh.sh       |   12 ++++++------
 t/t2800-goto-subdir.sh   |    8 ++++----
 4 files changed, 27 insertions(+), 27 deletions(-)


diff --git a/t/t0002-status.sh b/t/t0002-status.sh
index 0a70f15..4364709 100755
--- a/t/t0002-status.sh
+++ b/t/t0002-status.sh
@@ -20,7 +20,7 @@ cat > expected.txt <<EOF
 EOF
 test_expect_success 'Run status on empty' '
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -29,7 +29,7 @@ EOF
 test_expect_success 'Status with an untracked file' '
     touch foo &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 rm -f foo
 
@@ -38,7 +38,7 @@ EOF
 test_expect_success 'Status with an empty directory' '
     mkdir foo &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -47,7 +47,7 @@ EOF
 test_expect_success 'Status with an untracked file in a subdir' '
     touch foo/bar &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -56,7 +56,7 @@ EOF
 test_expect_success 'Status with an added file' '
     git add foo &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -64,7 +64,7 @@ foo/bar
 EOF
 test_expect_success 'Status with an added file and -n option' '
     stg status -n > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -73,7 +73,7 @@ test_expect_success 'Status after refresh' '
     stg new -m "first patch" &&
     stg refresh &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -82,7 +82,7 @@ EOF
 test_expect_success 'Status after modification' '
     echo "wee" >> foo/bar &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -90,7 +90,7 @@ EOF
 test_expect_success 'Status after refresh' '
     stg new -m "second patch" && stg refresh &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 test_expect_success 'Add another file' '
@@ -116,7 +116,7 @@ EOF
 test_expect_success 'Status after conflicting push' '
     ! stg push &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -124,7 +124,7 @@ C foo/bar
 EOF
 test_expect_success 'Status of file' '
     stg status foo/bar > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -132,7 +132,7 @@ C foo/bar
 EOF
 test_expect_success 'Status of dir' '
     stg status foo > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -140,7 +140,7 @@ A fie
 EOF
 test_expect_success 'Status of other file' '
     stg status fie > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -150,7 +150,7 @@ EOF
 test_expect_success 'Status after resolving the push' '
     stg resolved -a &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -160,7 +160,7 @@ EOF
 test_expect_success 'Status after deleting a file' '
     rm foo/bar &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 cat > expected.txt <<EOF
@@ -172,7 +172,7 @@ test_expect_success 'Status of disappeared newborn' '
     git add foo/bar &&
     rm foo/bar &&
     stg status > output.txt &&
-    diff -u expected.txt output.txt
+    test_cmp expected.txt output.txt
 '
 
 test_done
diff --git a/t/t1201-pull-trailing.sh b/t/t1201-pull-trailing.sh
index 46d9f82..9d70fe0 100755
--- a/t/t1201-pull-trailing.sh
+++ b/t/t1201-pull-trailing.sh
@@ -55,7 +55,7 @@ test_expect_success \
 
 test_expect_success \
     'Check that all went well' \
-    "diff -u foo/file bar/file
+    "test_cmp foo/file bar/file
 "
 
 test_done
diff --git a/t/t2700-refresh.sh b/t/t2700-refresh.sh
index 9eae85d..3759d0e 100755
--- a/t/t2700-refresh.sh
+++ b/t/t2700-refresh.sh
@@ -33,7 +33,7 @@ test_expect_success 'Refresh top patch' '
     stg status &&
     test -z "$(stg status)" &&
     stg patches foo3.txt > patches.txt &&
-    diff -u expected.txt patches.txt
+    test_cmp expected.txt patches.txt
 '
 
 cat > expected.txt <<EOF
@@ -47,7 +47,7 @@ test_expect_success 'Refresh middle patch' '
     stg status &&
     test -z "$(stg status)" &&
     stg patches foo2.txt > patches.txt &&
-    diff -u expected.txt patches.txt
+    test_cmp expected.txt patches.txt
 '
 
 cat > expected.txt <<EOF
@@ -61,7 +61,7 @@ test_expect_success 'Refresh bottom patch' '
     stg status &&
     test -z "$(stg status)" &&
     stg patches foo1.txt > patches.txt &&
-    diff -u expected.txt patches.txt
+    test_cmp expected.txt patches.txt
 '
 
 cat > expected.txt <<EOF
@@ -111,9 +111,9 @@ test_expect_success 'Refresh --index' '
     stg patches foo1.txt > patches.txt &&
     git diff HEAD^..HEAD > show.txt &&
     stg diff > diff.txt &&
-    diff -u expected.txt patches.txt &&
-    diff -u expected2.txt show.txt &&
-    diff -u expected3.txt diff.txt &&
+    test_cmp expected.txt patches.txt &&
+    test_cmp expected2.txt show.txt &&
+    test_cmp expected3.txt diff.txt &&
     stg new p5 -m "cleanup again" &&
     stg refresh
 '
diff --git a/t/t2800-goto-subdir.sh b/t/t2800-goto-subdir.sh
index fcad7da..28b8292 100755
--- a/t/t2800-goto-subdir.sh
+++ b/t/t2800-goto-subdir.sh
@@ -27,9 +27,9 @@ EOF
 test_expect_success 'Goto in subdirectory (just pop)' '
     (cd foo && stg goto p1) &&
     cat foo/bar > actual.txt &&
-    diff -u expected1.txt actual.txt &&
+    test_cmp expected1.txt actual.txt &&
     ls foo > actual.txt &&
-    diff -u expected2.txt actual.txt
+    test_cmp expected2.txt actual.txt
 '
 
 test_expect_success 'Prepare conflicting goto' '
@@ -51,9 +51,9 @@ test_expect_success 'Goto in subdirectory (conflicting push)' '
     (cd foo && stg goto p3) ;
     [ $? -eq 3 ] &&
     cat foo/bar > actual.txt &&
-    diff -u expected1.txt actual.txt &&
+    test_cmp expected1.txt actual.txt &&
     ls foo > actual.txt &&
-    diff -u expected2.txt actual.txt
+    test_cmp expected2.txt actual.txt
 '
 
 test_done

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [StGit PATCH 0/5] test suite update
  2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
                   ` (4 preceding siblings ...)
  2008-04-17 21:13 ` [StGit PATCH 5/5] Use test_cmp instead of diff -u in the test suite Karl Hasselström
@ 2008-04-17 21:14 ` Karl Hasselström
  5 siblings, 0 replies; 7+ messages in thread
From: Karl Hasselström @ 2008-04-17 21:14 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: git

On 2008-04-17 23:12:40 +0200, Karl Hasselström wrote:

>       If a patch is not changed when pushing, reuse the same commit
>       object

Duh. This patch got included in this series by mistake. It doesn't
really belong there.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-04-17 21:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-17 21:12 [StGit PATCH 0/5] test suite update Karl Hasselström
2008-04-17 21:12 ` [StGit PATCH 1/5] If a patch is not changed when pushing, reuse the same commit object Karl Hasselström
2008-04-17 21:12 ` [StGit PATCH 2/5] Use hardcoded author and committer names in tests Karl Hasselström
2008-04-17 21:12 ` [StGit PATCH 3/5] Steal more test-lib.sh updates from git Karl Hasselström
2008-04-17 21:13 ` [StGit PATCH 4/5] Get rid of backticks in test-lib.sh Karl Hasselström
2008-04-17 21:13 ` [StGit PATCH 5/5] Use test_cmp instead of diff -u in the test suite Karl Hasselström
2008-04-17 21:14 ` [StGit PATCH 0/5] test suite update Karl Hasselström

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.