From 52a3855fe7ca106e675175cb8db87c1f57b2242a Mon Sep 17 00:00:00 2001 From: David Spickett Date: Wed, 27 Jul 2022 09:26:22 +0000 Subject: [PATCH] [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 | 0 flang/test/Driver/{ => input-from-stdin}/input-from-stdin.f90 | 0 flang/test/Driver/input-from-stdin/lit.local.cfg | 3 +++ 3 files changed, 3 insertions(+) rename flang/test/Driver/{ => input-from-stdin}/input-from-stdin-llvm.ll (100%) rename flang/test/Driver/{ => input-from-stdin}/input-from-stdin.f90 (100%) create mode 100644 flang/test/Driver/input-from-stdin/lit.local.cfg diff --git a/flang/test/Driver/input-from-stdin-llvm.ll b/flang/test/Driver/input-from-stdin/input-from-stdin-llvm.ll similarity index 100% rename from flang/test/Driver/input-from-stdin-llvm.ll rename to flang/test/Driver/input-from-stdin/input-from-stdin-llvm.ll diff --git a/flang/test/Driver/input-from-stdin.f90 b/flang/test/Driver/input-from-stdin/input-from-stdin.f90 similarity index 100% rename from flang/test/Driver/input-from-stdin.f90 rename to flang/test/Driver/input-from-stdin/input-from-stdin.f90 diff --git a/flang/test/Driver/input-from-stdin/lit.local.cfg b/flang/test/Driver/input-from-stdin/lit.local.cfg new file mode 100644 index 0000000..11dc664 --- /dev/null +++ b/flang/test/Driver/input-from-stdin/lit.local.cfg @@ -0,0 +1,3 @@ +# In some modes flang will exit before cat does. If pipefail is enabled this means +# we get cat's exit code not flang's. +config.pipefail = False -- 2.7.4