Skip to content

Build lind-boot in debug mode by default#1168

Open
DanielZ224 wants to merge 4 commits into
mainfrom
fix-lind-boot-debug-default
Open

Build lind-boot in debug mode by default#1168
DanielZ224 wants to merge 4 commits into
mainfrom
fix-lind-boot-debug-default

Conversation

@DanielZ224

@DanielZ224 DanielZ224 commented May 6, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR keeps make lind-boot as the default release build and adds a new make lind-boot-debug target for building lind-boot in debug mode.

While testing the debug build, a Rust debug overflow panic was exposed in GOT memory relocation. This PR also makes that relocation use wrapping_add, preserving the existing release-build wrapping behavior explicitly.

Changes

  • Keep make lind-boot as the release build target
  • Add make lind-boot-debug for debug builds
  • Use wrapping_add for GOT memory relocation to avoid debug-build overflow panic

Testing

  • Ran make lind-boot
  • Ran make lind-boot-debug
  • Ran hello.c under debug lind-boot
  • Ran file test harness with debug lind-boot

Related Issue

Related to #942.

@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

grate harness

Grate Test Report

MetricValue
Total14
Success12
Failures2
Compile Failures0
Runtime Failures2
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.cFailureRuntime_Failure
Exit code: -6
STDOUT:

STDERR:

thread 'lind-fork-3' (151) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f5d93f9856c
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread caused non-unwinding panic. aborting.

concurrent-request/thread_race_grate.cFailureRuntime_Failure
Exit code: -6
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3

STDERR:

thread 'lind-fork-2' (202) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f5987f9856c
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread caused non-unwinding panic. aborting.

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

[Grate|interpose-exit] PASS

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

static harness

Test Report

Deterministic Tests

