Create recursive symlink rather than storing it in version control.
Summary:
The presence of this recursive symlink was causing `ant lint` to yield
a warning, which is distracting.
Test Plan: Sandcastle builds.
diff --git a/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java b/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java
index 822fc1f..b65e29b 100644
--- a/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java
+++ b/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java
@@ -164,6 +164,13 @@
return Files.toString(getFile(pathRelativeToProjectRoot), Charsets.UTF_8);
}
+ /**
+ * @return the specified path resolved against the root of this workspace.
+ */
+ public Path resolve(Path pathRelativeToWorkspaceRoot) {
+ return destPath.resolve(pathRelativeToWorkspaceRoot);
+ }
+
/** The result of running {@code buck} from the command line. */
public static class ProcessResult {
private final int exitCode;
diff --git a/test/com/facebook/buck/util/DirectoryTraversalTest.java b/test/com/facebook/buck/util/DirectoryTraversalTest.java
index fb205e6..8556378 100644
--- a/test/com/facebook/buck/util/DirectoryTraversalTest.java
+++ b/test/com/facebook/buck/util/DirectoryTraversalTest.java
@@ -28,6 +28,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
public class DirectoryTraversalTest {
@Rule
@@ -39,6 +40,13 @@
this, "directory_traversal_ignore_paths", temporaryFolder);
workspace.setUp();
+ // Write a recursive symlink. We could store this in version control, but `ant lint` emits a
+ // warning about the recursive symlink.
+ Files.createDirectories(workspace.resolve(java.nio.file.Paths.get("loop/1")));
+ Files.createSymbolicLink(
+ workspace.resolve(java.nio.file.Paths.get("loop/1/upwards")),
+ java.nio.file.Paths.get("../"));
+
// The workspace contains the following:
//
// | path