]> granicus.if.org Git - clang/commitdiff
Use `ln -n` to prevent forming a symlink cycle, instead of rm'ing the source
authorNico Weber <nicolasweber@gmx.de>
Tue, 9 Jul 2019 00:36:18 +0000 (00:36 +0000)
committerNico Weber <nicolasweber@gmx.de>
Tue, 9 Jul 2019 00:36:18 +0000 (00:36 +0000)
This is a better fix for the problem fixed in r334972.

Also remove the rm'ing of the symlink destination that was there to
clean up the bots -- it's over a year later, bots should be happy now.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365414 91177308-0d34-0410-b5e6-96231b3b80d8

test/Driver/no-canonical-prefixes.c

index 8b9e04410ed22f902b4d16a92bce667745690c5b..85de9f1d702f4433327174a7f84ec0e7f4b45fd0 100644 (file)
@@ -1,15 +1,13 @@
 // 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
+// If %.fake 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.
+// The `-n` flag prevents this.
+// RUN: ln -sfn %t.real %t.fake
 // RUN: cd %t.fake
 // RUN: ./test-clang -v -S %s 2>&1 | FileCheck --check-prefix=CANONICAL %s
 // RUN: ./test-clang -v -S %s -no-canonical-prefixes 2>&1 | FileCheck --check-prefix=NON-CANONICAL %s