Skip to content

docs: add pipeline documentation#1193

Open
Uk-jake wants to merge 2 commits into
mainfrom
docs/pipeline-document
Open

docs: add pipeline documentation#1193
Uk-jake wants to merge 2 commits into
mainfrom
docs/pipeline-document

Conversation

@Uk-jake

@Uk-jake Uk-jake commented May 13, 2026

Copy link
Copy Markdown
Contributor

This PR adds pipeline documentation for the three core Lind repositories under the Contributing section.

This documentation is based on our existing pipeline settings. I would appreciate your feedback on any parts that might be incorrect or need further clarification. I'll revise it as soon as I hear back from you.

Related Issue

Closes #1111

@github-actions

Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

grate harness

Grate Test Report

MetricValue
Total14
Success14
Failures0
Compile Failures0
Runtime Failures0
Timeout Failures0
Missing Pair Failures0

Cases

TestStatusError TypeOutput
concurrent-request/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS

STDERR:

concurrent-request/race-test_grate.cSuccess
STDOUT:
pass

STDERR:

concurrent-request/thread_race_grate.cSuccess
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS

STDERR:

copy-data-between-cages/cp-stncpy_grate.cSuccess
STDOUT:
[cage] pathname addr=0xfffb6ff9
[cage] pathname='random'
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

copy-data-between-cages/cpdata_grate.cSuccess
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

interposing-calls/fork-with-newret_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Cage] Forked process with PID: 10
[Grate|interpose-fork] PASS

STDERR:

interposing-calls/interpose-exec_grate.cSuccess
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS

STDERR:

interposing-calls/interpose-exit_grate.cSuccess
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...

[Grate|interpose-exit] PASS

STDERR:

interposing-calls/interpose-fork_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS

STDERR:

interposing-calls/interpose-mmap_grate.cSuccess
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS

STDERR:

interposing-calls/interpose-register_grate.cSuccess
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS

STDERR:

multi-register_grate.cSuccess
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS

STDERR:

simple-tests/diff-cage-args_grate.cSuccess
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS

STDERR:

simple-tests/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS

STDERR:

static harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Static Tests
fork_simple.cSuccessNone0.057510s4.404456s
Success
thread.cSuccessNone0.050562s4.454616s
Success
tls_test.cSuccessNone0.061181s4.482111s
Success
Fail Tests

Summary

MetricCount
Total Test Cases0
Number of Successes0
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

