diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2018-06-18 18:50:35 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2018-06-18 18:50:35 +0000 |
| commit | ef524f97f441b5585c2aebd7cb158fab06604268 (patch) | |
| tree | aca56f0140377b6ca226e5a278153684ae5d8ac8 /clang/test | |
| parent | 17bd84c12c8a773841513865033538103973baec (diff) | |
| download | bcm5719-llvm-ef524f97f441b5585c2aebd7cb158fab06604268.tar.gz bcm5719-llvm-ef524f97f441b5585c2aebd7cb158fab06604268.zip | |
Don't let test/Driver/no-canonical-prefixes.c form a symlink cycle the second time it runs.
The test makes %t.fake a symlink to %t.real by running `ln -sf %t.real
%t.fake`. If %t.fake already is a symlink to %t.real when this runs (e.g. if
the test has run before), then this effectively becomes `ln -sf %t.real %t.real`,
symlinking the directory to itself. At least on my mac, this leads to the
directory containing itself.
As fix, just remove %t.fake before creating the symlink. To clean up build dirs
on bots, also remove %t.real for a while.
https://reviews.llvm.org/D48224
llvm-svn: 334972
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Driver/no-canonical-prefixes.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Driver/no-canonical-prefixes.c b/clang/test/Driver/no-canonical-prefixes.c index 7bc76be22d7..8b9e04410ed 100644 --- a/clang/test/Driver/no-canonical-prefixes.c +++ b/clang/test/Driver/no-canonical-prefixes.c @@ -1,9 +1,14 @@ // Due to ln -sf: // REQUIRES: shell +// RUN: rm -rf %t.real // RUN: mkdir -p %t.real // RUN: cd %t.real // RUN: ln -sf %clang test-clang // RUN: cd .. +// Important to remove %t.fake: If it already is a symlink to %t.real when +// `ln -sf %t.real %t.fake` runs, then that would symlink %t.real to itself, +// forming a cycle. +// RUN: rm -rf %t.fake // RUN: ln -sf %t.real %t.fake // RUN: cd %t.fake // RUN: ./test-clang -v -S %s 2>&1 | FileCheck --check-prefix=CANONICAL %s |

