On Mon, Sep 2, 2013 at 1:48 PM, Brad King <[email protected]> wrote:
> Extend t/t1400-update-ref.sh to cover cases using the --stdin option.
>
> Signed-off-by: Brad King <[email protected]>
> ---
> t/t1400-update-ref.sh | 256
> +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 256 insertions(+)
>
> diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
> index e415ee0..b6d7dfa 100755
> --- a/t/t1400-update-ref.sh
> +++ b/t/t1400-update-ref.sh
> @@ -302,4 +302,260 @@ test_expect_success \
> 'git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER)' \
> 'test OTHER = $(git cat-file blob "master@{2005-05-26 23:42}:F")'
>
> +a=refs/heads/a
> +b=refs/heads/b
> +c=refs/heads/c
> +z=0000000000000000000000000000000000000000
> +e='""'
> +pws='path with space'
> +
> +test_expect_success 'stdin fails on bad input line with only whitespace' '
> + echo " " >stdin &&
> + test_must_fail git update-ref --stdin <stdin 2>err &&
> + grep "fatal: no ref on line: " err
> +'
> +
> +test_expect_success 'stdin fails on bad input line with only --' '
> + echo "--" >stdin &&
> + test_must_fail git update-ref --stdin <stdin 2>err &&
> + grep "fatal: no ref on line: --" err
> +'
> +
> +test_expect_success 'stdin fails on bad input line with only --bad-option' '
> + echo "--bad-option" >stdin &&
> + test_must_fail git update-ref --stdin <stdin 2>err &&
> + grep "fatal: unknown option --bad-option" err
> +'
When you decomposed the monolithic test from v1 into individual tests,
you dropped a couple cases ("fatal: unknown option'" and "fatal:
unterminated single-quote"). Was this intentional?
> +test_expect_success 'stdin fails with duplicate refs' '
> + cat >stdin <<-EOF &&
> +$a $m
> +$b $m
> +$a $m
> +EOF
> + test_must_fail git update-ref --stdin <stdin 2>err &&
> + grep "fatal: Multiple updates for ref '"'"'$a'"'"' not allowed." err
> +'
The leading '-' on '-EOF' allows you to indent the content of the
heredoc and the terminating EOF, which makes the test read nicely:
test_expect_success 'stdin fails with duplicate refs' '
cat >stdin <<-EOF &&
$a $m
$b $m
$a $m
EOF
test_must_fail git update-ref ...
'
> +
> +test_expect_success 'stdin create ref works with no old value' '
> + echo "$a $m" >stdin &&
> + git update-ref --stdin <stdin &&
> + git rev-parse $m >expect &&
> + git rev-parse $a >actual &&
> + test_cmp expect actual
> +'
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html