* [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
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).