wasm harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases220
Number of Successes220
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.049341s0.142473s
Success
chdir_getcwd.cSuccessNone0.051936s0.117221s
Success
chmod.cSuccessNone0.056812s0.123462s
Success
clock_gettime_highlevel.cSuccessNone0.123127s0.172249s
Success
clock_gettime_simple.cSuccessNone0.047665s0.105256s
Success
cloexec.cSuccessNone0.056389s0.131053s
Success
close.cSuccessNone0.065510s0.139587s
Success
creat_access.cSuccessNone0.054070s0.115761s
Success
doubleclose.cSuccessNone0.047484s0.099034s
Success
dup.cSuccessNone0.047998s0.117985s
Success
dup2.cSuccessNone0.052613s0.112606s
Success
dup3.cSuccessNone0.052107s0.117750s
Success
dupwrite.cSuccessNone0.053448s0.111869s
Success
etc_conf.cSuccessNone0.049751s0.118338s
Success
faccessat.cSuccessNone0.050108s0.116639s
Success
fchdir.cSuccessNone0.055622s0.125969s
Success
fchmod.cSuccessNone0.056495s0.125507s
Success
fchmodat.cSuccessNone0.050545s0.113325s
Success
fcntl.cSuccessNone0.055488s0.132056s
Success
fcntl_dupfd.cSuccessNone0.048326s0.110039s
Success
fdatasync.cSuccessNone0.053938s0.112953s
Success
filetest.cSuccessNone0.054610s0.111114s
Success
filetest1000.cSuccessNone0.063500s0.126538s
Success
flock.cSuccessNone0.060977s0.148227s
Success
fstat.cSuccessNone0.057899s0.129102s
Success
fstatfs.cSuccessNone0.048780s0.106576s
Success
fsync.cSuccessNone0.054407s0.112005s
Success
ftruncate.cSuccessNone0.058739s0.209905s
Success
getcwd.cSuccessNone0.053114s0.107671s
Success
getcwd_null.cSuccessNone0.055973s0.120413s
Success
getpgid.cSuccessNone0.049126s0.105838s
Success
getrandom.cSuccessNone0.055021s0.128969s
Success
ioctl.cSuccessNone0.055814s0.119894s
Success
link.cSuccessNone0.056931s0.155234s
Success
locale_test.cSuccessNone0.064980s0.318228s
Success
lseek.cSuccessNone0.057418s0.190043s
Success
lstat.cSuccessNone0.056813s0.133354s
Success
mkdir_rmdir.cSuccessNone0.055804s0.119724s
Success
mkfifo_test.cSuccessNone0.060119s0.159048s
Success
mknod.cSuccessNone0.052423s0.122969s
Success
nocancel_io.cSuccessNone0.057724s0.139987s
Success
open.cSuccessNone0.048724s0.103341s
Success
openat.cSuccessNone0.054790s0.113043s
Success
path_conversion_safety.cSuccessNone0.057689s0.134454s
Success
ppoll.cSuccessNone0.058374s0.126841s
Success
pread_pwrite.cSuccessNone0.051842s0.121224s
Success
preadv_pwritev.cSuccessNone0.055811s0.130557s
Success
printf.cSuccessNone0.047770s0.102528s
Success
prlimit64.cSuccessNone0.048486s0.107771s
Success
read.cSuccessNone0.054467s0.125495s
Success
readbytes.cSuccessNone0.052452s0.111082s
Success
readdir_basic.cSuccessNone0.057308s0.145950s
Success
readlink.cSuccessNone0.054549s0.123874s
Success
readlinkat.cSuccessNone0.056373s0.127640s
Success
readv_writev_test.cSuccessNone0.055318s0.126387s
Success
rename.cSuccessNone0.055595s0.116608s
Success
renameat.cSuccessNone0.057865s0.133652s
Success
sc-writev.cSuccessNone0.052208s0.113440s
Success
stat.cSuccessNone0.055572s0.127547s
Success
statfs.cSuccessNone0.050816s0.109026s
Success
symlink.cSuccessNone0.056433s0.146626s
Success
sync_file_range.cSuccessNone0.054173s0.113810s
Success
timespec_time_t_compat.cSuccessNone0.051023s0.108720s
Success
trailing_slash.cSuccessNone0.054163s0.121804s
Success
truncate.cSuccessNone0.055080s0.132700s
Success
unlink.cSuccessNone0.058928s0.154406s
Success
unlinkat.cSuccessNone0.057413s0.136785s
Success
utimensat.cSuccessNone0.057265s0.137379s
Success
write.cSuccessNone0.048752s0.101188s
Success
writeloop.cSuccessNone0.055660s0.115767s
Success
writepartial.cSuccessNone0.055599s0.108493s
Success
writev.cSuccessNone0.055321s0.122862s
Success
Math Tests
math_link_smoke.cSuccessNone0.058976s0.108441s
Success
math_tests.cSuccessNone0.073401s0.136436s
Success
printf_float.cSuccessNone0.059532s0.138903s
Success
Memory Tests
brk.cSuccessNone0.053416s0.113841s
Success
fork_large_memory.cSuccessNone0.084461s0.368646s
Success
malloc.cSuccessNone0.051233s0.102199s
Success
malloc_large.cSuccessNone0.052332s0.103416s
Success
memcpy.cSuccessNone0.050481s0.106205s
Success
memory_error_test.cSuccessNone0.055250s0.132902s
Success
mmap.cSuccessNone0.048007s0.105005s
Success
mmap_aligned.cSuccessNone0.048623s0.117126s
Success
mmap_complicated.cSuccessNone0.055168s0.127977s
Success
mmap_file.cSuccessNone0.055969s0.117803s
Success
mmap_shared.cSuccessNone0.054630s0.124304s
Success
mmaptest.cSuccessNone0.051169s0.111099s
Success
mprotect.cSuccessNone0.049601s0.106814s
Success
mprotect_boundary.cSuccessNone0.048304s0.115158s
Success
mprotect_end_region.cSuccessNone0.048992s0.109952s
Success
mprotect_middle_region.cSuccessNone0.048559s0.112872s
Success
mprotect_multiple_times.cSuccessNone0.049638s0.113367s
Success
mprotect_same_value.cSuccessNone0.049362s0.110690s
Success
mprotect_spanning_regions.cSuccessNone0.050042s0.125671s
Success
munmap_adjacent_shm.cSuccessNone0.051379s0.126247s
Success
sbrk.cSuccessNone0.050257s0.106071s
Success
segfault.cSuccessNone0.056534s0.138832s
Success
shm.cSuccessNone0.054251s0.132067s
Success
shmtest.cSuccessNone0.048201s0.110355s
Success
thread_malloc_sequential.cSuccessNone0.056319s0.155515s
Success
vtable.cSuccessNone0.059482s0.123219s
Success
Networking Tests
accept4.cSuccessNone0.057994s0.129536s
Success
dns_resolve_test.cSuccessNone0.053312s0.116833s
Success
dnstest.cSuccessNone0.053215s0.114227s
Success
epoll_badfd.cSuccessNone0.049451s0.104496s
Success
epoll_edge_triggered.cSuccessNone0.211867s0.379095s
Success
epollcreate1.cSuccessNone0.055418s0.126730s
Success
error_handling_net.cSuccessNone0.061414s0.189274s
Success
getaddrinfo_test.cSuccessNone0.057935s0.150896s
Success
getaddrinfo_unspec.cSuccessNone0.057238s0.130418s
Success
gethostname.cSuccessNone0.048443s0.101497s
Success
getifaddrs.cSuccessNone0.055870s0.116858s
Success
getsockname.cSuccessNone0.059297s0.120310s
Success
getsockopt.cSuccessNone0.056952s0.151736s
Success
ipv6_basic.cSuccessNone0.057792s0.153262s
Success
makepipe.cSuccessNone0.048091s0.100551s
Success
nonblocking_eagain.cSuccessNone0.058745s0.161631s
Success
pipe.cSuccessNone0.055955s0.125614s
Success
pipe2.cSuccessNone0.055095s0.116651s
Success
pipeinput.cSuccessNone0.057096s0.139254s
Success
pipeinput2.cSuccessNone0.057411s0.144810s
Success
pipeonestring.cSuccessNone0.057478s0.140008s
Success
pipepong.cSuccessNone0.056782s0.143863s
Success
pipewrite.cSuccessNone0.050650s0.112843s
Success
poll.cSuccessNone0.054713s0.113055s
Success
recvfrom-sendto.cSuccessNone0.055188s0.122893s
Success
sendmsg_recvmsg_test.cSuccessNone0.056348s0.126692s
Success
serverclient.cSuccessNone0.054834s0.129489s
Success
shutdown.cSuccessNone0.056154s0.126226s
Success
shutdown_fork.cSuccessNone0.054677s0.126499s
Success
simple-select.cSuccessNone0.056150s0.140035s
Success
simple_epoll.cSuccessNone0.055206s0.120143s
Success
socket.cSuccessNone0.052942s0.111426s
Success
socket_cloexec.cSuccessNone0.053529s0.110747s
Success
socket_options_advanced.cSuccessNone0.060302s0.170802s
Success
socketepoll.cSuccessNone0.053438s0.111576s
Success
socketpair.cSuccessNone0.053315s0.126513s
Success
socketselect.cSuccessNone0.054001s0.120238s
Success
udp_send_recv.cSuccessNone0.161805s0.263677s
Success
uds-getsockname.cSuccessNone0.056460s0.114692s
Success
uds-nb-select.cSuccessNone2.063365s2.175369s
Success
uds-serverclient.cSuccessNone0.059316s0.146552s
Success
uds-socketselect.cSuccessNone0.054523s0.123141s
Success
uds_listen_poll.cSuccessNone1.060576s1.156956s
Success
writev_socket.cSuccessNone0.057468s0.150835s
Success
Process Tests
barrier_test.cSuccessNone0.053521s0.121528s
Success
chain_thread.cSuccessNone1.055601s1.129389s
Success
ctor_syscall_test.cSuccessNone0.047388s0.104868s
Success
cxa_atexit_test.cSuccessNone0.051387s0.109567s
Success
exec_non_utf8.cSuccessNone0.053246s0.113638s
Success
execve_shebang.cSuccessNone0.055026s0.113375s
Success
exit.cSuccessNone0.052786s0.107005s
Success
exit_failure.cSuccessNone0.053688s0.116866s
Success
exit_group_thread.cSuccessNone0.058626s0.131346s
Success
exit_status_first_wins.cSuccessNone0.057289s0.134556s
Success
flockfile_test.cSuccessNone0.054397s0.130444s
Success
fork2malloc.cSuccessNone0.056264s0.125273s
Success
fork_select.cSuccessNone0.053254s0.129482s
Success
fork_simple.cSuccessNone0.052548s0.118084s
Success
fork_syscall.cSuccessNone0.060067s0.343147s
Success
fork_tls_ctype.cSuccessNone0.057026s0.142570s
Success
forkandopen.cSuccessNone0.057171s0.135655s
Success
forkdup.cSuccessNone0.058548s0.128712s
Success
forkexecuid.cSuccessNone0.053594s0.133743s
Success
forkexecv-arg.cSuccessNone0.053537s0.124540s
Success
forkexecv.cSuccessNone0.051104s0.121346s
Success
forkfiles.cSuccessNone0.055141s0.130226s
Success
forkmalloc.cSuccessNone0.056250s0.122115s
Success
forknodup.cSuccessNone0.055849s0.132416s
Success
function-ptr.cSuccessNone0.050427s0.106031s
Success
getegid_syscall.cSuccessNone0.055096s0.273228s
Success
getgid_syscall.cSuccessNone0.056178s0.274773s
Success
getpid.cSuccessNone0.048651s0.101461s
Success
getpid_syscall.cSuccessNone0.057148s0.288533s
Success
getppid.cSuccessNone0.055723s0.121588s
Success
getppid_syscall.cSuccessNone0.057837s0.241417s
Success
getuid.cSuccessNone0.055191s0.111009s
Success
getuid_syscall.cSuccessNone0.053945s0.176696s
Success
hello-arg.cSuccessNone0.046919s0.104984s
Success
hello.cSuccessNone0.046176s0.098840s
Success
longjmp.cSuccessNone0.046752s0.104987s
Success
mutex.cSuccessNone2.056836s2.129783s
Success
printf_deadlock_smoke.cSuccessNone0.061749s0.149647s
Success
printf_thread_test.cSuccessNone0.052993s0.127667s
Success
sem_forks.cSuccessNone0.057228s0.140790s
Success
setsid.cSuccessNone0.048170s0.101707s
Success
template.cSuccessNone0.054423s0.146276s
Success
test_exec_nofork.cSuccessNone0.053031s0.120132s
Success
test_unlink_open_file.cSuccessNone0.050543s0.105166s
Success
thread-guard.cSuccessNone0.052812s0.122608s
Success
thread-test.cSuccessNone0.051009s0.110303s
Success
thread.cSuccessNone0.050354s0.110585s
Success
thread_cageid_race.cSuccessNone0.051776s0.164717s
Success
tls_test.cSuccessNone0.053517s0.126619s
Success
uname.cSuccessNone0.048930s0.102519s
Success
wait.cSuccessNone0.052433s0.127020s
Success
waitpid_anychild.cSuccessNone0.055303s0.123911s
Success
waitpid_syscall.cSuccessNone1.056167s1.171645s
Success
waitpid_wnohang.cSuccessNone0.055703s0.126124s
Success
Signal Tests
alarm.cSuccessNone7.053987s7.146640s
Success
eintr_fork_signal.cSuccessNone1.057005s1.139431s
Success
kill.cSuccessNone1.055994s1.127150s
Success
setitimer.cSuccessNone7.056005s7.148678s
Success
sigalrm.cSuccessNone2.055698s2.134692s
Success
sigaltstack.cSuccessNone0.058071s0.126386s
Success
sigchld.cSuccessNone1.056057s1.125471s
Success
signal-fork.cSuccessNone4.056846s4.131207s
Success
signal-simple.cSuccessNone0.055887s0.116124s
Success
signal_SIGCHLD.cSuccessNone0.053671s0.127528s
Success
signal_fork.cSuccessNone0.052932s0.130344s
Success
signal_int_ignored.cSuccessNone2.058069s2.124547s
Success
signal_kill_cleanup.cSuccessNone1.056946s1.121480s
Success
signal_procmask.cSuccessNone0.052570s0.117905s
Success
signal_read_interrupt.cSuccessNone0.564531s0.633489s
Success
signal_recursive.cSuccessNone0.050928s0.119807s
Success
signal_sa_mask.cSuccessNone0.050160s0.112459s
Success
signal_select_interrupt.cSuccessNone0.560594s0.637226s
Success
signal_write_interrupt.cSuccessNone1.057951s1.135684s
Success
sigpipe.cSuccessNone1.058306s1.133480s
Success
sigprocmask.cSuccessNone1.056312s1.121003s
Success
Fail Tests

