[flang][driver] Copy test file into a temp dir when testing (nfc)
authorAndrzej Warzynski <andrzej.warzynski@arm.com>
Fri, 15 Jan 2021 16:45:01 +0000 (16:45 +0000)
committerAndrzej Warzynski <andrzej.warzynski@arm.com>
Fri, 15 Jan 2021 17:12:42 +0000 (17:12 +0000)
The following driver invocation will generate an output file
in the same directory as the input file:

```
flang-new -fc1 -test-io test-input.f90
```

This is the desired behaviour. However, when testing we need to make
sure that we don't pollute the source directory. To this end, copy the
input file into a temporary directory before testing.

This is similar to https://reviews.llvm.org/D94243.

flang/test/Frontend/input-output-file.f90

index bd7ed15..8964f16 100644 (file)
 ! FLANG FRONTEND DRIVER (flang-new -fc1)
 !----------------------------------------
 ! TEST 4: Write to a file (implicit)
-! RUN: %flang-new -fc1 -test-io  %s 2>&1 && FileCheck %s --match-full-lines --input-file=%S/input-output-file.txt
+! This particular test case generates an output file in the same directory as the input file. We need to copy the input file into a
+! temporary directory to avoid polluting the source directory.
+! RUN: rm -rf %t-dir && mkdir -p %t-dir && cd %t-dir
+! RUN: cp %s .
+! RUN: %flang-new -fc1 -test-io input-output-file.f90  2>&1 && FileCheck %s --match-full-lines --input-file=input-output-file.txt
 ! TEST 5: Write to a file (explicit)
 ! RUN: %flang-new -fc1 -test-io  -o %t %s 2>&1 && FileCheck %s --match-full-lines --input-file=%t