From: Nico Weber Date: Tue, 9 Jul 2019 00:36:18 +0000 (+0000) Subject: Use `ln -n` to prevent forming a symlink cycle, instead of rm'ing the source X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a81e238bcc471d0d8bf305a05da54d56eeef7ff5;p=clang Use `ln -n` to prevent forming a symlink cycle, instead of rm'ing the source 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 --- diff --git a/test/Driver/no-canonical-prefixes.c b/test/Driver/no-canonical-prefixes.c index 8b9e04410e..85de9f1d70 100644 --- a/test/Driver/no-canonical-prefixes.c +++ b/test/Driver/no-canonical-prefixes.c @@ -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