Summary

MetricCount
Total Test Cases4
Number of Successes4
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Dylink Tests
dlerror.cSuccessNone0.046852s0.105196s
Success
Memory Tests
mmap-negative1.cSuccessNone0.132297s0.110360s
Success
mmap-negative2.cSuccessNone0.120313s0.130520s
Success
Signal Tests
signal_resethand.cSuccessNone1.055254s1.122519s
Success

C++ harness

Summary

MetricValue
Total1
Success1
Failures0
Compile failures0
Runtime failures0
Output mismatch0
Timeouts0

Cases

TestStatusError typeNative timeWasm timeOutput
tests/unit-tests/cpp/sort.cppSuccess0.553950s9.771106s
LIBCPP_SORT_OK 1 2 3

@rennergade rennergade requested a review from Yaxuan-w May 19, 2026 18:29

@vidyalakshmir vidyalakshmir left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great @Uk-jake. This clearly describes the CI/CD pipeline we have for lind.

  • One additional point you could add is what differences exist (in terms of code, functionalities) between the release and the debug build.
  • How could we configure lind-wasm GHA to skip tests?

@vidyalakshmir

Copy link
Copy Markdown
Contributor

@Uk-jake

  • Also, just for my understanding, does lind-wasm GHA pickup tests from the lind-wasm/tests folder? When we add new tests through PR's, once the PR is merged, would GHA automatically pickup those tests?
  • Can we configure GCP to run tests?

