aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/BUILD
diff options
context:
space:
mode:
authorGravatar jmmv <jmmv@google.com>2018-03-08 10:02:54 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-08 10:05:09 -0800
commit55ccf58f9da9847269a42c15e05317aab993d78c (patch)
treedb2dd738554c7b395da04fde33112ee4a116c680 /src/test/java/com/google/devtools/build/lib/BUILD
parent2838dd9f7f8556247f480b1e2ce0ced0e349e474 (diff)
Add an interface to interact with sandboxfs.
The new SandboxfsProcess interface allows interacting with sandboxfs. There are two implementations: RealSandboxfsProcess, which spawns the sandboxfs binary, and FakeSandboxfsProcess, which mimics what sandboxfs does but using symlinks and is intended for testing purposes only. The RealSandboxfsProcess implementation works but still carries many TODOs. The most "painful" one may be that the test requires manual invocation because we do not yet have an easy way to integrate with sandboxfs. That will be solved later on; for now this is sufficient for initial testing. RELNOTES: None. PiperOrigin-RevId: 188347393
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/BUILD')
-rw-r--r--src/test/java/com/google/devtools/build/lib/BUILD52
1 files changed, 47 insertions, 5 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index 9e871c9298..a11f48ac1a 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -1226,34 +1226,76 @@ java_test(
],
)
+java_library(
+ name = "sandboxfs-base-tests",
+ testonly = 1,
+ srcs = ["sandbox/BaseSandboxfsProcessTest.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/sandbox",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/test/java/com/google/devtools/build/lib:testutil",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
java_test(
name = "sandbox-tests",
- srcs = glob(["sandbox/*.java"]),
+ srcs = glob(
+ ["sandbox/*.java"],
+ exclude = [
+ "sandbox/BaseSandboxfsProcessTest.java",
+ "sandbox/RealSandboxfsProcessTest.java",
+ ],
+ ),
data = [":embedded_scripts"],
local = 1,
tags = ["no_windows"],
test_class = "com.google.devtools.build.lib.AllTests",
deps = [
- ":actions_testutil",
":analysis_testutil",
":foundations_testutil",
":guava_junit_truth",
+ ":sandboxfs-base-tests",
":testutil",
"//src/main/java/com/google/devtools/build/lib:bazel-rules",
"//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:events",
"//src/main/java/com/google/devtools/build/lib:os_util",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/sandbox",
- "//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs",
"//src/main/java/com/google/devtools/common/options",
],
)
java_test(
+ name = "sandboxfs-integration-tests",
+ srcs = ["sandbox/RealSandboxfsProcessTest.java"],
+ data = [":embedded_scripts"],
+ local = 1,
+ tags = [
+ # On macOS:
+ # sudo sysctl -w vfs.generic.osxfuse.tunables.allow_other=1
+ # Test requires:
+ # --test_env=SANDBOXFS=/path/to/sandboxfs
+ "manual",
+ "no-sandbox",
+ "no_windows",
+ ],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ deps = [
+ ":sandboxfs-base-tests",
+ ":test_runner",
+ "//src/main/java/com/google/devtools/build/lib/sandbox",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//third_party:junit4",
+ ],
+)
+
+java_test(
name = "standalone-tests",
srcs = glob(["standalone/*.java"]),
data = [":embedded_scripts"],