[flang] Disable pipefail for tests for stdin input
authorDavid Spickett <david.spickett@linaro.org>
Wed, 27 Jul 2022 09:26:22 +0000 (09:26 +0000)
committerDavid Spickett <david.spickett@linaro.org>
Wed, 27 Jul 2022 10:31:02 +0000 (10:31 +0000)
commit52a3855fe7ca106e675175cb8db87c1f57b2242a
tree6b6c5511114a5cfc2b6b6a10635225c26a1c0206
parent0b2d5fd48bc281af89e5e7bfa33a3054b826ed52
[flang] Disable pipefail for tests for stdin input

We have seen the llvm test fail every so often on our bots:
https://lab.llvm.org/buildbot/#/builders/173/builds/6711

This happens because `flang-new -fc1 -S` does not wait for the
pipe to finish being written to/does not read out all the content.
You can see this in the output, cat comes after flang:
+ /home/tcwg-buildbot/worker/flang-aarch64-release/build/bin/not /home/tcwg-buildbot/worker/flang-aarch64-release/build/bin/flang-new -fc1 -S - -o -
+ cat /home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/flang/test/Driver/input-from-stdin-llvm.ll
error: Invalid input type - expecting a Fortran file

This means that cat gets SIGPIPE which causes it to exit with
code 141 and that's the final result due to pipefail.

flang isn't wrong to exit early (I think some modes of grep also do this)
and we only care about flang's exit code. So disable pipefail for
the stdin testing.

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D130619
flang/test/Driver/input-from-stdin/input-from-stdin-llvm.ll [moved from flang/test/Driver/input-from-stdin-llvm.ll with 100% similarity]
flang/test/Driver/input-from-stdin/input-from-stdin.f90 [moved from flang/test/Driver/input-from-stdin.f90 with 100% similarity]
flang/test/Driver/input-from-stdin/lit.local.cfg [new file with mode: 0644]