@Uk-jake

Uk-jake commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

@vidyalakshmir

  1. difference between the dev image and the release image:
  • The dev image includes the full source code, a debug build, and debugging tools so developers can debug directly inside the container. It also serves as the base image for apps and grates.
  • The release image contains only the toolchain without source code, and is intended for running tests.
  1. I'm not sure about how to skip tests in GHA yet — I'll look into it and follow up.

  2. Yes, the e2e pipeline picks up tests from the "lind-wasm/tests" folder. The test stage in Dockerfile.e2e copies the tests folder directly into the container and runs them via make test. However, I'll need to look further into exactly which tests are covered.

@qianxichen233, @tashabits
Could you help me understand the difference between what the e2e pipeline tests and what the harness-based tests cover? It looks like you're working on a test CI using a harness.

@Yaxuan-w Yaxuan-w left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General lgtm. I'd suggest to remove apps and example-grates documentations until we've set them up

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

grate harness

Grate Test Report

MetricValue
Total15
Success15
Failures0
Compile Failures0
Runtime Failures0
Timeout Failures0
Missing Pair Failures0

Cases

TestStatusError TypeOutput
concurrent-request/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS

STDERR:

concurrent-request/race-test_grate.cSuccess
STDOUT:
pass

STDERR:

concurrent-request/thread_race_grate.cSuccess
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS

STDERR:

copy-data-between-cages/cp-stncpy_grate.cSuccess
STDOUT:
[cage] pathname addr=0xfffb6ff9
[cage] pathname='random'
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

copy-data-between-cages/cpdata_grate.cSuccess
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

interposing-calls/fork-with-newret_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Cage] Forked process with PID: 10
[Grate|interpose-fork] PASS

STDERR:

interposing-calls/interpose-exec_grate.cSuccess
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS

STDERR:

interposing-calls/interpose-exit_grate.cSuccess
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...

[Grate|interpose-exit] PASS

STDERR:

interposing-calls/interpose-fork_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS

STDERR:

interposing-calls/interpose-mmap_grate.cSuccess
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS

STDERR:

interposing-calls/interpose-register_grate.cSuccess
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS

STDERR:

multi-register_grate.cSuccess
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS

STDERR:

simple-tests/copy-handler-table_grate.cSuccess
STDOUT:
[Grate|copy-handler-table] Registering geteuid handler for cage 2 in grate 1
[Grate|copy-handler-table] geteuid handler invoked for cage 1
[Grate|copy-handler-table] geteuid handler invoked for cage 1
[Cage|copy-handler-table] PASS: child inherited handler, then overwrite changed geteuid to 0
[Cage|copy-handler-table] PASS: parent=123 child_exit=0
[Grate|copy-handler-table] PASS

STDERR:

simple-tests/diff-cage-args_grate.cSuccess
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS

STDERR:

simple-tests/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS

STDERR:

static harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Static Tests
fork_simple.cSuccessNone0.054451s4.102624s
Success
thread.cSuccessNone0.046459s4.165056s
Success
tls_test.cSuccessNone0.050588s4.173931s
Success
Fail Tests

Summary

MetricCount
Total Test Cases0
Number of Successes0
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

wasm harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases233
Number of Successes233
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Dylink Tests
basic.cSuccessNone0.050419s0.120917s
Success
dlopen_fork.cSuccessNone0.052568s0.144760s
Success
dlopen_thread.cSuccessNone0.051421s0.141943s
Success
double_fork_dlopen.cSuccessNone0.054763s0.194027s
Success
fork_dlopen.cSuccessNone0.051117s0.146156s
Success
longjmp_dlopen.cSuccessNone0.049903s0.137952s
Success
rdynamic_main.cSuccessNone0.050465s0.139213s
Success
File Tests
chartests.cSuccessNone0.047944s0.154229s
Success
chdir_getcwd.cSuccessNone0.047699s0.120413s
Success
chmod.cSuccessNone0.054117s0.135406s
Success
clock_gettime_highlevel.cSuccessNone0.118210s0.167134s
Success
clock_gettime_simple.cSuccessNone0.042314s0.109196s
Success
cloexec.cSuccessNone0.052951s0.148325s
Success
close.cSuccessNone0.062352s0.142242s
Success
creat_access.cSuccessNone0.054285s0.123640s
Success
doubleclose.cSuccessNone0.044104s0.101321s
Success
dup.cSuccessNone0.045143s0.119043s
Success
dup2.cSuccessNone0.050319s0.118818s
Success
dup3.cSuccessNone0.049436s0.121309s
Success
dupwrite.cSuccessNone0.052213s0.123498s
Success
etc_conf.cSuccessNone0.051349s0.130922s
Success
faccessat.cSuccessNone0.046499s0.122626s
Success
fchdir.cSuccessNone0.055139s0.133629s
Success
fchmod.cSuccessNone0.053865s0.133487s
Success
fchmodat.cSuccessNone0.046349s0.116802s
Success
fcntl.cSuccessNone0.050320s0.134232s
Success
fcntl_dupfd.cSuccessNone0.045099s0.111313s
Success
fdatasync.cSuccessNone0.057409s0.130130s
Success
filetest.cSuccessNone0.051189s0.116478s
Success
filetest1000.cSuccessNone0.060650s0.130675s
Success
flock.cSuccessNone0.059090s0.174339s
Success
fstat.cSuccessNone0.054934s0.137448s
Success
fstatfs.cSuccessNone0.045739s0.115502s
Success
fsync.cSuccessNone0.049565s0.113945s
Success
ftruncate.cSuccessNone0.054321s0.216647s
Success
getcwd.cSuccessNone0.049667s0.111356s
Success
getcwd_null.cSuccessNone0.054421s0.128537s
Success
getpgid.cSuccessNone0.044151s0.105229s
Success
getrandom.cSuccessNone0.052299s0.133930s
Success
ioctl.cSuccessNone0.058483s0.125464s
Success
link.cSuccessNone0.056177s0.160224s
Success
locale_test.cSuccessNone0.064725s0.318716s
Success
lseek.cSuccessNone0.056610s0.197956s
Success
lstat.cSuccessNone0.056855s0.143765s
Success
mkdir_rmdir.cSuccessNone0.051014s0.122221s
Success
mkfifo_test.cSuccessNone0.056734s0.174008s
Success
mknod.cSuccessNone0.052283s0.132261s
Success
nocancel_io.cSuccessNone0.055371s0.144670s
Success
open.cSuccessNone0.047582s0.114857s
Success
openat.cSuccessNone0.045554s0.118203s
Success
path_conversion_safety.cSuccessNone0.054731s0.137975s
Success
ppoll.cSuccessNone0.055863s0.132558s
Success
pread_pwrite.cSuccessNone0.050715s0.120846s
Success
preadv_pwritev.cSuccessNone0.054188s0.137922s
Success
printf.cSuccessNone0.044651s0.107054s
Success
prlimit64.cSuccessNone0.045480s0.112584s
Success
read.cSuccessNone0.053439s0.131324s
Success
readbytes.cSuccessNone0.047255s0.113898s
Success
readdir_basic.cSuccessNone0.055288s0.151910s
Success
readlink.cSuccessNone0.052004s0.126455s
Success
readlinkat.cSuccessNone0.054818s0.146013s
Success
readv_writev_test.cSuccessNone0.053514s0.132178s
Success
rename.cSuccessNone0.056731s0.125259s
Success
renameat.cSuccessNone0.054704s0.138701s
Success
sc-writev.cSuccessNone0.049032s0.119138s
Success
stat.cSuccessNone0.051548s0.132273s
Success
statfs.cSuccessNone0.047125s0.110621s
Success
symlink.cSuccessNone0.056415s0.154402s
Success
sync_file_range.cSuccessNone0.048522s0.115876s
Success
timespec_time_t_compat.cSuccessNone0.051185s0.113480s
Success
trailing_slash.cSuccessNone0.051137s0.127486s
Success
truncate.cSuccessNone0.051876s0.140757s
Success
unlink.cSuccessNone0.056303s0.157434s
Success
unlinkat.cSuccessNone0.053451s0.138511s
Success
utimensat.cSuccessNone0.059926s0.154412s
Success
write.cSuccessNone0.046225s0.104809s
Success
writeloop.cSuccessNone0.053837s0.122528s
Success
writepartial.cSuccessNone0.053858s0.115093s
Success
writev.cSuccessNone0.052448s0.126187s
Success
Math Tests
math_link_smoke.cSuccessNone0.054595s0.110801s
Success
math_tests.cSuccessNone0.058366s0.138715s
Success
printf_float.cSuccessNone0.055515s0.135901s
Success
Memory Tests
brk.cSuccessNone0.066462s0.157227s
Success
fork_large_memory.cSuccessNone0.090604s0.489366s
Success
malloc.cSuccessNone0.048186s0.113039s
Success
malloc_large.cSuccessNone0.071677s0.177381s
Success
memcpy.cSuccessNone0.072489s0.171244s
Success
memory_error_test.cSuccessNone0.055381s0.174997s
Success
mmap.cSuccessNone0.062224s0.158362s
Success
mmap_address_truncation.cSuccessNone0.059851s0.156354s
Success
mmap_aligned.cSuccessNone0.052689s0.130070s
Success
mmap_complicated.cSuccessNone0.066823s0.165107s
Success
mmap_file.cSuccessNone0.068181s0.171974s
Success
mmap_shared.cSuccessNone0.051258s0.149380s
Success
mmaptest.cSuccessNone0.059489s0.168354s
Success
mprotect.cSuccessNone0.046857s0.117439s
Success
mprotect_boundary.cSuccessNone0.048298s0.125643s
Success
mprotect_end_region.cSuccessNone0.048450s0.122068s
Success
mprotect_middle_region.cSuccessNone0.064745s0.168492s
Success
mprotect_multiple_times.cSuccessNone0.074555s0.132302s
Success
mprotect_same_value.cSuccessNone0.062443s0.267200s
Success
mprotect_spanning_regions.cSuccessNone0.052721s0.146622s
Success
munmap_adjacent_shm.cSuccessNone0.055071s0.144886s
Success
sbrk.cSuccessNone0.051640s0.120305s
Success
segfault.cSuccessNone0.054427s0.156814s
Success
shm.cSuccessNone0.091126s0.215592s
Success
shmtest.cSuccessNone0.047072s0.115660s
Success
thread_malloc_sequential.cSuccessNone0.079966s0.317351s
Success
vtable.cSuccessNone0.082671s0.193579s
Success
Networking Tests
accept4.cSuccessNone0.056009s0.136259s
Success
dns_resolve_test.cSuccessNone0.050150s0.121390s
Success
dnstest.cSuccessNone0.049950s0.118359s
Success
epoll_badfd.cSuccessNone0.047490s0.114353s
Success
epoll_edge_triggered.cSuccessNone0.209348s0.383071s
Success
epollcreate1.cSuccessNone0.054721s0.132832s
Success
error_handling_net.cSuccessNone0.059854s0.195345s
Success
getaddrinfo_test.cSuccessNone0.056627s0.157364s
Success
getaddrinfo_unspec.cSuccessNone0.056570s0.134612s
Success
gethostname.cSuccessNone0.044145s0.105345s
Success
getifaddrs.cSuccessNone0.054107s0.127835s
Success
getsockname.cSuccessNone0.052984s0.125278s
Success
getsockopt.cSuccessNone0.055922s0.161974s
Success
ipv6_basic.cSuccessNone0.055807s0.158853s
Success
makepipe.cSuccessNone0.043508s0.103072s
Success
nonblocking_eagain.cSuccessNone0.057354s0.168447s
Success
pipe.cSuccessNone0.054318s0.130964s
Success
pipe2.cSuccessNone0.052925s0.120414s
Success
pipeinput.cSuccessNone0.056679s0.155342s
Success
pipeinput2.cSuccessNone0.056297s0.161184s
Success
pipeonestring.cSuccessNone0.055585s0.155818s
Success
pipepong.cSuccessNone0.052433s0.160050s
Success
pipewrite.cSuccessNone0.049936s0.120602s
Success
poll.cSuccessNone0.052125s0.117328s
Success
recvfrom-sendto.cSuccessNone0.053657s0.133757s
Success
sendmsg_recvmsg_test.cSuccessNone0.053010s0.134140s
Success
serverclient.cSuccessNone0.053068s0.133757s
Success
shutdown.cSuccessNone0.055571s0.133361s
Success
shutdown_fork.cSuccessNone0.053752s0.146683s
Success
simple-select.cSuccessNone0.056521s0.161188s
Success
simple_epoll.cSuccessNone0.053685s0.128136s
Success
socket.cSuccessNone0.053384s0.124222s
Success
socket_cloexec.cSuccessNone0.051148s0.114880s
Success
socket_options_advanced.cSuccessNone0.057309s0.178715s
Success
socketepoll.cSuccessNone0.052552s0.120561s
Success
socketpair.cSuccessNone0.052078s0.143892s
Success
socketselect.cSuccessNone0.051204s0.125708s
Success
udp_send_recv.cSuccessNone0.159869s0.279950s
Success
uds-getsockname.cSuccessNone0.053120s0.123287s
Success
uds-nb-select.cSuccessNone2.061284s2.192879s
Success
uds-serverclient.cSuccessNone0.057766s0.160941s
Success
uds-socketselect.cSuccessNone0.053520s0.150835s
Success
uds_listen_poll.cSuccessNone1.059892s1.170214s
Success
writev_socket.cSuccessNone0.055848s0.160572s
Success
Process Tests
barrier_test.cSuccessNone0.050247s0.137080s
Success
chain_thread.cSuccessNone1.052559s1.148347s
Success
ctor_syscall_test.cSuccessNone0.044824s0.111113s
Success
cxa_atexit_test.cSuccessNone0.049503s0.114156s
Success
exec_non_utf8.cSuccessNone0.051586s0.121448s
Success
execve_shebang.cSuccessNone0.053084s0.120555s
Success
exit.cSuccessNone0.049763s0.111872s
Success
exit_failure.cSuccessNone0.066115s0.159370s
Success
exit_group_thread.cSuccessNone0.055081s0.157430s
Success
exit_status_first_wins.cSuccessNone0.057568s0.157113s
Success
flockfile_test.cSuccessNone0.054486s0.147522s
Success
fork2malloc.cSuccessNone0.054092s0.140573s
Success
fork_select.cSuccessNone0.050799s0.148047s
Success
fork_simple.cSuccessNone0.051998s0.132526s
Success
fork_syscall.cSuccessNone0.058118s0.629642s
Success
fork_tls_ctype.cSuccessNone0.054357s0.163496s
Success
forkandopen.cSuccessNone0.054908s0.151731s
Success
forkdup.cSuccessNone0.053794s0.142697s
Success
forkexecuid.cSuccessNone0.051287s0.155406s
Success
forkexecv-arg.cSuccessNone0.050506s0.144817s
Success
forkexecv.cSuccessNone0.055362s0.161295s
Success
forkfiles.cSuccessNone0.056142s0.163454s
Success
forkmalloc.cSuccessNone0.053142s0.138460s
Success
forknodup.cSuccessNone0.054680s0.150156s
Success
function-ptr.cSuccessNone0.052192s0.121972s
Success
getegid_syscall.cSuccessNone0.055519s0.489572s
Success
getgid_syscall.cSuccessNone0.052253s0.496621s
Success
getpid.cSuccessNone0.047138s0.109563s
Success
getpid_syscall.cSuccessNone0.061529s0.486730s
Success
getppid.cSuccessNone0.057409s0.157599s
Success
getppid_syscall.cSuccessNone0.056439s0.395583s
Success
getuid.cSuccessNone0.053549s0.114561s
Success
getuid_syscall.cSuccessNone0.053550s0.249428s
Success
hello-arg.cSuccessNone0.045964s0.114192s
Success
hello.cSuccessNone0.042596s0.104090s
Success
longjmp.cSuccessNone0.044777s0.115603s
Success
mutex.cSuccessNone2.057822s2.135843s
Success
printf_deadlock_smoke.cSuccessNone0.061432s0.173501s
Success
printf_thread_test.cSuccessNone0.051168s0.143351s
Success
sem_forks.cSuccessNone0.053944s0.179542s
Success
setjmp_edge.cSuccessNone0.060617s0.277136s
Success
setsid.cSuccessNone0.046157s0.106360s
Success
template.cSuccessNone0.051236s0.183002s
Success
test_crossmodule_longjmp.cSuccessNone0.053333s0.151791s
Success
test_exec_nofork.cSuccessNone0.050862s0.133240s
Success
test_unlink_open_file.cSuccessNone0.062794s0.139425s
Success
thread-guard.cSuccessNone0.050593s0.131745s
Success
thread-test.cSuccessNone0.047756s0.124896s
Success
thread.cSuccessNone0.049164s0.124247s
Success
thread_cageid_race.cSuccessNone0.047323s0.295717s
Success
tls_test.cSuccessNone0.053179s0.169458s
Success
uname.cSuccessNone0.047866s0.109285s
Success
wait.cSuccessNone0.050391s0.152807s
Success
waitpid_anychild.cSuccessNone0.052159s0.136105s
Success
waitpid_syscall.cSuccessNone1.054377s1.233610s
Success
waitpid_wnohang.cSuccessNone0.053396s0.141138s
Success
Signal Tests
alarm.cSuccessNone7.051351s7.153737s
Success
eintr_fork_signal.cSuccessNone1.067204s1.153918s
Success
kill.cSuccessNone1.051580s1.140963s
Success
pause_test.cSuccessNone1.053639s1.152754s
Success
setitimer.cSuccessNone7.051889s7.163458s
Success
sigalrm.cSuccessNone2.052158s2.137401s
Success
sigaltstack.cSuccessNone0.055670s0.135823s
Success
sigchld.cSuccessNone1.053363s1.138688s
Success
signal-fork.cSuccessNone4.053996s4.134949s
Success
signal-simple.cSuccessNone0.052623s0.126504s
Success
signal_SIGCHLD.cSuccessNone0.050741s0.147210s
Success
signal_fork.cSuccessNone0.049084s0.141527s
Success
signal_int_ignored.cSuccessNone2.052484s2.138213s
Success
signal_kill_cleanup.cSuccessNone1.051009s1.130392s
Success
signal_procmask.cSuccessNone0.048630s0.122404s
Success
signal_read_interrupt.cSuccessNone0.559519s0.643321s
Success
signal_recursive.cSuccessNone0.050425s0.136180s
Success
signal_sa_mask.cSuccessNone0.047837s0.114410s
Success
signal_select_interrupt.cSuccessNone0.555979s0.645941s
Success
signal_write_interrupt.cSuccessNone1.054095s1.142248s
Success
sigpipe.cSuccessNone1.053788s1.151474s
Success
sigprocmask.cSuccessNone1.051719s1.126582s
Success
sigsuspend_test.cSuccessNone1.050395s1.144769s
Success
test_sigsetjmp.cSuccessNone0.053517s0.158172s
Success
Fail Tests

Summary

MetricCount
Total Test Cases6
Number of Successes6
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Dylink Tests
dlerror.cSuccessNone0.043731s0.107286s
Success
Memory Tests
invalid_access_direct.cSuccessNone0.114367s0.119652s
Success
invalid_access_fork.cSuccessNone0.184678s0.224754s
Success
mmap-negative1.cSuccessNone0.136136s0.152170s
Success
mmap-negative2.cSuccessNone0.155449s0.175924s
Success
Signal Tests
signal_resethand.cSuccessNone1.052023s1.134116s
Success

C++ harness

Summary

MetricValue
Total1
Success1
Failures0
Compile failures0
Runtime failures0
Output mismatch0
Timeouts0

Cases

TestStatusError typeNative timeWasm timeOutput
tests/unit-tests/cpp/sort.cppSuccess0.400790s8.762610s
LIBCPP_SORT_OK 1 2 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a scheduled trigger to 'release.yml'

3 participants