Enable some fs system call test cases

This commit is contained in:
LI Qing
2023-11-28 12:17:42 +08:00
committed by Tate, Hongliang Tian
parent 5bc1312a91
commit ddca4fb2fc
25 changed files with 197 additions and 69 deletions

View File

@ -1,4 +1,7 @@
TESTS ?= open_test read_test statfs_test chmod_test pty_test uidgid_test vdso_clock_gettime_test
TESTS ?= chmod_test fsync_test getdents_test link_test lseek_test mkdir_test \
open_create_test open_test pty_test read_test rename_test stat_test \
statfs_test symlink_test sync_test uidgid_test unlink_test \
vdso_clock_gettime_test write_test
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
CUR_DIR := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
@ -46,4 +49,4 @@ $(TARGET_DIR): $(RUN_BASH) $(BLOCK_LIST)
@cp -f $(RUN_BASH) $@
clean:
@rm -rf $(TARGET_DIR)
@rm -rf $(TARGET_DIR)

View File

@ -0,0 +1,11 @@
GetdentsTest/0.VerifyEntries
GetdentsTest/0.VerifyPadding
GetdentsTest/0.SmallDir
GetdentsTest/0.LargeDir
GetdentsTest/0.PartialBuffer
GetdentsTest/0.ProcSelfFd
GetdentsTest/0.NotDir
GetdentsTest/0.SeekResetsCursor
GetdentsTest/0.Issue128ProcSeekEnd
GetdentsTest/1.PartialBuffer
GetdentsTest/1.ProcSelfFd

View File

@ -0,0 +1 @@
LinkTest.PermissionDenied

View File

@ -0,0 +1,6 @@
LseekTest.Overflow
LseekTest.ProcFile
LseekTest.SysDir
LseekTest.SeekCurrentDir
LseekTest.ProcStatTwice
LseekTest.EtcPasswdDup

View File

@ -0,0 +1 @@
MkdirTest.FailsOnDirWithoutWritePerms

View File

@ -0,0 +1,9 @@
CreateTest.HonorsUmask_NoRandomSave
CreateTest.CreatWithOTrunc
CreateTest.CreatDirWithOTruncAndReadOnly
CreateTest.CreateFailsOnUnpermittedDir
CreateTest.CreateFailsOnDirWithoutWritePerms
CreateTest.ChmodReadToWriteBetweenOpens_NoRandomSave
CreateTest.ChmodWriteToReadBetweenOpens_NoRandomSave
CreateTest.CreateWithReadFlagNotAllowedByMode_NoRandomSave
CreateTest.CreateWithWriteFlagNotAllowedByMode_NoRandomSave

View File

@ -0,0 +1,7 @@
RenameTest.RootToAnything
RenameTest.AnythingToRoot
RenameTest.FailsWithDots
RenameTest.FailsWhenOldParentNotWritable
RenameTest.FailsWhenNewParentNotWritable
RenameTest.OverwriteFailsWhenNewParentNotWritable
RenameTest.FileDoesNotExistWhenNewParentNotExecutable

View File

@ -0,0 +1,4 @@
StatTest.FstatatSymlinkDirWithTrailingSlash
StatTest.FstatatSymlinkDirWithTrailingSlashSameInode
StatTest.LstatSymlinkDir
SimpleStatTest.AnonDeviceAllocatesUniqueInodesAcrossSaveRestore

View File

@ -0,0 +1,7 @@
SymlinkTest.CannotCreateSymlinkInReadOnlyDir
SymlinkTest.PwriteToSymlink
SymlinkTest.SymlinkAtDegradedPermissions_NoRandomSave
SymlinkTest.ReadlinkAtDegradedPermissions_NoRandomSave
SymlinkTest.FollowUpdatesATime
AbsAndRelTarget/ParamSymlinkTest.CreatLinkCreatesTarget/0
AbsAndRelTarget/ParamSymlinkTest.CreatLinkCreatesTarget/1

View File

@ -0,0 +1,3 @@
SyncTest.SyncFileSytem
SyncTest.SyncFromPipe
SyncTest.CannotSyncFileSytemAtBadFd

View File

@ -0,0 +1,4 @@
UnlinkTest.AtDirDegradedPermissions_NoRandomSave
UnlinkTest.ParentDegradedPermissions
UnlinkTest.AtBad
UnlinkTest.TooLongName

View File

@ -0,0 +1,3 @@
WriteTest.WriteNoExceedsRLimit
WriteTest.WriteExceedsRLimit
WriteTest.PwriteNoChangeOffset

View File

@ -1,6 +1,7 @@
#!/bin/sh
SCRIPT_DIR=$(dirname "$0")
TEST_TMP_DIR=${SYSCALL_TEST_DIR:-/tmp}
TEST_BIN_DIR=$SCRIPT_DIR/tests
BLOCKLIST_DIR=$SCRIPT_DIR/blocklists
FAIL_CASES=$SCRIPT_DIR/fail_cases
@ -24,8 +25,11 @@ get_blocklist_subtests(){
run_one_test(){
echo -e "Run Test Case: $1"
# The gvisor test framework utilizes the "TEST_TMPDIR" environment variable to dictate the directory's location.
export TEST_TMPDIR=$TEST_TMP_DIR
ret=0
if [ -f $TEST_BIN_DIR/$1 ]; then
rm -rf $TEST_TMP_DIR/*
get_blocklist_subtests $1
$TEST_BIN_DIR/$1 --gtest_filter=-$BLOCK
ret=$?