summaryrefslogtreecommitdiffhomepage
path: root/test/runner/defs.bzl
diff options
context:
space:
mode:
authorBoyuan He & Ridwan Sharif <heboyuan@google.com>2020-08-26 15:26:46 -0400
committerAndrei Vagin <avagin@gmail.com>2020-09-16 12:19:30 -0700
commitcb9a2a1ad4f568a21382e949a592b621c11b5a2c (patch)
tree1b3a614ab27d6f22a7364113330ddde1fa21f34c /test/runner/defs.bzl
parent449986264f9277c4c6174fc82294fc6644923e8b (diff)
fuse: add benchmarking support for FUSE
This change adds the following: - Add support for containerizing syscall tests for FUSE - Mount tmpfs in the container so we can run benchmarks against it - Run the server in a background process - benchmarks for fuse syscall Co-authored-by: Ridwan Sharif <ridwanmsharif@google.com>
Diffstat (limited to 'test/runner/defs.bzl')
-rw-r--r--test/runner/defs.bzl28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/runner/defs.bzl b/test/runner/defs.bzl
index 032ebd04e..9dc955c77 100644
--- a/test/runner/defs.bzl
+++ b/test/runner/defs.bzl
@@ -57,6 +57,8 @@ def _syscall_test(
platform,
use_tmpfs,
tags,
+ use_image = "",
+ setup_command = "",
network = "none",
file_access = "exclusive",
overlay = False,
@@ -79,6 +81,8 @@ def _syscall_test(
name += "_fuse"
if network != "none":
name += "_" + network + "net"
+ if use_image != "":
+ name += "_container"
# Apply all tags.
if tags == None:
@@ -107,6 +111,8 @@ def _syscall_test(
"--platform=" + platform,
"--network=" + network,
"--use-tmpfs=" + str(use_tmpfs),
+ "--use-image=" + use_image,
+ "--setup-command=" + setup_command,
"--file-access=" + file_access,
"--overlay=" + str(overlay),
"--add-uds-tree=" + str(add_uds_tree),
@@ -132,6 +138,8 @@ def syscall_test(
shard_count = 5,
size = "small",
use_tmpfs = False,
+ use_image = "",
+ setup_command = "",
add_overlay = False,
add_uds_tree = False,
add_hostinet = False,
@@ -146,6 +154,8 @@ def syscall_test(
shard_count: shards for defined tests.
size: the defined test size.
use_tmpfs: use tmpfs in the defined tests.
+ use_image: use specified docker image in the defined tests.
+ setup_command: command to set up the docker container. Should be used when ise_image is.
add_overlay: add an overlay test.
add_uds_tree: add a UDS test.
add_hostinet: add a hostinet test.
@@ -178,8 +188,26 @@ def syscall_test(
vfs2 = True,
fuse = fuse,
)
+
+ if use_image != "":
+ # Run the test in the container specified.
+ _syscall_test(
+ test = test,
+ shard_count = shard_count,
+ size = size,
+ platform = default_platform,
+ use_tmpfs = use_tmpfs,
+ use_image = use_image,
+ setup_command = setup_command,
+ add_uds_tree = add_uds_tree,
+ tags = platforms[default_platform] + vfs2_tags,
+ vfs2 = True,
+ fuse = True,
+ )
+
if fuse:
# Only generate *_vfs2_fuse target if fuse parameter is enabled.
+ # The rest of the targets don't support FUSE as of yet.
return
_syscall_test(