* [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.