X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=t%2Ft5401-update-hooks.sh;h=f1c7ff0c0a8082d260b136fa641a3f109172b7e6;hb=0a98f9d13802880a68ce6564b9f47b1c3e3341c7;hp=0c0034e34c616fc8a385956a21e282a98b480b37;hpb=8509fed75d576023f5f2db8542fad102fcc62d4d;p=git.git diff --git a/t/t5401-update-hooks.sh b/t/t5401-update-hooks.sh index 0c0034e34..f1c7ff0c0 100755 --- a/t/t5401-update-hooks.sh +++ b/t/t5401-update-hooks.sh @@ -25,8 +25,8 @@ test_expect_success setup ' cat >victim/.git/hooks/pre-receive <<'EOF' #!/bin/sh -echo "$@" >>$GIT_DIR/pre-receive.args -read x; printf "$x" >$GIT_DIR/pre-receive.stdin +printf "$@" >>$GIT_DIR/pre-receive.args +cat - >$GIT_DIR/pre-receive.stdin echo STDOUT pre-receive echo STDERR pre-receive >&2 EOF @@ -44,8 +44,8 @@ chmod u+x victim/.git/hooks/update cat >victim/.git/hooks/post-receive <<'EOF' #!/bin/sh -echo "$@" >>$GIT_DIR/post-receive.args -read x; printf "$x" >$GIT_DIR/post-receive.stdin +printf "$@" >>$GIT_DIR/post-receive.args +cat - >$GIT_DIR/post-receive.stdin echo STDOUT post-receive echo STDERR post-receive >&2 EOF @@ -80,36 +80,38 @@ test_expect_success 'hooks ran' ' test -f victim/.git/post-update.stdin ' -test_expect_success 'pre-receive hook arguments' ' - echo \ - refs/heads/master $commit0 $commit1 \ - refs/heads/tofail $commit1 $commit0 \ - | diff - victim/.git/pre-receive.args +test_expect_success 'pre-receive hook input' ' + (echo $commit0 $commit1 refs/heads/master; + echo $commit1 $commit0 refs/heads/tofail + ) | git diff - victim/.git/pre-receive.stdin ' test_expect_success 'update hook arguments' ' (echo refs/heads/master $commit0 $commit1; echo refs/heads/tofail $commit1 $commit0 - ) | diff - victim/.git/update.args + ) | git diff - victim/.git/update.args ' -test_expect_success 'post-receive hook arguments' ' - echo refs/heads/master $commit0 $commit1 | - diff - victim/.git/post-receive.args +test_expect_success 'post-receive hook input' ' + echo $commit0 $commit1 refs/heads/master | + git diff - victim/.git/post-receive.stdin ' test_expect_success 'post-update hook arguments' ' echo refs/heads/master | - diff -u - victim/.git/post-update.args + git diff - victim/.git/post-update.args ' test_expect_success 'all hook stdin is /dev/null' ' - ! test -s victim/.git/pre-receive.stdin && ! test -s victim/.git/update.stdin && - ! test -s victim/.git/post-receive.stdin && ! test -s victim/.git/post-update.stdin ' +test_expect_success 'all *-receive hook args are empty' ' + ! test -s victim/.git/pre-receive.args && + ! test -s victim/.git/post-receive.args +' + test_expect_failure 'send-pack produced no output' ' test -s send.out ' @@ -128,7 +130,7 @@ STDERR post-update EOF test_expect_success 'send-pack stderr contains hook messages' ' egrep ^STD send.err >actual && - diff - actual