diff options
author | jmmv <jmmv@google.com> | 2018-03-08 10:02:54 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-08 10:05:09 -0800 |
commit | 55ccf58f9da9847269a42c15e05317aab993d78c (patch) | |
tree | db2dd738554c7b395da04fde33112ee4a116c680 /src/test/java/com/google/devtools/build/lib/BUILD | |
parent | 2838dd9f7f8556247f480b1e2ce0ced0e349e474 (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/BUILD | 52 |
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"], |