On Sun, May 28, 2017 at 6:56 PM, Joel Teichroeb <[email protected]> wrote:
> Ensure the command gives the correct return code
>
> Signed-off-by: Joel Teichroeb <[email protected]>
> ---
> t/t3903-stash.sh | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
> index 3b4bed5c9a..aaae221304 100755
> --- a/t/t3903-stash.sh
> +++ b/t/t3903-stash.sh
> @@ -444,6 +444,14 @@ test_expect_failure 'stash file to directory' '
> test foo = "$(cat file/file)"
> '
>
> +test_expect_success 'stash create - no changes' '
> + git stash clear &&
> + test_when_finished "git reset --hard HEAD" &&
> + git reset --hard &&
> + git stash create > actual &&
> + test $(cat actual | wc -l) -eq 0
Looks fine like this, I don't think there's any actual portability
concern (as with some wrappers), but FWIW you can do this more briefly
with the test framework as:
test_line_count = 0 actual
Although I wonder in this case whether you don't actually mean:
[...]>actual &&
! test -s actual
I.e. isn't the test that there should be no output, not that there
shouldn't be a \n there? Or alternatively:
test $(cat actual | wc -c) -eq 0
> +'
> +
> test_expect_success 'stash branch - no stashes on stack, stash-like
> argument' '
> git stash clear &&
> test_when_finished "git reset --hard HEAD" &&
> --
> 2.13.0
>