Skip to content

dynamic loading: library dependency resolver#1157

Open
qianxichen233 wants to merge 6 commits into
mainfrom
library-dependency-resolver
Open

dynamic loading: library dependency resolver#1157
qianxichen233 wants to merge 6 commits into
mainfrom
library-dependency-resolver

Conversation

@qianxichen233

@qianxichen233 qianxichen233 commented May 4, 2026

Copy link
Copy Markdown
Contributor

use dylink.0 Needed Section to automatically resolve and load library dependencies, so manually specify --preload is no longer needed

@qianxichen233 qianxichen233 force-pushed the library-dependency-resolver branch from 134a9a8 to c8676fc Compare May 25, 2026 08:40
Add dylink_needed_info to Module::new initializer and both exhaustive
struct patterns in trace/trace_mut. Add #[allow(missing_docs)] to
dylink_neededinfo and is_named_instance_registered methods.
@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=0xfffd1ff9
[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
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.058535s3.955727s
Success
thread.cSuccessNone0.047958s4.037108s
Success
tls_test.cSuccessNone0.049746s4.035583s
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.046751s0.142760s
Success
chdir_getcwd.cSuccessNone0.048084s0.114815s
Success
chmod.cSuccessNone0.053517s0.124841s
Success
clock_gettime_highlevel.cSuccessNone0.117835s0.158526s
Success
clock_gettime_simple.cSuccessNone0.041559s0.100559s
Success
cloexec.cSuccessNone0.053697s0.132603s
Success
close.cSuccessNone0.058443s0.135821s
Success
creat_access.cSuccessNone0.050230s0.113145s
Success
doubleclose.cSuccessNone0.042427s0.095037s
Success
dup.cSuccessNone0.043670s0.112445s
Success
dup2.cSuccessNone0.048856s0.110648s
Success
dup3.cSuccessNone0.048385s0.112941s
Success
dupwrite.cSuccessNone0.049985s0.112565s
Success
etc_conf.cSuccessNone0.046130s0.114703s
Success
faccessat.cSuccessNone0.046198s0.113968s
Success
fchdir.cSuccessNone0.052894s0.124727s
Success
fchmod.cSuccessNone0.052294s0.124407s
Success
fchmodat.cSuccessNone0.046273s0.112639s
Success
fcntl.cSuccessNone0.049893s0.126402s
Success
fcntl_dupfd.cSuccessNone0.044260s0.107846s
Success
fdatasync.cSuccessNone0.048426s0.110209s
Success
filetest.cSuccessNone0.049624s0.109305s
Success
filetest1000.cSuccessNone0.060512s0.122680s
Success
flock.cSuccessNone0.057225s0.160432s
Success
fstat.cSuccessNone0.052793s0.126902s
Success
fstatfs.cSuccessNone0.045365s0.105040s
Success
fsync.cSuccessNone0.049007s0.108417s
Success
ftruncate.cSuccessNone0.055193s0.206523s
Success
getcwd.cSuccessNone0.045724s0.103222s
Success
getcwd_null.cSuccessNone0.050811s0.117130s
Success
getpgid.cSuccessNone0.043292s0.099346s
Success
getrandom.cSuccessNone0.050817s0.124606s
Success
ioctl.cSuccessNone0.052240s0.118038s
Success
link.cSuccessNone0.054213s0.152925s
Success
locale_test.cSuccessNone0.064295s0.307249s
Success
lseek.cSuccessNone0.053992s0.185507s
Success
lstat.cSuccessNone0.053274s0.132554s
Success
mkdir_rmdir.cSuccessNone0.050533s0.114878s
Success
mkfifo_test.cSuccessNone0.056192s0.161082s
Success
mknod.cSuccessNone0.050378s0.124378s
Success
nocancel_io.cSuccessNone0.053335s0.137740s
Success
open.cSuccessNone0.044376s0.102532s
Success
openat.cSuccessNone0.045337s0.108708s
Success
path_conversion_safety.cSuccessNone0.058917s0.136502s
Success
ppoll.cSuccessNone0.055401s0.123084s
Success
pread_pwrite.cSuccessNone0.047476s0.116712s
Success
preadv_pwritev.cSuccessNone0.052682s0.129341s
Success
printf.cSuccessNone0.041547s0.095489s
Success
prlimit64.cSuccessNone0.042999s0.101962s
Success
read.cSuccessNone0.051143s0.123481s
Success
readbytes.cSuccessNone0.046405s0.105706s
Success
readdir_basic.cSuccessNone0.053247s0.145608s
Success
readlink.cSuccessNone0.050539s0.119842s
Success
readlinkat.cSuccessNone0.052155s0.122892s
Success
readv_writev_test.cSuccessNone0.052848s0.126677s
Success
rename.cSuccessNone0.053432s0.117809s
Success
renameat.cSuccessNone0.053182s0.130071s
Success
sc-writev.cSuccessNone0.048965s0.113264s
Success
stat.cSuccessNone0.051562s0.124082s
Success
statfs.cSuccessNone0.044186s0.104990s
Success
symlink.cSuccessNone0.054081s0.145350s
Success
sync_file_range.cSuccessNone0.048477s0.108205s
Success
timespec_time_t_compat.cSuccessNone0.047360s0.106056s
Success
trailing_slash.cSuccessNone0.048804s0.116428s
Success
truncate.cSuccessNone0.053996s0.133798s
Success
unlink.cSuccessNone0.053596s0.148000s
Success
unlinkat.cSuccessNone0.052411s0.130318s
Success
utimensat.cSuccessNone0.051205s0.131445s
Success
write.cSuccessNone0.043799s0.097286s
Success
writeloop.cSuccessNone0.053814s0.114889s
Success
writepartial.cSuccessNone0.050821s0.106733s
Success
writev.cSuccessNone0.053495s0.123660s
Success
Math Tests
math_link_smoke.cSuccessNone0.053671s0.107963s
Success
math_tests.cSuccessNone0.057812s0.134239s
Success
printf_float.cSuccessNone0.056198s0.130153s
Success
vtable.cSuccessNone0.060034s0.121486s
Success
Memory Tests
brk.cSuccessNone0.049863s0.120452s
Success
fork_large_memory.cSuccessNone0.085576s0.444525s
Success
malloc.cSuccessNone0.046566s0.101257s
Success
malloc_large.cSuccessNone0.049101s0.105212s
Success
memcpy.cSuccessNone0.048571s0.107873s
Success
memory_error_test.cSuccessNone0.056262s0.148941s
Success
mmap.cSuccessNone0.048778s0.105153s
Success
mmap_aligned.cSuccessNone0.045331s0.125226s
Success
mmap_complicated.cSuccessNone0.052924s0.142790s
Success
mmap_file.cSuccessNone0.053997s0.117981s
Success
mmap_shared.cSuccessNone0.051735s0.129708s
Success
mmaptest.cSuccessNone0.048652s0.114446s
Success
mprotect.cSuccessNone0.046343s0.114069s
Success
mprotect_boundary.cSuccessNone0.048116s0.117599s
Success
mprotect_end_region.cSuccessNone0.049040s0.136576s
Success
mprotect_middle_region.cSuccessNone0.046099s0.119915s
Success
mprotect_multiple_times.cSuccessNone0.045759s0.157120s
Success
mprotect_same_value.cSuccessNone0.044986s0.111316s
Success
mprotect_spanning_regions.cSuccessNone0.050712s0.132485s
Success
munmap_adjacent_shm.cSuccessNone0.049646s0.132621s
Success
sbrk.cSuccessNone0.048904s0.110079s
Success
segfault.cSuccessNone0.055786s0.154196s
Success
shm.cSuccessNone0.081944s0.138373s
Success
shmtest.cSuccessNone0.046756s0.109514s
Success
thread_malloc_sequential.cSuccessNone0.054606s0.195573s
Success
Networking Tests
accept4.cSuccessNone0.055326s0.130947s
Success
dns_resolve_test.cSuccessNone0.049265s0.113922s
Success
dnstest.cSuccessNone0.049634s0.113000s
Success
epoll_badfd.cSuccessNone0.044690s0.102864s
Success
epoll_edge_triggered.cSuccessNone0.207946s0.374066s
Success
epollcreate1.cSuccessNone0.051043s0.123966s
Success
error_handling_net.cSuccessNone0.060631s0.187850s
Success
getaddrinfo_test.cSuccessNone0.054633s0.147320s
Success
getaddrinfo_unspec.cSuccessNone0.052791s0.132079s
Success
gethostname.cSuccessNone0.043785s0.097102s
Success
getifaddrs.cSuccessNone0.051886s0.116990s
Success
getsockname.cSuccessNone0.051576s0.117001s
Success
getsockopt.cSuccessNone0.054550s0.151636s
Success
ipv6_basic.cSuccessNone0.055217s0.149310s
Success
makepipe.cSuccessNone0.043493s0.096977s
Success
nonblocking_eagain.cSuccessNone0.056270s0.161385s
Success
pipe.cSuccessNone0.053058s0.124803s
Success
pipe2.cSuccessNone0.051769s0.116096s
Success
pipeinput.cSuccessNone0.054583s0.146999s
Success
pipeinput2.cSuccessNone0.053464s0.148899s
Success
pipeonestring.cSuccessNone0.053831s0.143986s
Success
pipepong.cSuccessNone0.052226s0.148306s
Success
pipewrite.cSuccessNone0.048250s0.113217s
Success
poll.cSuccessNone0.049979s0.109673s
Success
recvfrom-sendto.cSuccessNone0.056558s0.132116s
Success
sendmsg_recvmsg_test.cSuccessNone0.051453s0.125139s
Success
serverclient.cSuccessNone0.051794s0.128685s
Success
shutdown.cSuccessNone0.052999s0.125377s
Success
shutdown_fork.cSuccessNone0.054020s0.135834s
Success
simple-select.cSuccessNone0.053833s0.145293s
Success
simple_epoll.cSuccessNone0.051000s0.118020s
Success
socket.cSuccessNone0.049368s0.112263s
Success
socket_cloexec.cSuccessNone0.049493s0.108448s
Success
socket_options_advanced.cSuccessNone0.055907s0.165299s
Success
socketepoll.cSuccessNone0.049686s0.110476s
Success
socketpair.cSuccessNone0.048613s0.126561s
Success
socketselect.cSuccessNone0.049336s0.119036s
Success
udp_send_recv.cSuccessNone0.159805s0.267313s
Success
uds-getsockname.cSuccessNone0.051096s0.111217s
Success
uds-nb-select.cSuccessNone2.061250s2.187396s
Success
uds-serverclient.cSuccessNone0.054348s0.151450s
Success
uds-socketselect.cSuccessNone0.053712s0.122915s
Success
uds_listen_poll.cSuccessNone1.058651s1.163823s
Success
writev_socket.cSuccessNone0.055387s0.152676s
Success
Process Tests
barrier_test.cSuccessNone0.052718s0.133429s
Success
chain_thread.cSuccessNone1.055343s1.149311s
Success
ctor_syscall_test.cSuccessNone0.043225s0.101690s
Success
cxa_atexit_test.cSuccessNone0.048230s0.105459s
Success
exec_non_utf8.cSuccessNone0.053812s0.118322s
Success
execve_shebang.cSuccessNone0.052906s0.116651s
Success
exit.cSuccessNone0.049720s0.106706s
Success
exit_failure.cSuccessNone0.055421s0.131977s
Success
exit_group_thread.cSuccessNone0.054883s0.148367s
Success
exit_status_first_wins.cSuccessNone0.056768s0.150619s
Success
flockfile_test.cSuccessNone0.052194s0.142912s
Success
fork2malloc.cSuccessNone0.053630s0.132739s
Success
fork_select.cSuccessNone0.051353s0.135964s
Success
fork_simple.cSuccessNone0.050018s0.125986s
Success
fork_syscall.cSuccessNone0.055660s0.508015s
Success
fork_tls_ctype.cSuccessNone0.054146s0.152059s
Success
forkandopen.cSuccessNone0.056565s0.145204s
Success
forkdup.cSuccessNone0.056989s0.137305s
Success
forkexecuid.cSuccessNone0.051698s0.144993s
Success
forkexecv-arg.cSuccessNone0.051284s0.134164s
Success
forkexecv.cSuccessNone0.049918s0.129617s
Success
forkfiles.cSuccessNone0.055548s0.136363s
Success
forkmalloc.cSuccessNone0.052085s0.128294s
Success
forknodup.cSuccessNone0.052816s0.138941s
Success
function-ptr.cSuccessNone0.046965s0.105077s
Success
getegid_syscall.cSuccessNone0.053972s0.399934s
Success
getgid_syscall.cSuccessNone0.054573s0.414528s
Success
getpid.cSuccessNone0.045851s0.103058s
Success
getpid_syscall.cSuccessNone0.054397s0.414064s
Success
getppid.cSuccessNone0.055015s0.132588s
Success
getppid_syscall.cSuccessNone0.056083s0.338322s
Success
getuid.cSuccessNone0.055592s0.114121s
Success
getuid_syscall.cSuccessNone0.049891s0.217836s
Success
hello-arg.cSuccessNone0.041991s0.103106s
Success
hello.cSuccessNone0.043318s0.097257s
Success
longjmp.cSuccessNone0.044445s0.109644s
Success
mutex.cSuccessNone2.057655s2.146716s
Success
printf_deadlock_smoke.cSuccessNone0.061617s0.167420s
Success
printf_thread_test.cSuccessNone0.051337s0.140755s
Success
sem_forks.cSuccessNone0.053619s0.160416s
Success
setsid.cSuccessNone0.043392s0.098804s
Success
template.cSuccessNone0.052435s0.164788s
Success
test_exec_nofork.cSuccessNone0.052457s0.129266s
Success
test_unlink_open_file.cSuccessNone0.050325s0.107233s
Success
thread-guard.cSuccessNone0.049830s0.129989s
Success
thread-test.cSuccessNone0.048326s0.119042s
Success
thread.cSuccessNone0.047739s0.120251s
Success
thread_cageid_race.cSuccessNone0.048305s0.264364s
Success
tls_test.cSuccessNone0.050870s0.152084s
Success
uname.cSuccessNone0.045449s0.101510s
Success
wait.cSuccessNone0.049237s0.139280s
Success
waitpid_anychild.cSuccessNone0.051743s0.129759s
Success
waitpid_syscall.cSuccessNone1.054818s1.203823s
Success
waitpid_wnohang.cSuccessNone0.054840s0.133630s
Success
Signal Tests
alarm.cSuccessNone7.052455s7.146506s
Success
eintr_fork_signal.cSuccessNone1.054730s1.146307s
Success
kill.cSuccessNone1.052598s1.129329s
Success
setitimer.cSuccessNone7.052260s7.156102s
Success
sigalrm.cSuccessNone2.052508s2.133178s
Success
sigaltstack.cSuccessNone0.054500s0.129048s
Success
sigchld.cSuccessNone1.052216s1.127424s
Success
signal-fork.cSuccessNone4.054476s4.127466s
Success
signal-simple.cSuccessNone0.053475s0.116352s
Success
signal_SIGCHLD.cSuccessNone0.052710s0.136783s
Success
signal_fork.cSuccessNone0.049599s0.134949s
Success
signal_int_ignored.cSuccessNone2.052699s2.131382s
Success
signal_kill_cleanup.cSuccessNone1.052968s1.129939s
Success
signal_procmask.cSuccessNone0.046989s0.116581s
Success
signal_read_interrupt.cSuccessNone0.555752s0.638433s
Success
signal_recursive.cSuccessNone0.047222s0.120674s
Success
signal_sa_mask.cSuccessNone0.046307s0.110693s
Success
signal_select_interrupt.cSuccessNone0.556317s0.642027s
Success
signal_write_interrupt.cSuccessNone1.054581s1.131583s
Success
sigpipe.cSuccessNone1.054176s1.141514s
Success
sigprocmask.cSuccessNone1.052688s1.122225s
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.043646s0.101602s
Success
Memory Tests
mmap-negative1.cSuccessNone0.133849s0.112634s
Success
mmap-negative2.cSuccessNone0.124615s0.111940s
Success
Signal Tests
signal_resethand.cSuccessNone1.052741s1.124181s
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.390248s8.382912s
LIBCPP_SORT_OK 1 2 3

@Yaxuan-w

Yaxuan-w commented Jun 8, 2026

Copy link
Copy Markdown
Member
  1. Need to resolve merge conflicts.
  2. Does this pass app tests too?

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.

2 participants