diff options
author | Andrei Vagin <avagin@google.com> | 2019-02-11 12:42:20 -0800 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2019-02-11 12:43:38 -0800 |
commit | ecce96bab56de3aedd7d5cf47a6981f0f56acba1 (patch) | |
tree | 67dc95abad53f0fbda9a4865a21457f034472cb5 /test | |
parent | efe5e737d7da48e6f99a1d9a53fe04b6d21b7511 (diff) |
gvisor: Run syscall tests in kokoro on the rbe cluster
PiperOrigin-RevId: 233458853
Change-Id: I92c734b8075aa31e040fe7b4770bcf608e271e7a
Diffstat (limited to 'test')
-rw-r--r-- | test/BUILD | 52 | ||||
-rw-r--r-- | test/syscalls/BUILD | 34 | ||||
-rw-r--r-- | test/syscalls/build_defs.bzl | 2 | ||||
-rwxr-xr-x | test/syscalls/syscall_test_runner.sh | 11 |
4 files changed, 79 insertions, 20 deletions
diff --git a/test/BUILD b/test/BUILD new file mode 100644 index 000000000..2beb8f7fb --- /dev/null +++ b/test/BUILD @@ -0,0 +1,52 @@ +# gVisor is a general-purpose sandbox. + +package(licenses = ["notice"]) + +exports_files(["LICENSE"]) + +# We need to define a bazel platform and toolchain to specify dockerPrivileged +# and dockerRunAsRoot options, they are required to run tests on the RBE +# cluster in Kokoro. +alias( + name = "rbe_ubuntu1604", + actual = ":rbe_ubuntu1604_r346485", +) + +platform( + name = "rbe_ubuntu1604_r346485", + constraint_values = [ + "@bazel_tools//platforms:x86_64", + "@bazel_tools//platforms:linux", + "@bazel_tools//tools/cpp:clang", + "@bazel_toolchains//constraints:xenial", + "@bazel_toolchains//constraints/sanitizers:support_msan", + ], + remote_execution_properties = """ + properties: { + name: "container-image" + value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:f3120a030a19d67626ababdac79cc787e699a1aa924081431285118f87e7b375" + } + properties: { + name: "dockerAddCapabilities" + value: "SYS_ADMIN" + } + properties: { + name: "dockerPrivileged" + value: "true" + } + properties: { + name: "dockerRunAsRoot" + value: "true" + } + """, +) + +toolchain( + name = "cc-toolchain-clang-x86_64-default", + exec_compatible_with = [ + ], + target_compatible_with = [ + ], + toolchain = "@bazel_toolchains//configs/ubuntu16_04_clang/1.1/bazel_0.20.0/default:cc-compiler-k8", + toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", +) diff --git a/test/syscalls/BUILD b/test/syscalls/BUILD index a5abf8013..ca69f3309 100644 --- a/test/syscalls/BUILD +++ b/test/syscalls/BUILD @@ -9,7 +9,7 @@ syscall_test(test = "//test/syscalls/linux:accept_bind_stream_test") syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:accept_bind_test", ) @@ -107,7 +107,7 @@ syscall_test(test = "//test/syscalls/linux:fsync_test") syscall_test( size = "medium", - shard_count = 20, + shard_count = 5, test = "//test/syscalls/linux:futex_test", ) @@ -162,7 +162,7 @@ syscall_test( syscall_test( size = "medium", - shard_count = 10, + shard_count = 5, test = "//test/syscalls/linux:mmap_test", ) @@ -296,7 +296,7 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_abstract_test", ) @@ -307,7 +307,7 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_domain_test", ) @@ -318,7 +318,7 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_filesystem_test", ) @@ -329,7 +329,7 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_ip_tcp_generic_loopback_test", ) @@ -340,13 +340,13 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_ip_tcp_loopback_test", ) syscall_test( size = "medium", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_ip_tcp_udp_generic_loopback_test", ) @@ -357,7 +357,7 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_ip_udp_loopback_test", ) @@ -397,7 +397,7 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_unix_abstract_test", ) @@ -414,13 +414,13 @@ syscall_test( syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_unix_filesystem_test", ) syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_unix_pair_test", ) @@ -452,13 +452,13 @@ syscall_test( syscall_test( size = "medium", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_unix_unbound_seqpacket_test", ) syscall_test( size = "large", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:socket_unix_unbound_stream_test", ) @@ -484,7 +484,7 @@ syscall_test(test = "//test/syscalls/linux:sysret_test") syscall_test( size = "medium", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:tcp_socket_test", ) @@ -504,7 +504,7 @@ syscall_test(test = "//test/syscalls/linux:udp_bind_test") syscall_test( size = "medium", - shard_count = 50, + shard_count = 10, test = "//test/syscalls/linux:udp_socket_test", ) diff --git a/test/syscalls/build_defs.bzl b/test/syscalls/build_defs.bzl index e8a66a31a..b9f8c6503 100644 --- a/test/syscalls/build_defs.bzl +++ b/test/syscalls/build_defs.bzl @@ -2,7 +2,7 @@ # syscall_test is a macro that will create targets to run the given test target # on the host (native) and runsc. -def syscall_test(test, shard_count = 5, size = "small", use_tmpfs = False): +def syscall_test(test, shard_count = 1, 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) diff --git a/test/syscalls/syscall_test_runner.sh b/test/syscalls/syscall_test_runner.sh index 4f3790137..87d62786b 100755 --- a/test/syscalls/syscall_test_runner.sh +++ b/test/syscalls/syscall_test_runner.sh @@ -18,10 +18,17 @@ # It exists so that we can build the syscall test runner once, and use it for # all syscall tests, rather than build it for each test run. -set -euf -o pipefail +set -euf -x -o pipefail + +echo -- "$@" + +if [[ -n "${TEST_UNDECLARED_OUTPUTS_DIR}" ]]; then + mkdir -p "${TEST_UNDECLARED_OUTPUTS_DIR}" + chmod a+rwx "${TEST_UNDECLARED_OUTPUTS_DIR}" +fi # Get location of syscall_test_runner binary. -readonly runner=$(find ${TEST_SRCDIR} -name syscall_test_runner) +readonly runner=$(find "${TEST_SRCDIR}" -name syscall_test_runner) # Pass the arguments of this script directly to the runner. exec "${runner}" "$@" |