Update ltp demo with verified syscalls test cases
Signed-off-by: Zheng, Qi <huaiqing.zq@antgroup.com>
This commit is contained in:
parent
e24a9944e3
commit
4991aaa516
@ -1,261 +0,0 @@
|
||||
From 93d9429fa9b0b3856258422894697621c5c093b9 Mon Sep 17 00:00:00 2001
|
||||
From: "Zheng, Qi" <huaiqing.zq@antgroup.com>
|
||||
Date: Tue, 19 Oct 2021 17:17:03 +0800
|
||||
Subject: [PATCH] Ignore some test cases which crash the Occlum
|
||||
|
||||
Signed-off-by: Zheng, Qi <huaiqing.zq@antgroup.com>
|
||||
---
|
||||
runtest/syscalls | 80 ++++++++++++++++++++++++------------------------
|
||||
1 file changed, 40 insertions(+), 40 deletions(-)
|
||||
|
||||
diff --git a/runtest/syscalls b/runtest/syscalls
|
||||
index 29d7752c7..0d2f9dc67 100644
|
||||
--- a/runtest/syscalls
|
||||
+++ b/runtest/syscalls
|
||||
@@ -93,7 +93,7 @@ clock_nanosleep02 clock_nanosleep02
|
||||
clock_nanosleep03 clock_nanosleep03
|
||||
clock_nanosleep04 clock_nanosleep04
|
||||
|
||||
-clock_gettime01 clock_gettime01
|
||||
+#clock_gettime01 clock_gettime01
|
||||
clock_gettime02 clock_gettime02
|
||||
clock_gettime03 clock_gettime03
|
||||
clock_gettime04 clock_gettime04
|
||||
@@ -124,7 +124,7 @@ close_range02 close_range02
|
||||
|
||||
confstr01 confstr01
|
||||
|
||||
-connect01 connect01
|
||||
+#connect01 connect01
|
||||
connect02 connect02
|
||||
|
||||
creat01 creat01
|
||||
@@ -148,14 +148,14 @@ dup05 dup05
|
||||
dup06 dup06
|
||||
dup07 dup07
|
||||
|
||||
-dup201 dup201
|
||||
+#dup201 dup201
|
||||
dup202 dup202
|
||||
dup203 dup203
|
||||
dup204 dup204
|
||||
dup205 dup205
|
||||
|
||||
dup3_01 dup3_01
|
||||
-dup3_02 dup3_02
|
||||
+#dup3_02 dup3_02
|
||||
|
||||
epoll_create01 epoll_create01
|
||||
epoll_create02 epoll_create02
|
||||
@@ -165,7 +165,7 @@ epoll01 epoll-ltp
|
||||
epoll_ctl01 epoll_ctl01
|
||||
epoll_ctl02 epoll_ctl02
|
||||
epoll_ctl03 epoll_ctl03
|
||||
-epoll_ctl04 epoll_ctl04
|
||||
+#epoll_ctl04 epoll_ctl04
|
||||
epoll_ctl05 epoll_ctl05
|
||||
epoll_wait01 epoll_wait01
|
||||
epoll_wait02 epoll_wait02
|
||||
@@ -407,8 +407,8 @@ fsync04 fsync04
|
||||
|
||||
ftruncate01 ftruncate01
|
||||
ftruncate01_64 ftruncate01_64
|
||||
-ftruncate03 ftruncate03
|
||||
-ftruncate03_64 ftruncate03_64
|
||||
+#ftruncate03 ftruncate03
|
||||
+#ftruncate03_64 ftruncate03_64
|
||||
ftruncate04 ftruncate04
|
||||
ftruncate04_64 ftruncate04_64
|
||||
|
||||
@@ -486,17 +486,17 @@ getrandom04 getrandom04
|
||||
|
||||
getresgid01 getresgid01
|
||||
getresgid01_16 getresgid01_16
|
||||
-getresgid02 getresgid02
|
||||
-getresgid02_16 getresgid02_16
|
||||
-getresgid03 getresgid03
|
||||
-getresgid03_16 getresgid03_16
|
||||
+#getresgid02 getresgid02
|
||||
+#getresgid02_16 getresgid02_16
|
||||
+#getresgid03 getresgid03
|
||||
+#getresgid03_16 getresgid03_16
|
||||
|
||||
getresuid01 getresuid01
|
||||
getresuid01_16 getresuid01_16
|
||||
-getresuid02 getresuid02
|
||||
-getresuid02_16 getresuid02_16
|
||||
-getresuid03 getresuid03
|
||||
-getresuid03_16 getresuid03_16
|
||||
+#getresuid02 getresuid02
|
||||
+#getresuid02_16 getresuid02_16
|
||||
+#getresuid03 getresuid03
|
||||
+#getresuid03_16 getresuid03_16
|
||||
|
||||
getrlimit01 getrlimit01
|
||||
getrlimit02 getrlimit02
|
||||
@@ -522,7 +522,7 @@ getsockopt02 getsockopt02
|
||||
gettid01 gettid01
|
||||
|
||||
gettimeofday01 gettimeofday01
|
||||
-gettimeofday02 gettimeofday02
|
||||
+#gettimeofday02 gettimeofday02
|
||||
|
||||
getuid01 getuid01
|
||||
getuid01_16 getuid01_16
|
||||
@@ -651,7 +651,7 @@ kill06 kill06
|
||||
kill07 kill07
|
||||
kill08 kill08
|
||||
kill09 kill09
|
||||
-kill10 kill10
|
||||
+#kill10 kill10
|
||||
kill11 kill11
|
||||
kill12 kill12
|
||||
kill13 kill13
|
||||
@@ -742,13 +742,13 @@ mkdirat01 mkdirat01
|
||||
mkdirat02 mkdirat02
|
||||
|
||||
mknod01 mknod01
|
||||
-mknod02 mknod02
|
||||
-mknod03 mknod03
|
||||
-mknod04 mknod04
|
||||
+#mknod02 mknod02
|
||||
+#mknod03 mknod03
|
||||
+#mknod04 mknod04
|
||||
mknod05 mknod05
|
||||
mknod06 mknod06
|
||||
mknod07 mknod07
|
||||
-mknod08 mknod08
|
||||
+#mknod08 mknod08
|
||||
mknod09 mknod09
|
||||
|
||||
#mknodat test cases
|
||||
@@ -767,11 +767,11 @@ mlock203 mlock203
|
||||
qmm01 mmap001 -m 1
|
||||
mmap01 mmap01
|
||||
mmap02 mmap02
|
||||
-mmap03 mmap03
|
||||
+#mmap03 mmap03
|
||||
mmap04 mmap04
|
||||
mmap05 mmap05
|
||||
-mmap06 mmap06
|
||||
-mmap07 mmap07
|
||||
+#mmap06 mmap06
|
||||
+#mmap07 mmap07
|
||||
mmap08 mmap08
|
||||
mmap09 mmap09
|
||||
mmap12 mmap12
|
||||
@@ -961,7 +961,7 @@ pipe03 pipe03
|
||||
pipe04 pipe04
|
||||
pipe05 pipe05
|
||||
pipe06 pipe06
|
||||
-pipe07 pipe07
|
||||
+#pipe07 pipe07
|
||||
pipe08 pipe08
|
||||
pipe09 pipe09
|
||||
pipe10 pipe10
|
||||
@@ -1073,7 +1073,7 @@ quotactl06 quotactl06
|
||||
quotactl07 quotactl07
|
||||
|
||||
read01 read01
|
||||
-read02 read02
|
||||
+#read02 read02
|
||||
read03 read03
|
||||
read04 read04
|
||||
|
||||
@@ -1099,9 +1099,9 @@ realpath01 realpath01
|
||||
reboot01 reboot01
|
||||
reboot02 reboot02
|
||||
|
||||
-recv01 recv01
|
||||
+#recv01 recv01
|
||||
|
||||
-recvfrom01 recvfrom01
|
||||
+#recvfrom01 recvfrom01
|
||||
|
||||
recvmsg01 recvmsg01
|
||||
recvmsg02 recvmsg02
|
||||
@@ -1121,7 +1121,7 @@ rename02 rename02
|
||||
rename03 rename03
|
||||
rename04 rename04
|
||||
rename05 rename05
|
||||
-rename06 rename06
|
||||
+#rename06 rename06
|
||||
rename07 rename07
|
||||
rename08 rename08
|
||||
rename09 rename09
|
||||
@@ -1222,7 +1222,7 @@ semop01 semop01
|
||||
semop02 semop02
|
||||
semop03 semop03
|
||||
|
||||
-send01 send01
|
||||
+#send01 send01
|
||||
send02 send02
|
||||
|
||||
sendfile02 sendfile02
|
||||
@@ -1250,7 +1250,7 @@ sendmsg03 sendmsg03
|
||||
sendmmsg01 sendmmsg01
|
||||
sendmmsg02 sendmmsg02
|
||||
|
||||
-sendto01 sendto01
|
||||
+#sendto01 sendto01
|
||||
sendto02 sendto02
|
||||
sendto03 sendto03
|
||||
|
||||
@@ -1437,7 +1437,7 @@ signal02 signal02
|
||||
signal03 signal03
|
||||
signal04 signal04
|
||||
signal05 signal05
|
||||
-signal06 signal06
|
||||
+#signal06 signal06
|
||||
|
||||
signalfd01 signalfd01
|
||||
|
||||
@@ -1516,7 +1516,7 @@ switch01 endian_switch01
|
||||
|
||||
symlink01 symlink01
|
||||
symlink02 symlink02
|
||||
-symlink03 symlink03
|
||||
+#symlink03 symlink03
|
||||
symlink04 symlink04
|
||||
symlink05 symlink05
|
||||
|
||||
@@ -1696,14 +1696,14 @@ waitid02 waitid02
|
||||
|
||||
write01 write01
|
||||
write02 write02
|
||||
-write03 write03
|
||||
+#write03 write03
|
||||
write04 write04
|
||||
-write05 write05
|
||||
+#write05 write05
|
||||
|
||||
-writev01 writev01
|
||||
-writev02 writev02
|
||||
+#writev01 writev01
|
||||
+#writev02 writev02
|
||||
writev03 writev03
|
||||
-writev05 writev05
|
||||
+#writev05 writev05
|
||||
writev06 writev06
|
||||
writev07 writev07
|
||||
|
||||
@@ -1714,14 +1714,14 @@ futex_cmp_requeue01 futex_cmp_requeue01
|
||||
futex_cmp_requeue02 futex_cmp_requeue02
|
||||
futex_wait01 futex_wait01
|
||||
futex_wait02 futex_wait02
|
||||
-futex_wait03 futex_wait03
|
||||
+#futex_wait03 futex_wait03
|
||||
futex_wait04 futex_wait04
|
||||
futex_wait05 futex_wait05
|
||||
futex_wake01 futex_wake01
|
||||
futex_wake02 futex_wake02
|
||||
futex_wake03 futex_wake03
|
||||
futex_wake04 futex_wake04
|
||||
-futex_wait_bitset01 futex_wait_bitset01
|
||||
+#futex_wait_bitset01 futex_wait_bitset01
|
||||
|
||||
memfd_create01 memfd_create01
|
||||
memfd_create02 memfd_create02
|
||||
--
|
||||
2.25.1
|
||||
|
@ -13,12 +13,13 @@ And a light weight [`test script`](./run-ltp.sh) running in Occlum is provided t
|
||||
./dl_and_build_ltp.sh
|
||||
```
|
||||
|
||||
Two patches are applied to make it work on Occlum.
|
||||
Many test cases are failed due to multiple reasons, such as syscall is not implemented or not completely implemented in Occlum.
|
||||
Some test cases are failed due to multiple reasons, such as syscall is not implemented or not completely implemented in Occlum.
|
||||
|
||||
* Some test cases may make the Occlum crash or hang (Only checked the cases in syscalls), they are ignored by applying the [`patch`](./0002-Ignore-some-test-cases-which-crash-the-Occlum.patch)
|
||||
* Some default LTP test cases may make the Occlum crash or hang (Only checked the cases in syscalls for now).
|
||||
* Occlum runable syscall test cases are defined in [`syscalls-occlum`](./syscalls-occlum). It may be updated with Occlum development.
|
||||
|
||||
It may be updated with Occlum development.
|
||||
The original [`syscalls`] test cases could be found in the built demo `ltp_instance/image/opt/ltp/runtest/syscalls`.
|
||||
Panic/Sefault/hang testcases could be listed by a simple diff for these two files.
|
||||
|
||||
## Prepare the Occlum instance for LTP demo
|
||||
```
|
||||
@ -35,10 +36,10 @@ The script `run-ltp.sh` supports two optional arguments as below.
|
||||
-f CMDFILES Execute user defined list of testcases
|
||||
-s PATTERN Only run test cases which match PATTERN.
|
||||
|
||||
example: run-ltp.sh -f syscalls -s timerfd
|
||||
example: run-ltp.sh -f syscalls-occlum -s timerfd
|
||||
```
|
||||
|
||||
If no options provided, all the test cases in syscalls will be run one by one.
|
||||
If no options provided, all the test cases in default LTP syscalls will be run one by one.
|
||||
|
||||
Note:
|
||||
|
||||
|
@ -13,7 +13,6 @@ git clone -b $TAG https://github.com/linux-test-project/ltp.git
|
||||
pushd ltp
|
||||
# Apply patch to support running ltp in Occlum
|
||||
git apply ../0001-Make-it-work-on-Occlum.patch
|
||||
git apply ../0002-Ignore-some-test-cases-which-crash-the-Occlum.patch
|
||||
make autotools
|
||||
./configure --prefix=${LTP_INSTALL_DIR}
|
||||
make -j && make install
|
||||
|
@ -18,6 +18,11 @@ targets:
|
||||
copy:
|
||||
- files:
|
||||
- ../run-ltp.sh
|
||||
# copy syscalls demo cases for Occlum
|
||||
- target: /opt/ltp/runtest
|
||||
copy:
|
||||
- files:
|
||||
- ../syscalls-occlum
|
||||
- target: /bin
|
||||
# build a symlink: ln -s $linksrc $target/linkname
|
||||
createlinks:
|
||||
|
@ -106,4 +106,5 @@ main()
|
||||
}
|
||||
|
||||
setup
|
||||
main "$@"
|
||||
main "$@"
|
||||
exit 0
|
||||
|
1749
demos/linux-ltp/syscalls-occlum
Normal file
1749
demos/linux-ltp/syscalls-occlum
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user