Skip to content

rewrite rawposix.md so it matches the current codebase and architecture#1296

Merged
Yaxuan-w merged 1 commit into
mainfrom
doc-rewrite-1250
Jul 5, 2026
Merged

rewrite rawposix.md so it matches the current codebase and architecture#1296
Yaxuan-w merged 1 commit into
mainfrom
doc-rewrite-1250

Conversation

@rishabhBudhouliya

@rishabhBudhouliya rishabhBudhouliya commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Purpose

Rewrite docs/internal/rawposix.md so it matches the current codebase and architecture.

Addresses #1250

What changed

  • Compatibility wording is now calibrated: "aims to preserve POSIX behavior for the calls it implements", matching the framing already used in docs/index.md, with syscall_table.rs named as the authoritative list of supported calls.
  • Added explicit "responsible for" and "not responsible for" sections covering the boundaries with Wasmtime/lind-boot, 3i, grates, and lind-glibc.
  • Added a "life of a syscall" section tracing read() from lind-glibc through the lind::make-syscall import, the lind-common host function, and 3i dispatch into fs_calls.rs and host libc, with file references for each hop.
  • Documented per-cage state as it exists today: the Cage struct in src/cage, fd virtualization in src/fdtables, and the RawCallFunc handler ABI with its per-argument cage IDs and convert-early convention.
  • Source layout section now shows the real src/rawposix/src tree and the sibling crates it depends on (cage, fdtables, threei, typemap, sysdefs).
  • Testing section points at the actual harness (scripts/test/harnesses/wasmtestreport.py over tests/unit-tests/) instead of the nonexistent src/RawPOSIX/src/tests/ path.

@github-actions

