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: Make t-reporefs stash the output
[dgit.git]
/
tests
/
tests
/
drs-push-rejects
diff --git
a/tests/tests/drs-push-rejects
b/tests/tests/drs-push-rejects
index df90d22c2109403ec1a257869f8ad9f92c84c8e3..640aeae6914cbe8630488b21d3e4be68ad7b3de0 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
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
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
pre-push
git push origin "$@"
git push origin "$@"
-
reporefs >$tmp/show-refs.
post-push
+
t-reporefs
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
@@
-159,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