chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Test suite: drs-push-rejects: use set +o pipefail, not set +e
[dgit.git]
/
tests
/
tests
/
drs-push-rejects
diff --git
a/tests/tests/drs-push-rejects
b/tests/tests/drs-push-rejects
index fdd390dfa837e6f38d71a2098f81fb3be7295656..74ddd37adcc1f9100b5af629016ed4cb4066f253 100755
(executable)
--- a/
tests/tests/drs-push-rejects
+++ b/
tests/tests/drs-push-rejects
@@
-10,21
+10,13
@@
t-worktree drs
cd $p
cd $p
-reporefs () {
- (set -e
- if test -d $tmp/git/$p.git; then
- cd $tmp/git/$p.git
- git show-ref
- fi)
-}
-
mustfail () {
local wantmsg="$1"; shift
mustfail () {
local wantmsg="$1"; shift
- reporefs >$tmp/show-refs.pre-push
- set +
e
+
t-
reporefs >$tmp/show-refs.pre-push
+ set +
o pipefail
git push origin "$@" 2>&1 |tee $tmp/mustfail.txt
ps="${PIPESTATUS[*]}"
git push origin "$@" 2>&1 |tee $tmp/mustfail.txt
ps="${PIPESTATUS[*]}"
- set -
e
+ set -
o pipefail
case $ps in
"0 0") fail "push unexpectedly succeeded (instead of: $wantmsg)" ;;
*" 0") ;;
case $ps in
"0 0") fail "push unexpectedly succeeded (instead of: $wantmsg)" ;;
*" 0") ;;
@@
-33,14
+25,14
@@
mustfail () {
if ! fgrep "$wantmsg" $tmp/mustfail.txt >/dev/null; then
fail "error message not found"
fi
if ! fgrep "$wantmsg" $tmp/mustfail.txt >/dev/null; then
fail "error message not found"
fi
- reporefs >$tmp/show-refs.post-push
+
t-
reporefs >$tmp/show-refs.post-push
diff $tmp/show-refs.{pre,post}-push
}
mustsucceed () {
diff $tmp/show-refs.{pre,post}-push
}
mustsucceed () {
- reporefs >$tmp/show-refs.pre-push
+
t-
reporefs >$tmp/show-refs.pre-push
git push origin "$@"
git push origin "$@"
- reporefs >$tmp/show-refs.post-push
+
t-
reporefs >$tmp/show-refs.post-push
if diff $tmp/show-refs.{pre,post}-push >$tmp/show-refs.diff; then
fail "no refs updated"
fi
if diff $tmp/show-refs.{pre,post}-push >$tmp/show-refs.diff; then
fail "no refs updated"
fi
@@
-86,7
+78,7
@@
for h in object type tag; do
cat badtag.asc >>badtag
set +e
cat badtag.asc >>badtag
set +e
- LC_
ALL
=C git hash-object -w -t tag badtag >badtag.hash 2>badtag.err
+ LC_
MESSAGES
=C git hash-object -w -t tag badtag >badtag.hash 2>badtag.err
rc=$?
set -e
rc=$?
set -e
@@
-128,6
+120,7
@@
prep unstable sid
mktag
echo woody >$tmp/suites
mustfail 'unknown suite' $push_spec
mktag
echo woody >$tmp/suites
mustfail 'unknown suite' $push_spec
+cp $root/tests/suites $tmp/.
# fixme:
# or reject "command string not understood";
# fixme:
# or reject "command string not understood";
@@
-158,8
+151,13
@@
prep unstable sid
mktag
mustsucceed $push_spec # succeeds
mktag
mustsucceed $push_spec # succeeds
+mktag
+mustfail 'push is missing head ref update' $push_spec
+
+git commit --allow-empty -m 'Dummy update'
mktag
mustfail 'not replacing previously-pushed version' $push_spec
mktag
mustfail 'not replacing previously-pushed version' $push_spec
+git reset --hard HEAD~
prep_dm_mangle () {
prep unstable sid
prep_dm_mangle () {
prep unstable sid