Summary

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

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Static Tests
fork_simple.cSuccessNone0.053755s35.603638s
Success
thread.cSuccessNone0.046481s36.066616s
Success
tls_test.cSuccessNone0.066554s36.295082s
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 Cases211
Number of Successes192
Number of Failures19
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 Failure19
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.047555s0.373318s
Success
chdir_getcwd.cSuccessNone0.049701s0.273809s
Success
chmod.cSuccessNone0.053197s0.301417s
Success
clock_gettime_highlevel.cSuccessNone0.118337s0.301595s
Success
clock_gettime_simple.cSuccessNone0.042517s0.243897s
Success
cloexec.cSuccessNone0.052499s0.348912s
Success
close.cSuccessNone0.059971s0.355278s
Success
creat_access.cSuccessNone0.050791s0.268578s
Success
doubleclose.cSuccessNone0.043372s0.225062s
Success
dup.cSuccessNone0.044572s0.296720s
Success
dup2.cSuccessNone0.049484s0.264434s
Success
dup3.cSuccessNone0.047591s0.269280s
Success
dupwrite.cSuccessNone0.051075s0.259656s
Success
etc_conf.cSuccessNone0.046439s0.282686s
Success
fchdir.cSuccessNone0.053883s0.296800s
Success
fchmod.cSuccessNone0.053693s0.305790s
Success
fcntl.cSuccessNone0.051199s0.334851s
Success
fdatasync.cSuccessNone0.051717s0.254730s
Success
filetest.cSuccessNone0.050899s0.244503s
Success
filetest1000.cSuccessNone0.058916s0.296539s
Success
flock.cSuccessNone0.057184s0.399027s
Success
fstat.cSuccessNone0.052840s0.313908s
Success
fstatfs.cSuccessNone0.044849s0.252502s
Success
fsync.cSuccessNone0.051837s0.251952s
Success
ftruncate.cSuccessNone0.055181s0.683315s
Success
getcwd.cSuccessNone0.048431s0.241670s
Success
getcwd_null.cSuccessNone0.051155s0.272500s
Success
getpgid.cSuccessNone0.044581s0.229786s
Success
getrandom.cSuccessNone0.050310s0.301221s
Success
ioctl.cSuccessNone0.052534s0.283672s
Success
link.cSuccessNone0.054223s0.421977s
Success
locale_test.cSuccessNone0.065750s1.185008s
Success
lseek.cSuccessNone0.056378s0.556274s
Success
lstat.cSuccessNone0.054742s0.337300s
Success
mkdir_rmdir.cSuccessNone0.052936s0.278847s
Success
mkfifo_test.cSuccessNone0.058144s0.416134s
Success
mknod.cSuccessNone0.050684s0.302242s
Success
nocancel_io.cSuccessNone0.053827s0.346834s
Success
open.cSuccessNone0.044635s0.233991s
Success
openat.cSuccessNone0.045261s0.267143s
Success
path_conversion_safety.cSuccessNone0.054249s0.333117s
Success
ppoll.cSuccessNone0.054292s0.282422s
Success
pread_pwrite.cSuccessNone0.048395s0.292859s
Success
preadv_pwritev.cSuccessNone0.053811s0.312323s
Success
printf.cSuccessNone0.042972s0.219925s
Success
prlimit64.cSuccessNone0.043826s0.239916s
Success
read.cSuccessNone0.051934s0.294794s
Success
readbytes.cSuccessNone0.048009s0.252244s
Success
readdir_basic.cSuccessNone0.054495s0.379227s
Success
readlink.cSuccessNone0.050669s0.291185s
Success
readlinkat.cSuccessNone0.052472s0.299643s
Success
readv_writev_test.cSuccessNone0.054316s0.295950s
Success
rename.cSuccessNone0.053312s0.264678s
Success
sc-writev.cSuccessNone0.048325s0.267194s
Success
stat.cSuccessNone0.052302s0.310266s
Success
symlink.cSuccessNone0.054760s0.391366s
Success
sync_file_range.cSuccessNone0.049240s0.256049s
Success
timespec_time_t_compat.cSuccessNone0.048893s0.245171s
Success
truncate.cSuccessNone0.051822s0.355549s
Success
unlink.cSuccessNone0.054025s0.405014s
Success
unlinkat.cSuccessNone0.055818s0.343544s
Success
write.cSuccessNone0.045193s0.226795s
Success
writeloop.cSuccessNone0.054143s0.262026s
Success
writepartial.cSuccessNone0.052416s0.236840s
Success
writev.cSuccessNone0.052905s0.283366s
Success
Math Tests
math_link_smoke.cSuccessNone0.055174s0.234005s
Success
math_tests.cSuccessNone0.060563s0.379479s
Success
printf_float.cSuccessNone0.055561s0.331943s
Success
Memory Tests
brk.cSuccessNone0.055652s0.270560s
Success
fork_large_memory.cSuccessNone0.083330s1.357500s
Success
malloc.cSuccessNone0.047079s0.221634s
Success
malloc_large.cSuccessNone0.047549s0.219670s
Success
memcpy.cSuccessNone0.048188s0.249632s
Success
memory_error_test.cSuccessNone0.054518s0.331159s
Success
mmap.cSuccessNone0.047062s0.242508s
Success
mmap_aligned.cSuccessNone0.047889s0.287321s
Success
mmap_complicated.cSuccessNone0.051561s0.316904s
Success
mmap_file.cSuccessNone0.054044s0.284509s
Success
mmap_shared.cSuccessNone0.050943s0.305665s
Success
mmaptest.cSuccessNone0.048169s0.265138s
Success
mprotect.cSuccessNone0.045071s0.241280s
Success
mprotect_boundary.cSuccessNone0.046336s0.274014s
Success
mprotect_end_region.cSuccessNone0.044839s0.259216s
Success
mprotect_middle_region.cSuccessNone0.046379s0.258824s
Success
mprotect_multiple_times.cSuccessNone0.047224s0.275615s
Success
mprotect_same_value.cSuccessNone0.046924s0.257532s
Success
mprotect_spanning_regions.cSuccessNone0.047709s0.313224s
Success
munmap_adjacent_shm.cFailureUnknown_Failure0.050176s0.434984s
PASS: shm intact after unaligned munmap
thread 'main' (8146) panicked at /src/wasmtime/crates/typemap/src/datatype_conversion.rs:710:17:
null pointer dereference occurred
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
sbrk.cSuccessNone0.047985s0.247499s
Success
segfault.cSuccessNone0.053677s0.358597s
Success
shm.cFailureUnknown_Failure0.052713s0.649149s
thread 'main' (7914) panicked at /src/wasmtime/crates/typemap/src/datatype_conversion.rs:710:17:
null pointer dereference occurred
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
shmtest.cFailureUnknown_Failure0.044988s0.382997s
thread 'main' (8395) panicked at /src/wasmtime/crates/typemap/src/datatype_conversion.rs:710:17:
null pointer dereference occurred
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread_malloc_sequential.cFailureUnknown_Failure0.054317s0.479027s
thread 'main' (7748) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f1c1279856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
vtable.cSuccessNone0.058392s0.276014s
Success
Networking Tests
accept4.cSuccessNone0.057030s0.322164s
Success
dns_resolve_test.cSuccessNone0.051339s0.271000s
Success
dnstest.cSuccessNone0.052305s0.265202s
Success
epoll_badfd.cSuccessNone0.047004s0.246861s
Success
epoll_edge_triggered.cSuccessNone0.210577s0.903003s
Success
epollcreate1.cSuccessNone0.054086s0.325059s
Success
error_handling_net.cSuccessNone0.060106s0.539405s
Success
getaddrinfo_test.cSuccessNone0.055624s0.388360s
Success
getaddrinfo_unspec.cSuccessNone0.057931s0.268784s
Success
gethostname.cSuccessNone0.045951s0.227956s
Success
getifaddrs.cSuccessNone0.055716s0.295350s
Success
getsockname.cSuccessNone0.057551s0.269794s
Success
getsockopt.cSuccessNone0.057981s0.421798s
Success
ipv6_basic.cSuccessNone0.058173s0.414667s
Success
makepipe.cSuccessNone0.045781s0.223148s
Success
nonblocking_eagain.cSuccessNone0.056235s0.439178s
Success
pipe.cSuccessNone0.055236s0.292856s
Success
pipe2.cSuccessNone0.055084s0.269625s
Success
pipeinput.cSuccessNone0.054995s0.361976s
Success
pipeinput2.cSuccessNone0.056764s0.374074s
Success
pipeonestring.cSuccessNone0.055603s0.361032s
Success
pipepong.cSuccessNone0.063787s0.414727s
Success
pipewrite.cSuccessNone0.049311s0.269236s
Success
poll.cSuccessNone0.052158s0.249516s
Success
recvfrom-sendto.cSuccessNone0.054835s0.309618s
Success
sendmsg_recvmsg_test.cSuccessNone0.054266s0.309766s
Success
serverclient.cSuccessNone0.052920s0.318119s
Success
shutdown.cSuccessNone0.054277s0.297551s
Success
shutdown_fork.cSuccessNone0.053390s0.319258s
Success
simple-select.cSuccessNone0.055282s0.359030s
Success
simple_epoll.cSuccessNone0.051969s0.288441s
Success
socket.cSuccessNone0.050928s0.264529s
Success
socket_cloexec.cSuccessNone0.052399s0.259955s
Success
socket_options_advanced.cSuccessNone0.058551s0.463041s
Success
socketepoll.cSuccessNone0.051379s0.262172s
Success
socketpair.cSuccessNone0.051659s0.310352s
Success
socketselect.cSuccessNone0.053115s0.286465s
Success
udp_send_recv.cSuccessNone0.159261s0.535281s
Success
uds-getsockname.cSuccessNone0.051844s0.259399s
Success
uds-nb-select.cFailureUnknown_Failure2.061367s0.624220s
thread 'main' (4335) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f923ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
uds-serverclient.cSuccessNone0.056359s0.376362s
Success
uds-socketselect.cSuccessNone0.052528s0.290188s
Success
writev_socket.cSuccessNone0.056131s0.402364s
Success
Process Tests
barrier_test.cFailureUnknown_Failure0.050589s0.406633s
thread 'main' (1468) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f9f1ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
chain_thread.cFailureUnknown_Failure1.064339s0.417477s
thread 'main' (2237) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f8bdbf9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
ctor_syscall_test.cSuccessNone0.044455s0.250214s
Success
cxa_atexit_test.cSuccessNone0.048437s0.255628s
Success
exec_non_utf8.cSuccessNone0.050705s0.257562s
Success
execve_shebang.cSuccessNone0.055406s0.269690s
Success
exit.cSuccessNone0.050017s0.234249s
Success
exit_failure.cSuccessNone0.074613s0.383665s
Success
exit_group_thread.cFailureUnknown_Failure0.052766s0.580978s
thread 'lind-fork-2' (1771) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fb47bd9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
flockfile_test.cFailureUnknown_Failure0.076439s0.624428s
thread 'main' (2702) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fbb63f9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
fork2malloc.cSuccessNone0.053029s0.300190s
Success
fork_select.cSuccessNone0.051528s0.332787s
Success
fork_simple.cSuccessNone0.062149s0.316006s
Success
fork_syscall.cSuccessNone0.083082s2.139087s
Success
fork_tls_ctype.cSuccessNone0.055887s0.385630s
Success
forkandopen.cSuccessNone0.053858s0.332975s
Success
forkdup.cSuccessNone0.061583s0.336154s
Success
forkexecuid.cSuccessNone0.054232s0.406257s
Success
forkexecv-arg.cSuccessNone0.051662s0.375722s
Success
forkexecv.cSuccessNone0.050244s0.359762s
Success
forkfiles.cSuccessNone0.054375s0.356882s
Success
forkmalloc.cSuccessNone0.053534s0.286163s
Success
forknodup.cSuccessNone0.055695s0.338910s
Success
function-ptr.cSuccessNone0.047236s0.232922s
Success
getegid_syscall.cSuccessNone0.053095s1.256649s
Success
getgid_syscall.cSuccessNone0.053804s1.416021s
Success
getpid.cSuccessNone0.044817s0.232055s
Success
getpid_syscall.cSuccessNone0.057126s1.327941s
Success
getppid.cSuccessNone0.052444s0.283720s
Success
getppid_syscall.cSuccessNone0.055909s0.913609s
Success
getuid.cSuccessNone0.056591s0.264003s
Success
getuid_syscall.cSuccessNone0.061274s0.638586s
Success
hello-arg.cSuccessNone0.046682s0.272009s
Success
hello.cSuccessNone0.042366s0.222996s
Success
longjmp.cSuccessNone0.044581s0.257839s
Success
mutex.cFailureUnknown_Failure2.075329s0.413889s
thread 'main' (2454) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f4782b9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
printf_deadlock_smoke.cFailureUnknown_Failure0.064618s0.536257s
thread 'main' (2822) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7ff9e7f9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
printf_thread_test.cFailureUnknown_Failure0.052105s0.469650s
thread 'main' (2598) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fcf3ab9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
sem_forks.cSuccessNone0.055266s0.418801s
Success
setsid.cSuccessNone0.046653s0.236081s
Success
template.cSuccessNone0.056566s0.431574s
Success
test_exec_nofork.cSuccessNone0.072892s0.487476s
Success
test_unlink_open_file.cSuccessNone0.048509s0.237607s
Success
thread-guard.cFailureUnknown_Failure0.050513s0.422575s
thread 'main' (2667) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f2ffff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread-test.cFailureUnknown_Failure0.047473s0.389174s
thread 'main' (2420) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f750ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread.cFailureUnknown_Failure0.048339s0.394908s
thread 'main' (2318) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fba0eb9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread_cageid_race.cFailureUnknown_Failure0.048101s0.461350s
thread 'main' (1069) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7ff61ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
tls_test.cFailureUnknown_Failure0.051087s0.418738s
thread 'main' (2058) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fda83f9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
uname.cSuccessNone0.044801s0.229952s
Success
wait.cSuccessNone0.050662s0.345081s
Success
waitpid_anychild.cSuccessNone0.052716s0.295707s
Success
waitpid_syscall.cSuccessNone1.052163s1.521683s
Success
waitpid_wnohang.cSuccessNone0.065878s0.311538s
Success
Signal Tests
alarm.cSuccessNone7.068159s7.300505s
Success
eintr_fork_signal.cSuccessNone1.053645s1.324230s
Success
kill.cSuccessNone1.052531s1.302632s
Success
setitimer.cSuccessNone7.051842s7.292978s
Success
sigalrm.cSuccessNone2.051563s2.292065s
Success
sigaltstack.cSuccessNone0.053547s0.285561s
Success
sigchld.cSuccessNone1.054361s1.293620s
Success
signal-fork.cSuccessNone4.053581s4.289724s
Success
signal-simple.cSuccessNone0.052008s0.258757s
Success
signal_SIGCHLD.cSuccessNone0.051463s0.313469s
Success
signal_fork.cSuccessNone0.049531s0.323651s
Success
signal_int_ignored.cSuccessNone2.052091s2.297693s
Success
signal_kill_cleanup.cSuccessNone1.051087s1.293262s
Success
signal_procmask.cSuccessNone0.047755s0.274436s
Success
signal_read_interrupt.cFailureUnknown_Failure0.556602s0.429939s
thread 'main' (6923) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f9f43b9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
signal_recursive.cSuccessNone0.047399s0.294304s
Success
signal_sa_mask.cSuccessNone0.047068s0.266231s
Success
signal_select_interrupt.cFailureUnknown_Failure0.565194s0.456164s
thread 'main' (6957) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f873ab9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
signal_write_interrupt.cSuccessNone1.054134s1.300978s
Success
sigpipe.cSuccessNone1.054111s1.338478s
Success
sigprocmask.cSuccessNone1.051481s1.292100s
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.044401s0.242162s
Success
Memory Tests
mmap-negative1.cSuccessNone0.110330s0.350920s
Success
mmap-negative2.cSuccessNone0.153818s0.372192s
Success
Signal Tests
signal_resethand.cSuccessNone1.050769s1.295825s
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.617353s66.441463s
LIBCPP_SORT_OK 1 2 3

