OSDN Git Service

[flang][driver] Copy input files into a temp dir when testing
authorAndrzej Warzynski <andrzej.warzynski@arm.com>
Thu, 7 Jan 2021 17:49:38 +0000 (17:49 +0000)
committerAndrzej Warzynski <andrzej.warzynski@arm.com>
Mon, 11 Jan 2021 13:54:19 +0000 (13:54 +0000)
The following frontend driver invocation will generate 2 output files
in the same directory as the input files:
```
flang-new -fc1 input-1.f input-2.f
```
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 test
input files into a temporary directory.

Differential Revision: https://reviews.llvm.org/D94243

flang/test/Frontend/multiple-input-files.f90

index 04fe25f..f1fb7d1 100644 (file)
 ! FLANG FRONTEND DRIVER (flang-new -fc1)
 !----------------------------------------
 ! TEST 3: Both input files are processed
-! RUN: %flang-new -fc1 -test-io  %S/Inputs/hello-world.f90 %s 2>&1 \
-! RUN:  && FileCheck %s --input-file=%S/multiple-input-files.txt --match-full-lines -check-prefix=FC1-OUTPUT1 \
-! RUN:  && FileCheck %s --input-file=%S/Inputs/hello-world.txt --match-full-lines -check-prefix=FC1-OUTPUT2
+! This particular test case generates output files in the same directory as the input files. We need to copy the input files 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 . && cp %S/Inputs/hello-world.f90 .
+! RUN: %flang-new -fc1 -test-io  hello-world.f90 multiple-input-files.f90 2>&1 \
+! RUN:  && FileCheck %s --input-file=multiple-input-files.txt --match-full-lines -check-prefix=FC1-OUTPUT1 \
+! RUN:  && FileCheck %s --input-file=hello-world.txt --match-full-lines -check-prefix=FC1-OUTPUT2
 
 ! TEST 4: Only the last input file is processed
 ! RUN: %flang-new -fc1 -test-io %s %S/Inputs/hello-world.f90 -o %t 2>&1 \