Skip to content

Mmap memory safety tests#1209

Merged
Yaxuan-w merged 3 commits into
mainfrom
mmap-memory-safety-tests
May 28, 2026
Merged

Mmap memory safety tests#1209
Yaxuan-w merged 3 commits into
mainfrom
mmap-memory-safety-tests

Conversation

@harindham
Copy link
Copy Markdown

Two memory safety tests added:

  1. mmap_address_truncation.c: Exposes Address truncation and silent wrap-around when range overflows.
  2. mmap_null_address_mapping.c: Exposes null address mapping (related to the issue Install guard page at address 0 and fix invalid NULL-pointer writes in glibc #1065)

@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.049108s4.090286s
Success
thread.cSuccessNone0.059783s4.151599s
Success
tls_test.cSuccessNone0.044355s4.167069s
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 Cases225
Number of Successes225
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.041151s0.130836s
Success
chdir_getcwd.cSuccessNone0.041425s0.106925s
Success
chmod.cSuccessNone0.046154s0.118336s
Success
clock_gettime_highlevel.cSuccessNone0.279853s0.177027s
Success
clock_gettime_simple.cSuccessNone0.036886s0.094936s
Success
cloexec.cSuccessNone0.046251s0.127659s
Success
close.cSuccessNone0.047834s0.122838s
Success
creat_access.cSuccessNone0.043863s0.106521s
Success
doubleclose.cSuccessNone0.038319s0.090217s
Success
dup.cSuccessNone0.038346s0.104546s
Success
dup2.cSuccessNone0.043514s0.102801s
Success
dup3.cSuccessNone0.040943s0.105588s
Success
dupwrite.cSuccessNone0.043243s0.104665s
Success
etc_conf.cSuccessNone0.040477s0.109977s
Success
faccessat.cSuccessNone0.040135s0.106375s
Success
fchdir.cSuccessNone0.046110s0.118066s
Success
fchmod.cSuccessNone0.045258s0.116757s
Success
fchmodat.cSuccessNone0.040743s0.108121s
Success
fcntl.cSuccessNone0.042971s0.119312s
Success
fcntl_dupfd.cSuccessNone0.038293s0.098644s
Success
fdatasync.cSuccessNone0.043148s0.101858s
Success
filetest.cSuccessNone0.043778s0.100474s
Success
filetest1000.cSuccessNone0.047480s0.109409s
Success
flock.cSuccessNone0.050410s0.149977s
Success
fstat.cSuccessNone0.045339s0.117893s
Success
fstatfs.cSuccessNone0.040093s0.099295s
Success
fsync.cSuccessNone0.042823s0.103460s
Success
ftruncate.cSuccessNone0.047446s0.188880s
Success
getcwd.cSuccessNone0.040771s0.096906s
Success
getcwd_null.cSuccessNone0.044548s0.110539s
Success
getpgid.cSuccessNone0.038335s0.091765s
Success
getrandom.cSuccessNone0.043710s0.117810s
Success
ioctl.cSuccessNone0.047496s0.110706s
Success
link.cSuccessNone0.046642s0.141874s
Success
locale_test.cSuccessNone0.055451s0.283480s
Success
lseek.cSuccessNone0.047666s0.175390s
Success
lstat.cSuccessNone0.047541s0.123242s
Success
mkdir_rmdir.cSuccessNone0.044412s0.108164s
Success
mkfifo_test.cSuccessNone0.048842s0.155812s
Success
mknod.cSuccessNone0.042268s0.115111s
Success
nocancel_io.cSuccessNone0.047319s0.129011s
Success
open.cSuccessNone0.038849s0.094954s
Success
openat.cSuccessNone0.040040s0.101974s
Success
path_conversion_safety.cSuccessNone0.046874s0.121411s
Success
ppoll.cSuccessNone0.048396s0.116367s
Success
pread_pwrite.cSuccessNone0.042325s0.111306s
Success
preadv_pwritev.cSuccessNone0.046103s0.121269s
Success
printf.cSuccessNone0.037736s0.091017s
Success
prlimit64.cSuccessNone0.038642s0.098251s
Success
read.cSuccessNone0.043618s0.114845s
Success
readbytes.cSuccessNone0.040193s0.102385s
Success
readdir_basic.cSuccessNone0.046277s0.135663s
Success
readlink.cSuccessNone0.044653s0.110895s
Success
readlinkat.cSuccessNone0.046538s0.115952s
Success
readv_writev_test.cSuccessNone0.045836s0.117631s
Success
rename.cSuccessNone0.049726s0.107648s
Success
renameat.cSuccessNone0.046233s0.120974s
Success
sc-writev.cSuccessNone0.041428s0.105913s
Success
stat.cSuccessNone0.044471s0.115908s
Success
statfs.cSuccessNone0.040208s0.097212s
Success
symlink.cSuccessNone0.047110s0.136644s
Success
sync_file_range.cSuccessNone0.042363s0.101442s
Success
timespec_time_t_compat.cSuccessNone0.042360s0.098814s
Success
trailing_slash.cSuccessNone0.043024s0.111192s
Success
truncate.cSuccessNone0.046012s0.125208s
Success
unlink.cSuccessNone0.046543s0.139462s
Success
unlinkat.cSuccessNone0.045587s0.124526s
Success
utimensat.cSuccessNone0.043629s0.126008s
Success
write.cSuccessNone0.038980s0.092005s
Success
writeloop.cSuccessNone0.046127s0.105324s
Success
writepartial.cSuccessNone0.045948s0.100748s
Success
writev.cSuccessNone0.045616s0.112839s
Success
Math Tests
math_link_smoke.cSuccessNone0.047796s0.097126s
Success
math_tests.cSuccessNone0.052119s0.123771s
Success
printf_float.cSuccessNone0.048704s0.123245s
Success
Memory Tests
brk.cSuccessNone0.042315s0.102873s
Success
fork_large_memory.cSuccessNone0.073924s0.420081s
Success
malloc.cSuccessNone0.047213s0.146290s
Success
malloc_large.cSuccessNone0.076579s0.221395s
Success
memcpy.cSuccessNone0.090627s0.188284s
Success
memory_error_test.cSuccessNone0.069839s0.219693s
Success
mmap.cSuccessNone0.074435s0.148589s
Success
mmap_aligned.cSuccessNone0.039502s0.105536s
Success
mmap_complicated.cSuccessNone0.043449s0.128395s
Success
mmap_file.cSuccessNone0.043988s0.106920s
Success
mmap_shared.cSuccessNone0.052311s0.200774s
Success
mmaptest.cSuccessNone0.041041s0.099573s
Success
mprotect.cSuccessNone0.044298s0.147904s
Success
mprotect_boundary.cSuccessNone0.039628s0.105914s
Success
mprotect_end_region.cSuccessNone0.038875s0.100476s
Success
mprotect_middle_region.cSuccessNone0.053474s0.189515s
Success
mprotect_multiple_times.cSuccessNone0.060138s0.227151s
Success
mprotect_same_value.cSuccessNone0.056821s0.170365s
Success
mprotect_spanning_regions.cSuccessNone0.039362s0.114881s
Success
munmap_adjacent_shm.cSuccessNone0.060439s0.200896s
Success
sbrk.cSuccessNone0.041161s0.097497s
Success
segfault.cSuccessNone0.070283s0.211712s
Success
shm.cSuccessNone0.067264s0.273561s
Success
shmtest.cSuccessNone0.049142s0.125301s
Success
thread_malloc_sequential.cSuccessNone0.081891s0.362506s
Success
vtable.cSuccessNone0.114932s0.188798s
Success
Networking Tests
accept4.cSuccessNone0.049431s0.121718s
Success
dns_resolve_test.cSuccessNone0.045313s0.113932s
Success
dnstest.cSuccessNone0.045981s0.111224s
Success
epoll_badfd.cSuccessNone0.039936s0.097786s
Success
epoll_edge_triggered.cSuccessNone0.202459s0.360887s
Success
epollcreate1.cSuccessNone0.044639s0.117209s
Success
error_handling_net.cSuccessNone0.053092s0.180015s
Success
getaddrinfo_test.cSuccessNone0.051613s0.142244s
Success
getaddrinfo_unspec.cSuccessNone0.059290s0.148333s
Success
gethostname.cSuccessNone0.039296s0.093377s
Success
getifaddrs.cSuccessNone0.048088s0.113594s
Success
getsockname.cSuccessNone0.046420s0.110039s
Success
getsockopt.cSuccessNone0.047464s0.145543s
Success
ipv6_basic.cSuccessNone0.050865s0.143523s
Success
makepipe.cSuccessNone0.040189s0.095471s
Success
nonblocking_eagain.cSuccessNone0.049588s0.153053s
Success
pipe.cSuccessNone0.046004s0.118568s
Success
pipe2.cSuccessNone0.046321s0.107184s
Success
pipeinput.cSuccessNone0.048351s0.138896s
Success
pipeinput2.cSuccessNone0.048627s0.148231s
Success
pipeonestring.cSuccessNone0.046913s0.139045s
Success
pipepong.cSuccessNone0.048020s0.146753s
Success
pipewrite.cSuccessNone0.042223s0.107320s
Success
poll.cSuccessNone0.045610s0.105398s
Success
recvfrom-sendto.cSuccessNone0.047007s0.117937s
Success
sendmsg_recvmsg_test.cSuccessNone0.045329s0.118715s
Success
serverclient.cSuccessNone0.045822s0.120896s
Success
shutdown.cSuccessNone0.046643s0.115259s
Success
shutdown_fork.cSuccessNone0.044347s0.126092s
Success
simple-select.cSuccessNone0.048030s0.142771s
Success
simple_epoll.cSuccessNone0.045282s0.115207s
Success
socket.cSuccessNone0.044542s0.104153s
Success
socket_cloexec.cSuccessNone0.046144s0.106521s
Success
socket_options_advanced.cSuccessNone0.049602s0.160274s
Success
socketepoll.cSuccessNone0.045335s0.106303s
Success
socketpair.cSuccessNone0.044437s0.124886s
Success
socketselect.cSuccessNone0.044146s0.111138s
Success
udp_send_recv.cSuccessNone0.153160s0.264488s
Success
uds-getsockname.cSuccessNone0.045647s0.107245s
Success
uds-nb-select.cSuccessNone2.052553s2.175910s
Success
uds-serverclient.cSuccessNone0.049142s0.147478s
Success
uds-socketselect.cSuccessNone0.044630s0.114357s
Success
uds_listen_poll.cSuccessNone1.051779s1.157407s
Success
writev_socket.cSuccessNone0.047145s0.140898s
Success
Process Tests
barrier_test.cSuccessNone0.044252s0.121755s
Success
chain_thread.cSuccessNone1.045882s1.133231s
Success
ctor_syscall_test.cSuccessNone0.037298s0.095672s
Success
cxa_atexit_test.cSuccessNone0.042815s0.098163s
Success
exec_non_utf8.cSuccessNone0.044973s0.107940s
Success
execve_shebang.cSuccessNone0.044949s0.105924s
Success
exit.cSuccessNone0.044047s0.098281s
Success
exit_failure.cSuccessNone0.043444s0.116600s
Success
exit_group_thread.cSuccessNone0.045445s0.135587s
Success
exit_status_first_wins.cSuccessNone0.046570s0.138031s
Success
flockfile_test.cSuccessNone0.045056s0.131491s
Success
fork2malloc.cSuccessNone0.044855s0.125014s
Success
fork_select.cSuccessNone0.044217s0.130509s
Success
fork_simple.cSuccessNone0.044164s0.119053s
Success
fork_syscall.cSuccessNone0.047846s0.633267s
Success
fork_tls_ctype.cSuccessNone0.045952s0.143220s
Success
forkandopen.cSuccessNone0.045884s0.132202s
Success
forkdup.cSuccessNone0.047245s0.130756s
Success
forkexecuid.cSuccessNone0.043436s0.138299s
Success
forkexecv-arg.cSuccessNone0.045636s0.133027s
Success
forkexecv.cSuccessNone0.041432s0.121999s
Success
forkfiles.cSuccessNone0.050915s0.131349s
Success
forkmalloc.cSuccessNone0.046697s0.122325s
Success
forknodup.cSuccessNone0.044882s0.131948s
Success
function-ptr.cSuccessNone0.040444s0.096933s
Success
getegid_syscall.cSuccessNone0.047302s0.478100s
Success
getgid_syscall.cSuccessNone0.045526s0.476269s
Success
getpid.cSuccessNone0.039363s0.093820s
Success
getpid_syscall.cSuccessNone0.046849s0.502920s
Success
getppid.cSuccessNone0.045537s0.117905s
Success
getppid_syscall.cSuccessNone0.047291s0.385843s
Success
getuid.cSuccessNone0.045104s0.101909s
Success
getuid_syscall.cSuccessNone0.044388s0.219607s
Success
hello-arg.cSuccessNone0.037391s0.098176s
Success
hello.cSuccessNone0.038108s0.091208s
Success
longjmp.cSuccessNone0.038445s0.102019s
Success
mutex.cSuccessNone2.047211s2.122557s
Success
printf_deadlock_smoke.cSuccessNone0.052968s0.152755s
Success
printf_thread_test.cSuccessNone0.044122s0.126758s
Success
sem_forks.cSuccessNone0.046658s0.168753s
Success
setjmp_edge.cSuccessNone0.041685s0.168196s
Success
setsid.cSuccessNone0.040360s0.096508s
Success
template.cSuccessNone0.045249s0.167185s
Success
test_crossmodule_longjmp.cSuccessNone0.045375s0.135049s
Success
test_exec_nofork.cSuccessNone0.043879s0.118952s
Success
test_unlink_open_file.cSuccessNone0.040930s0.095758s
Success
thread-guard.cSuccessNone0.043576s0.116364s
Success
thread-test.cSuccessNone0.041446s0.106899s
Success
thread.cSuccessNone0.041210s0.119907s
Success
thread_cageid_race.cSuccessNone0.042090s0.280901s
Success
tls_test.cSuccessNone0.045191s0.150113s
Success
uname.cSuccessNone0.038903s0.096817s
Success
wait.cSuccessNone0.043879s0.134596s
Success
waitpid_anychild.cSuccessNone0.044662s0.125072s
Success
waitpid_syscall.cSuccessNone1.044802s1.214445s
Success
waitpid_wnohang.cSuccessNone0.045905s0.124359s
Success
Signal Tests
alarm.cSuccessNone7.044262s7.133377s
Success
eintr_fork_signal.cSuccessNone1.048309s1.143518s
Success
kill.cSuccessNone1.046936s1.126020s
Success
pause_test.cSuccessNone1.045603s1.131762s
Success
setitimer.cSuccessNone7.044639s7.136321s
Success
sigalrm.cSuccessNone2.045521s2.126876s
Success
sigaltstack.cSuccessNone0.046546s0.116850s
Success
sigchld.cSuccessNone1.047973s1.312050s
Success
signal-fork.cSuccessNone4.047363s4.124857s
Success
signal-simple.cSuccessNone0.045953s0.110352s
Success
signal_SIGCHLD.cSuccessNone0.045690s0.134586s
Success
signal_fork.cSuccessNone0.044178s0.135426s
Success
signal_int_ignored.cSuccessNone2.046543s2.124073s
Success
signal_kill_cleanup.cSuccessNone1.043644s1.116616s
Success
signal_procmask.cSuccessNone0.041021s0.109145s
Success
signal_read_interrupt.cSuccessNone0.548986s0.627853s
Success
signal_recursive.cSuccessNone0.041847s0.114723s
Success
signal_sa_mask.cSuccessNone0.042413s0.106694s
Success
signal_select_interrupt.cSuccessNone0.551817s0.634118s
Success
signal_write_interrupt.cSuccessNone1.049477s1.127130s
Success
sigpipe.cSuccessNone1.046163s1.133342s
Success
sigprocmask.cSuccessNone1.045348s1.116121s
Success
sigsuspend_test.cSuccessNone1.044126s1.133078s
Success
test_sigsetjmp.cSuccessNone0.045433s0.134485s
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.036920s0.095673s
Success
Memory Tests
invalid_access_direct.cSuccessNone0.088262s0.132787s
Success
invalid_access_fork.cSuccessNone0.141693s0.247897s
Success
mmap-negative1.cSuccessNone0.091414s0.100638s
Success
mmap-negative2.cSuccessNone0.123017s0.148224s
Success
Signal Tests
signal_resethand.cSuccessNone1.045439s1.118472s
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.480231s8.757463s
LIBCPP_SORT_OK 1 2 3

@Yaxuan-w Yaxuan-w requested a review from qianxichen233 May 27, 2026 19:31
@Yaxuan-w Yaxuan-w merged commit 683b122 into main May 28, 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.

2 participants