@Yaxuan-w

Yaxuan-w commented May 6, 2026

Copy link
Copy Markdown
Member

I'd like to have make lind-boot as default release version and make lind-boot-debug as debug version

@rennergade

Copy link
Copy Markdown
Contributor

I'd like to have make lind-boot as default release version and make lind-boot-debug as debug version

I agree here as well.

@DanielZ224 DanielZ224 force-pushed the fix-lind-boot-debug-default branch from f4f7695 to 8fa00b1 Compare May 7, 2026 00:50
@DanielZ224

Copy link
Copy Markdown
Contributor Author

Thanks, that makes sense. I’ll keep make lind-boot as the default release build and update the PR to add a separate make lind-boot-debug target for debug builds.

@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

grate harness

Grate Test Report

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

Cases

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

[Grate|interpose-exit] PASS

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

static harness

Test Report

Deterministic Tests

Summary

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

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Static Tests
fork_simple.cSuccessNone0.053915s4.345378s
Success
thread.cSuccessNone0.045729s4.430538s
Success
tls_test.cSuccessNone0.056279s4.399102s
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 Cases213
Number of Successes213
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.046546s0.138214s
Success
chdir_getcwd.cSuccessNone0.047895s0.111097s
Success
chmod.cSuccessNone0.053235s0.119202s
Success
clock_gettime_highlevel.cSuccessNone0.119685s0.155803s
Success
clock_gettime_simple.cSuccessNone0.040546s0.093914s
Success
cloexec.cSuccessNone0.051623s0.122829s
Success
close.cSuccessNone0.058248s0.127177s
Success
creat_access.cSuccessNone0.051046s0.109355s
Success
doubleclose.cSuccessNone0.041912s0.089427s
Success
dup.cSuccessNone0.043588s0.107749s
Success
dup2.cSuccessNone0.048063s0.105380s
Success
dup3.cSuccessNone0.046114s0.105840s
Success
dupwrite.cSuccessNone0.051424s0.105449s
Success
etc_conf.cSuccessNone0.043884s0.107530s
Success
fchdir.cSuccessNone0.053773s0.124021s
Success
fchmod.cSuccessNone0.052506s0.114435s
Success
fcntl.cSuccessNone0.049232s0.122887s
Success
fdatasync.cSuccessNone0.048901s0.103749s
Success
filetest.cSuccessNone0.050873s0.104155s
Success
filetest1000.cSuccessNone0.056609s0.118231s
Success
flock.cSuccessNone0.062501s0.142268s
Success
fstat.cSuccessNone0.052247s0.118650s
Success
fstatfs.cSuccessNone0.044326s0.101541s
Success
fsync.cSuccessNone0.049475s0.105220s
Success
ftruncate.cSuccessNone0.053547s0.204335s
Success
getcwd.cSuccessNone0.045992s0.096959s
Success
getcwd_null.cSuccessNone0.050645s0.114741s
Success
getpgid.cSuccessNone0.043593s0.094690s
Success
getrandom.cSuccessNone0.049304s0.118547s
Success
ioctl.cSuccessNone0.052721s0.113643s
Success
link.cSuccessNone0.053137s0.159504s
Success
locale_test.cSuccessNone0.064679s0.310063s
Success
lseek.cSuccessNone0.055114s0.183844s
Success
lstat.cSuccessNone0.052541s0.125148s
Success
mkdir_rmdir.cSuccessNone0.050433s0.108248s
Success
mkfifo_test.cSuccessNone0.055330s0.147987s
Success
mknod.cSuccessNone0.048501s0.114323s
Success
nocancel_io.cSuccessNone0.053882s0.132795s
Success
open.cSuccessNone0.044712s0.096837s
Success
openat.cSuccessNone0.047071s0.107797s
Success
path_conversion_safety.cSuccessNone0.053613s0.128006s
Success
ppoll.cSuccessNone0.054215s0.118340s
Success
pread_pwrite.cSuccessNone0.047259s0.111493s
Success
preadv_pwritev.cSuccessNone0.053039s0.124132s
Success
printf.cSuccessNone0.042159s0.091101s
Success
prlimit64.cSuccessNone0.043192s0.098225s
Success
read.cSuccessNone0.051981s0.119691s
Success
readbytes.cSuccessNone0.046111s0.100080s
Success
readdir_basic.cSuccessNone0.053175s0.137222s
Success
readlink.cSuccessNone0.049690s0.112650s
Success
readlinkat.cSuccessNone0.052458s0.120736s
Success
readv_writev_test.cSuccessNone0.052086s0.119320s
Success
rename.cSuccessNone0.052478s0.111653s
Success
sc-writev.cSuccessNone0.049554s0.108399s
Success
stat.cSuccessNone0.049628s0.115758s
Success
statfs.cSuccessNone0.043743s0.097909s
Success
symlink.cSuccessNone0.052776s0.139039s
Success
sync_file_range.cSuccessNone0.048532s0.103245s
Success
timespec_time_t_compat.cSuccessNone0.047843s0.102373s
Success
truncate.cSuccessNone0.052422s0.126777s
Success
unlink.cSuccessNone0.053895s0.144431s
Success
unlinkat.cSuccessNone0.052406s0.127816s
Success
write.cSuccessNone0.044559s0.091398s
Success
writeloop.cSuccessNone0.052852s0.108665s
Success
writepartial.cSuccessNone0.050941s0.101767s
Success
writev.cSuccessNone0.051846s0.115496s
Success
Math Tests
math_link_smoke.cSuccessNone0.053653s0.099073s
Success
math_tests.cSuccessNone0.057587s0.128636s
Success
printf_float.cSuccessNone0.055794s0.125462s
Success
Memory Tests
brk.cSuccessNone0.048082s0.104779s
Success
fork_large_memory.cSuccessNone0.079330s0.365996s
Success
malloc.cSuccessNone0.046979s0.093828s
Success
malloc_large.cSuccessNone0.047067s0.095544s
Success
memcpy.cSuccessNone0.044936s0.095635s
Success
memory_error_test.cSuccessNone0.051839s0.126519s
Success
mmap.cSuccessNone0.042968s0.094459s
Success
mmap_aligned.cSuccessNone0.044993s0.109237s
Success
mmap_complicated.cSuccessNone0.051478s0.119240s
Success
mmap_file.cSuccessNone0.051267s0.110951s
Success
mmap_shared.cSuccessNone0.049717s0.115109s
Success
mmaptest.cSuccessNone0.046425s0.101004s
Success
mprotect.cSuccessNone0.044543s0.097457s
Success
mprotect_boundary.cSuccessNone0.043922s0.107572s
Success
mprotect_end_region.cSuccessNone0.044214s0.101725s
Success
mprotect_middle_region.cSuccessNone0.043884s0.101887s
Success
mprotect_multiple_times.cSuccessNone0.044080s0.102699s
Success
mprotect_same_value.cSuccessNone0.043177s0.098349s
Success
mprotect_spanning_regions.cSuccessNone0.045910s0.118510s
Success
munmap_adjacent_shm.cSuccessNone0.046979s0.117235s
Success
sbrk.cSuccessNone0.047184s0.098852s
Success
segfault.cSuccessNone0.052733s0.131356s
Success
shm.cSuccessNone0.050442s0.122214s
Success
shmtest.cSuccessNone0.044099s0.102209s
Success
thread_malloc_sequential.cSuccessNone0.052982s0.149764s
Success
vtable.cSuccessNone0.055814s0.115518s
Success
Networking Tests
accept4.cSuccessNone0.055031s0.125298s
Success
dns_resolve_test.cSuccessNone0.050087s0.108904s
Success
dnstest.cSuccessNone0.052814s0.110269s
Success
epoll_badfd.cSuccessNone0.044794s0.096994s
Success
epoll_edge_triggered.cSuccessNone0.207105s0.371954s
Success
epollcreate1.cSuccessNone0.052133s0.120360s
Success
error_handling_net.cSuccessNone0.058159s0.181377s
Success
getaddrinfo_test.cSuccessNone0.054065s0.145507s
Success
getaddrinfo_unspec.cSuccessNone0.050399s0.120908s
Success
gethostname.cSuccessNone0.045095s0.097503s
Success
getifaddrs.cSuccessNone0.051712s0.112119s
Success
getsockname.cSuccessNone0.057281s0.112654s
Success
getsockopt.cSuccessNone0.054826s0.147906s
Success
ipv6_basic.cSuccessNone0.054645s0.146387s
Success
makepipe.cSuccessNone0.044730s0.094817s
Success
nonblocking_eagain.cSuccessNone0.056178s0.157384s
Success
pipe.cSuccessNone0.053547s0.119478s
Success
pipe2.cSuccessNone0.052739s0.111586s
Success
pipeinput.cSuccessNone0.054042s0.134392s
Success
pipeinput2.cSuccessNone0.055111s0.138652s
Success
pipeonestring.cSuccessNone0.053779s0.134417s
Success
pipepong.cSuccessNone0.052157s0.138409s
Success
pipewrite.cSuccessNone0.046651s0.108808s
Success
poll.cSuccessNone0.052339s0.103510s
Success
recvfrom-sendto.cSuccessNone0.053592s0.118828s
Success
sendmsg_recvmsg_test.cSuccessNone0.051671s0.119848s
Success
serverclient.cSuccessNone0.051668s0.124103s
Success
shutdown.cSuccessNone0.052592s0.118336s
Success
shutdown_fork.cSuccessNone0.052069s0.121882s
Success
simple-select.cSuccessNone0.053531s0.132862s
Success
simple_epoll.cSuccessNone0.052614s0.115457s
Success
socket.cSuccessNone0.050501s0.106716s
Success
socket_cloexec.cSuccessNone0.049503s0.102966s
Success
socket_options_advanced.cSuccessNone0.057409s0.166029s
Success
socketepoll.cSuccessNone0.048805s0.105487s
Success
socketpair.cSuccessNone0.048756s0.116485s
Success
socketselect.cSuccessNone0.050022s0.113674s
Success
udp_send_recv.cSuccessNone0.159261s0.261279s
Success
uds-getsockname.cSuccessNone0.051200s0.108149s
Success
uds-nb-select.cSuccessNone2.060438s2.172791s
Success
uds-serverclient.cSuccessNone0.055386s0.142948s
Success
uds-socketselect.cSuccessNone0.051664s0.117316s
Success
uds_listen_poll.cSuccessNone1.058250s1.150335s
Success
writev_socket.cSuccessNone0.054709s0.146873s
Success
Process Tests
barrier_test.cSuccessNone0.050351s0.112341s
Success
chain_thread.cSuccessNone1.052497s1.122168s
Success
ctor_syscall_test.cSuccessNone0.041917s0.094915s
Success
cxa_atexit_test.cSuccessNone0.048297s0.101372s
Success
exec_non_utf8.cSuccessNone0.049914s0.107178s
Success
execve_shebang.cSuccessNone0.052096s0.110438s
Success
exit.cSuccessNone0.049544s0.099566s
Success
exit_failure.cSuccessNone0.050358s0.112810s
Success
exit_group_thread.cSuccessNone0.054870s0.125448s
Success
flockfile_test.cSuccessNone0.050125s0.122457s
Success
fork2malloc.cSuccessNone0.052860s0.117090s
Success
fork_select.cSuccessNone0.050853s0.123815s
Success
fork_simple.cSuccessNone0.048312s0.108878s
Success
fork_syscall.cSuccessNone0.054250s0.332836s
Success
fork_tls_ctype.cSuccessNone0.053203s0.137559s
Success
forkandopen.cSuccessNone0.053331s0.130155s
Success
forkdup.cSuccessNone0.054794s0.121204s
Success
forkexecuid.cSuccessNone0.050227s0.127018s
Success
forkexecv-arg.cSuccessNone0.049806s0.116388s
Success
forkexecv.cSuccessNone0.049616s0.113256s
Success
forkfiles.cSuccessNone0.051642s0.120768s
Success
forkmalloc.cSuccessNone0.052230s0.114297s
Success
forknodup.cSuccessNone0.053154s0.126467s
Success
function-ptr.cSuccessNone0.045563s0.097514s
Success
getegid_syscall.cSuccessNone0.052085s0.256697s
Success
getgid_syscall.cSuccessNone0.052514s0.271377s
Success
getpid.cSuccessNone0.043960s0.094288s
Success
getpid_syscall.cSuccessNone0.053224s0.273927s
Success
getppid.cSuccessNone0.051706s0.115987s
Success
getppid_syscall.cSuccessNone0.055502s0.237206s
Success
getuid.cSuccessNone0.051327s0.103889s
Success
getuid_syscall.cSuccessNone0.049164s0.167923s
Success
hello-arg.cSuccessNone0.042246s0.096829s
Success
hello.cSuccessNone0.042398s0.091556s
Success
longjmp.cSuccessNone0.042593s0.100037s
Success
mutex.cSuccessNone2.053982s2.116596s
Success
printf_deadlock_smoke.cSuccessNone0.059708s0.144245s
Success
printf_thread_test.cSuccessNone0.049017s0.119062s
Success
sem_forks.cSuccessNone0.054807s0.133548s
Success
setsid.cSuccessNone0.043713s0.093889s
Success
template.cSuccessNone0.050377s0.136781s
Success
test_exec_nofork.cSuccessNone0.049525s0.112766s
Success
test_unlink_open_file.cSuccessNone0.046040s0.097625s
Success
thread-guard.cSuccessNone0.048325s0.112094s
Success
thread-test.cSuccessNone0.046696s0.104856s
Success
thread.cSuccessNone0.046216s0.104703s
Success
thread_cageid_race.cSuccessNone0.046753s0.156760s
Success
tls_test.cSuccessNone0.048500s0.120655s
Success
uname.cSuccessNone0.045190s0.095243s
Success
wait.cSuccessNone0.047356s0.116882s
Success
waitpid_anychild.cSuccessNone0.051126s0.116686s
Success
waitpid_syscall.cSuccessNone1.051642s1.164391s
Success
waitpid_wnohang.cSuccessNone0.051297s0.118899s
Success
Signal Tests
alarm.cSuccessNone7.050724s7.134002s
Success
eintr_fork_signal.cSuccessNone1.052864s1.132430s
Success
kill.cSuccessNone1.051990s1.118231s
Success
setitimer.cSuccessNone7.051489s7.142023s
Success
sigalrm.cSuccessNone2.051878s2.123273s
Success
sigaltstack.cSuccessNone0.052855s0.118334s
Success
sigchld.cSuccessNone1.053216s1.115958s
Success
signal-fork.cSuccessNone4.052680s4.116740s
Success
signal-simple.cSuccessNone0.052169s0.107806s
Success
signal_SIGCHLD.cSuccessNone0.049609s0.123439s
Success
signal_fork.cSuccessNone0.047884s0.120220s
Success
signal_int_ignored.cSuccessNone2.051715s2.116769s
Success
signal_kill_cleanup.cSuccessNone1.049198s1.118068s
Success
signal_procmask.cSuccessNone0.046270s0.107447s
Success
signal_read_interrupt.cSuccessNone0.554866s0.628432s
Success
signal_recursive.cSuccessNone0.046808s0.110394s
Success
signal_sa_mask.cSuccessNone0.045272s0.102579s
Success
signal_select_interrupt.cSuccessNone0.555951s0.628492s
Success
signal_write_interrupt.cSuccessNone1.054444s1.126351s
Success
sigpipe.cSuccessNone1.053995s1.127971s
Success
sigprocmask.cSuccessNone1.050801s1.112972s
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.043155s0.094912s
Success
Memory Tests
mmap-negative1.cSuccessNone0.126174s0.098804s
Success
mmap-negative2.cSuccessNone0.115746s0.114036s
Success
Signal Tests
signal_resethand.cSuccessNone1.049315s1.114390s
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.522126s10.190043s
LIBCPP_SORT_OK 1 2 3

@qianxichen233

qianxichen233 commented May 7, 2026

Copy link
Copy Markdown
Contributor

CI probably needs to run on debug build otherwise it cannot reflect the potential debug build specific issue

@github-actions

Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

grate harness

Grate Test Report

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

Cases

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

[Grate|interpose-exit] PASS

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

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

STDERR:

static harness

Test Report

Deterministic Tests

Summary

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

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Static Tests
fork_simple.cSuccessNone0.053370s5.139421s
Success
thread.cSuccessNone0.046008s5.229457s
Success
tls_test.cSuccessNone0.065749s5.248571s
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 Cases218
Number of Successes218
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.046035s0.145554s
Success
chdir_getcwd.cSuccessNone0.080323s0.232341s
Success
chmod.cSuccessNone0.052989s0.124089s
Success
clock_gettime_highlevel.cSuccessNone0.220122s0.380264s
Success
clock_gettime_simple.cSuccessNone0.083426s0.315653s
Success
cloexec.cSuccessNone0.129112s0.186507s
Success
close.cSuccessNone0.101851s0.225823s
Success
creat_access.cSuccessNone0.049478s0.110763s
Success
doubleclose.cSuccessNone0.041391s0.092975s
Success
dup.cSuccessNone0.042424s0.108621s
Success
dup2.cSuccessNone0.047750s0.107629s
Success
dup3.cSuccessNone0.066390s0.194034s
Success
dupwrite.cSuccessNone0.049637s0.107856s
Success
etc_conf.cSuccessNone0.113869s0.279192s
Success
faccessat.cSuccessNone0.045026s0.110946s
Success
fchdir.cSuccessNone0.055557s0.163703s
Success
fchmod.cSuccessNone0.085062s0.224330s
Success
fchmodat.cSuccessNone0.044734s0.108338s
Success
fcntl.cSuccessNone0.087790s0.213916s
Success
fdatasync.cSuccessNone0.076297s0.298853s
Success
filetest.cSuccessNone0.082331s0.150377s
Success
filetest1000.cSuccessNone0.056709s0.117422s
Success
flock.cSuccessNone0.058084s0.150614s
Success
fstat.cSuccessNone0.101132s0.212066s
Success
fstatfs.cSuccessNone0.043793s0.104349s
Success
fsync.cSuccessNone0.079212s0.182994s
Success
ftruncate.cSuccessNone0.082623s0.338080s
Success
getcwd.cSuccessNone0.072405s0.152439s
Success
getcwd_null.cSuccessNone0.089868s0.194397s
Success
getpgid.cSuccessNone0.067910s0.148591s
Success
getrandom.cSuccessNone0.048067s0.120926s
Success
ioctl.cSuccessNone0.052794s0.128397s
Success
link.cSuccessNone0.052708s0.150782s
Success
locale_test.cSuccessNone0.100293s0.521295s
Success
lseek.cSuccessNone0.053207s0.186953s
Success
lstat.cSuccessNone0.100445s0.261840s
Success
mkdir_rmdir.cSuccessNone0.088450s0.202108s
Success
mkfifo_test.cSuccessNone0.094810s0.256424s
Success
mknod.cSuccessNone0.048486s0.121265s
Success
nocancel_io.cSuccessNone0.052563s0.136072s
Success
open.cSuccessNone0.043570s0.098100s
Success
openat.cSuccessNone0.044355s0.104041s
Success
path_conversion_safety.cSuccessNone0.093283s0.240422s
Success
ppoll.cSuccessNone0.089420s0.176791s
Success
pread_pwrite.cSuccessNone0.094793s0.181333s
Success
preadv_pwritev.cSuccessNone0.075377s0.221878s
Success
printf.cSuccessNone0.059404s0.198168s
Success
prlimit64.cSuccessNone0.101137s0.183287s
Success
read.cSuccessNone0.049660s0.118847s
Success
readbytes.cSuccessNone0.077511s0.263585s
Success
readdir_basic.cSuccessNone0.094181s0.305473s
Success
readlink.cSuccessNone0.085962s0.187003s
Success
readlinkat.cSuccessNone0.051173s0.129473s
Success
readv_writev_test.cSuccessNone0.051147s0.123266s
Success
rename.cSuccessNone0.052369s0.116622s
Success
renameat.cSuccessNone0.087147s0.229658s
Success
sc-writev.cSuccessNone0.047613s0.109957s
Success
stat.cSuccessNone0.083650s0.224703s
Success
statfs.cSuccessNone0.083640s0.175951s
Success
symlink.cSuccessNone0.101410s0.225770s
Success
sync_file_range.cSuccessNone0.086177s0.157620s
Success
timespec_time_t_compat.cSuccessNone0.090220s0.190551s
Success
truncate.cSuccessNone0.050177s0.132223s
Success
unlink.cSuccessNone0.086302s0.256638s
Success
unlinkat.cSuccessNone0.079355s0.196125s
Success
utimensat.cSuccessNone0.080949s0.230711s
Success
write.cSuccessNone0.072142s0.147422s
Success
writeloop.cSuccessNone0.052265s0.111166s
Success
writepartial.cSuccessNone0.073239s0.151274s
Success
writev.cSuccessNone0.051008s0.119751s
Success
Math Tests
math_link_smoke.cSuccessNone0.053167s0.100767s
Success
math_tests.cSuccessNone0.058466s0.136922s
Success
printf_float.cSuccessNone0.053664s0.125394s
Success
Memory Tests
brk.cSuccessNone0.047858s0.105715s
Success
fork_large_memory.cSuccessNone0.081549s0.374964s
Success
malloc.cSuccessNone0.045885s0.098781s
Success
malloc_large.cSuccessNone0.047110s0.098405s
Success
memcpy.cSuccessNone0.045151s0.097965s
Success
memory_error_test.cSuccessNone0.054182s0.134874s
Success
mmap.cSuccessNone0.042472s0.097891s
Success
mmap_aligned.cSuccessNone0.046375s0.115064s
Success
mmap_complicated.cSuccessNone0.051404s0.125376s
Success
mmap_file.cSuccessNone0.051178s0.111869s
Success
mmap_shared.cSuccessNone0.049362s0.117550s
Success
mmaptest.cSuccessNone0.045052s0.111347s
Success
mprotect.cSuccessNone0.043732s0.101324s
Success
mprotect_boundary.cSuccessNone0.044192s0.113454s
Success
mprotect_end_region.cSuccessNone0.045033s0.103775s
Success
mprotect_middle_region.cSuccessNone0.048183s0.106407s
Success
mprotect_multiple_times.cSuccessNone0.043717s0.104212s
Success
mprotect_same_value.cSuccessNone0.043074s0.101219s
Success
mprotect_spanning_regions.cSuccessNone0.045009s0.119822s
Success
munmap_adjacent_shm.cSuccessNone0.046814s0.121452s
Success
sbrk.cSuccessNone0.045358s0.103856s
Success
segfault.cSuccessNone0.051741s0.137312s
Success
shm.cSuccessNone0.050046s0.128569s
Success
shmtest.cSuccessNone0.046417s0.109344s
Success
thread_malloc_sequential.cSuccessNone0.051493s0.151590s
Success
vtable.cSuccessNone0.056369s0.116977s
Success
Networking Tests
accept4.cSuccessNone0.054653s0.129994s
Success
dns_resolve_test.cSuccessNone0.048854s0.112605s
Success
dnstest.cSuccessNone0.049584s0.113502s
Success
epoll_badfd.cSuccessNone0.044251s0.102032s
Success
epoll_edge_triggered.cSuccessNone0.207477s0.373894s
Success
epollcreate1.cSuccessNone0.050911s0.124975s
Success
error_handling_net.cSuccessNone0.059252s0.189693s
Success
getaddrinfo_test.cSuccessNone0.053323s0.148479s
Success
getaddrinfo_unspec.cSuccessNone0.061205s0.129993s
Success
gethostname.cSuccessNone0.045969s0.098249s
Success
getifaddrs.cSuccessNone0.050828s0.117510s
Success
getsockname.cSuccessNone0.055654s0.114309s
Success
getsockopt.cSuccessNone0.054864s0.150898s
Success
ipv6_basic.cSuccessNone0.056272s0.149528s
Success
makepipe.cSuccessNone0.044334s0.098290s
Success
nonblocking_eagain.cSuccessNone0.054823s0.162059s
Success
pipe.cSuccessNone0.055468s0.127012s
Success
pipe2.cSuccessNone0.052233s0.114640s
Success
pipeinput.cSuccessNone0.053648s0.138808s
Success
pipeinput2.cSuccessNone0.052938s0.145028s
Success
pipeonestring.cSuccessNone0.055609s0.141304s
Success
pipepong.cSuccessNone0.052574s0.140711s
Success
pipewrite.cSuccessNone0.046896s0.111502s
Success
poll.cSuccessNone0.050700s0.107997s
Success
recvfrom-sendto.cSuccessNone0.052175s0.122011s
Success
sendmsg_recvmsg_test.cSuccessNone0.054369s0.125657s
Success
serverclient.cSuccessNone0.051193s0.126219s
Success
shutdown.cSuccessNone0.052764s0.122253s
Success
shutdown_fork.cSuccessNone0.051327s0.128199s
Success
simple-select.cSuccessNone0.052604s0.136191s
Success
simple_epoll.cSuccessNone0.051166s0.117620s
Success
socket.cSuccessNone0.050040s0.111052s
Success
socket_cloexec.cSuccessNone0.049307s0.106540s
Success
socket_options_advanced.cSuccessNone0.056210s0.168797s
Success
socketepoll.cSuccessNone0.049232s0.108082s
Success
socketpair.cSuccessNone0.049194s0.118363s
Success
socketselect.cSuccessNone0.050173s0.116219s
Success
udp_send_recv.cSuccessNone0.157858s0.261777s
Success
uds-getsockname.cSuccessNone0.051395s0.108774s
Success
uds-nb-select.cSuccessNone2.059346s2.177192s
Success
uds-serverclient.cSuccessNone0.054016s0.142847s
Success
uds-socketselect.cSuccessNone0.050931s0.122618s
Success
uds_listen_poll.cSuccessNone1.059274s1.157649s
Success
writev_socket.cSuccessNone0.054578s0.152041s
Success
Process Tests
barrier_test.cSuccessNone0.049865s0.122647s
Success
chain_thread.cSuccessNone1.051325s1.126458s
Success
ctor_syscall_test.cSuccessNone0.040377s0.097949s
Success
cxa_atexit_test.cSuccessNone0.047635s0.103948s
Success
exec_non_utf8.cSuccessNone0.049143s0.109576s
Success
execve_shebang.cSuccessNone0.051012s0.111523s
Success
exit.cSuccessNone0.048242s0.102906s
Success
exit_failure.cSuccessNone0.051787s0.117213s
Success
exit_group_thread.cSuccessNone0.063372s0.131022s
Success
exit_status_first_wins.cSuccessNone0.053705s0.132259s
Success
flockfile_test.cSuccessNone0.049953s0.127831s
Success
fork2malloc.cSuccessNone0.057032s0.121640s
Success
fork_select.cSuccessNone0.049538s0.125415s
Success
fork_simple.cSuccessNone0.048727s0.114578s
Success
fork_syscall.cSuccessNone0.054970s0.352154s
Success
fork_tls_ctype.cSuccessNone0.058518s0.147024s
Success
forkandopen.cSuccessNone0.052771s0.132147s
Success
forkdup.cSuccessNone0.060159s0.140500s
Success
forkexecuid.cSuccessNone0.049421s0.132324s
Success
forkexecv-arg.cSuccessNone0.049530s0.125222s
Success
forkexecv.cSuccessNone0.047566s0.120186s
Success
forkfiles.cSuccessNone0.050911s0.127454s
Success
forkmalloc.cSuccessNone0.055075s0.120889s
Success
forknodup.cSuccessNone0.051989s0.127758s
Success
function-ptr.cSuccessNone0.048191s0.106390s
Success
getegid_syscall.cSuccessNone0.052609s0.274954s
Success
getgid_syscall.cSuccessNone0.052475s0.570410s
Success
getpid.cSuccessNone0.043940s0.095601s
Success
getpid_syscall.cSuccessNone0.053939s0.299158s
Success
getppid.cSuccessNone0.051206s0.119948s
Success
getppid_syscall.cSuccessNone0.094595s0.427757s
Success
getuid.cSuccessNone0.050410s0.108182s
Success
getuid_syscall.cSuccessNone0.049910s0.183198s
Success
hello-arg.cSuccessNone0.070122s0.175864s
Success
hello.cSuccessNone0.054247s0.093708s
Success
longjmp.cSuccessNone0.042305s0.103208s
Success
mutex.cSuccessNone2.053433s2.123643s
Success
printf_deadlock_smoke.cSuccessNone0.059309s0.153334s
Success
printf_thread_test.cSuccessNone0.048630s0.127076s
Success
sem_forks.cSuccessNone0.055843s0.141892s
Success
setsid.cSuccessNone0.043041s0.097332s
Success
template.cSuccessNone0.050932s0.143935s
Success
test_exec_nofork.cSuccessNone0.049951s0.121074s
Success
test_unlink_open_file.cSuccessNone0.045784s0.100649s
Success
thread-guard.cSuccessNone0.049035s0.120352s
Success
thread-test.cSuccessNone0.045215s0.106197s
Success
thread.cSuccessNone0.045587s0.109931s
Success
thread_cageid_race.cSuccessNone0.048631s0.173953s
Success
tls_test.cSuccessNone0.049024s0.126999s
Success
uname.cSuccessNone0.091287s0.190189s
Success
wait.cSuccessNone0.048963s0.122569s
Success
waitpid_anychild.cSuccessNone0.050763s0.120568s
Success
waitpid_syscall.cSuccessNone1.066701s1.306854s
Success
waitpid_wnohang.cSuccessNone0.051497s0.126438s
Success
Signal Tests
alarm.cSuccessNone7.083573s7.256453s
Success
eintr_fork_signal.cSuccessNone1.051786s1.134168s
Success
kill.cSuccessNone1.050728s1.122954s
Success
setitimer.cSuccessNone7.051013s7.140898s
Success
sigalrm.cSuccessNone2.053671s2.129044s
Success
sigaltstack.cSuccessNone0.051896s0.123091s
Success
sigchld.cSuccessNone1.098139s1.255227s
Success
signal-fork.cSuccessNone4.090127s4.122505s
Success
signal-simple.cSuccessNone0.051729s0.111307s
Success
signal_SIGCHLD.cSuccessNone0.131910s0.208906s
Success
signal_fork.cSuccessNone0.047201s0.127500s
Success
signal_int_ignored.cSuccessNone2.050965s2.122834s
Success
signal_kill_cleanup.cSuccessNone1.048491s1.113562s
Success
signal_procmask.cSuccessNone0.044737s0.109387s
Success
signal_read_interrupt.cSuccessNone0.591930s0.815143s
Success
signal_recursive.cSuccessNone0.045490s0.115654s
Success
signal_sa_mask.cSuccessNone0.159535s0.152530s
Success
signal_select_interrupt.cSuccessNone0.604931s0.761226s
Success
signal_write_interrupt.cSuccessNone1.053504s1.127555s
Success
sigpipe.cSuccessNone1.052968s1.130868s
Success
sigprocmask.cSuccessNone1.050881s1.120422s
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.041849s0.096584s
Success
Memory Tests
mmap-negative1.cSuccessNone0.131770s0.122820s
Success
mmap-negative2.cSuccessNone0.118352s0.158661s
Success
Signal Tests
signal_resethand.cSuccessNone1.051771s1.120335s
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.637494s11.980437s
LIBCPP_SORT_OK 1 2 3

@DanielZ224

Copy link
Copy Markdown
Contributor Author

Updated Dockerfile.e2e so the artifacts target depends on both release and debug e2e stages. The debug stage uses make lind-boot-debug, which should allow CI to catch debug-build-specific regressions.

@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.063770s4.936856s
Success
thread.cSuccessNone0.048135s4.959405s
Success
tls_test.cSuccessNone0.046620s5.048028s
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.042514s0.139222s
Success
chdir_getcwd.cSuccessNone0.043460s0.107372s
Success
chmod.cSuccessNone0.046219s0.117826s
Success
clock_gettime_highlevel.cSuccessNone0.278525s0.181606s
Success
clock_gettime_simple.cSuccessNone0.056413s0.210834s
Success
cloexec.cSuccessNone0.045511s0.126815s
Success
close.cSuccessNone0.048026s0.122141s
Success
creat_access.cSuccessNone0.045755s0.108712s
Success
doubleclose.cSuccessNone0.037822s0.090241s
Success
dup.cSuccessNone0.038257s0.104522s
Success
dup2.cSuccessNone0.043804s0.105343s
Success
dup3.cSuccessNone0.041612s0.105497s
Success
dupwrite.cSuccessNone0.044272s0.106642s
Success
etc_conf.cSuccessNone0.039886s0.109909s
Success
faccessat.cSuccessNone0.040616s0.108588s
Success
fchdir.cSuccessNone0.075607s0.240198s
Success
fchmod.cSuccessNone0.045555s0.125746s
Success
fchmodat.cSuccessNone0.082623s0.214400s
Success
fcntl.cSuccessNone0.043437s0.150459s
Success
fcntl_dupfd.cSuccessNone0.038918s0.100471s
Success
fdatasync.cSuccessNone0.043899s0.101578s
Success
filetest.cSuccessNone0.044828s0.103100s
Success
filetest1000.cSuccessNone0.048139s0.111692s
Success
flock.cSuccessNone0.050736s0.155496s
Success
fstat.cSuccessNone0.046297s0.124251s
Success
fstatfs.cSuccessNone0.040134s0.099191s
Success
fsync.cSuccessNone0.044318s0.102941s
Success
ftruncate.cSuccessNone0.046917s0.196780s
Success
getcwd.cSuccessNone0.074963s0.215845s
Success
getcwd_null.cSuccessNone0.045865s0.113484s
Success
getpgid.cSuccessNone0.039974s0.096537s
Success
getrandom.cSuccessNone0.043774s0.117694s
Success
ioctl.cSuccessNone0.046234s0.114722s
Success
link.cSuccessNone0.048304s0.146046s
Success
locale_test.cSuccessNone0.057185s0.291324s
Success
lseek.cSuccessNone0.048403s0.180831s
Success
lstat.cSuccessNone0.048195s0.126528s
Success
mkdir_rmdir.cSuccessNone0.044889s0.117695s
Success
mkfifo_test.cSuccessNone0.048438s0.158520s
Success
mknod.cSuccessNone0.043327s0.116000s
Success
nocancel_io.cSuccessNone0.047521s0.130279s
Success
open.cSuccessNone0.040774s0.097683s
Success
openat.cSuccessNone0.041394s0.104128s
Success
path_conversion_safety.cSuccessNone0.048434s0.131508s
Success
ppoll.cSuccessNone0.048494s0.116185s
Success
pread_pwrite.cSuccessNone0.041943s0.114852s
Success
preadv_pwritev.cSuccessNone0.075622s0.251205s
Success
printf.cSuccessNone0.073115s0.174266s
Success
prlimit64.cSuccessNone0.039314s0.099022s
Success
read.cSuccessNone0.046111s0.116677s
Success
readbytes.cSuccessNone0.040800s0.099166s
Success
readdir_basic.cSuccessNone0.049568s0.146428s
Success
readlink.cSuccessNone0.044412s0.114685s
Success
readlinkat.cSuccessNone0.090635s0.221672s
Success
readv_writev_test.cSuccessNone0.047202s0.121477s
Success
rename.cSuccessNone0.047396s0.111344s
Success
renameat.cSuccessNone0.046731s0.121744s
Success
sc-writev.cSuccessNone0.042269s0.106805s
Success
stat.cSuccessNone0.044934s0.118454s
Success
statfs.cSuccessNone0.039306s0.101066s
Success
symlink.cSuccessNone0.047116s0.138526s
Success
sync_file_range.cSuccessNone0.042653s0.102722s
Success
timespec_time_t_compat.cSuccessNone0.080096s0.210528s
Success
trailing_slash.cSuccessNone0.044542s0.117527s
Success
truncate.cSuccessNone0.044215s0.129210s
Success
unlink.cSuccessNone0.046978s0.140787s
Success
unlinkat.cSuccessNone0.070882s0.267565s
Success
utimensat.cSuccessNone0.046305s0.124590s
Success
write.cSuccessNone0.039417s0.090882s
Success
writeloop.cSuccessNone0.050744s0.111571s
Success
writepartial.cSuccessNone0.090389s0.164960s
Success
writev.cSuccessNone0.061461s0.130618s
Success
Math Tests
math_link_smoke.cSuccessNone0.048967s0.098844s
Success
math_tests.cSuccessNone0.052301s0.128751s
Success
printf_float.cSuccessNone0.048640s0.121730s
Success
Memory Tests
brk.cSuccessNone0.093662s0.218381s
Success
fork_large_memory.cSuccessNone0.161841s0.874466s
Success
malloc.cSuccessNone0.072490s0.158592s
Success
malloc_large.cSuccessNone0.064016s0.199252s
Success
memcpy.cSuccessNone0.068849s0.483106s
Success
memory_error_test.cSuccessNone0.077245s0.235233s
Success
mmap.cSuccessNone0.059878s0.207938s
Success
mmap_aligned.cSuccessNone0.094016s0.325306s
Success
mmap_complicated.cSuccessNone0.067104s0.357956s
Success
mmap_file.cSuccessNone0.087789s0.181448s
Success
mmap_shared.cSuccessNone0.073336s0.230191s
Success
mmaptest.cSuccessNone0.099982s0.232783s
Success
mprotect.cSuccessNone0.058940s0.174786s
Success
mprotect_boundary.cSuccessNone0.052611s0.185419s
Success
mprotect_end_region.cSuccessNone0.064582s0.175207s
Success
mprotect_middle_region.cSuccessNone0.074821s0.253157s
Success
mprotect_multiple_times.cSuccessNone0.076503s0.179594s
Success
mprotect_same_value.cSuccessNone0.069914s0.182421s
Success
mprotect_spanning_regions.cSuccessNone0.062569s0.234898s
Success
munmap_adjacent_shm.cSuccessNone0.061240s0.196896s
Success
sbrk.cSuccessNone0.056768s0.365856s
Success
segfault.cSuccessNone0.068597s0.226002s
Success
shm.cSuccessNone0.067188s0.230573s
Success
shmtest.cSuccessNone0.060397s0.213186s
Success
thread_malloc_sequential.cSuccessNone0.073940s0.618485s
Success
vtable.cSuccessNone0.097524s0.298120s
Success
Networking Tests
accept4.cSuccessNone0.051670s0.126617s
Success
dns_resolve_test.cSuccessNone0.098115s0.228201s
Success
dnstest.cSuccessNone0.042618s0.106349s
Success
epoll_badfd.cSuccessNone0.042225s0.100401s
Success
epoll_edge_triggered.cSuccessNone0.202899s0.362738s
Success
epollcreate1.cSuccessNone0.044639s0.120045s
Success
error_handling_net.cSuccessNone0.053010s0.179407s
Success
getaddrinfo_test.cSuccessNone0.051669s0.147112s
Success
getaddrinfo_unspec.cSuccessNone0.047285s0.177479s
Success
gethostname.cSuccessNone0.072520s0.194112s
Success
getifaddrs.cSuccessNone0.048084s0.117841s
Success
getsockname.cSuccessNone0.077455s0.210223s
Success
getsockopt.cSuccessNone0.048057s0.148428s
Success
ipv6_basic.cSuccessNone0.049206s0.139852s
Success
makepipe.cSuccessNone0.049847s0.192249s
Success
nonblocking_eagain.cSuccessNone0.049227s0.151343s
Success
pipe.cSuccessNone0.046226s0.121525s
Success
pipe2.cSuccessNone0.048125s0.113820s
Success
pipeinput.cSuccessNone0.048744s0.145624s
Success
pipeinput2.cSuccessNone0.085738s0.295676s
Success
pipeonestring.cSuccessNone0.071693s0.268621s
Success
pipepong.cSuccessNone0.049901s0.150856s
Success
pipewrite.cSuccessNone0.043280s0.109675s
Success
poll.cSuccessNone0.068203s0.203587s
Success
recvfrom-sendto.cSuccessNone0.048145s0.120378s
Success
sendmsg_recvmsg_test.cSuccessNone0.047711s0.122688s
Success
serverclient.cSuccessNone0.045852s0.126095s
Success
shutdown.cSuccessNone0.048373s0.119492s
Success
shutdown_fork.cSuccessNone0.061089s0.140972s
Success
simple-select.cSuccessNone0.050473s0.146037s
Success
simple_epoll.cSuccessNone0.044892s0.110258s
Success
socket.cSuccessNone0.092709s0.210097s
Success
socket_cloexec.cSuccessNone0.044197s0.104813s
Success
socket_options_advanced.cSuccessNone0.049199s0.158981s
Success
socketepoll.cSuccessNone0.081365s0.209956s
Success
socketpair.cSuccessNone0.043612s0.128374s
Success
socketselect.cSuccessNone0.044022s0.115278s
Success
udp_send_recv.cSuccessNone0.151812s0.262290s
Success
uds-getsockname.cSuccessNone0.047188s0.110177s
Success
uds-nb-select.cSuccessNone2.054572s2.186888s
Success
uds-serverclient.cSuccessNone0.050784s0.150421s
Success
uds-socketselect.cSuccessNone0.084140s0.230578s
Success
uds_listen_poll.cSuccessNone1.050683s1.158444s
Success
writev_socket.cSuccessNone0.047494s0.141183s
Success
Process Tests
barrier_test.cSuccessNone0.045479s0.132969s
Success
chain_thread.cSuccessNone1.073552s1.335224s
Success
ctor_syscall_test.cSuccessNone0.037964s0.099343s
Success
cxa_atexit_test.cSuccessNone0.040711s0.099554s
Success
exec_non_utf8.cSuccessNone0.079475s0.170734s
Success
execve_shebang.cSuccessNone0.046939s0.108619s
Success
exit.cSuccessNone0.042669s0.099077s
Success
exit_failure.cSuccessNone0.083592s0.215510s
Success
exit_group_thread.cSuccessNone0.046886s0.144942s
Success
exit_status_first_wins.cSuccessNone0.077514s0.329343s
Success
flockfile_test.cSuccessNone0.044836s0.136515s
Success
fork2malloc.cSuccessNone0.047428s0.129657s
Success
fork_select.cSuccessNone0.044061s0.132833s
Success
fork_simple.cSuccessNone0.062480s0.192059s
Success
fork_syscall.cSuccessNone0.048283s0.696572s
Success
fork_tls_ctype.cSuccessNone0.048281s0.150362s
Success
forkandopen.cSuccessNone0.144936s0.271994s
Success
forkdup.cSuccessNone0.047041s0.133747s
Success
forkexecuid.cSuccessNone0.072559s0.296427s
Success
forkexecv-arg.cSuccessNone0.043456s0.144192s
Success
forkexecv.cSuccessNone0.070570s0.219681s
Success
forkfiles.cSuccessNone0.044213s0.134124s
Success
forkmalloc.cSuccessNone0.044030s0.124001s
Success
forknodup.cSuccessNone0.045563s0.134289s
Success
function-ptr.cSuccessNone0.041083s0.098471s
Success
getegid_syscall.cSuccessNone0.047237s0.521218s
Success
getgid_syscall.cSuccessNone0.081719s1.012547s
Success
getpid.cSuccessNone0.064329s0.172698s
Success
getpid_syscall.cSuccessNone0.047702s0.539511s
Success
getppid.cSuccessNone0.099527s0.257076s
Success
getppid_syscall.cSuccessNone0.048441s0.441132s
Success
getuid.cSuccessNone0.093751s0.162704s
Success
getuid_syscall.cSuccessNone0.043599s0.252561s
Success
hello-arg.cSuccessNone0.038207s0.099402s
Success
hello.cSuccessNone0.039042s0.089654s
Success
longjmp.cSuccessNone0.079495s0.207184s
Success
mutex.cSuccessNone2.150304s2.260105s
Success
printf_deadlock_smoke.cSuccessNone0.100050s0.281429s
Success
printf_thread_test.cSuccessNone0.081842s0.215638s
Success
sem_forks.cSuccessNone0.088267s0.339052s
Success
setjmp_edge.cSuccessNone0.066442s0.346485s
Success
setsid.cSuccessNone0.039739s0.091424s
Success
template.cSuccessNone0.044949s0.180831s
Success
test_crossmodule_longjmp.cSuccessNone0.066733s0.210669s
Success
test_exec_nofork.cSuccessNone0.073269s0.241158s
Success
test_unlink_open_file.cSuccessNone0.083147s0.159491s
Success
thread-guard.cSuccessNone0.043962s0.120257s
Success
thread-test.cSuccessNone0.065840s0.205125s
Success
thread.cSuccessNone0.080835s0.238837s
Success
thread_cageid_race.cSuccessNone0.066754s0.532632s
Success
tls_test.cSuccessNone0.086925s0.316166s
Success
uname.cSuccessNone0.054676s0.183749s
Success
wait.cSuccessNone0.061937s0.271445s
Success
waitpid_anychild.cSuccessNone0.085205s0.219303s
Success
waitpid_syscall.cSuccessNone1.046365s1.241519s
Success
waitpid_wnohang.cSuccessNone0.074618s0.222910s
Success
Signal Tests
alarm.cSuccessNone7.045434s7.193666s
Success
eintr_fork_signal.cSuccessNone1.047734s1.144924s
Success
kill.cSuccessNone1.044979s1.134134s
Success
pause_test.cSuccessNone1.087236s1.131348s
Success
setitimer.cSuccessNone7.043287s7.138331s
Success
sigalrm.cSuccessNone2.046770s2.125363s
Success
sigaltstack.cSuccessNone0.047388s0.120713s
Success
sigchld.cSuccessNone1.047707s1.130366s
Success
signal-fork.cSuccessNone4.046905s4.124467s
Success
signal-simple.cSuccessNone0.092613s0.227917s
Success
signal_SIGCHLD.cSuccessNone0.044220s0.134342s
Success
signal_fork.cSuccessNone0.042494s0.133218s
Success
signal_int_ignored.cSuccessNone2.046531s2.129300s
Success
signal_kill_cleanup.cSuccessNone1.044658s1.123847s
Success
signal_procmask.cSuccessNone0.041573s0.109341s
Success
signal_read_interrupt.cSuccessNone0.549090s0.632262s
Success
signal_recursive.cSuccessNone0.043401s0.115803s
Success
signal_sa_mask.cSuccessNone0.080019s0.211256s
Success
signal_select_interrupt.cSuccessNone0.550198s0.635597s
Success
signal_write_interrupt.cSuccessNone1.047858s1.175709s
Success
sigpipe.cSuccessNone1.046911s1.139990s
Success
sigprocmask.cSuccessNone1.046520s1.124307s
Success
sigsuspend_test.cSuccessNone1.044717s1.131938s
Success
test_sigsetjmp.cSuccessNone0.046774s0.147262s
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.039832s0.103382s
Success
Memory Tests
invalid_access_direct.cSuccessNone0.185522s0.279763s
Success
invalid_access_fork.cSuccessNone0.216111s0.337513s
Success
mmap-negative1.cSuccessNone0.178485s0.173103s
Success
mmap-negative2.cSuccessNone0.148876s0.384502s
Success
Signal Tests
signal_resethand.cSuccessNone1.044994s1.126125s
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.390043s9.897403s
LIBCPP_SORT_OK 1 2 3

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants