Skip to content

ci: refactor e2e, release workflow#1248

Open
Uk-jake wants to merge 3 commits into
mainfrom
cicd/ref-realease-e2e-workflow
Open

ci: refactor e2e, release workflow#1248
Uk-jake wants to merge 3 commits into
mainfrom
cicd/ref-realease-e2e-workflow

Conversation

@Uk-jake

@Uk-jake Uk-jake commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

Refactored e2e.yml and release.yml

Changes

  1. e2e.yml — triggered on PR open/update
  • Runs on every PR open and update
  • Workflow: build → test → report
  1. release.yml — triggered on push to main
  • Runs when a PR is merged into main
  • Builds the release image from the latest code and pushes it to Docker Hub

Differences from the previous workflow

  • The release image was pushed on a weekly schedule.
  • e2e.yml was triggered on both PR open/update and main push, but changes merged into main were never reflected in the release image at that point.

Related: #1216

@github-actions

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

@Uk-jake Uk-jake added the ci/cd Used for issues involving CI/CD pipelines label Jun 11, 2026
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
@github-actions

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

@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.

  1. release.yml — triggered on push to main
  • Runs when a PR is merged into main
  • Builds the release image from the latest code and pushes it to Docker Hub

What will happen if there's a second commit to main while the previous build is running? Will the previous build be canceled or it will wait for it to finish?

@Uk-jake

Uk-jake commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author
  1. release.yml — triggered on push to main
  • Runs when a PR is merged into main
  • Builds the release image from the latest code and pushes it to Docker Hub

What will happen if there's a second commit to main while the previous build is running? Will the previous build be canceled or it will wait for it to finish?

My understanding is that due to the code below, the second build will wait in the queue until the first build completes.

concurrency:
  group: release-${{ github.ref }}
  cancel-in-progress: false

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

Labels

ci/cd Used for issues involving CI/CD pipelines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants