summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--test/syscalls/build_defs.bzl15
-rw-r--r--test/syscalls/syscall_test_runner.go16
2 files changed, 18 insertions, 13 deletions
diff --git a/test/syscalls/build_defs.bzl b/test/syscalls/build_defs.bzl
index 6bcb7adf7..e8a66a31a 100644
--- a/test/syscalls/build_defs.bzl
+++ b/test/syscalls/build_defs.bzl
@@ -6,18 +6,22 @@ def syscall_test(test, shard_count = 5, size = "small", use_tmpfs = False):
_syscall_test(test, shard_count, size, "native", False)
_syscall_test(test, shard_count, size, "kvm", use_tmpfs)
_syscall_test(test, shard_count, size, "ptrace", use_tmpfs)
+ if not use_tmpfs:
+ _syscall_test(test, shard_count, size, "ptrace", use_tmpfs, "shared")
-def _syscall_test(test, shard_count, size, platform, use_tmpfs):
+def _syscall_test(test, shard_count, size, platform, use_tmpfs, file_access = "exclusive"):
test_name = test.split(":")[1]
# Prepend "runsc" to non-native platform names.
full_platform = platform if platform == "native" else "runsc_" + platform
name = test_name + "_" + full_platform
+ if file_access == "shared":
+ name += "_shared"
- # Add the full_platform in a tag to make it easier to run all the tests on
- # a specific platform.
- tags = [full_platform]
+ # Add the full_platform and file access in a tag to make it easier to run
+ # all the tests on a specific flavor. Use --test_tag_filters=ptrace,file_shared.
+ tags = [full_platform, "file_" + file_access]
# Add tag to prevent the tests from running in a Bazel sandbox.
# TODO: Make the tests run without this tag.
@@ -40,8 +44,7 @@ def _syscall_test(test, shard_count, size, platform, use_tmpfs):
"--test-name=" + test_name,
"--platform=" + platform,
"--use-tmpfs=" + str(use_tmpfs),
- "--debug=false",
- "--strace=false",
+ "--file-access=" + file_access,
"--parallel=true",
],
size = size,
diff --git a/test/syscalls/syscall_test_runner.go b/test/syscalls/syscall_test_runner.go
index e1fba637c..b4f629059 100644
--- a/test/syscalls/syscall_test_runner.go
+++ b/test/syscalls/syscall_test_runner.go
@@ -41,13 +41,14 @@ import (
const testDir = "test/syscalls/linux"
var (
- testName = flag.String("test-name", "", "name of test binary to run")
- debug = flag.Bool("debug", false, "enable debug logs")
- strace = flag.Bool("strace", false, "enable strace logs")
- platform = flag.String("platform", "ptrace", "platform to run on")
- useTmpfs = flag.Bool("use-tmpfs", false, "mounts tmpfs for /tmp")
- parallel = flag.Bool("parallel", false, "run tests in parallel")
- runscPath = flag.String("runsc", "", "path to runsc binary")
+ testName = flag.String("test-name", "", "name of test binary to run")
+ debug = flag.Bool("debug", false, "enable debug logs")
+ strace = flag.Bool("strace", false, "enable strace logs")
+ platform = flag.String("platform", "ptrace", "platform to run on")
+ useTmpfs = flag.Bool("use-tmpfs", false, "mounts tmpfs for /tmp")
+ fileAccess = flag.String("file-access", "exclusive", "mounts root in exclusive or shared mode")
+ parallel = flag.Bool("parallel", false, "run tests in parallel")
+ runscPath = flag.String("runsc", "", "path to runsc binary")
)
// runTestCaseNative runs the test case directly on the host machine.
@@ -158,6 +159,7 @@ func runTestCaseRunsc(testBin string, tc gtest.TestCase, t *testing.T) {
args := []string{
"-platform", *platform,
"-root", rootDir,
+ "-file-access", *fileAccess,
"--network=none",
"-log-format=text",
"-TESTONLY-unsafe-nonroot=true",