mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Enable VFS2 to runsc syscall tests
Updates #1487 PiperOrigin-RevId: 314271995
This commit is contained in:
committed by
gVisor bot
parent
ca5912d13c
commit
4b5eae39f2
+44
-5
@@ -60,7 +60,8 @@ def _syscall_test(
|
||||
network = "none",
|
||||
file_access = "exclusive",
|
||||
overlay = False,
|
||||
add_uds_tree = False):
|
||||
add_uds_tree = False,
|
||||
vfs2 = False):
|
||||
# Prepend "runsc" to non-native platform names.
|
||||
full_platform = platform if platform == "native" else "runsc_" + platform
|
||||
|
||||
@@ -70,6 +71,8 @@ def _syscall_test(
|
||||
name += "_shared"
|
||||
if overlay:
|
||||
name += "_overlay"
|
||||
if vfs2:
|
||||
name += "_vfs2"
|
||||
if network != "none":
|
||||
name += "_" + network + "net"
|
||||
|
||||
@@ -102,6 +105,7 @@ def _syscall_test(
|
||||
"--file-access=" + file_access,
|
||||
"--overlay=" + str(overlay),
|
||||
"--add-uds-tree=" + str(add_uds_tree),
|
||||
"--vfs2=" + str(vfs2),
|
||||
]
|
||||
|
||||
# Call the rule above.
|
||||
@@ -123,6 +127,7 @@ def syscall_test(
|
||||
add_overlay = False,
|
||||
add_uds_tree = False,
|
||||
add_hostinet = False,
|
||||
vfs2 = False,
|
||||
tags = None):
|
||||
"""syscall_test is a macro that will create targets for all platforms.
|
||||
|
||||
@@ -160,6 +165,29 @@ def syscall_test(
|
||||
tags = platform_tags + tags,
|
||||
)
|
||||
|
||||
vfs2_tags = list(tags)
|
||||
if vfs2:
|
||||
# Add tag to easily run VFS2 tests with --test_tag_filters=vfs2
|
||||
vfs2_tags.append("vfs2")
|
||||
|
||||
else:
|
||||
# Don't automatically run tests tests not yet passing.
|
||||
vfs2_tags.append("manual")
|
||||
vfs2_tags.append("noguitar")
|
||||
vfs2_tags.append("notap")
|
||||
|
||||
_syscall_test(
|
||||
test = test,
|
||||
shard_count = shard_count,
|
||||
size = size,
|
||||
platform = default_platform,
|
||||
use_tmpfs = use_tmpfs,
|
||||
add_uds_tree = add_uds_tree,
|
||||
tags = platforms[default_platform] + vfs2_tags,
|
||||
vfs2 = True,
|
||||
)
|
||||
|
||||
# TODO(gvisor.dev/issue/1487): Enable VFS2 overlay tests.
|
||||
if add_overlay:
|
||||
_syscall_test(
|
||||
test = test,
|
||||
@@ -172,6 +200,18 @@ def syscall_test(
|
||||
overlay = True,
|
||||
)
|
||||
|
||||
if add_hostinet:
|
||||
_syscall_test(
|
||||
test = test,
|
||||
shard_count = shard_count,
|
||||
size = size,
|
||||
platform = default_platform,
|
||||
use_tmpfs = use_tmpfs,
|
||||
network = "host",
|
||||
add_uds_tree = add_uds_tree,
|
||||
tags = platforms[default_platform] + tags,
|
||||
)
|
||||
|
||||
if not use_tmpfs:
|
||||
# Also test shared gofer access.
|
||||
_syscall_test(
|
||||
@@ -184,15 +224,14 @@ def syscall_test(
|
||||
tags = platforms[default_platform] + tags,
|
||||
file_access = "shared",
|
||||
)
|
||||
|
||||
if add_hostinet:
|
||||
_syscall_test(
|
||||
test = test,
|
||||
shard_count = shard_count,
|
||||
size = size,
|
||||
platform = default_platform,
|
||||
use_tmpfs = use_tmpfs,
|
||||
network = "host",
|
||||
add_uds_tree = add_uds_tree,
|
||||
tags = platforms[default_platform] + tags,
|
||||
tags = platforms[default_platform] + vfs2_tags,
|
||||
file_access = "shared",
|
||||
vfs2 = True,
|
||||
)
|
||||
|
||||
@@ -46,6 +46,7 @@ var (
|
||||
useTmpfs = flag.Bool("use-tmpfs", false, "mounts tmpfs for /tmp")
|
||||
fileAccess = flag.String("file-access", "exclusive", "mounts root in exclusive or shared mode")
|
||||
overlay = flag.Bool("overlay", false, "wrap filesystem mounts with writable tmpfs overlay")
|
||||
vfs2 = flag.Bool("vfs2", false, "enable VFS2")
|
||||
parallel = flag.Bool("parallel", false, "run tests in parallel")
|
||||
runscPath = flag.String("runsc", "", "path to runsc binary")
|
||||
|
||||
@@ -146,6 +147,9 @@ func runRunsc(tc gtest.TestCase, spec *specs.Spec) error {
|
||||
if *overlay {
|
||||
args = append(args, "-overlay")
|
||||
}
|
||||
if *vfs2 {
|
||||
args = append(args, "-vfs2")
|
||||
}
|
||||
if *debug {
|
||||
args = append(args, "-debug", "-log-packets=true")
|
||||
}
|
||||
|
||||
+406
-88
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user