Re: [PATCH v2 8/8] travis-ci: only print test failures if there are test results available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Dec 16, 2017 at 7:58 AM, SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote:
> When a build job running the test suite fails, our
> 'ci/print-test-failures.sh' script scans all 't/test-results/*.exit'
> files to find failed tests and prints their verbose output.  However,
> if a build job were to fail before it ever gets to run the test suite,
> then there will be no files to match the above pattern and the shell
> will take the pattern literally, resulting in errors like this in the
> trace log:
>
>   cat: t/test-results/*.exit: No such file or directory
>   ------------------------------------------------------------------------
>   t/test-results/*.out...
>   ------------------------------------------------------------------------
>   cat: t/test-results/*.out: No such file or directory
>
> Check upfront and proceed only if there are any such files present.
>
> Signed-off-by: SZEDER Gábor <szeder.dev@xxxxxxxxx>
> ---
> diff --git a/ci/print-test-failures.sh b/ci/print-test-failures.sh
> @@ -8,6 +8,12 @@
> +if test t/test-results/*.exit = "t/test-results/*.exit"

Isn't the above going to cause 'test' to error out?

    $ mkdir -p t/test-results
    $ >t/test-results/a.exit
    $ >t/test-results/b.exit
    $ test t/test-results/*.exit = 't/test-results/*.exit'
    -bash: test: too many arguments

I'd think you'd want to capture the result of the expansion of
t/test-result/*.exit as a string and compare that instead.

> +then
> +       echo "Build job failed before the tests could have been run"
> +       exit
> +fi




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux