Enable some pipe gvisor tests

This commit is contained in:
Chen Chengjun 2025-10-31 02:32:51 +00:00 committed by Ruihan Li
parent d66dbdd3bc
commit 1ef7a1a11b
5 changed files with 34 additions and 1 deletions

View File

@ -49,10 +49,12 @@ jobs:
# Syscall Test at Ext2 (MicroVM)
- test_id: 'syscall-ext2-microvm'
scheme: 'microvm'
extra_blocklists: 'blocklists.ext2'
syscall_test_workdir: '/ext2'
# Syscall Test at Ext2 (IOMMU) (Debug Build)
- test_id: 'syscall-ext2-iommu-debug'
scheme: 'iommu'
extra_blocklists: 'blocklists.ext2'
syscall_test_workdir: '/ext2'
release: false
# Syscall Test at Exfat (Multiboot2) (without KVM enabled)

View File

@ -30,6 +30,7 @@ TESTS ?= \
msync_test \
open_create_test \
open_test \
pipe_test \
ppoll_test \
prctl_setuid_test \
pread64_test \
@ -93,6 +94,7 @@ INITRAMFS ?= $(CUR_DIR)/../../../build/initramfs
TARGET_DIR := $(INITRAMFS)/opt/gvisor
RUN_BASH := $(CUR_DIR)/run_gvisor_test.sh
BLOCK_LIST := $(CUR_DIR)/blocklists
EXT2_BLOCK_LIST := $(CUR_DIR)/blocklists.ext2
EXFAT_BLOCK_LIST := $(CUR_DIR)/blocklists.exfat
.PHONY: all
@ -116,12 +118,14 @@ $(SRC_DIR):
@cd $@ && git clone -b 20200921.0 https://github.com/asterinas/gvisor.git .
endif
$(TARGET_DIR): $(RUN_BASH) $(BLOCK_LIST) $(EXFAT_BLOCK_LIST)
$(TARGET_DIR): $(RUN_BASH) $(BLOCK_LIST) $(EXT2_BLOCK_LIST) $(EXFAT_BLOCK_LIST)
@rm -rf $@ && mkdir -p $@
@# Prepare tests dir for test binaries
@mkdir $@/tests
@# Copy blocklists
@cp -rf $(BLOCK_LIST) $@
@# Copy ext2 specific blocklists
@cp -rf $(EXT2_BLOCK_LIST) $@
@# Copy exFAT specific blocklists
@cp -rf $(EXFAT_BLOCK_LIST) $@
@# Copy bash script

View File

@ -0,0 +1,2 @@
# TODO: Support pipe file in exfat filesystem.
*

View File

@ -0,0 +1,2 @@
# TODO: Support pipe file in ext2 filesystem.
*

View File

@ -0,0 +1,23 @@
# TODO: Support `fstatfs` syscall for pipe files.
PipeTest.StatFS
# TODO: Support opening pipe files via `/proc/self/fd` path.
Pipes/PipeTest.OpenViaProcSelfFDWithWrites/pipe
# TODO: Deal with more flags in `pipe2` syscall.
Pipe2Test.*
Pipes/PipeTest.*/pipe2blocking
Pipes/PipeTest.*/pipe2nonblocking
# TODO: Support `F_SETPIPE_SZ/F_GETPIPE_SZ` for `fcntl` syscall.
Pipes/PipeTest.*/smallbuffer
Pipes/PipeTest.BlockWriteClosed/*
Pipes/PipeTest.BlockPartialWriteClosed/*
Pipes/PipeTest.Streaming/*
Pipes/PipeTest.SizeChange*
# TODO: Support seek operation on pipe files.
Pipes/PipeTest.Seek/*
Pipes/PipeTest.OffsetCalls/*
# TODO: Support `O_LARGEFILE` flag.
Pipes/PipeTest.Flags/*
# TODO: Support ioctl for pipe files.
Pipes/PipeTest.FionRead/*
# TODO: Support fdinfo in procfs.
Pipes/PipeTest.ProcFDInfoReleasesFile/*