github-actions Bot commented Jul 3, 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.058296s4.142082s
Success
thread.cSuccessNone0.052143s4.209047s
Success
tls_test.cSuccessNone0.052342s4.278747s
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 Cases234
Number of Successes234
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.048382s0.119405s
Success
dlopen_fork.cSuccessNone0.052792s0.149921s
Success
dlopen_thread.cSuccessNone0.053008s0.146985s
Success
double_fork_dlopen.cSuccessNone0.055785s0.200588s
Success
fork_dlopen.cSuccessNone0.051797s0.151438s
Success
longjmp_dlopen.cSuccessNone0.050837s0.137699s
Success
rdynamic_main.cSuccessNone0.052671s0.145390s
Success
File Tests
chartests.cSuccessNone0.051989s0.154729s
Success
chdir_getcwd.cSuccessNone0.051679s0.120383s
Success
chmod.cSuccessNone0.057716s0.136200s
Success
clock_gettime_highlevel.cSuccessNone0.121504s0.179787s
Success
clock_gettime_simple.cSuccessNone0.044831s0.113281s
Success
cloexec.cSuccessNone0.053535s0.149338s
Success
close.cSuccessNone0.062549s0.158807s
Success
copy_file_range.cSuccessNone0.054278s0.147754s
Success
creat_access.cSuccessNone0.058792s0.122785s
Success
doubleclose.cSuccessNone0.045964s0.109639s
Success
dup.cSuccessNone0.046237s0.127819s
Success
dup2.cSuccessNone0.051010s0.122445s
Success
dup3.cSuccessNone0.051300s0.124029s
Success
dupwrite.cSuccessNone0.053613s0.122111s
Success
etc_conf.cSuccessNone0.049719s0.126886s
Success
faccessat.cSuccessNone0.050058s0.122056s
Success
fchdir.cSuccessNone0.056533s0.136179s
Success
fchmod.cSuccessNone0.055911s0.137672s
Success
fchmodat.cSuccessNone0.050028s0.122071s
Success
fcntl.cSuccessNone0.053566s0.139234s
Success
fcntl_dupfd.cSuccessNone0.048186s0.122275s
Success
fdatasync.cSuccessNone0.051954s0.117882s
Success
filetest.cSuccessNone0.053800s0.124507s
Success
filetest1000.cSuccessNone0.062500s0.141534s
Success
flock.cSuccessNone0.060560s0.174322s
Success
fstat.cSuccessNone0.055196s0.141244s
Success
fstatfs.cSuccessNone0.048684s0.118149s
Success
fsync.cSuccessNone0.051891s0.117889s
Success
ftruncate.cSuccessNone0.057874s0.221444s
Success
getcwd.cSuccessNone0.049933s0.111721s
Success
getcwd_null.cSuccessNone0.055311s0.131351s
Success
getpgid.cSuccessNone0.048211s0.108396s
Success
getrandom.cSuccessNone0.053189s0.137586s
Success
ioctl.cSuccessNone0.056366s0.126937s
Success
link.cSuccessNone0.057020s0.163004s
Success
locale_test.cSuccessNone0.067063s0.323088s
Success
lseek.cSuccessNone0.056566s0.197316s
Success
lstat.cSuccessNone0.059521s0.143079s
Success
mkdir_rmdir.cSuccessNone0.054068s0.131428s
Success
mkfifo_test.cSuccessNone0.059733s0.178157s
Success
mknod.cSuccessNone0.053369s0.135126s
Success
nocancel_io.cSuccessNone0.059393s0.149445s
Success
open.cSuccessNone0.047744s0.110217s
Success
openat.cSuccessNone0.048205s0.120399s
Success
path_conversion_safety.cSuccessNone0.057295s0.146016s
Success
ppoll.cSuccessNone0.058694s0.131964s
Success
pread_pwrite.cSuccessNone0.051207s0.126650s
Success
preadv_pwritev.cSuccessNone0.055435s0.140776s
Success
printf.cSuccessNone0.046318s0.106640s
Success
prlimit64.cSuccessNone0.046995s0.114236s
Success
read.cSuccessNone0.055650s0.133450s
Success
readbytes.cSuccessNone0.051648s0.114191s
Success
readdir_basic.cSuccessNone0.058949s0.157070s
Success
readlink.cSuccessNone0.053962s0.126240s
Success
readlinkat.cSuccessNone0.054956s0.135952s
Success
readv_writev_test.cSuccessNone0.053619s0.135288s
Success
rename.cSuccessNone0.055562s0.124545s
Success
renameat.cSuccessNone0.057317s0.137224s
Success
sc-writev.cSuccessNone0.053526s0.122256s
Success
stat.cSuccessNone0.054845s0.138702s
Success
statfs.cSuccessNone0.048068s0.114689s
Success
symlink.cSuccessNone0.056670s0.156313s
Success
sync_file_range.cSuccessNone0.050621s0.117958s
Success
timespec_time_t_compat.cSuccessNone0.050219s0.113835s
Success
trailing_slash.cSuccessNone0.051883s0.130269s
Success
truncate.cSuccessNone0.056492s0.145766s
Success
unlink.cSuccessNone0.056678s0.158843s
Success
unlinkat.cSuccessNone0.055354s0.139187s
Success
utimensat.cSuccessNone0.052026s0.139750s
Success
write.cSuccessNone0.047464s0.104308s
Success
writeloop.cSuccessNone0.056356s0.128473s
Success
writepartial.cSuccessNone0.053946s0.120392s
Success
writev.cSuccessNone0.056275s0.133636s
Success
Math Tests
math_link_smoke.cSuccessNone0.059240s0.119110s
Success
math_tests.cSuccessNone0.061803s0.144906s
Success
printf_float.cSuccessNone0.057851s0.137496s
Success
Memory Tests
brk.cSuccessNone0.051669s0.122836s
Success
fork_large_memory.cSuccessNone0.086263s0.473495s
Success
malloc.cSuccessNone0.048951s0.112532s
Success
malloc_large.cSuccessNone0.049462s0.108709s
Success
memcpy.cSuccessNone0.051022s0.109669s
Success
memory_error_test.cSuccessNone0.055365s0.140887s
Success
mmap.cSuccessNone0.045679s0.113077s
Success
mmap_address_truncation.cSuccessNone0.048313s0.115323s
Success
mmap_aligned.cSuccessNone0.047932s0.126402s
Success
mmap_complicated.cSuccessNone0.052823s0.147307s
Success
mmap_file.cSuccessNone0.053192s0.126566s
Success
mmap_shared.cSuccessNone0.052222s0.146754s
Success
mmaptest.cSuccessNone0.050404s0.115706s
Success
mprotect.cSuccessNone0.047421s0.111021s
Success
mprotect_boundary.cSuccessNone0.048503s0.120976s
Success
mprotect_end_region.cSuccessNone0.049740s0.114842s
Success
mprotect_middle_region.cSuccessNone0.047132s0.115436s
Success
mprotect_multiple_times.cSuccessNone0.046033s0.119075s
Success
mprotect_same_value.cSuccessNone0.045846s0.114021s
Success
mprotect_spanning_regions.cSuccessNone0.047195s0.137156s
Success
munmap_adjacent_shm.cSuccessNone0.049730s0.130490s
Success
sbrk.cSuccessNone0.048687s0.117223s
Success
segfault.cSuccessNone0.054632s0.159987s
Success
shm.cSuccessNone0.053165s0.149992s
Success
shmtest.cSuccessNone0.047385s0.120993s
Success
thread_malloc_sequential.cSuccessNone0.055396s0.195113s
Success
vtable.cSuccessNone0.058280s0.127374s
Success
Networking Tests
accept4.cSuccessNone0.057992s0.141363s
Success
dns_resolve_test.cSuccessNone0.104323s0.264259s
Success
dnstest.cSuccessNone0.065149s0.150392s
Success
epoll_badfd.cSuccessNone0.048672s0.116770s
Success
epoll_edge_triggered.cSuccessNone0.221949s0.446631s
Success
epollcreate1.cSuccessNone0.056561s0.141132s
Success
error_handling_net.cSuccessNone0.070765s0.270732s
Success
getaddrinfo_test.cSuccessNone0.101751s0.320043s
Success
getaddrinfo_unspec.cSuccessNone0.058109s0.133896s
Success
gethostname.cSuccessNone0.065752s0.155004s
Success
getifaddrs.cSuccessNone0.056736s0.134782s
Success
getsockname.cSuccessNone0.064121s0.158852s
Success
getsockopt.cSuccessNone0.056417s0.162676s
Success
ipv6_basic.cSuccessNone0.062048s0.171101s
Success
makepipe.cSuccessNone0.049417s0.130712s
Success
nonblocking_eagain.cSuccessNone0.058577s0.170148s
Success
pipe.cSuccessNone0.057335s0.135931s
Success
pipe2.cSuccessNone0.055971s0.137145s
Success
pipeinput.cSuccessNone0.084243s0.288325s
Success
pipeinput2.cSuccessNone0.060415s0.178512s
Success
pipeonestring.cSuccessNone0.061801s0.168471s
Success
pipepong.cSuccessNone0.057075s0.170523s
Success
pipewrite.cSuccessNone0.058374s0.164040s
Success
poll.cSuccessNone0.055444s0.119151s
Success
recvfrom-sendto.cSuccessNone0.057274s0.136502s
Success
sendmsg_recvmsg_test.cSuccessNone0.058267s0.152761s
Success
serverclient.cSuccessNone0.057683s0.142792s
Success
shutdown.cSuccessNone0.072259s0.169563s
Success
shutdown_fork.cSuccessNone0.055762s0.153696s
Success
simple-select.cSuccessNone0.079091s0.191133s
Success
simple_epoll.cSuccessNone0.055147s0.132273s
Success
socket.cSuccessNone0.062305s0.156273s
Success
socket_cloexec.cSuccessNone0.054130s0.117149s
Success
socket_options_advanced.cSuccessNone0.085379s0.299873s
Success
socketepoll.cSuccessNone0.054336s0.120851s
Success
socketpair.cSuccessNone0.076379s0.305050s
Success
socketselect.cSuccessNone0.053400s0.139274s
Success
udp_send_recv.cSuccessNone0.166065s0.291241s
Success
uds-getsockname.cSuccessNone0.058867s0.177102s
Success
uds-nb-select.cSuccessNone2.062609s2.205054s
Success
uds-serverclient.cSuccessNone0.061330s0.178755s
Success
uds-socketselect.cSuccessNone0.055485s0.137162s
Success
uds_listen_poll.cSuccessNone1.062021s1.177298s
Success
writev_socket.cSuccessNone0.059557s0.163790s
Success
Process Tests
barrier_test.cSuccessNone0.052622s0.148685s
Success
chain_thread.cSuccessNone1.055008s1.149318s
Success
ctor_syscall_test.cSuccessNone0.044941s0.110329s
Success
cxa_atexit_test.cSuccessNone0.050169s0.118830s
Success
exec_non_utf8.cSuccessNone0.051827s0.119864s
Success
execve_shebang.cSuccessNone0.053685s0.122931s
Success
exit.cSuccessNone0.050550s0.116786s
Success
exit_failure.cSuccessNone0.054543s0.139607s
Success
exit_group_thread.cSuccessNone0.054944s0.165284s
Success
exit_status_first_wins.cSuccessNone0.059045s0.167172s
Success
flockfile_test.cSuccessNone0.053951s0.157933s
Success
fork2malloc.cSuccessNone0.054400s0.151788s
Success
fork_select.cSuccessNone0.053052s0.153771s
Success
fork_simple.cSuccessNone0.050036s0.141181s
Success
fork_syscall.cSuccessNone0.057166s0.642443s
Success
fork_tls_ctype.cSuccessNone0.055016s0.166125s
Success
forkandopen.cSuccessNone0.054297s0.162825s
Success
forkdup.cSuccessNone0.058046s0.154614s
Success
forkexecuid.cSuccessNone0.051629s0.166497s
Success
forkexecv-arg.cSuccessNone0.051999s0.162018s
Success
forkexecv.cSuccessNone0.050360s0.153052s
Success
forkfiles.cSuccessNone0.054428s0.156643s
Success
forkmalloc.cSuccessNone0.055269s0.140255s
Success
forknodup.cSuccessNone0.054578s0.152047s
Success
function-ptr.cSuccessNone0.048373s0.115147s
Success
getegid_syscall.cSuccessNone0.054963s0.495392s
Success
getgid_syscall.cSuccessNone0.053857s0.513365s
Success
getpid.cSuccessNone0.046606s0.109192s
Success
getpid_syscall.cSuccessNone0.055651s0.527910s
Success
getppid.cSuccessNone0.056240s0.142273s
Success
getppid_syscall.cSuccessNone0.057769s0.416723s
Success
getuid.cSuccessNone0.054311s0.118825s
Success
getuid_syscall.cSuccessNone0.052950s0.260162s
Success
hello-arg.cSuccessNone0.044285s0.111174s
Success
hello.cSuccessNone0.045754s0.109875s
Success
longjmp.cSuccessNone0.045181s0.116916s
Success
mutex.cSuccessNone2.056906s2.138615s
Success
printf_deadlock_smoke.cSuccessNone0.063950s0.177728s
Success
printf_thread_test.cSuccessNone0.052264s0.150445s
Success
sem_forks.cSuccessNone0.055192s0.185889s
Success
setjmp_edge.cSuccessNone0.049565s0.188682s
Success
setsid.cSuccessNone0.046769s0.108680s
Success
template.cSuccessNone0.053495s0.198646s
Success
test_crossmodule_longjmp.cSuccessNone0.054551s0.158958s
Success
test_exec_nofork.cSuccessNone0.052246s0.136916s
Success
test_unlink_open_file.cSuccessNone0.049080s0.110532s
Success
thread-guard.cSuccessNone0.052389s0.139973s
Success
thread-test.cSuccessNone0.048895s0.133045s
Success
thread.cSuccessNone0.048818s0.131752s
Success
thread_cageid_race.cSuccessNone0.047976s0.295705s
Success
tls_test.cSuccessNone0.051396s0.174044s
Success
uname.cSuccessNone0.046658s0.116187s
Success
wait.cSuccessNone0.050127s0.163716s
Success
waitpid_anychild.cSuccessNone0.054154s0.142946s
Success
waitpid_syscall.cSuccessNone1.053435s1.236795s
Success
waitpid_wnohang.cSuccessNone0.055070s0.150711s
Success
Signal Tests
alarm.cSuccessNone7.052639s7.159312s
Success
eintr_fork_signal.cSuccessNone1.055099s1.156821s
Success
kill.cSuccessNone1.054595s1.141711s
Success
pause_test.cSuccessNone1.054356s1.153946s
Success
setitimer.cSuccessNone7.052649s7.154084s
Success
sigalrm.cSuccessNone2.053310s2.139694s
Success
sigaltstack.cSuccessNone0.054849s0.133088s
Success
sigchld.cSuccessNone1.054631s1.143944s
Success
signal-fork.cSuccessNone4.054700s4.140304s
Success
signal-simple.cSuccessNone0.053949s0.126039s
Success
signal_SIGCHLD.cSuccessNone0.052275s0.153185s
Success
signal_fork.cSuccessNone0.050490s0.151927s
Success
signal_int_ignored.cSuccessNone2.056152s2.150236s
Success
signal_kill_cleanup.cSuccessNone1.051489s1.138891s
Success
signal_procmask.cSuccessNone0.049870s0.129881s
Success
signal_read_interrupt.cSuccessNone0.556639s0.647066s
Success
signal_recursive.cSuccessNone0.049512s0.132909s
Success
signal_sa_mask.cSuccessNone0.047199s0.118036s
Success
signal_select_interrupt.cSuccessNone0.560444s0.656721s
Success
signal_write_interrupt.cSuccessNone1.058196s1.142092s
Success
sigpipe.cSuccessNone1.054999s1.151666s
Success
sigprocmask.cSuccessNone1.051980s1.132065s
Success
sigsuspend_test.cSuccessNone1.052427s1.148181s
Success
test_sigsetjmp.cSuccessNone0.055904s0.154387s
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.044441s0.117166s
Success
Memory Tests
invalid_access_direct.cSuccessNone0.117232s0.124018s
Success
invalid_access_fork.cSuccessNone0.130320s0.216317s
Success
mmap-negative1.cSuccessNone0.117001s0.118457s
Success
mmap-negative2.cSuccessNone0.168671s0.215847s
Success
Signal Tests
signal_resethand.cSuccessNone1.054002s1.142498s
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.386598s8.771111s
LIBCPP_SORT_OK 1 2 3

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

Really nice documentation refresh here!

@Yaxuan-w Yaxuan-w merged commit 4515ced into main Jul 5, 2026
3 checks passed
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.

3 participants