Skip to content

Conversation

@Bhanuu01
Copy link

Add deterministic unit tests for process syscalls, including fork_syscall, getegid_syscall, getgid_syscall, getpid_syscall, getppid_syscall, getuid_syscall, and waitpid_syscall. These tests cover parent/child behavior, multiple children, and stress scenarios to ensure correct syscall functionality.

Copy link
Member

@Yaxuan-w Yaxuan-w left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding tests! Would be helpful if we can have comments at the beginning of each file which explains the purpose and scenarios covered.

Comment on lines 147 to 149
// test_waitpid_any_child(); // might panic
// test_waitpid_non_child(); // always panics
// test_waitpid_stress(); // need to check cage limit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If those are not needed, then should remove.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I’ve added header comments explaining the purpose and scenarios. The commented-out functions are raising errors, and I’ve created issue for the error.

@github-actions
Copy link
Contributor

End-to-End Test Report

Test Preview

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases87
Number of Successes80
Number of Failures7
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 mismatch7

Test Results by Category

Test CaseStatusError TypeOutput
File Tests
chmod.cSuccessNone
Success
close.cSuccessNone
Success
doubleclose.cSuccessNone
Success
dupwrite.cSuccessNone
Success
fchmod.cSuccessNone
Success
fcntl.cSuccessNone
Success
fdatasync.cSuccessNone
Success
filetest.cSuccessNone
Success
filetest1000.cSuccessNone
Success
fstat.cSuccessNone
Success
fsync.cSuccessNone
Success
ftruncate.cSuccessNone
Success
ioctl.cSuccessNone
Success
link.cSuccessNone
Success
lseek.cSuccessNone
Success
mkdir_rmdir.cSuccessNone
Success
open.cSuccessNone
Success
pread_pwrite.cSuccessNone
Success
printf.cSuccessNone
Success
readbytes.cSuccessNone
Success
readlink.cSuccessNone
Success
rename.cSuccessNone
Success
stat.cSuccessNone
Success
sync_file_range.cSuccessNone
Success
truncate.cSuccessNone
Success
unlink.cSuccessNone
Success
unlinkat.cSuccessNone
Success
write.cSuccessNone
Success
writeloop.cSuccessNone
Success
writepartial.cSuccessNone
Success
Memory Tests
brk.cSuccessNone
Success
malloc.cSuccessNone
Success
memcpy.cSuccessNone
Success
memory_error_test.cSuccessNone
Success
mmap.cSuccessNone
Success
mmap_aligned.cSuccessNone
Success
mmap_file.cSuccessNone
Success
mprotect.cSuccessNone
Success
mprotect_boundary.cSuccessNone
Success
mprotect_end_region.cSuccessNone
Success
mprotect_middle_region.cSuccessNone
Success
mprotect_multiple_times.cSuccessNone
Success
mprotect_same_value.cSuccessNone
Success
mprotect_spanning_regions.cSuccessNone
Success
sbrk.cSuccessNone
Success
shmtest.cSuccessNone
Success
Networking Tests
gethostname.cSuccessNone
Success
makepipe.cSuccessNone
Success
pipepong.cSuccessNone
Success
poll.cSuccessNone
Success
recvfrom-sendto.cSuccessNone
Success
simple_epoll.cSuccessNone
Success
socket.cSuccessNone
Success
socket_cloexec.cSuccessNone
Success
socketpair.cSuccessNone
Success
tcp_connect_single.cSuccessNone
Success
Process Tests
chain_thread.cSuccessNone
Success
exit.cSuccessNone
Success
fork_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] Extended fork-only test suite
[TEST 1] Basic fork
[PARENT] PID=996 CHILD=997
[CHILD] PID=997 PPID=996
[PARENT] Child finished

[TEST 2] Memory isolation
[CHILD] x(before)=10
[CHILD] x(after)=999
[PARENT] x=10 (should remain 10)

[TEST 3] UID/GID inheritance
[PARENT] UID=0 GID=0 EUID=0 EGID=0
[CHILD] UID=0 GID=0

[TEST 4] waitpid WNOHANG
[PARENT] WNOHANG result=0 (0 means child not exited)
[PARENT] Child later exited normally

[TEST 5] Zombie behavior
[CHILD] Exiting to become zombie
[PARENT] waitpid result=1001 (cleaned zombie)

[TEST 6] Orphan adoption
[PARENT] Exiting early to orphan child

[TEST 7] Multiple children
[CHILD 0] PID=1004
[CHILD 1] PID=1005
[PARENT] A child exited
[CHILD 2] PID=1006
[PARENT] A child exited
[PARENT] A child exited

[TEST 8] Pipe + fork communication
[PARENT] write returned 17
[CHILD] read returned 17 errno=10
[CHILD] message='hello_from_parent'

[STRESS 1] Create 10 sequential children
[OK] All 10 children forked and reaped successfully

[STRESS 2] Fork chain depth 10
[OK] Fork chain completed. Final depth=9
[OK] Fork chain completed. Final depth=8
[OK] Fork chain completed. Final depth=7
[OK] Fork chain completed. Final depth=6
[OK] Fork chain completed. Final depth=5
[OK] Fork chain completed. Final depth=4
[OK] Fork chain completed. Final depth=3
[OK] Fork chain completed. Final depth=2
[OK] Fork chain completed. Final depth=1
[OK] Fork chain completed. Final depth=0
[CHILD] After parent exit PPID=1 (should be 1)

=== WASM Output ===
[RUNNING] Extended fork-only test suite
[TEST 1] Basic fork
[PARENT] PID=1 CHILD=2
[CHILD] PID=2 PPID=1
[PARENT] Child finished

[TEST 2] Memory isolation
[CHILD] x(before)=10
[CHILD] x(after)=999
[PARENT] x=10 (should remain 10)

[TEST 3] UID/GID inheritance
[PARENT] UID=0 GID=0 EUID=0 EGID=0
[CHILD] UID=0 GID=0

[TEST 4] waitpid WNOHANG
[PARENT] WNOHANG result=5 (0 means child not exited)
[PARENT] Child later exited normally

[TEST 5] Zombie behavior
[CHILD] Exiting to become zombie
[PARENT] waitpid result=6 (cleaned zombie)

[TEST 6] Orphan adoption
[PARENT] Exiting early to orphan child

[TEST 7] Multiple children
[CHILD 0] PID=9
[CHILD 1] PID=10
[PARENT] A child exited
[CHILD 2] PID=11
[PARENT] A child exited
[PARENT] A child exited
[PARENT] A child exited
[PARENT] A child exited
[PARENT] A child exited

[TEST 8] Pipe + fork communication
[PARENT] write returned 17
[CHILD] read returned 17 errno=0
[CHILD] message='hello_from_parent'

[STRESS 1] Create 10 sequential children
[OK] All 10 children forked and reaped successfully

[STRESS 2] Fork chain depth 10
[OK] Fork chain completed. Final depth=9
[OK] Fork chain completed. Final depth=8
[OK] Fork chain completed. Final depth=7
[OK] Fork chain completed. Final depth=6
[OK] Fork chain completed. Final depth=5
[OK] Fork chain completed. Final depth=4
[OK] Fork chain completed. Final depth=3
[OK] Fork chain completed. Final depth=2
[OK] Fork chain completed. Final depth=1
[OK] Fork chain completed. Final depth=0
[CHILD] After parent exit PPID=7 (should be 1)

forkexecv-arg.cSuccessNone
Success
forkexecv.cSuccessNone
Success
function-ptr.cSuccessNone
Success
getegid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getegid test suite
[TEST 1] getegid in parent
[PARENT] getegid returned=0

[TEST 2] getegid in child
[CHILD] getegid returned=0
[PARENT] child exited, parent getegid=0

[TEST 3] getegid with multiple children
[CHILD 0] getegid=0
[CHILD 1] getegid=0
[CHILD 2] getegid=0
[PARENT] reaped child 728 exit=0
[PARENT] reaped child 729 exit=256
[CHILD 3] getegid=0
[PARENT] reaped child 730 exit=512
[PARENT] reaped child 731 exit=768

[TEST 4] Stress test with 20 children calling getegid
[CHILD 0] call 0 getegid=0
[CHILD 0] call 1 getegid=0
[CHILD 0] call 2 getegid=0
[CHILD 0] call 3 getegid=0
[CHILD 0] call 4 getegid=0
[CHILD 0] call 5 getegid=0
[CHILD 0] call 6 getegid=0
[CHILD 0] call 7 getegid=0
[CHILD 0] call 8 getegid=0
[CHILD 0] call 9 getegid=0
[CHILD 1] call 0 getegid=0
[CHILD 1] call 1 getegid=0
[CHILD 1] call 2 getegid=0
[CHILD 1] call 3 getegid=0
[CHILD 1] call 4 getegid=0
[CHILD 1] call 5 getegid=0
[CHILD 1] call 6 getegid=0
[CHILD 1] call 7 getegid=0
[CHILD 1] call 8 getegid=0
[CHILD 1] call 9 getegid=0
[CHILD 2] call 0 getegid=0
[CHILD 2] call 1 getegid=0
[CHILD 2] call 2 getegid=0
[CHILD 2] call 3 getegid=0
[CHILD 2] call 4 getegid=0
[CHILD 2] call 5 getegid=0
[CHILD 2] call 6 getegid=0
[CHILD 2] call 7 getegid=0
[CHILD 2] call 8 getegid=0
[CHILD 2] call 9 getegid=0
[CHILD 3] call 0 getegid=0
[CHILD 3] call 1 getegid=0
[CHILD 3] call 2 getegid=0
[CHILD 3] call 3 getegid=0
[CHILD 3] call 4 getegid=0
[CHILD 3] call 5 getegid=0
[CHILD 3] call 6 getegid=0
[CHILD 3] call 7 getegid=0
[CHILD 3] call 8 getegid=0
[CHILD 3] call 9 getegid=0
[CHILD 4] call 0 getegid=0
[CHILD 4] call 1 getegid=0
[CHILD 4] call 2 getegid=0
[CHILD 4] call 3 getegid=0
[CHILD 4] call 4 getegid=0
[CHILD 4] call 5 getegid=0
[CHILD 4] call 6 getegid=0
[CHILD 4] call 7 getegid=0
[CHILD 4] call 8 getegid=0
[CHILD 4] call 9 getegid=0
[CHILD 5] call 0 getegid=0
[CHILD 5] call 1 getegid=0
[CHILD 5] call 2 getegid=0
[CHILD 5] call 3 getegid=0
[CHILD 5] call 4 getegid=0
[CHILD 5] call 5 getegid=0
[CHILD 5] call 6 getegid=0
[CHILD 5] call 7 getegid=0
[CHILD 5] call 8 getegid=0
[CHILD 5] call 9 getegid=0
[CHILD 6] call 0 getegid=0
[CHILD 6] call 1 getegid=0
[CHILD 6] call 2 getegid=0
[CHILD 6] call 3 getegid=0
[CHILD 6] call 4 getegid=0
[CHILD 6] call 5 getegid=0
[CHILD 6] call 6 getegid=0
[CHILD 6] call 7 getegid=0
[CHILD 6] call 8 getegid=0
[CHILD 6] call 9 getegid=0
[CHILD 7] call 0 getegid=0
[CHILD 7] call 1 getegid=0
[CHILD 7] call 2 getegid=0
[CHILD 7] call 3 getegid=0
[CHILD 7] call 4 getegid=0
[CHILD 7] call 5 getegid=0
[CHILD 7] call 6 getegid=0
[CHILD 7] call 7 getegid=0
[CHILD 7] call 8 getegid=0
[CHILD 7] call 9 getegid=0
[CHILD 8] call 0 getegid=0
[CHILD 8] call 1 getegid=0
[CHILD 8] call 2 getegid=0
[CHILD 8] call 3 getegid=0
[CHILD 8] call 4 getegid=0
[CHILD 8] call 5 getegid=0
[CHILD 8] call 6 getegid=0
[CHILD 8] call 7 getegid=0
[CHILD 8] call 8 getegid=0
[CHILD 8] call 9 getegid=0
[CHILD 9] call 0 getegid=0
[CHILD 9] call 1 getegid=0
[CHILD 9] call 2 getegid=0
[CHILD 9] call 3 getegid=0
[CHILD 9] call 4 getegid=0
[CHILD 9] call 5 getegid=0
[CHILD 9] call 6 getegid=0
[CHILD 9] call 7 getegid=0
[CHILD 9] call 8 getegid=0
[CHILD 9] call 9 getegid=0
[CHILD 10] call 0 getegid=0
[CHILD 10] call 1 getegid=0
[CHILD 10] call 2 getegid=0
[CHILD 10] call 3 getegid=0
[CHILD 10] call 4 getegid=0
[CHILD 10] call 5 getegid=0
[CHILD 10] call 6 getegid=0
[CHILD 10] call 7 getegid=0
[CHILD 10] call 8 getegid=0
[CHILD 10] call 9 getegid=0
[CHILD 11] call 0 getegid=0
[CHILD 11] call 1 getegid=0
[CHILD 11] call 2 getegid=0
[CHILD 11] call 3 getegid=0
[CHILD 11] call 4 getegid=0
[CHILD 11] call 5 getegid=0
[CHILD 11] call 6 getegid=0
[CHILD 11] call 7 getegid=0
[CHILD 11] call 8 getegid=0
[CHILD 11] call 9 getegid=0
[CHILD 12] call 0 getegid=0
[CHILD 12] call 1 getegid=0
[CHILD 12] call 2 getegid=0
[CHILD 12] call 3 getegid=0
[CHILD 12] call 4 getegid=0
[CHILD 12] call 5 getegid=0
[CHILD 12] call 6 getegid=0
[CHILD 12] call 7 getegid=0
[CHILD 12] call 8 getegid=0
[CHILD 12] call 9 getegid=0
[CHILD 13] call 0 getegid=0
[CHILD 13] call 1 getegid=0
[CHILD 13] call 2 getegid=0
[CHILD 13] call 3 getegid=0
[CHILD 13] call 4 getegid=0
[CHILD 13] call 5 getegid=0
[CHILD 13] call 6 getegid=0
[CHILD 13] call 7 getegid=0
[CHILD 13] call 8 getegid=0
[CHILD 13] call 9 getegid=0
[CHILD 14] call 0 getegid=0
[CHILD 14] call 1 getegid=0
[CHILD 14] call 2 getegid=0
[CHILD 14] call 3 getegid=0
[CHILD 14] call 4 getegid=0
[CHILD 14] call 5 getegid=0
[CHILD 14] call 6 getegid=0
[CHILD 14] call 7 getegid=0
[CHILD 14] call 8 getegid=0
[CHILD 14] call 9 getegid=0
[CHILD 15] call 0 getegid=0
[CHILD 15] call 1 getegid=0
[CHILD 15] call 2 getegid=0
[CHILD 15] call 3 getegid=0
[CHILD 15] call 4 getegid=0
[CHILD 15] call 5 getegid=0
[CHILD 15] call 6 getegid=0
[CHILD 15] call 7 getegid=0
[CHILD 15] call 8 getegid=0
[CHILD 15] call 9 getegid=0
[CHILD 16] call 0 getegid=0
[CHILD 16] call 1 getegid=0
[CHILD 16] call 2 getegid=0
[CHILD 16] call 3 getegid=0
[CHILD 16] call 4 getegid=0
[CHILD 16] call 5 getegid=0
[CHILD 16] call 6 getegid=0
[CHILD 16] call 7 getegid=0
[CHILD 16] call 8 getegid=0
[CHILD 16] call 9 getegid=0
[CHILD 17] call 0 getegid=0
[CHILD 17] call 1 getegid=0
[CHILD 17] call 2 getegid=0
[CHILD 17] call 3 getegid=0
[CHILD 17] call 4 getegid=0
[CHILD 17] call 5 getegid=0
[CHILD 17] call 6 getegid=0
[CHILD 17] call 7 getegid=0
[CHILD 17] call 8 getegid=0
[CHILD 17] call 9 getegid=0
[CHILD 18] call 0 getegid=0
[CHILD 18] call 1 getegid=0
[CHILD 18] call 2 getegid=0
[CHILD 18] call 3 getegid=0
[CHILD 18] call 4 getegid=0
[CHILD 18] call 5 getegid=0
[CHILD 18] call 6 getegid=0
[CHILD 18] call 7 getegid=0
[CHILD 18] call 8 getegid=0
[CHILD 18] call 9 getegid=0
[PARENT] reaped child 732 exit=0
[PARENT] reaped child 733 exit=256
[PARENT] reaped child 734 exit=512
[PARENT] reaped child 735 exit=768
[PARENT] reaped child 736 exit=1024
[CHILD 19] call 0 getegid=0
[CHILD 19] call 1 getegid=0
[PARENT] reaped child 737 exit=1280
[CHILD 19] call 2 getegid=0
[CHILD 19] call 3 getegid=0
[PARENT] reaped child 738 exit=1536
[CHILD 19] call 4 getegid=0
[CHILD 19] call 5 getegid=0
[PARENT] reaped child 739 exit=1792
[CHILD 19] call 6 getegid=0
[CHILD 19] call 7 getegid=0
[CHILD 19] call 8 getegid=0
[PARENT] reaped child 740 exit=2048
[CHILD 19] call 9 getegid=0
[PARENT] reaped child 741 exit=2304
[PARENT] reaped child 742 exit=2560
[PARENT] reaped child 743 exit=2816
[PARENT] reaped child 744 exit=3072
[PARENT] reaped child 745 exit=3328
[PARENT] reaped child 746 exit=3584
[PARENT] reaped child 747 exit=3840
[PARENT] reaped child 748 exit=4096
[PARENT] reaped child 749 exit=4352
[PARENT] reaped child 750 exit=4608
[PARENT] reaped child 751 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getegid test suite
[TEST 1] getegid in parent
[PARENT] getegid returned=0

[TEST 2] getegid in child
[CHILD] getegid returned=0
[PARENT] child exited, parent getegid=0

[TEST 3] getegid with multiple children
[CHILD 0] getegid=0
[CHILD 1] getegid=0
[CHILD 2] getegid=0
[CHILD 3] getegid=0
[PARENT] reaped child 3 exit=0
[PARENT] reaped child 4 exit=1
[PARENT] reaped child 5 exit=2
[PARENT] reaped child 6 exit=2

[TEST 4] Stress test with 20 children calling getegid
[CHILD 0] call 0 getegid=0
[CHILD 0] call 1 getegid=0
[CHILD 0] call 2 getegid=0
[CHILD 0] call 3 getegid=0
[CHILD 0] call 4 getegid=0
[CHILD 0] call 5 getegid=0
[CHILD 0] call 6 getegid=0
[CHILD 0] call 7 getegid=0
[CHILD 0] call 8 getegid=0
[CHILD 0] call 9 getegid=0
[CHILD 1] call 0 getegid=0
[CHILD 1] call 1 getegid=0
[CHILD 1] call 2 getegid=0
[CHILD 1] call 3 getegid=0
[CHILD 1] call 4 getegid=0
[CHILD 1] call 5 getegid=0
[CHILD 1] call 6 getegid=0
[CHILD 1] call 7 getegid=0
[CHILD 1] call 8 getegid=0
[CHILD 1] call 9 getegid=0
[CHILD 2] call 0 getegid=0
[CHILD 2] call 1 getegid=0
[CHILD 2] call 2 getegid=0
[CHILD 2] call 3 getegid=0
[CHILD 2] call 4 getegid=0
[CHILD 2] call 5 getegid=0
[CHILD 2] call 6 getegid=0
[CHILD 2] call 7 getegid=0
[CHILD 2] call 8 getegid=0
[CHILD 2] call 9 getegid=0
[CHILD 3] call 0 getegid=0
[CHILD 3] call 1 getegid=0
[CHILD 3] call 2 getegid=0
[CHILD 3] call 3 getegid=0
[CHILD 3] call 4 getegid=0
[CHILD 3] call 5 getegid=0
[CHILD 3] call 6 getegid=0
[CHILD 3] call 7 getegid=0
[CHILD 3] call 8 getegid=0
[CHILD 3] call 9 getegid=0
[CHILD 4] call 0 getegid=0
[CHILD 4] call 1 getegid=0
[CHILD 4] call 2 getegid=0
[CHILD 4] call 3 getegid=0
[CHILD 4] call 4 getegid=0
[CHILD 4] call 5 getegid=0
[CHILD 4] call 6 getegid=0
[CHILD 4] call 7 getegid=0
[CHILD 4] call 8 getegid=0
[CHILD 4] call 9 getegid=0
[CHILD 5] call 0 getegid=0
[CHILD 5] call 1 getegid=0
[CHILD 5] call 2 getegid=0
[CHILD 5] call 3 getegid=0
[CHILD 5] call 4 getegid=0
[CHILD 5] call 5 getegid=0
[CHILD 5] call 6 getegid=0
[CHILD 5] call 7 getegid=0
[CHILD 5] call 8 getegid=0
[CHILD 5] call 9 getegid=0
[CHILD 6] call 0 getegid=0
[CHILD 6] call 1 getegid=0
[CHILD 6] call 2 getegid=0
[CHILD 6] call 3 getegid=0
[CHILD 6] call 4 getegid=0
[CHILD 6] call 5 getegid=0
[CHILD 6] call 6 getegid=0
[CHILD 6] call 7 getegid=0
[CHILD 6] call 8 getegid=0
[CHILD 6] call 9 getegid=0
[CHILD 7] call 0 getegid=0
[CHILD 7] call 1 getegid=0
[CHILD 7] call 2 getegid=0
[CHILD 7] call 3 getegid=0
[CHILD 7] call 4 getegid=0
[CHILD 7] call 5 getegid=0
[CHILD 7] call 6 getegid=0
[CHILD 7] call 7 getegid=0
[CHILD 7] call 8 getegid=0
[CHILD 7] call 9 getegid=0
[CHILD 8] call 0 getegid=0
[CHILD 8] call 1 getegid=0
[CHILD 8] call 2 getegid=0
[CHILD 8] call 3 getegid=0
[CHILD 8] call 4 getegid=0
[CHILD 8] call 5 getegid=0
[CHILD 8] call 6 getegid=0
[CHILD 8] call 7 getegid=0
[CHILD 8] call 8 getegid=0
[CHILD 8] call 9 getegid=0
[CHILD 9] call 0 getegid=0
[CHILD 9] call 1 getegid=0
[CHILD 9] call 2 getegid=0
[CHILD 9] call 3 getegid=0
[CHILD 9] call 4 getegid=0
[CHILD 9] call 5 getegid=0
[CHILD 9] call 6 getegid=0
[CHILD 9] call 7 getegid=0
[CHILD 9] call 8 getegid=0
[CHILD 9] call 9 getegid=0
[CHILD 10] call 0 getegid=0
[CHILD 10] call 1 getegid=0
[CHILD 10] call 2 getegid=0
[CHILD 10] call 3 getegid=0
[CHILD 10] call 4 getegid=0
[CHILD 10] call 5 getegid=0
[CHILD 10] call 6 getegid=0
[CHILD 10] call 7 getegid=0
[CHILD 10] call 8 getegid=0
[CHILD 10] call 9 getegid=0
[CHILD 11] call 0 getegid=0
[CHILD 11] call 1 getegid=0
[CHILD 11] call 2 getegid=0
[CHILD 11] call 3 getegid=0
[CHILD 11] call 4 getegid=0
[CHILD 11] call 5 getegid=0
[CHILD 11] call 6 getegid=0
[CHILD 11] call 7 getegid=0
[CHILD 11] call 8 getegid=0
[CHILD 11] call 9 getegid=0
[CHILD 12] call 0 getegid=0
[CHILD 12] call 1 getegid=0
[CHILD 12] call 2 getegid=0
[CHILD 12] call 3 getegid=0
[CHILD 12] call 4 getegid=0
[CHILD 12] call 5 getegid=0
[CHILD 12] call 6 getegid=0
[CHILD 12] call 7 getegid=0
[CHILD 12] call 8 getegid=0
[CHILD 12] call 9 getegid=0
[CHILD 13] call 0 getegid=0
[CHILD 13] call 1 getegid=0
[CHILD 13] call 2 getegid=0
[CHILD 13] call 3 getegid=0
[CHILD 13] call 4 getegid=0
[CHILD 13] call 5 getegid=0
[CHILD 13] call 6 getegid=0
[CHILD 13] call 7 getegid=0
[CHILD 13] call 8 getegid=0
[CHILD 13] call 9 getegid=0
[CHILD 14] call 0 getegid=0
[CHILD 14] call 1 getegid=0
[CHILD 14] call 2 getegid=0
[CHILD 14] call 3 getegid=0
[CHILD 14] call 4 getegid=0
[CHILD 14] call 5 getegid=0
[CHILD 14] call 6 getegid=0
[CHILD 14] call 7 getegid=0
[CHILD 14] call 8 getegid=0
[CHILD 14] call 9 getegid=0
[CHILD 15] call 0 getegid=0
[CHILD 15] call 1 getegid=0
[CHILD 15] call 2 getegid=0
[CHILD 15] call 3 getegid=0
[CHILD 15] call 4 getegid=0
[CHILD 15] call 5 getegid=0
[CHILD 15] call 6 getegid=0
[CHILD 15] call 7 getegid=0
[CHILD 15] call 8 getegid=0
[CHILD 15] call 9 getegid=0
[CHILD 16] call 0 getegid=0
[CHILD 16] call 1 getegid=0
[CHILD 16] call 2 getegid=0
[CHILD 16] call 3 getegid=0
[CHILD 16] call 4 getegid=0
[CHILD 16] call 5 getegid=0
[CHILD 16] call 6 getegid=0
[CHILD 16] call 7 getegid=0
[CHILD 16] call 8 getegid=0
[CHILD 16] call 9 getegid=0
[CHILD 17] call 0 getegid=0
[CHILD 17] call 1 getegid=0
[CHILD 17] call 2 getegid=0
[CHILD 17] call 3 getegid=0
[CHILD 17] call 4 getegid=0
[CHILD 17] call 5 getegid=0
[CHILD 17] call 6 getegid=0
[CHILD 17] call 7 getegid=0
[CHILD 17] call 8 getegid=0
[CHILD 17] call 9 getegid=0
[CHILD 18] call 0 getegid=0
[CHILD 18] call 1 getegid=0
[CHILD 18] call 2 getegid=0
[CHILD 18] call 3 getegid=0
[CHILD 18] call 4 getegid=0
[CHILD 18] call 5 getegid=0
[CHILD 18] call 6 getegid=0
[CHILD 18] call 7 getegid=0
[CHILD 18] call 8 getegid=0
[CHILD 18] call 9 getegid=0
[CHILD 19] call 0 getegid=0
[PARENT] reaped child 7 exit=0
[CHILD 19] call 1 getegid=0
[PARENT] reaped child 8 exit=1
[PARENT] reaped child 9 exit=2
[CHILD 19] call 2 getegid=0
[PARENT] reaped child 10 exit=3
[CHILD 19] call 3 getegid=0
[PARENT] reaped child 11 exit=4
[PARENT] reaped child 12 exit=5
[CHILD 19] call 4 getegid=0
[PARENT] reaped child 13 exit=6
[CHILD 19] call 5 getegid=0
[PARENT] reaped child 14 exit=7
[PARENT] reaped child 15 exit=8
[CHILD 19] call 6 getegid=0
[PARENT] reaped child 16 exit=9
[PARENT] reaped child 17 exit=10
[CHILD 19] call 7 getegid=0
[PARENT] reaped child 18 exit=11
[PARENT] reaped child 19 exit=12
[CHILD 19] call 8 getegid=0
[PARENT] reaped child 20 exit=13
[CHILD 19] call 9 getegid=0
[PARENT] reaped child 21 exit=14
[PARENT] reaped child 22 exit=15
[PARENT] reaped child 23 exit=16
[PARENT] reaped child 24 exit=17
[PARENT] reaped child 25 exit=18
[PARENT] reaped child 26 exit=18

[ALL TESTS COMPLETED]

getgid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getgid test suite
[TEST 1] getgid in parent
[PARENT] getgid returned=0

[TEST 2] getgid in child
[CHILD] getgid returned=0

[TEST 3] getgid with multiple children
[CHILD 0] getgid=0
[CHILD 1] getgid=0
[CHILD 2] getgid=0
[CHILD 3] getgid=0
[PARENT] reaped child 190 exit=0
[PARENT] reaped child 191 exit=256
[PARENT] reaped child 192 exit=512
[PARENT] reaped child 193 exit=768
[CHILD 4] getgid=0
[PARENT] reaped child 194 exit=1024

[TEST 4] stress test with 20 children calling getgid
[CHILD 0] call 0 getgid=0
[CHILD 0] call 1 getgid=0
[CHILD 0] call 2 getgid=0
[CHILD 0] call 3 getgid=0
[CHILD 0] call 4 getgid=0
[CHILD 0] call 5 getgid=0
[CHILD 0] call 6 getgid=0
[CHILD 0] call 7 getgid=0
[CHILD 0] call 8 getgid=0
[CHILD 0] call 9 getgid=0
[CHILD 1] call 0 getgid=0
[CHILD 1] call 1 getgid=0
[CHILD 1] call 2 getgid=0
[CHILD 1] call 3 getgid=0
[CHILD 1] call 4 getgid=0
[CHILD 1] call 5 getgid=0
[CHILD 1] call 6 getgid=0
[CHILD 1] call 7 getgid=0
[CHILD 1] call 8 getgid=0
[CHILD 1] call 9 getgid=0
[CHILD 2] call 0 getgid=0
[CHILD 2] call 1 getgid=0
[CHILD 2] call 2 getgid=0
[CHILD 2] call 3 getgid=0
[CHILD 2] call 4 getgid=0
[CHILD 2] call 5 getgid=0
[CHILD 2] call 6 getgid=0
[CHILD 2] call 7 getgid=0
[CHILD 2] call 8 getgid=0
[CHILD 2] call 9 getgid=0
[CHILD 3] call 0 getgid=0
[CHILD 3] call 1 getgid=0
[CHILD 3] call 2 getgid=0
[CHILD 3] call 3 getgid=0
[CHILD 3] call 4 getgid=0
[CHILD 3] call 5 getgid=0
[CHILD 3] call 6 getgid=0
[CHILD 3] call 7 getgid=0
[CHILD 3] call 8 getgid=0
[CHILD 3] call 9 getgid=0
[CHILD 4] call 0 getgid=0
[CHILD 4] call 1 getgid=0
[CHILD 4] call 2 getgid=0
[CHILD 4] call 3 getgid=0
[CHILD 4] call 4 getgid=0
[CHILD 4] call 5 getgid=0
[CHILD 4] call 6 getgid=0
[CHILD 4] call 7 getgid=0
[CHILD 4] call 8 getgid=0
[CHILD 4] call 9 getgid=0
[CHILD 5] call 0 getgid=0
[CHILD 5] call 1 getgid=0
[CHILD 5] call 2 getgid=0
[CHILD 5] call 3 getgid=0
[CHILD 5] call 4 getgid=0
[CHILD 5] call 5 getgid=0
[CHILD 5] call 6 getgid=0
[CHILD 5] call 7 getgid=0
[CHILD 5] call 8 getgid=0
[CHILD 5] call 9 getgid=0
[CHILD 6] call 0 getgid=0
[CHILD 6] call 1 getgid=0
[CHILD 6] call 2 getgid=0
[CHILD 6] call 3 getgid=0
[CHILD 6] call 4 getgid=0
[CHILD 6] call 5 getgid=0
[CHILD 6] call 6 getgid=0
[CHILD 6] call 7 getgid=0
[CHILD 6] call 8 getgid=0
[CHILD 6] call 9 getgid=0
[CHILD 7] call 0 getgid=0
[CHILD 7] call 1 getgid=0
[CHILD 7] call 2 getgid=0
[CHILD 7] call 3 getgid=0
[CHILD 7] call 4 getgid=0
[CHILD 7] call 5 getgid=0
[CHILD 7] call 6 getgid=0
[CHILD 7] call 7 getgid=0
[CHILD 7] call 8 getgid=0
[CHILD 7] call 9 getgid=0
[CHILD 8] call 0 getgid=0
[CHILD 8] call 1 getgid=0
[CHILD 8] call 2 getgid=0
[CHILD 8] call 3 getgid=0
[CHILD 8] call 4 getgid=0
[CHILD 8] call 5 getgid=0
[CHILD 8] call 6 getgid=0
[CHILD 8] call 7 getgid=0
[CHILD 8] call 8 getgid=0
[CHILD 8] call 9 getgid=0
[CHILD 9] call 0 getgid=0
[CHILD 9] call 1 getgid=0
[CHILD 9] call 2 getgid=0
[CHILD 9] call 3 getgid=0
[CHILD 9] call 4 getgid=0
[CHILD 9] call 5 getgid=0
[CHILD 9] call 6 getgid=0
[CHILD 9] call 7 getgid=0
[CHILD 9] call 8 getgid=0
[CHILD 9] call 9 getgid=0
[CHILD 10] call 0 getgid=0
[CHILD 10] call 1 getgid=0
[CHILD 10] call 2 getgid=0
[CHILD 10] call 3 getgid=0
[CHILD 10] call 4 getgid=0
[CHILD 10] call 5 getgid=0
[CHILD 10] call 6 getgid=0
[CHILD 10] call 7 getgid=0
[CHILD 10] call 8 getgid=0
[CHILD 10] call 9 getgid=0
[CHILD 11] call 0 getgid=0
[CHILD 11] call 1 getgid=0
[CHILD 11] call 2 getgid=0
[CHILD 11] call 3 getgid=0
[CHILD 11] call 4 getgid=0
[CHILD 11] call 5 getgid=0
[CHILD 11] call 6 getgid=0
[CHILD 11] call 7 getgid=0
[CHILD 11] call 8 getgid=0
[CHILD 11] call 9 getgid=0
[CHILD 12] call 0 getgid=0
[CHILD 12] call 1 getgid=0
[CHILD 12] call 2 getgid=0
[CHILD 12] call 3 getgid=0
[CHILD 12] call 4 getgid=0
[CHILD 12] call 5 getgid=0
[CHILD 12] call 6 getgid=0
[CHILD 12] call 7 getgid=0
[CHILD 12] call 8 getgid=0
[CHILD 12] call 9 getgid=0
[CHILD 13] call 0 getgid=0
[CHILD 13] call 1 getgid=0
[CHILD 13] call 2 getgid=0
[CHILD 13] call 3 getgid=0
[CHILD 13] call 4 getgid=0
[CHILD 13] call 5 getgid=0
[CHILD 13] call 6 getgid=0
[CHILD 13] call 7 getgid=0
[CHILD 13] call 8 getgid=0
[CHILD 13] call 9 getgid=0
[CHILD 14] call 0 getgid=0
[CHILD 14] call 1 getgid=0
[CHILD 14] call 2 getgid=0
[CHILD 14] call 3 getgid=0
[CHILD 14] call 4 getgid=0
[CHILD 14] call 5 getgid=0
[CHILD 14] call 6 getgid=0
[CHILD 14] call 7 getgid=0
[CHILD 14] call 8 getgid=0
[CHILD 14] call 9 getgid=0
[CHILD 15] call 0 getgid=0
[CHILD 15] call 1 getgid=0
[CHILD 15] call 2 getgid=0
[CHILD 15] call 3 getgid=0
[CHILD 15] call 4 getgid=0
[CHILD 15] call 5 getgid=0
[CHILD 15] call 6 getgid=0
[CHILD 15] call 7 getgid=0
[CHILD 15] call 8 getgid=0
[CHILD 15] call 9 getgid=0
[CHILD 16] call 0 getgid=0
[CHILD 16] call 1 getgid=0
[CHILD 16] call 2 getgid=0
[CHILD 16] call 3 getgid=0
[CHILD 16] call 4 getgid=0
[CHILD 16] call 5 getgid=0
[CHILD 16] call 6 getgid=0
[CHILD 16] call 7 getgid=0
[CHILD 16] call 8 getgid=0
[CHILD 16] call 9 getgid=0
[CHILD 17] call 0 getgid=0
[CHILD 17] call 1 getgid=0
[CHILD 17] call 2 getgid=0
[CHILD 17] call 3 getgid=0
[CHILD 17] call 4 getgid=0
[CHILD 17] call 5 getgid=0
[CHILD 17] call 6 getgid=0
[CHILD 17] call 7 getgid=0
[CHILD 17] call 8 getgid=0
[CHILD 17] call 9 getgid=0
[CHILD 18] call 0 getgid=0
[CHILD 18] call 1 getgid=0
[CHILD 18] call 2 getgid=0
[CHILD 18] call 3 getgid=0
[CHILD 18] call 4 getgid=0
[CHILD 18] call 5 getgid=0
[CHILD 18] call 6 getgid=0
[CHILD 18] call 7 getgid=0
[CHILD 18] call 8 getgid=0
[CHILD 18] call 9 getgid=0
[PARENT] reaped child 195 exit=0
[PARENT] reaped child 196 exit=256
[PARENT] reaped child 197 exit=512
[PARENT] reaped child 198 exit=768
[PARENT] reaped child 199 exit=1024
[PARENT] reaped child 200 exit=1280
[PARENT] reaped child 201 exit=1536
[CHILD 19] call 0 getgid=0
[PARENT] reaped child 202 exit=1792
[CHILD 19] call 1 getgid=0
[CHILD 19] call 2 getgid=0
[CHILD 19] call 3 getgid=0
[PARENT] reaped child 203 exit=2048
[CHILD 19] call 4 getgid=0
[CHILD 19] call 5 getgid=0
[PARENT] reaped child 204 exit=2304
[CHILD 19] call 6 getgid=0
[CHILD 19] call 7 getgid=0
[PARENT] reaped child 205 exit=2560
[CHILD 19] call 8 getgid=0
[CHILD 19] call 9 getgid=0
[PARENT] reaped child 206 exit=2816
[PARENT] reaped child 207 exit=3072
[PARENT] reaped child 208 exit=3328
[PARENT] reaped child 209 exit=3584
[PARENT] reaped child 210 exit=3840
[PARENT] reaped child 211 exit=4096
[PARENT] reaped child 212 exit=4352
[PARENT] reaped child 213 exit=4608
[PARENT] reaped child 214 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getgid test suite
[TEST 1] getgid in parent
[PARENT] getgid returned=0

[TEST 2] getgid in child
[CHILD] getgid returned=0

[TEST 3] getgid with multiple children
[CHILD 0] getgid=0
[CHILD 1] getgid=0
[CHILD 2] getgid=0
[CHILD 3] getgid=0
[CHILD 4] getgid=0
[PARENT] reaped child 3 exit=0
[PARENT] reaped child 4 exit=1
[PARENT] reaped child 5 exit=2
[PARENT] reaped child 6 exit=3
[PARENT] reaped child 7 exit=3

[TEST 4] stress test with 20 children calling getgid
[CHILD 0] call 0 getgid=0
[CHILD 0] call 1 getgid=0
[CHILD 0] call 2 getgid=0
[CHILD 0] call 3 getgid=0
[CHILD 0] call 4 getgid=0
[CHILD 0] call 5 getgid=0
[CHILD 0] call 6 getgid=0
[CHILD 0] call 7 getgid=0
[CHILD 0] call 8 getgid=0
[CHILD 0] call 9 getgid=0
[CHILD 1] call 0 getgid=0
[CHILD 1] call 1 getgid=0
[CHILD 1] call 2 getgid=0
[CHILD 1] call 3 getgid=0
[CHILD 1] call 4 getgid=0
[CHILD 1] call 5 getgid=0
[CHILD 1] call 6 getgid=0
[CHILD 1] call 7 getgid=0
[CHILD 1] call 8 getgid=0
[CHILD 1] call 9 getgid=0
[CHILD 2] call 0 getgid=0
[CHILD 2] call 1 getgid=0
[CHILD 2] call 2 getgid=0
[CHILD 2] call 3 getgid=0
[CHILD 2] call 4 getgid=0
[CHILD 2] call 5 getgid=0
[CHILD 2] call 6 getgid=0
[CHILD 2] call 7 getgid=0
[CHILD 2] call 8 getgid=0
[CHILD 2] call 9 getgid=0
[CHILD 3] call 0 getgid=0
[CHILD 3] call 1 getgid=0
[CHILD 3] call 2 getgid=0
[CHILD 3] call 3 getgid=0
[CHILD 3] call 4 getgid=0
[CHILD 3] call 5 getgid=0
[CHILD 3] call 6 getgid=0
[CHILD 3] call 7 getgid=0
[CHILD 3] call 8 getgid=0
[CHILD 3] call 9 getgid=0
[CHILD 4] call 0 getgid=0
[CHILD 4] call 1 getgid=0
[CHILD 4] call 2 getgid=0
[CHILD 4] call 3 getgid=0
[CHILD 4] call 4 getgid=0
[CHILD 4] call 5 getgid=0
[CHILD 4] call 6 getgid=0
[CHILD 4] call 7 getgid=0
[CHILD 4] call 8 getgid=0
[CHILD 4] call 9 getgid=0
[CHILD 5] call 0 getgid=0
[CHILD 5] call 1 getgid=0
[CHILD 5] call 2 getgid=0
[CHILD 5] call 3 getgid=0
[CHILD 5] call 4 getgid=0
[CHILD 5] call 5 getgid=0
[CHILD 5] call 6 getgid=0
[CHILD 5] call 7 getgid=0
[CHILD 5] call 8 getgid=0
[CHILD 5] call 9 getgid=0
[CHILD 6] call 0 getgid=0
[CHILD 6] call 1 getgid=0
[CHILD 6] call 2 getgid=0
[CHILD 6] call 3 getgid=0
[CHILD 6] call 4 getgid=0
[CHILD 6] call 5 getgid=0
[CHILD 6] call 6 getgid=0
[CHILD 6] call 7 getgid=0
[CHILD 6] call 8 getgid=0
[CHILD 6] call 9 getgid=0
[CHILD 7] call 0 getgid=0
[CHILD 7] call 1 getgid=0
[CHILD 7] call 2 getgid=0
[CHILD 7] call 3 getgid=0
[CHILD 7] call 4 getgid=0
[CHILD 7] call 5 getgid=0
[CHILD 7] call 6 getgid=0
[CHILD 7] call 7 getgid=0
[CHILD 7] call 8 getgid=0
[CHILD 7] call 9 getgid=0
[CHILD 8] call 0 getgid=0
[CHILD 8] call 1 getgid=0
[CHILD 8] call 2 getgid=0
[CHILD 8] call 3 getgid=0
[CHILD 8] call 4 getgid=0
[CHILD 8] call 5 getgid=0
[CHILD 8] call 6 getgid=0
[CHILD 8] call 7 getgid=0
[CHILD 8] call 8 getgid=0
[CHILD 8] call 9 getgid=0
[CHILD 9] call 0 getgid=0
[CHILD 9] call 1 getgid=0
[CHILD 9] call 2 getgid=0
[CHILD 9] call 3 getgid=0
[CHILD 9] call 4 getgid=0
[CHILD 9] call 5 getgid=0
[CHILD 9] call 6 getgid=0
[CHILD 9] call 7 getgid=0
[CHILD 9] call 8 getgid=0
[CHILD 9] call 9 getgid=0
[CHILD 10] call 0 getgid=0
[CHILD 10] call 1 getgid=0
[CHILD 10] call 2 getgid=0
[CHILD 10] call 3 getgid=0
[CHILD 10] call 4 getgid=0
[CHILD 10] call 5 getgid=0
[CHILD 10] call 6 getgid=0
[CHILD 10] call 7 getgid=0
[CHILD 10] call 8 getgid=0
[CHILD 10] call 9 getgid=0
[CHILD 11] call 0 getgid=0
[CHILD 11] call 1 getgid=0
[CHILD 11] call 2 getgid=0
[CHILD 11] call 3 getgid=0
[CHILD 11] call 4 getgid=0
[CHILD 11] call 5 getgid=0
[CHILD 11] call 6 getgid=0
[CHILD 11] call 7 getgid=0
[CHILD 11] call 8 getgid=0
[CHILD 11] call 9 getgid=0
[CHILD 12] call 0 getgid=0
[CHILD 12] call 1 getgid=0
[CHILD 12] call 2 getgid=0
[CHILD 12] call 3 getgid=0
[CHILD 12] call 4 getgid=0
[CHILD 12] call 5 getgid=0
[CHILD 12] call 6 getgid=0
[CHILD 12] call 7 getgid=0
[CHILD 12] call 8 getgid=0
[CHILD 12] call 9 getgid=0
[CHILD 13] call 0 getgid=0
[CHILD 13] call 1 getgid=0
[CHILD 13] call 2 getgid=0
[CHILD 13] call 3 getgid=0
[CHILD 13] call 4 getgid=0
[CHILD 13] call 5 getgid=0
[CHILD 13] call 6 getgid=0
[CHILD 13] call 7 getgid=0
[CHILD 13] call 8 getgid=0
[CHILD 13] call 9 getgid=0
[CHILD 14] call 0 getgid=0
[CHILD 14] call 1 getgid=0
[CHILD 14] call 2 getgid=0
[CHILD 14] call 3 getgid=0
[CHILD 14] call 4 getgid=0
[CHILD 14] call 5 getgid=0
[CHILD 14] call 6 getgid=0
[CHILD 14] call 7 getgid=0
[CHILD 14] call 8 getgid=0
[CHILD 14] call 9 getgid=0
[CHILD 15] call 0 getgid=0
[CHILD 15] call 1 getgid=0
[CHILD 15] call 2 getgid=0
[CHILD 15] call 3 getgid=0
[CHILD 15] call 4 getgid=0
[CHILD 15] call 5 getgid=0
[CHILD 15] call 6 getgid=0
[CHILD 15] call 7 getgid=0
[CHILD 15] call 8 getgid=0
[CHILD 15] call 9 getgid=0
[CHILD 16] call 0 getgid=0
[CHILD 16] call 1 getgid=0
[CHILD 16] call 2 getgid=0
[CHILD 16] call 3 getgid=0
[CHILD 16] call 4 getgid=0
[CHILD 16] call 5 getgid=0
[CHILD 16] call 6 getgid=0
[CHILD 16] call 7 getgid=0
[CHILD 16] call 8 getgid=0
[CHILD 16] call 9 getgid=0
[CHILD 17] call 0 getgid=0
[CHILD 17] call 1 getgid=0
[CHILD 17] call 2 getgid=0
[CHILD 17] call 3 getgid=0
[CHILD 17] call 4 getgid=0
[CHILD 17] call 5 getgid=0
[CHILD 17] call 6 getgid=0
[CHILD 17] call 7 getgid=0
[CHILD 17] call 8 getgid=0
[CHILD 17] call 9 getgid=0
[CHILD 18] call 0 getgid=0
[CHILD 18] call 1 getgid=0
[CHILD 18] call 2 getgid=0
[CHILD 18] call 3 getgid=0
[CHILD 18] call 4 getgid=0
[CHILD 18] call 5 getgid=0
[CHILD 18] call 6 getgid=0
[CHILD 18] call 7 getgid=0
[CHILD 18] call 8 getgid=0
[CHILD 18] call 9 getgid=0
[PARENT] reaped child 8 exit=0
[CHILD 19] call 0 getgid=0
[PARENT] reaped child 9 exit=1
[CHILD 19] call 1 getgid=0
[PARENT] reaped child 10 exit=2
[CHILD 19] call 2 getgid=0
[PARENT] reaped child 11 exit=3
[CHILD 19] call 3 getgid=0
[PARENT] reaped child 12 exit=4
[CHILD 19] call 4 getgid=0
[PARENT] reaped child 13 exit=5
[CHILD 19] call 5 getgid=0
[PARENT] reaped child 14 exit=6
[CHILD 19] call 6 getgid=0
[CHILD 19] call 7 getgid=0
[PARENT] reaped child 15 exit=7
[PARENT] reaped child 16 exit=8
[CHILD 19] call 8 getgid=0
[PARENT] reaped child 17 exit=9
[CHILD 19] call 9 getgid=0
[PARENT] reaped child 18 exit=10
[PARENT] reaped child 19 exit=11
[PARENT] reaped child 20 exit=12
[PARENT] reaped child 21 exit=13
[PARENT] reaped child 22 exit=14
[PARENT] reaped child 23 exit=15
[PARENT] reaped child 24 exit=16
[PARENT] reaped child 25 exit=17
[PARENT] reaped child 26 exit=18
[PARENT] reaped child 27 exit=18

[ALL TESTS COMPLETED]

getpid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getpid test suite
[TEST 1] getpid in parent
[PARENT] getpid returned=816

[TEST 2] getpid in child
[CHILD] getpid returned=817
[PARENT] child exited, parent pid=816

[TEST 3] getpid with multiple children
[CHILD 0] getpid=818
[CHILD 1] getpid=819
[PARENT] reaped child 818 with exit=2560
[CHILD 2] getpid=820
[PARENT] reaped child 819 with exit=2816
[PARENT] reaped child 820 with exit=3072

[TEST 4] nested forks
[CHILD] getpid=821
[GRANDCHILD] getpid=822

[TEST 5] stress test with 20 children
[CHILD 0] getpid=823
[CHILD 1] getpid=824
[CHILD 2] getpid=825
[CHILD 3] getpid=826
[CHILD 4] getpid=827
[CHILD 5] getpid=828
[CHILD 6] getpid=829
[CHILD 7] getpid=830
[CHILD 8] getpid=831
[CHILD 9] getpid=832
[CHILD 10] getpid=833
[CHILD 11] getpid=834
[CHILD 12] getpid=835
[CHILD 13] getpid=836
[CHILD 14] getpid=837
[CHILD 15] getpid=838
[CHILD 16] getpid=839
[CHILD 17] getpid=840
[CHILD 18] getpid=841
[PARENT] reaped child 823 exit=0
[PARENT] reaped child 824 exit=256
[PARENT] reaped child 825 exit=512
[PARENT] reaped child 826 exit=768
[PARENT] reaped child 827 exit=1024
[PARENT] reaped child 828 exit=1280
[CHILD 19] getpid=842
[PARENT] reaped child 829 exit=1536
[PARENT] reaped child 830 exit=1792
[PARENT] reaped child 831 exit=2048
[PARENT] reaped child 832 exit=2304
[PARENT] reaped child 833 exit=2560
[PARENT] reaped child 834 exit=2816
[PARENT] reaped child 835 exit=3072
[PARENT] reaped child 836 exit=3328
[PARENT] reaped child 837 exit=3584
[PARENT] reaped child 838 exit=3840
[PARENT] reaped child 839 exit=4096
[PARENT] reaped child 840 exit=4352
[PARENT] reaped child 841 exit=4608
[PARENT] reaped child 842 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getpid test suite
[TEST 1] getpid in parent
[PARENT] getpid returned=1

[TEST 2] getpid in child
[CHILD] getpid returned=2
[PARENT] child exited, parent pid=1

[TEST 3] getpid with multiple children
[CHILD 0] getpid=3
[CHILD 1] getpid=4
[CHILD 2] getpid=5
[PARENT] reaped child 3 with exit=10
[PARENT] reaped child 4 with exit=11
[PARENT] reaped child 5 with exit=12

[TEST 4] nested forks
[CHILD] getpid=6
[GRANDCHILD] getpid=7

[TEST 5] stress test with 20 children
[CHILD 0] getpid=8
[CHILD 1] getpid=9
[CHILD 2] getpid=10
[CHILD 3] getpid=11
[CHILD 4] getpid=12
[CHILD 5] getpid=13
[CHILD 6] getpid=14
[CHILD 7] getpid=15
[CHILD 8] getpid=16
[CHILD 9] getpid=17
[CHILD 10] getpid=18
[CHILD 11] getpid=19
[CHILD 12] getpid=20
[CHILD 13] getpid=21
[CHILD 14] getpid=22
[CHILD 15] getpid=23
[CHILD 16] getpid=24
[CHILD 17] getpid=25
[CHILD 18] getpid=26
[CHILD 19] getpid=27
[PARENT] reaped child 8 exit=0
[PARENT] reaped child 9 exit=1
[PARENT] reaped child 10 exit=2
[PARENT] reaped child 11 exit=3
[PARENT] reaped child 12 exit=4
[PARENT] reaped child 13 exit=5
[PARENT] reaped child 14 exit=6
[PARENT] reaped child 15 exit=7
[PARENT] reaped child 16 exit=8
[PARENT] reaped child 17 exit=9
[PARENT] reaped child 18 exit=10
[PARENT] reaped child 19 exit=11
[PARENT] reaped child 20 exit=12
[PARENT] reaped child 21 exit=13
[PARENT] reaped child 22 exit=14
[PARENT] reaped child 23 exit=15
[PARENT] reaped child 24 exit=16
[PARENT] reaped child 25 exit=17
[PARENT] reaped child 26 exit=18
[PARENT] reaped child 27 exit=19

[ALL TESTS COMPLETED]

getppid.cSuccessNone
Success
getppid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getppid test suite
[TEST 1] getppid in parent
[PARENT] getppid=12

[TEST 2] getppid in child
[CHILD] getppid=1098
[PARENT] child exited, parent pid=12

[TEST 3] getppid with multiple children
[CHILD 0] getppid=1098
[CHILD 1] getppid=1098
[CHILD 2] getppid=1098
[CHILD 3] getppid=1098
[PARENT] reaped child 1100 with exit=10
[PARENT] reaped child 1101 with exit=11
[PARENT] reaped child 1102 with exit=12
[CHILD 4] getppid=1098
[PARENT] reaped child 1103 with exit=13
[PARENT] reaped child 1104 with exit=14

[TEST 4] nested forks
[CHILD] getppid=1098
[GRANDCHILD] getppid=1105

[TEST 5] stress test with 20 children
[CHILD 0] getppid=1098
[CHILD 1] getppid=1098
[CHILD 2] getppid=1098
[CHILD 3] getppid=1098
[CHILD 4] getppid=1098
[CHILD 5] getppid=1098
[CHILD 6] getppid=1098
[CHILD 7] getppid=1098
[CHILD 8] getppid=1098
[CHILD 9] getppid=1098
[CHILD 10] getppid=1098
[CHILD 11] getppid=1098
[CHILD 12] getppid=1098
[CHILD 13] getppid=1098
[CHILD 14] getppid=1098
[CHILD 15] getppid=1098
[CHILD 16] getppid=1098
[CHILD 17] getppid=1098
[CHILD 18] getppid=1098
[PARENT] reaped child 1107 exit=0
[PARENT] reaped child 1108 exit=1
[PARENT] reaped child 1109 exit=2
[PARENT] reaped child 1110 exit=3
[PARENT] reaped child 1111 exit=4
[PARENT] reaped child 1112 exit=5
[PARENT] reaped child 1113 exit=6
[CHILD 19] getppid=1098
[PARENT] reaped child 1114 exit=7
[PARENT] reaped child 1115 exit=8
[PARENT] reaped child 1116 exit=9
[PARENT] reaped child 1117 exit=10
[PARENT] reaped child 1118 exit=11
[PARENT] reaped child 1119 exit=12
[PARENT] reaped child 1120 exit=13
[PARENT] reaped child 1121 exit=14
[PARENT] reaped child 1122 exit=15
[PARENT] reaped child 1123 exit=16
[PARENT] reaped child 1124 exit=17
[PARENT] reaped child 1125 exit=18
[PARENT] reaped child 1126 exit=19

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getppid test suite
[TEST 1] getppid in parent
[PARENT] getppid=1

[TEST 2] getppid in child
[CHILD] getppid=1
[PARENT] child exited, parent pid=1

[TEST 3] getppid with multiple children
[CHILD 0] getppid=1
[CHILD 1] getppid=1
[CHILD 2] getppid=1
[CHILD 3] getppid=1
[CHILD 4] getppid=1
[PARENT] reaped child 3 with exit=-1
[PARENT] reaped child 4 with exit=-1
[PARENT] reaped child 5 with exit=-1
[PARENT] reaped child 6 with exit=-1
[PARENT] reaped child 7 with exit=-1

[TEST 4] nested forks
[CHILD] getppid=1
[GRANDCHILD] getppid=8

[TEST 5] stress test with 20 children
[CHILD 0] getppid=1
[CHILD 1] getppid=1
[CHILD 2] getppid=1
[CHILD 3] getppid=1
[CHILD 4] getppid=1
[CHILD 5] getppid=1
[CHILD 6] getppid=1
[CHILD 7] getppid=1
[CHILD 8] getppid=1
[CHILD 9] getppid=1
[CHILD 10] getppid=1
[CHILD 11] getppid=1
[CHILD 12] getppid=1
[CHILD 13] getppid=1
[CHILD 14] getppid=1
[CHILD 15] getppid=1
[CHILD 16] getppid=1
[CHILD 17] getppid=1
[CHILD 18] getppid=1
[CHILD 19] getppid=1
[PARENT] reaped child 10 exit=0
[PARENT] reaped child 11 exit=-1
[PARENT] reaped child 12 exit=-1
[PARENT] reaped child 13 exit=-1
[PARENT] reaped child 14 exit=-1
[PARENT] reaped child 15 exit=-1
[PARENT] reaped child 16 exit=-1
[PARENT] reaped child 17 exit=-1
[PARENT] reaped child 18 exit=-1
[PARENT] reaped child 19 exit=-1
[PARENT] reaped child 20 exit=-1
[PARENT] reaped child 21 exit=-1
[PARENT] reaped child 22 exit=-1
[PARENT] reaped child 23 exit=-1
[PARENT] reaped child 24 exit=-1
[PARENT] reaped child 25 exit=-1
[PARENT] reaped child 26 exit=-1
[PARENT] reaped child 27 exit=-1
[PARENT] reaped child 28 exit=-1
[PARENT] reaped child 29 exit=-1

[ALL TESTS COMPLETED]

getuid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getuid test suite
[TEST 1] getuid in parent
[PARENT] getuid returned=0

[TEST 2] getuid in child
[CHILD] getuid returned=0
[PARENT] child exited, parent getuid=0

[TEST 3] getuid with multiple children
[CHILD 0] getuid=0
[CHILD 1] getuid=0
[CHILD 2] getuid=0
[PARENT] reaped child 552 with exit=2560
[PARENT] reaped child 553 with exit=2816
[PARENT] reaped child 554 with exit=3072
[CHILD 3] getuid=0
[PARENT] reaped child 555 with exit=3328

[TEST 4] Stress test with 20 children calling getuid
[CHILD 0] call 0 getuid=0
[CHILD 0] call 1 getuid=0
[CHILD 0] call 2 getuid=0
[CHILD 0] call 3 getuid=0
[CHILD 0] call 4 getuid=0
[CHILD 0] call 5 getuid=0
[CHILD 0] call 6 getuid=0
[CHILD 0] call 7 getuid=0
[CHILD 0] call 8 getuid=0
[CHILD 0] call 9 getuid=0
[CHILD 1] call 0 getuid=0
[CHILD 1] call 1 getuid=0
[CHILD 1] call 2 getuid=0
[CHILD 1] call 3 getuid=0
[CHILD 1] call 4 getuid=0
[CHILD 1] call 5 getuid=0
[CHILD 1] call 6 getuid=0
[CHILD 1] call 7 getuid=0
[CHILD 1] call 8 getuid=0
[CHILD 1] call 9 getuid=0
[CHILD 2] call 0 getuid=0
[CHILD 2] call 1 getuid=0
[CHILD 2] call 2 getuid=0
[CHILD 2] call 3 getuid=0
[CHILD 2] call 4 getuid=0
[CHILD 2] call 5 getuid=0
[CHILD 2] call 6 getuid=0
[CHILD 2] call 7 getuid=0
[CHILD 2] call 8 getuid=0
[CHILD 2] call 9 getuid=0
[CHILD 3] call 0 getuid=0
[CHILD 3] call 1 getuid=0
[CHILD 3] call 2 getuid=0
[CHILD 3] call 3 getuid=0
[CHILD 3] call 4 getuid=0
[CHILD 3] call 5 getuid=0
[CHILD 3] call 6 getuid=0
[CHILD 3] call 7 getuid=0
[CHILD 3] call 8 getuid=0
[CHILD 3] call 9 getuid=0
[CHILD 4] call 0 getuid=0
[CHILD 4] call 1 getuid=0
[CHILD 4] call 2 getuid=0
[CHILD 4] call 3 getuid=0
[CHILD 4] call 4 getuid=0
[CHILD 4] call 5 getuid=0
[CHILD 4] call 6 getuid=0
[CHILD 4] call 7 getuid=0
[CHILD 4] call 8 getuid=0
[CHILD 4] call 9 getuid=0
[CHILD 5] call 0 getuid=0
[CHILD 5] call 1 getuid=0
[CHILD 5] call 2 getuid=0
[CHILD 5] call 3 getuid=0
[CHILD 5] call 4 getuid=0
[CHILD 5] call 5 getuid=0
[CHILD 5] call 6 getuid=0
[CHILD 5] call 7 getuid=0
[CHILD 5] call 8 getuid=0
[CHILD 5] call 9 getuid=0
[CHILD 6] call 0 getuid=0
[CHILD 6] call 1 getuid=0
[CHILD 6] call 2 getuid=0
[CHILD 6] call 3 getuid=0
[CHILD 6] call 4 getuid=0
[CHILD 6] call 5 getuid=0
[CHILD 6] call 6 getuid=0
[CHILD 6] call 7 getuid=0
[CHILD 6] call 8 getuid=0
[CHILD 6] call 9 getuid=0
[CHILD 7] call 0 getuid=0
[CHILD 7] call 1 getuid=0
[CHILD 7] call 2 getuid=0
[CHILD 7] call 3 getuid=0
[CHILD 7] call 4 getuid=0
[CHILD 7] call 5 getuid=0
[CHILD 7] call 6 getuid=0
[CHILD 7] call 7 getuid=0
[CHILD 7] call 8 getuid=0
[CHILD 7] call 9 getuid=0
[CHILD 8] call 0 getuid=0
[CHILD 8] call 1 getuid=0
[CHILD 8] call 2 getuid=0
[CHILD 8] call 3 getuid=0
[CHILD 8] call 4 getuid=0
[CHILD 8] call 5 getuid=0
[CHILD 8] call 6 getuid=0
[CHILD 8] call 7 getuid=0
[CHILD 8] call 8 getuid=0
[CHILD 8] call 9 getuid=0
[CHILD 9] call 0 getuid=0
[CHILD 9] call 1 getuid=0
[CHILD 9] call 2 getuid=0
[CHILD 9] call 3 getuid=0
[CHILD 9] call 4 getuid=0
[CHILD 9] call 5 getuid=0
[CHILD 9] call 6 getuid=0
[CHILD 9] call 7 getuid=0
[CHILD 9] call 8 getuid=0
[CHILD 9] call 9 getuid=0
[CHILD 10] call 0 getuid=0
[CHILD 10] call 1 getuid=0
[CHILD 10] call 2 getuid=0
[CHILD 10] call 3 getuid=0
[CHILD 10] call 4 getuid=0
[CHILD 10] call 5 getuid=0
[CHILD 10] call 6 getuid=0
[CHILD 10] call 7 getuid=0
[CHILD 10] call 8 getuid=0
[CHILD 10] call 9 getuid=0
[CHILD 11] call 0 getuid=0
[CHILD 11] call 1 getuid=0
[CHILD 11] call 2 getuid=0
[CHILD 11] call 3 getuid=0
[CHILD 11] call 4 getuid=0
[CHILD 11] call 5 getuid=0
[CHILD 11] call 6 getuid=0
[CHILD 11] call 7 getuid=0
[CHILD 11] call 8 getuid=0
[CHILD 11] call 9 getuid=0
[CHILD 12] call 0 getuid=0
[CHILD 12] call 1 getuid=0
[CHILD 12] call 2 getuid=0
[CHILD 12] call 3 getuid=0
[CHILD 12] call 4 getuid=0
[CHILD 12] call 5 getuid=0
[CHILD 12] call 6 getuid=0
[CHILD 12] call 7 getuid=0
[CHILD 12] call 8 getuid=0
[CHILD 12] call 9 getuid=0
[CHILD 13] call 0 getuid=0
[CHILD 13] call 1 getuid=0
[CHILD 13] call 2 getuid=0
[CHILD 13] call 3 getuid=0
[CHILD 13] call 4 getuid=0
[CHILD 13] call 5 getuid=0
[CHILD 13] call 6 getuid=0
[CHILD 13] call 7 getuid=0
[CHILD 13] call 8 getuid=0
[CHILD 13] call 9 getuid=0
[CHILD 14] call 0 getuid=0
[CHILD 14] call 1 getuid=0
[CHILD 14] call 2 getuid=0
[CHILD 14] call 3 getuid=0
[CHILD 14] call 4 getuid=0
[CHILD 14] call 5 getuid=0
[CHILD 14] call 6 getuid=0
[CHILD 14] call 7 getuid=0
[CHILD 14] call 8 getuid=0
[CHILD 14] call 9 getuid=0
[CHILD 15] call 0 getuid=0
[CHILD 15] call 1 getuid=0
[CHILD 15] call 2 getuid=0
[CHILD 15] call 3 getuid=0
[CHILD 15] call 4 getuid=0
[CHILD 15] call 5 getuid=0
[CHILD 15] call 6 getuid=0
[CHILD 15] call 7 getuid=0
[CHILD 15] call 8 getuid=0
[CHILD 15] call 9 getuid=0
[CHILD 16] call 0 getuid=0
[CHILD 16] call 1 getuid=0
[CHILD 16] call 2 getuid=0
[CHILD 16] call 3 getuid=0
[CHILD 16] call 4 getuid=0
[CHILD 16] call 5 getuid=0
[CHILD 16] call 6 getuid=0
[CHILD 16] call 7 getuid=0
[CHILD 16] call 8 getuid=0
[CHILD 16] call 9 getuid=0
[CHILD 17] call 0 getuid=0
[CHILD 17] call 1 getuid=0
[CHILD 17] call 2 getuid=0
[CHILD 17] call 3 getuid=0
[CHILD 17] call 4 getuid=0
[CHILD 17] call 5 getuid=0
[CHILD 17] call 6 getuid=0
[CHILD 17] call 7 getuid=0
[CHILD 17] call 8 getuid=0
[CHILD 17] call 9 getuid=0
[CHILD 18] call 0 getuid=0
[CHILD 18] call 1 getuid=0
[CHILD 18] call 2 getuid=0
[CHILD 18] call 3 getuid=0
[CHILD 18] call 4 getuid=0
[CHILD 18] call 5 getuid=0
[CHILD 18] call 6 getuid=0
[CHILD 18] call 7 getuid=0
[CHILD 18] call 8 getuid=0
[CHILD 18] call 9 getuid=0
[PARENT] reaped child 556 exit=0
[PARENT] reaped child 557 exit=256
[PARENT] reaped child 558 exit=512
[PARENT] reaped child 559 exit=768
[PARENT] reaped child 560 exit=1024
[PARENT] reaped child 561 exit=1280
[CHILD 19] call 0 getuid=0
[CHILD 19] call 1 getuid=0
[PARENT] reaped child 562 exit=1536
[CHILD 19] call 2 getuid=0
[CHILD 19] call 3 getuid=0
[PARENT] reaped child 563 exit=1792
[CHILD 19] call 4 getuid=0
[CHILD 19] call 5 getuid=0
[CHILD 19] call 6 getuid=0
[PARENT] reaped child 564 exit=2048
[CHILD 19] call 7 getuid=0
[CHILD 19] call 8 getuid=0
[CHILD 19] call 9 getuid=0
[PARENT] reaped child 565 exit=2304
[PARENT] reaped child 566 exit=2560
[PARENT] reaped child 567 exit=2816
[PARENT] reaped child 568 exit=3072
[PARENT] reaped child 569 exit=3328
[PARENT] reaped child 570 exit=3584
[PARENT] reaped child 571 exit=3840
[PARENT] reaped child 572 exit=4096
[PARENT] reaped child 573 exit=4352
[PARENT] reaped child 574 exit=4608
[PARENT] reaped child 575 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getuid test suite
[TEST 1] getuid in parent
[PARENT] getuid returned=0

[TEST 2] getuid in child
[CHILD] getuid returned=0
[PARENT] child exited, parent getuid=0

[TEST 3] getuid with multiple children
[CHILD 0] getuid=0
[CHILD 1] getuid=0
[CHILD 2] getuid=0
[CHILD 3] getuid=0
[PARENT] reaped child 3 with exit=10
[PARENT] reaped child 4 with exit=11
[PARENT] reaped child 5 with exit=12
[PARENT] reaped child 6 with exit=12

[TEST 4] Stress test with 20 children calling getuid
[CHILD 0] call 0 getuid=0
[CHILD 0] call 1 getuid=0
[CHILD 0] call 2 getuid=0
[CHILD 0] call 3 getuid=0
[CHILD 0] call 4 getuid=0
[CHILD 0] call 5 getuid=0
[CHILD 0] call 6 getuid=0
[CHILD 0] call 7 getuid=0
[CHILD 0] call 8 getuid=0
[CHILD 0] call 9 getuid=0
[CHILD 1] call 0 getuid=0
[CHILD 1] call 1 getuid=0
[CHILD 1] call 2 getuid=0
[CHILD 1] call 3 getuid=0
[CHILD 1] call 4 getuid=0
[CHILD 1] call 5 getuid=0
[CHILD 1] call 6 getuid=0
[CHILD 1] call 7 getuid=0
[CHILD 1] call 8 getuid=0
[CHILD 1] call 9 getuid=0
[CHILD 2] call 0 getuid=0
[CHILD 2] call 1 getuid=0
[CHILD 2] call 2 getuid=0
[CHILD 2] call 3 getuid=0
[CHILD 2] call 4 getuid=0
[CHILD 2] call 5 getuid=0
[CHILD 2] call 6 getuid=0
[CHILD 2] call 7 getuid=0
[CHILD 2] call 8 getuid=0
[CHILD 2] call 9 getuid=0
[CHILD 3] call 0 getuid=0
[CHILD 3] call 1 getuid=0
[CHILD 3] call 2 getuid=0
[CHILD 3] call 3 getuid=0
[CHILD 3] call 4 getuid=0
[CHILD 3] call 5 getuid=0
[CHILD 3] call 6 getuid=0
[CHILD 3] call 7 getuid=0
[CHILD 3] call 8 getuid=0
[CHILD 3] call 9 getuid=0
[CHILD 4] call 0 getuid=0
[CHILD 4] call 1 getuid=0
[CHILD 4] call 2 getuid=0
[CHILD 4] call 3 getuid=0
[CHILD 4] call 4 getuid=0
[CHILD 4] call 5 getuid=0
[CHILD 4] call 6 getuid=0
[CHILD 4] call 7 getuid=0
[CHILD 4] call 8 getuid=0
[CHILD 4] call 9 getuid=0
[CHILD 5] call 0 getuid=0
[CHILD 5] call 1 getuid=0
[CHILD 5] call 2 getuid=0
[CHILD 5] call 3 getuid=0
[CHILD 5] call 4 getuid=0
[CHILD 5] call 5 getuid=0
[CHILD 5] call 6 getuid=0
[CHILD 5] call 7 getuid=0
[CHILD 5] call 8 getuid=0
[CHILD 5] call 9 getuid=0
[CHILD 6] call 0 getuid=0
[CHILD 6] call 1 getuid=0
[CHILD 6] call 2 getuid=0
[CHILD 6] call 3 getuid=0
[CHILD 6] call 4 getuid=0
[CHILD 6] call 5 getuid=0
[CHILD 6] call 6 getuid=0
[CHILD 6] call 7 getuid=0
[CHILD 6] call 8 getuid=0
[CHILD 6] call 9 getuid=0
[CHILD 7] call 0 getuid=0
[CHILD 7] call 1 getuid=0
[CHILD 7] call 2 getuid=0
[CHILD 7] call 3 getuid=0
[CHILD 7] call 4 getuid=0
[CHILD 7] call 5 getuid=0
[CHILD 7] call 6 getuid=0
[CHILD 7] call 7 getuid=0
[CHILD 7] call 8 getuid=0
[CHILD 7] call 9 getuid=0
[CHILD 8] call 0 getuid=0
[CHILD 8] call 1 getuid=0
[CHILD 8] call 2 getuid=0
[CHILD 8] call 3 getuid=0
[CHILD 8] call 4 getuid=0
[CHILD 8] call 5 getuid=0
[CHILD 8] call 6 getuid=0
[CHILD 8] call 7 getuid=0
[CHILD 8] call 8 getuid=0
[CHILD 8] call 9 getuid=0
[CHILD 9] call 0 getuid=0
[CHILD 9] call 1 getuid=0
[CHILD 9] call 2 getuid=0
[CHILD 9] call 3 getuid=0
[CHILD 9] call 4 getuid=0
[CHILD 9] call 5 getuid=0
[CHILD 9] call 6 getuid=0
[CHILD 9] call 7 getuid=0
[CHILD 9] call 8 getuid=0
[CHILD 9] call 9 getuid=0
[CHILD 10] call 0 getuid=0
[CHILD 10] call 1 getuid=0
[CHILD 10] call 2 getuid=0
[CHILD 10] call 3 getuid=0
[CHILD 10] call 4 getuid=0
[CHILD 10] call 5 getuid=0
[CHILD 10] call 6 getuid=0
[CHILD 10] call 7 getuid=0
[CHILD 10] call 8 getuid=0
[CHILD 10] call 9 getuid=0
[CHILD 11] call 0 getuid=0
[CHILD 11] call 1 getuid=0
[CHILD 11] call 2 getuid=0
[CHILD 11] call 3 getuid=0
[CHILD 11] call 4 getuid=0
[CHILD 11] call 5 getuid=0
[CHILD 11] call 6 getuid=0
[CHILD 11] call 7 getuid=0
[CHILD 11] call 8 getuid=0
[CHILD 11] call 9 getuid=0
[CHILD 12] call 0 getuid=0
[CHILD 12] call 1 getuid=0
[CHILD 12] call 2 getuid=0
[CHILD 12] call 3 getuid=0
[CHILD 12] call 4 getuid=0
[CHILD 12] call 5 getuid=0
[CHILD 12] call 6 getuid=0
[CHILD 12] call 7 getuid=0
[CHILD 12] call 8 getuid=0
[CHILD 12] call 9 getuid=0
[CHILD 13] call 0 getuid=0
[CHILD 13] call 1 getuid=0
[CHILD 13] call 2 getuid=0
[CHILD 13] call 3 getuid=0
[CHILD 13] call 4 getuid=0
[CHILD 13] call 5 getuid=0
[CHILD 13] call 6 getuid=0
[CHILD 13] call 7 getuid=0
[CHILD 13] call 8 getuid=0
[CHILD 13] call 9 getuid=0
[CHILD 14] call 0 getuid=0
[CHILD 14] call 1 getuid=0
[CHILD 14] call 2 getuid=0
[CHILD 14] call 3 getuid=0
[CHILD 14] call 4 getuid=0
[CHILD 14] call 5 getuid=0
[CHILD 14] call 6 getuid=0
[CHILD 14] call 7 getuid=0
[CHILD 14] call 8 getuid=0
[CHILD 14] call 9 getuid=0
[CHILD 15] call 0 getuid=0
[CHILD 15] call 1 getuid=0
[CHILD 15] call 2 getuid=0
[CHILD 15] call 3 getuid=0
[CHILD 15] call 4 getuid=0
[CHILD 15] call 5 getuid=0
[CHILD 15] call 6 getuid=0
[CHILD 15] call 7 getuid=0
[CHILD 15] call 8 getuid=0
[CHILD 15] call 9 getuid=0
[CHILD 16] call 0 getuid=0
[CHILD 16] call 1 getuid=0
[CHILD 16] call 2 getuid=0
[CHILD 16] call 3 getuid=0
[CHILD 16] call 4 getuid=0
[CHILD 16] call 5 getuid=0
[CHILD 16] call 6 getuid=0
[CHILD 16] call 7 getuid=0
[CHILD 16] call 8 getuid=0
[CHILD 16] call 9 getuid=0
[CHILD 17] call 0 getuid=0
[CHILD 17] call 1 getuid=0
[CHILD 17] call 2 getuid=0
[CHILD 17] call 3 getuid=0
[CHILD 17] call 4 getuid=0
[CHILD 17] call 5 getuid=0
[CHILD 17] call 6 getuid=0
[CHILD 17] call 7 getuid=0
[CHILD 17] call 8 getuid=0
[CHILD 17] call 9 getuid=0
[CHILD 18] call 0 getuid=0
[CHILD 18] call 1 getuid=0
[CHILD 18] call 2 getuid=0
[CHILD 18] call 3 getuid=0
[CHILD 18] call 4 getuid=0
[CHILD 18] call 5 getuid=0
[CHILD 18] call 6 getuid=0
[CHILD 18] call 7 getuid=0
[CHILD 18] call 8 getuid=0
[CHILD 18] call 9 getuid=0
[CHILD 19] call 0 getuid=0
[PARENT] reaped child 7 exit=0
[CHILD 19] call 1 getuid=0
[PARENT] reaped child 8 exit=1
[PARENT] reaped child 9 exit=2
[CHILD 19] call 2 getuid=0
[PARENT] reaped child 10 exit=3
[CHILD 19] call 3 getuid=0
[PARENT] reaped child 11 exit=4
[PARENT] reaped child 12 exit=5
[CHILD 19] call 4 getuid=0
[PARENT] reaped child 13 exit=6
[PARENT] reaped child 14 exit=7
[CHILD 19] call 5 getuid=0
[PARENT] reaped child 15 exit=8
[CHILD 19] call 6 getuid=0
[PARENT] reaped child 16 exit=9
[PARENT] reaped child 17 exit=10
[CHILD 19] call 7 getuid=0
[PARENT] reaped child 18 exit=11
[PARENT] reaped child 19 exit=12
[CHILD 19] call 8 getuid=0
[PARENT] reaped child 20 exit=13
[PARENT] reaped child 21 exit=14
[CHILD 19] call 9 getuid=0
[PARENT] reaped child 22 exit=15
[PARENT] reaped child 23 exit=16
[PARENT] reaped child 24 exit=17
[PARENT] reaped child 25 exit=18
[PARENT] reaped child 26 exit=18

[ALL TESTS COMPLETED]

hello-arg.cSuccessNone
Success
hello.cSuccessNone
Success
longjmp.cSuccessNone
Success
mutex.cSuccessNone
Success
noforkfiles.cSuccessNone
Success
sem_forks.cSuccessNone
Success
setsid.cSuccessNone
Success
thread-test.cSuccessNone
Success
thread.cSuccessNone
Success
wait.cSuccessNone
Success
waitpid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] waitpid test suite
[TEST 1] Basic waitpid
[PARENT] waitpid returned=363 exit=2560

[TEST 2] waitpid specific child
[PARENT] waited child=365 exit=7680

[TEST 3] WNOHANG on running child
[PARENT] waitpid WNOHANG result=0 (0 means child not exited)
[PARENT] Child later reaped exit=1280

[TEST 4] WNOHANG after child exited
[PARENT] waitpid WNOHANG returned=367 exit=7680

[TEST 5] waitpid with no children
[PARENT] waitpid returned=-1 errno=10 (No child processes)

[TEST 6] Zombie order (multiple children)
[PARENT] reaped pid=368 exit=25600
[PARENT] reaped pid=369 exit=25856
[PARENT] reaped pid=370 exit=26112

[TEST 7] waitpid with status=NULL
[PARENT] waitpid returned=371 (status=NULL)

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] waitpid test suite
[TEST 1] Basic waitpid
[PARENT] waitpid returned=-1 exit=0

[TEST 2] waitpid specific child
[PARENT] waited child=4 exit=30

[TEST 3] WNOHANG on running child
[PARENT] waitpid WNOHANG result=5 (0 means child not exited)
[PARENT] Child later reaped exit=5

[TEST 4] WNOHANG after child exited
[PARENT] waitpid WNOHANG returned=6 exit=30

[TEST 5] waitpid with no children
[PARENT] waitpid returned=-1 errno=10 (No child processes)

[TEST 6] Zombie order (multiple children)
[PARENT] reaped pid=7 exit=100
[PARENT] reaped pid=8 exit=101
[PARENT] reaped pid=9 exit=102

[TEST 7] waitpid with status=NULL
[PARENT] waitpid returned=-1 (status=NULL)

[ALL TESTS COMPLETED]

waitpid_wnohang.cSuccessNone
Success
Signal Tests
alarm.cSuccessNone
Success
setitimer.cSuccessNone
Success
sigalrm.cSuccessNone
Success
sigchld.cSuccessNone
Success
signal-fork.cSuccessNone
Success
signal-simple.cSuccessNone
Success
sigprocmask.cSuccessNone
Success
Non Deterministic Tests

Summary

MetricCount
Total Test Cases41
Number of Successes41
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

Test Results by Category

Test CaseStatusError TypeOutput
File Tests
chdir_getcwd.cSuccessNone
Success
clock_gettime_highlevel.cSuccessNone
Success
clock_gettime_simple.cSuccessNone
Success
dup.cSuccessNone
Success
fchdir.cSuccessNone
Success
fstatfs.cSuccessNone
Success
getcwd.cSuccessNone
Success
read.cSuccessNone
Success
statfs.cSuccessNone
Success
Memory Tests
malloc_large.cSuccessNone
Success
mmap_complicated.cSuccessNone
Success
mmap_shared.cSuccessNone
Success
segfault.cSuccessNone
Success
shm.cSuccessNone
Success
vtable.cSuccessNone
Success
Networking Tests
dnstest.cSuccessNone
Success
getifaddrs.cSuccessNone
Success
pipe.cSuccessNone
Success
pipe2.cSuccessNone
Success
pipeinput.cSuccessNone
Success
pipeinput2.cSuccessNone
Success
pipeonestring.cSuccessNone
Success
pipewrite.cSuccessNone
Success
shutdown_fork.cSuccessNone
Success
simple-select.cSuccessNone
Success
socketepoll.cSuccessNone
Success
Process Tests
fork2malloc.cSuccessNone
Success
fork_simple.cSuccessNone
Success
forkandopen.cSuccessNone
Success
forkfiles.cSuccessNone
Success
forkmalloc.cSuccessNone
Success
forknodup.cSuccessNone
Success
getpid.cSuccessNone
Success
Signal Tests
signal.cSuccessNone
Success
signal_SIGCHLD.cSuccessNone
Success
signal_fork.cSuccessNone
Success
signal_int_thread.cSuccessNone
Success
signal_longjmp.cSuccessNone
Success
signal_nodefer.cSuccessNone
Success
signal_procmask.cSuccessNone
Success
signal_sa_mask.cSuccessNone
Success

@Bhanuu01 Bhanuu01 marked this pull request as draft November 26, 2025 21:30
@Bhanuu01 Bhanuu01 marked this pull request as ready for review December 8, 2025 19:14
@github-actions
Copy link
Contributor

github-actions bot commented Dec 8, 2025

End-to-End Test Report

Test Preview

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases90
Number of Successes81
Number of Failures9
Number of Compilation Failure Native1
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 mismatch8
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 TypeOutput
File Tests
chmod.cSuccessNone
Success
close.cSuccessNone
Success
doubleclose.cSuccessNone
Success
dupwrite.cSuccessNone
Success
fchmod.cSuccessNone
Success
fcntl.cSuccessNone
Success
fdatasync.cSuccessNone
Success
filetest.cSuccessNone
Success
filetest1000.cSuccessNone
Success
fstat.cSuccessNone
Success
fsync.cSuccessNone
Success
ftruncate.cSuccessNone
Success
ioctl.cSuccessNone
Success
link.cSuccessNone
Success
lseek.cSuccessNone
Success
mkdir_rmdir.cSuccessNone
Success
open.cSuccessNone
Success
pread_pwrite.cSuccessNone
Success
printf.cSuccessNone
Success
readbytes.cSuccessNone
Success
readlink.cSuccessNone
Success
rename.cSuccessNone
Success
stat.cSuccessNone
Success
sync_file_range.cSuccessNone
Success
truncate.cSuccessNone
Success
unlink.cSuccessNone
Success
unlinkat.cSuccessNone
Success
write.cSuccessNone
Success
writeloop.cSuccessNone
Success
writepartial.cSuccessNone
Success
writev.cSuccessNone
Success
Memory Tests
brk.cSuccessNone
Success
malloc.cSuccessNone
Success
memcpy.cSuccessNone
Success
memory_error_test.cSuccessNone
Success
mmap.cSuccessNone
Success
mmap_aligned.cSuccessNone
Success
mmap_file.cSuccessNone
Success
mprotect.cSuccessNone
Success
mprotect_boundary.cSuccessNone
Success
mprotect_end_region.cSuccessNone
Success
mprotect_middle_region.cSuccessNone
Success
mprotect_multiple_times.cSuccessNone
Success
mprotect_same_value.cSuccessNone
Success
mprotect_spanning_regions.cSuccessNone
Success
sbrk.cSuccessNone
Success
shmtest.cSuccessNone
Success
Networking Tests
gethostname.cSuccessNone
Success
makepipe.cSuccessNone
Success
pipepong.cSuccessNone
Success
poll.cSuccessNone
Success
recvfrom-sendto.cSuccessNone
Success
simple_epoll.cSuccessNone
Success
socket.cSuccessNone
Success
socket_cloexec.cSuccessNone
Success
socketpair.cSuccessNone
Success
tcp_connect_single.cSuccessNone
Success
Process Tests
chain_thread.cSuccessNone
Success
exec_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] exec test suite
[TEST 1] Basic exec
exec_ok
[PARENT] Child exited=0

[TEST 2] Memory reset
mem_reset
[PARENT] x=10

[TEST 3] FD_CLOEXEC
[CHILD] read=16 errno=0 (should not read)
cloexec

[TEST 4] FD inherit
hello

[TEST 5] PID preserved
[CHILD-before] pid=955
[CHILD-after] pid=955

[TEST 6] Signal reset
signal_alive

[TEST 7] Args & env
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=grpc
SHLVL=1
HOME=/root
LLVM=llvmorg-18.1.8
MAKEFLAGS=
OTEL_TRACE_PARENT=00-3a4c9c849773794ab352afddfec53014-683ef59f4a31efe7-01
_=/usr/bin/make
LIND_ROOT=src/tmp
PATH=/root/.cargo/bin:/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAKELEVEL=1
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=unix:///dev/otel-grpc.sock
TRACEPARENT=00-3a4c9c849773794ab352afddfec53014-683ef59f4a31efe7-01
CLANG=clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04
PWD=/
LIND_WASM_BASE=.
MFLAGS=
OTEL_TRACES_EXPORTER=otlp
LC_CTYPE=C.UTF-8
_STDBUF_O=L
LD_PRELOAD=/usr/libexec/coreutils/libstdbuf.so

[TEST 8] CWD persist
/tmp

[TEST 9] Exec failure
[CHILD] exec expectedly failed errno=2

[TEST 10] Stress exec
stress
stress
stress
stress
stress

[DONE]

=== WASM Output ===
[RUNNING] exec test suite
[TEST 1] Basic exec
[CHILD] exec failed errno=2
[PARENT] Child exited=0

[TEST 2] Memory reset
[CHILD] exec failed errno=2
[PARENT] x=10

[TEST 3] FD_CLOEXEC
[CHILD] read=-1 errno=22 (should not read)

[TEST 4] FD inherit
[CHILD] exec failed errno=2

[TEST 5] PID preserved
[CHILD-before] pid=6

[TEST 6] Signal reset

[TEST 7] Args & env
[CHILD] exec failed errno=2

[TEST 8] CWD persist

[TEST 9] Exec failure
[CHILD] exec expectedly failed errno=2

[TEST 10] Stress exec

[DONE]

exit.cSuccessNone
Success
fork_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] Extended fork-only test suite
[TEST 1] Basic fork
[PARENT] PID=1066 CHILD=1067
[CHILD] PID=1067 PPID=1066
[PARENT] Child finished

[TEST 2] Memory isolation
[CHILD] x(before)=10
[CHILD] x(after)=999
[PARENT] x=10 (should remain 10)

[TEST 3] UID/GID inheritance
[PARENT] UID=0 GID=0 EUID=0 EGID=0
[CHILD] UID=0 GID=0

[TEST 4] waitpid WNOHANG
[PARENT] WNOHANG result=0 (0 means child not exited)
[PARENT] Child later exited normally

[TEST 5] Zombie behavior
[CHILD] Exiting to become zombie
[PARENT] waitpid result=1071 (cleaned zombie)

[TEST 6] Orphan adoption
[PARENT] Exiting early to orphan child

[TEST 7] Multiple children
[CHILD 0] PID=1074
[CHILD 1] PID=1075
[PARENT] A child exited
[CHILD 2] PID=1076
[PARENT] A child exited
[PARENT] A child exited

[TEST 8] Pipe + fork communication
[PARENT] write returned 17
[CHILD] read returned 17 errno=10
[CHILD] message='hello_from_parent'

[TEST 9] Stress: create 10 sequential children
[OK] All 10 children forked and reaped successfully

[TEST 10] Stress: fork chain depth 10

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=9

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=8

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=7

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=6

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=5

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=4

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=3

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=2

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=1

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=0

[ALL TESTS COMPLETED]
[CHILD] After parent exit PPID=1

=== WASM Output ===
[RUNNING] Extended fork-only test suite
[TEST 1] Basic fork
[PARENT] PID=1 CHILD=2
[CHILD] PID=2 PPID=1
[PARENT] Child finished

[TEST 2] Memory isolation
[CHILD] x(before)=10
[CHILD] x(after)=999
[PARENT] x=10 (should remain 10)

[TEST 3] UID/GID inheritance
[PARENT] UID=0 GID=0 EUID=0 EGID=0
[CHILD] UID=0 GID=0

[TEST 4] waitpid WNOHANG
[PARENT] WNOHANG result=5 (0 means child not exited)
[PARENT] Child later exited normally

[TEST 5] Zombie behavior
[CHILD] Exiting to become zombie
[PARENT] waitpid result=6 (cleaned zombie)

[TEST 6] Orphan adoption
[PARENT] Exiting early to orphan child

[TEST 7] Multiple children
[CHILD 0] PID=9
[CHILD 1] PID=10
[PARENT] A child exited
[PARENT] A child exited
[CHILD 2] PID=11
[PARENT] A child exited
[PARENT] A child exited
[PARENT] A child exited
[PARENT] A child exited

[TEST 8] Pipe + fork communication
[PARENT] write returned 17
[CHILD] read returned 17 errno=0
[CHILD] message='hello_from_parent'

[TEST 9] Stress: create 10 sequential children
[OK] All 10 children forked and reaped successfully

[TEST 10] Stress: fork chain depth 10

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=9

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=8

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=7

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=6

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=5

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=4

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=3

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=2

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=1

[ALL TESTS COMPLETED]
[OK] Fork chain completed. Final depth=0

[ALL TESTS COMPLETED]
[CHILD] After parent exit PPID=7

forkexecv-arg.cSuccessNone
Success
forkexecv.cSuccessNone
Success
function-ptr.cSuccessNone
Success
getegid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getegid test suite
[TEST 1] getegid in parent
[PARENT] getegid returned=0

[TEST 2] getegid in child
[CHILD] getegid returned=0
[PARENT] child exited, parent getegid=0

[TEST 3] getegid with multiple children
[CHILD 0] getegid=0
[CHILD 1] getegid=0
[CHILD 2] getegid=0
[PARENT] reaped child 730 exit=0
[PARENT] reaped child 731 exit=256
[PARENT] reaped child 732 exit=512
[CHILD 3] getegid=0
[PARENT] reaped child 733 exit=768

[TEST 4] Stress test with 20 children calling getegid
[CHILD 0] call 0 getegid=0
[CHILD 0] call 1 getegid=0
[CHILD 0] call 2 getegid=0
[CHILD 0] call 3 getegid=0
[CHILD 0] call 4 getegid=0
[CHILD 0] call 5 getegid=0
[CHILD 0] call 6 getegid=0
[CHILD 0] call 7 getegid=0
[CHILD 0] call 8 getegid=0
[CHILD 0] call 9 getegid=0
[CHILD 1] call 0 getegid=0
[CHILD 1] call 1 getegid=0
[CHILD 1] call 2 getegid=0
[CHILD 1] call 3 getegid=0
[CHILD 1] call 4 getegid=0
[CHILD 1] call 5 getegid=0
[CHILD 1] call 6 getegid=0
[CHILD 1] call 7 getegid=0
[CHILD 1] call 8 getegid=0
[CHILD 1] call 9 getegid=0
[CHILD 2] call 0 getegid=0
[CHILD 2] call 1 getegid=0
[CHILD 2] call 2 getegid=0
[CHILD 2] call 3 getegid=0
[CHILD 2] call 4 getegid=0
[CHILD 2] call 5 getegid=0
[CHILD 2] call 6 getegid=0
[CHILD 2] call 7 getegid=0
[CHILD 2] call 8 getegid=0
[CHILD 2] call 9 getegid=0
[CHILD 3] call 0 getegid=0
[CHILD 3] call 1 getegid=0
[CHILD 3] call 2 getegid=0
[CHILD 3] call 3 getegid=0
[CHILD 3] call 4 getegid=0
[CHILD 3] call 5 getegid=0
[CHILD 3] call 6 getegid=0
[CHILD 3] call 7 getegid=0
[CHILD 3] call 8 getegid=0
[CHILD 3] call 9 getegid=0
[CHILD 4] call 0 getegid=0
[CHILD 4] call 1 getegid=0
[CHILD 4] call 2 getegid=0
[CHILD 4] call 3 getegid=0
[CHILD 4] call 4 getegid=0
[CHILD 4] call 5 getegid=0
[CHILD 4] call 6 getegid=0
[CHILD 4] call 7 getegid=0
[CHILD 4] call 8 getegid=0
[CHILD 4] call 9 getegid=0
[CHILD 5] call 0 getegid=0
[CHILD 5] call 1 getegid=0
[CHILD 5] call 2 getegid=0
[CHILD 5] call 3 getegid=0
[CHILD 5] call 4 getegid=0
[CHILD 5] call 5 getegid=0
[CHILD 5] call 6 getegid=0
[CHILD 5] call 7 getegid=0
[CHILD 5] call 8 getegid=0
[CHILD 5] call 9 getegid=0
[CHILD 6] call 0 getegid=0
[CHILD 6] call 1 getegid=0
[CHILD 6] call 2 getegid=0
[CHILD 6] call 3 getegid=0
[CHILD 6] call 4 getegid=0
[CHILD 6] call 5 getegid=0
[CHILD 6] call 6 getegid=0
[CHILD 6] call 7 getegid=0
[CHILD 6] call 8 getegid=0
[CHILD 6] call 9 getegid=0
[CHILD 7] call 0 getegid=0
[CHILD 7] call 1 getegid=0
[CHILD 7] call 2 getegid=0
[CHILD 7] call 3 getegid=0
[CHILD 7] call 4 getegid=0
[CHILD 7] call 5 getegid=0
[CHILD 7] call 6 getegid=0
[CHILD 7] call 7 getegid=0
[CHILD 7] call 8 getegid=0
[CHILD 7] call 9 getegid=0
[CHILD 8] call 0 getegid=0
[CHILD 8] call 1 getegid=0
[CHILD 8] call 2 getegid=0
[CHILD 8] call 3 getegid=0
[CHILD 8] call 4 getegid=0
[CHILD 8] call 5 getegid=0
[CHILD 8] call 6 getegid=0
[CHILD 8] call 7 getegid=0
[CHILD 8] call 8 getegid=0
[CHILD 8] call 9 getegid=0
[CHILD 9] call 0 getegid=0
[CHILD 9] call 1 getegid=0
[CHILD 9] call 2 getegid=0
[CHILD 9] call 3 getegid=0
[CHILD 9] call 4 getegid=0
[CHILD 9] call 5 getegid=0
[CHILD 9] call 6 getegid=0
[CHILD 9] call 7 getegid=0
[CHILD 9] call 8 getegid=0
[CHILD 9] call 9 getegid=0
[CHILD 10] call 0 getegid=0
[CHILD 10] call 1 getegid=0
[CHILD 10] call 2 getegid=0
[CHILD 10] call 3 getegid=0
[CHILD 10] call 4 getegid=0
[CHILD 10] call 5 getegid=0
[CHILD 10] call 6 getegid=0
[CHILD 10] call 7 getegid=0
[CHILD 10] call 8 getegid=0
[CHILD 10] call 9 getegid=0
[CHILD 11] call 0 getegid=0
[CHILD 11] call 1 getegid=0
[CHILD 11] call 2 getegid=0
[CHILD 11] call 3 getegid=0
[CHILD 11] call 4 getegid=0
[CHILD 11] call 5 getegid=0
[CHILD 11] call 6 getegid=0
[CHILD 11] call 7 getegid=0
[CHILD 11] call 8 getegid=0
[CHILD 11] call 9 getegid=0
[CHILD 12] call 0 getegid=0
[CHILD 12] call 1 getegid=0
[CHILD 12] call 2 getegid=0
[CHILD 12] call 3 getegid=0
[CHILD 12] call 4 getegid=0
[CHILD 12] call 5 getegid=0
[CHILD 12] call 6 getegid=0
[CHILD 12] call 7 getegid=0
[CHILD 12] call 8 getegid=0
[CHILD 12] call 9 getegid=0
[CHILD 13] call 0 getegid=0
[CHILD 13] call 1 getegid=0
[CHILD 13] call 2 getegid=0
[CHILD 13] call 3 getegid=0
[CHILD 13] call 4 getegid=0
[CHILD 13] call 5 getegid=0
[CHILD 13] call 6 getegid=0
[CHILD 13] call 7 getegid=0
[CHILD 13] call 8 getegid=0
[CHILD 13] call 9 getegid=0
[CHILD 14] call 0 getegid=0
[CHILD 14] call 1 getegid=0
[CHILD 14] call 2 getegid=0
[CHILD 14] call 3 getegid=0
[CHILD 14] call 4 getegid=0
[CHILD 14] call 5 getegid=0
[CHILD 14] call 6 getegid=0
[CHILD 14] call 7 getegid=0
[CHILD 14] call 8 getegid=0
[CHILD 14] call 9 getegid=0
[CHILD 15] call 0 getegid=0
[CHILD 15] call 1 getegid=0
[CHILD 15] call 2 getegid=0
[CHILD 15] call 3 getegid=0
[CHILD 15] call 4 getegid=0
[CHILD 15] call 5 getegid=0
[CHILD 15] call 6 getegid=0
[CHILD 15] call 7 getegid=0
[CHILD 15] call 8 getegid=0
[CHILD 15] call 9 getegid=0
[CHILD 16] call 0 getegid=0
[CHILD 16] call 1 getegid=0
[CHILD 16] call 2 getegid=0
[CHILD 16] call 3 getegid=0
[CHILD 16] call 4 getegid=0
[CHILD 16] call 5 getegid=0
[CHILD 16] call 6 getegid=0
[CHILD 16] call 7 getegid=0
[CHILD 16] call 8 getegid=0
[CHILD 16] call 9 getegid=0
[CHILD 17] call 0 getegid=0
[CHILD 17] call 1 getegid=0
[CHILD 17] call 2 getegid=0
[CHILD 17] call 3 getegid=0
[CHILD 17] call 4 getegid=0
[CHILD 17] call 5 getegid=0
[CHILD 17] call 6 getegid=0
[CHILD 17] call 7 getegid=0
[CHILD 17] call 8 getegid=0
[CHILD 17] call 9 getegid=0
[CHILD 18] call 0 getegid=0
[CHILD 18] call 1 getegid=0
[CHILD 18] call 2 getegid=0
[CHILD 18] call 3 getegid=0
[CHILD 18] call 4 getegid=0
[CHILD 18] call 5 getegid=0
[CHILD 18] call 6 getegid=0
[CHILD 18] call 7 getegid=0
[CHILD 18] call 8 getegid=0
[CHILD 18] call 9 getegid=0
[PARENT] reaped child 734 exit=0
[PARENT] reaped child 735 exit=256
[PARENT] reaped child 736 exit=512
[PARENT] reaped child 737 exit=768
[PARENT] reaped child 738 exit=1024
[PARENT] reaped child 739 exit=1280
[PARENT] reaped child 740 exit=1536
[CHILD 19] call 0 getegid=0
[CHILD 19] call 1 getegid=0
[CHILD 19] call 2 getegid=0
[CHILD 19] call 3 getegid=0
[PARENT] reaped child 741 exit=1792
[CHILD 19] call 4 getegid=0
[CHILD 19] call 5 getegid=0
[PARENT] reaped child 742 exit=2048
[CHILD 19] call 6 getegid=0
[CHILD 19] call 7 getegid=0
[CHILD 19] call 8 getegid=0
[PARENT] reaped child 743 exit=2304
[CHILD 19] call 9 getegid=0
[PARENT] reaped child 744 exit=2560
[PARENT] reaped child 745 exit=2816
[PARENT] reaped child 746 exit=3072
[PARENT] reaped child 747 exit=3328
[PARENT] reaped child 748 exit=3584
[PARENT] reaped child 749 exit=3840
[PARENT] reaped child 750 exit=4096
[PARENT] reaped child 751 exit=4352
[PARENT] reaped child 752 exit=4608
[PARENT] reaped child 753 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getegid test suite
[TEST 1] getegid in parent
[PARENT] getegid returned=0

[TEST 2] getegid in child
[CHILD] getegid returned=0
[PARENT] child exited, parent getegid=0

[TEST 3] getegid with multiple children
[CHILD 0] getegid=0
[CHILD 1] getegid=0
[CHILD 2] getegid=0
[CHILD 3] getegid=0
[PARENT] reaped child 3 exit=0
[PARENT] reaped child 4 exit=1
[PARENT] reaped child 5 exit=2
[PARENT] reaped child 6 exit=3

[TEST 4] Stress test with 20 children calling getegid
[CHILD 0] call 0 getegid=0
[CHILD 0] call 1 getegid=0
[CHILD 0] call 2 getegid=0
[CHILD 0] call 3 getegid=0
[CHILD 0] call 4 getegid=0
[CHILD 0] call 5 getegid=0
[CHILD 0] call 6 getegid=0
[CHILD 0] call 7 getegid=0
[CHILD 0] call 8 getegid=0
[CHILD 0] call 9 getegid=0
[CHILD 1] call 0 getegid=0
[CHILD 1] call 1 getegid=0
[CHILD 1] call 2 getegid=0
[CHILD 1] call 3 getegid=0
[CHILD 1] call 4 getegid=0
[CHILD 1] call 5 getegid=0
[CHILD 1] call 6 getegid=0
[CHILD 1] call 7 getegid=0
[CHILD 1] call 8 getegid=0
[CHILD 1] call 9 getegid=0
[CHILD 2] call 0 getegid=0
[CHILD 2] call 1 getegid=0
[CHILD 2] call 2 getegid=0
[CHILD 2] call 3 getegid=0
[CHILD 2] call 4 getegid=0
[CHILD 2] call 5 getegid=0
[CHILD 2] call 6 getegid=0
[CHILD 2] call 7 getegid=0
[CHILD 2] call 8 getegid=0
[CHILD 2] call 9 getegid=0
[CHILD 3] call 0 getegid=0
[CHILD 3] call 1 getegid=0
[CHILD 3] call 2 getegid=0
[CHILD 3] call 3 getegid=0
[CHILD 3] call 4 getegid=0
[CHILD 3] call 5 getegid=0
[CHILD 3] call 6 getegid=0
[CHILD 3] call 7 getegid=0
[CHILD 3] call 8 getegid=0
[CHILD 3] call 9 getegid=0
[CHILD 4] call 0 getegid=0
[CHILD 4] call 1 getegid=0
[CHILD 4] call 2 getegid=0
[CHILD 4] call 3 getegid=0
[CHILD 4] call 4 getegid=0
[CHILD 4] call 5 getegid=0
[CHILD 4] call 6 getegid=0
[CHILD 4] call 7 getegid=0
[CHILD 4] call 8 getegid=0
[CHILD 4] call 9 getegid=0
[CHILD 5] call 0 getegid=0
[CHILD 5] call 1 getegid=0
[CHILD 5] call 2 getegid=0
[CHILD 5] call 3 getegid=0
[CHILD 5] call 4 getegid=0
[CHILD 5] call 5 getegid=0
[CHILD 5] call 6 getegid=0
[CHILD 5] call 7 getegid=0
[CHILD 5] call 8 getegid=0
[CHILD 5] call 9 getegid=0
[CHILD 6] call 0 getegid=0
[CHILD 6] call 1 getegid=0
[CHILD 6] call 2 getegid=0
[CHILD 6] call 3 getegid=0
[CHILD 6] call 4 getegid=0
[CHILD 6] call 5 getegid=0
[CHILD 6] call 6 getegid=0
[CHILD 6] call 7 getegid=0
[CHILD 6] call 8 getegid=0
[CHILD 6] call 9 getegid=0
[CHILD 7] call 0 getegid=0
[CHILD 7] call 1 getegid=0
[CHILD 7] call 2 getegid=0
[CHILD 7] call 3 getegid=0
[CHILD 7] call 4 getegid=0
[CHILD 7] call 5 getegid=0
[CHILD 7] call 6 getegid=0
[CHILD 7] call 7 getegid=0
[CHILD 7] call 8 getegid=0
[CHILD 7] call 9 getegid=0
[CHILD 8] call 0 getegid=0
[CHILD 8] call 1 getegid=0
[CHILD 8] call 2 getegid=0
[CHILD 8] call 3 getegid=0
[CHILD 8] call 4 getegid=0
[CHILD 8] call 5 getegid=0
[CHILD 8] call 6 getegid=0
[CHILD 8] call 7 getegid=0
[CHILD 8] call 8 getegid=0
[CHILD 8] call 9 getegid=0
[CHILD 9] call 0 getegid=0
[CHILD 9] call 1 getegid=0
[CHILD 9] call 2 getegid=0
[CHILD 9] call 3 getegid=0
[CHILD 9] call 4 getegid=0
[CHILD 9] call 5 getegid=0
[CHILD 9] call 6 getegid=0
[CHILD 9] call 7 getegid=0
[CHILD 9] call 8 getegid=0
[CHILD 9] call 9 getegid=0
[CHILD 10] call 0 getegid=0
[CHILD 10] call 1 getegid=0
[CHILD 10] call 2 getegid=0
[CHILD 10] call 3 getegid=0
[CHILD 10] call 4 getegid=0
[CHILD 10] call 5 getegid=0
[CHILD 10] call 6 getegid=0
[CHILD 10] call 7 getegid=0
[CHILD 10] call 8 getegid=0
[CHILD 10] call 9 getegid=0
[CHILD 11] call 0 getegid=0
[CHILD 11] call 1 getegid=0
[CHILD 11] call 2 getegid=0
[CHILD 11] call 3 getegid=0
[CHILD 11] call 4 getegid=0
[CHILD 11] call 5 getegid=0
[CHILD 11] call 6 getegid=0
[CHILD 11] call 7 getegid=0
[CHILD 11] call 8 getegid=0
[CHILD 11] call 9 getegid=0
[CHILD 12] call 0 getegid=0
[CHILD 12] call 1 getegid=0
[CHILD 12] call 2 getegid=0
[CHILD 12] call 3 getegid=0
[CHILD 12] call 4 getegid=0
[CHILD 12] call 5 getegid=0
[CHILD 12] call 6 getegid=0
[CHILD 12] call 7 getegid=0
[CHILD 12] call 8 getegid=0
[CHILD 12] call 9 getegid=0
[CHILD 13] call 0 getegid=0
[CHILD 13] call 1 getegid=0
[CHILD 13] call 2 getegid=0
[CHILD 13] call 3 getegid=0
[CHILD 13] call 4 getegid=0
[CHILD 13] call 5 getegid=0
[CHILD 13] call 6 getegid=0
[CHILD 13] call 7 getegid=0
[CHILD 13] call 8 getegid=0
[CHILD 13] call 9 getegid=0
[CHILD 14] call 0 getegid=0
[CHILD 14] call 1 getegid=0
[CHILD 14] call 2 getegid=0
[CHILD 14] call 3 getegid=0
[CHILD 14] call 4 getegid=0
[CHILD 14] call 5 getegid=0
[CHILD 14] call 6 getegid=0
[CHILD 14] call 7 getegid=0
[CHILD 14] call 8 getegid=0
[CHILD 14] call 9 getegid=0
[CHILD 15] call 0 getegid=0
[CHILD 15] call 1 getegid=0
[CHILD 15] call 2 getegid=0
[CHILD 15] call 3 getegid=0
[CHILD 15] call 4 getegid=0
[CHILD 15] call 5 getegid=0
[CHILD 15] call 6 getegid=0
[CHILD 15] call 7 getegid=0
[CHILD 15] call 8 getegid=0
[CHILD 15] call 9 getegid=0
[CHILD 16] call 0 getegid=0
[CHILD 16] call 1 getegid=0
[CHILD 16] call 2 getegid=0
[CHILD 16] call 3 getegid=0
[CHILD 16] call 4 getegid=0
[CHILD 16] call 5 getegid=0
[CHILD 16] call 6 getegid=0
[CHILD 16] call 7 getegid=0
[CHILD 16] call 8 getegid=0
[CHILD 16] call 9 getegid=0
[CHILD 17] call 0 getegid=0
[CHILD 17] call 1 getegid=0
[CHILD 17] call 2 getegid=0
[CHILD 17] call 3 getegid=0
[CHILD 17] call 4 getegid=0
[CHILD 17] call 5 getegid=0
[CHILD 17] call 6 getegid=0
[CHILD 17] call 7 getegid=0
[CHILD 17] call 8 getegid=0
[CHILD 17] call 9 getegid=0
[CHILD 18] call 0 getegid=0
[CHILD 18] call 1 getegid=0
[CHILD 18] call 2 getegid=0
[CHILD 18] call 3 getegid=0
[CHILD 18] call 4 getegid=0
[CHILD 18] call 5 getegid=0
[CHILD 18] call 6 getegid=0
[CHILD 18] call 7 getegid=0
[CHILD 18] call 8 getegid=0
[CHILD 18] call 9 getegid=0
[PARENT] reaped child 7 exit=0
[CHILD 19] call 0 getegid=0
[PARENT] reaped child 8 exit=1
[CHILD 19] call 1 getegid=0
[PARENT] reaped child 9 exit=2
[CHILD 19] call 2 getegid=0
[PARENT] reaped child 10 exit=3
[CHILD 19] call 3 getegid=0
[PARENT] reaped child 11 exit=4
[CHILD 19] call 4 getegid=0
[PARENT] reaped child 12 exit=5
[CHILD 19] call 5 getegid=0
[PARENT] reaped child 13 exit=6
[CHILD 19] call 6 getegid=0
[PARENT] reaped child 14 exit=7
[CHILD 19] call 7 getegid=0
[PARENT] reaped child 15 exit=8
[CHILD 19] call 8 getegid=0
[PARENT] reaped child 16 exit=9
[CHILD 19] call 9 getegid=0
[PARENT] reaped child 17 exit=10
[PARENT] reaped child 18 exit=11
[PARENT] reaped child 19 exit=12
[PARENT] reaped child 20 exit=13
[PARENT] reaped child 21 exit=14
[PARENT] reaped child 22 exit=15
[PARENT] reaped child 23 exit=16
[PARENT] reaped child 24 exit=17
[PARENT] reaped child 25 exit=18
[PARENT] reaped child 26 exit=19

[ALL TESTS COMPLETED]

getgid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getgid test suite
[TEST 1] getgid in parent
[PARENT] getgid returned=0

[TEST 2] getgid in child
[CHILD] getgid returned=0

[TEST 3] getgid with multiple children
[CHILD 0] getgid=0
[CHILD 1] getgid=0
[CHILD 2] getgid=0
[CHILD 3] getgid=0
[PARENT] reaped child 190 exit=0
[PARENT] reaped child 191 exit=256
[PARENT] reaped child 192 exit=512
[CHILD 4] getgid=0
[PARENT] reaped child 193 exit=768
[PARENT] reaped child 194 exit=1024

[TEST 4] stress test with 20 children calling getgid
[CHILD 0] call 0 getgid=0
[CHILD 0] call 1 getgid=0
[CHILD 0] call 2 getgid=0
[CHILD 0] call 3 getgid=0
[CHILD 0] call 4 getgid=0
[CHILD 0] call 5 getgid=0
[CHILD 0] call 6 getgid=0
[CHILD 0] call 7 getgid=0
[CHILD 0] call 8 getgid=0
[CHILD 0] call 9 getgid=0
[CHILD 1] call 0 getgid=0
[CHILD 1] call 1 getgid=0
[CHILD 1] call 2 getgid=0
[CHILD 1] call 3 getgid=0
[CHILD 1] call 4 getgid=0
[CHILD 1] call 5 getgid=0
[CHILD 1] call 6 getgid=0
[CHILD 1] call 7 getgid=0
[CHILD 1] call 8 getgid=0
[CHILD 1] call 9 getgid=0
[CHILD 2] call 0 getgid=0
[CHILD 2] call 1 getgid=0
[CHILD 2] call 2 getgid=0
[CHILD 2] call 3 getgid=0
[CHILD 2] call 4 getgid=0
[CHILD 2] call 5 getgid=0
[CHILD 2] call 6 getgid=0
[CHILD 2] call 7 getgid=0
[CHILD 2] call 8 getgid=0
[CHILD 2] call 9 getgid=0
[CHILD 3] call 0 getgid=0
[CHILD 3] call 1 getgid=0
[CHILD 3] call 2 getgid=0
[CHILD 3] call 3 getgid=0
[CHILD 3] call 4 getgid=0
[CHILD 3] call 5 getgid=0
[CHILD 3] call 6 getgid=0
[CHILD 3] call 7 getgid=0
[CHILD 3] call 8 getgid=0
[CHILD 3] call 9 getgid=0
[CHILD 4] call 0 getgid=0
[CHILD 4] call 1 getgid=0
[CHILD 4] call 2 getgid=0
[CHILD 4] call 3 getgid=0
[CHILD 4] call 4 getgid=0
[CHILD 4] call 5 getgid=0
[CHILD 4] call 6 getgid=0
[CHILD 4] call 7 getgid=0
[CHILD 4] call 8 getgid=0
[CHILD 4] call 9 getgid=0
[CHILD 5] call 0 getgid=0
[CHILD 5] call 1 getgid=0
[CHILD 5] call 2 getgid=0
[CHILD 5] call 3 getgid=0
[CHILD 5] call 4 getgid=0
[CHILD 5] call 5 getgid=0
[CHILD 5] call 6 getgid=0
[CHILD 5] call 7 getgid=0
[CHILD 5] call 8 getgid=0
[CHILD 5] call 9 getgid=0
[CHILD 6] call 0 getgid=0
[CHILD 6] call 1 getgid=0
[CHILD 6] call 2 getgid=0
[CHILD 6] call 3 getgid=0
[CHILD 6] call 4 getgid=0
[CHILD 6] call 5 getgid=0
[CHILD 6] call 6 getgid=0
[CHILD 6] call 7 getgid=0
[CHILD 6] call 8 getgid=0
[CHILD 6] call 9 getgid=0
[CHILD 7] call 0 getgid=0
[CHILD 7] call 1 getgid=0
[CHILD 7] call 2 getgid=0
[CHILD 7] call 3 getgid=0
[CHILD 7] call 4 getgid=0
[CHILD 7] call 5 getgid=0
[CHILD 7] call 6 getgid=0
[CHILD 7] call 7 getgid=0
[CHILD 7] call 8 getgid=0
[CHILD 7] call 9 getgid=0
[CHILD 8] call 0 getgid=0
[CHILD 8] call 1 getgid=0
[CHILD 8] call 2 getgid=0
[CHILD 8] call 3 getgid=0
[CHILD 8] call 4 getgid=0
[CHILD 8] call 5 getgid=0
[CHILD 8] call 6 getgid=0
[CHILD 8] call 7 getgid=0
[CHILD 8] call 8 getgid=0
[CHILD 8] call 9 getgid=0
[CHILD 9] call 0 getgid=0
[CHILD 9] call 1 getgid=0
[CHILD 9] call 2 getgid=0
[CHILD 9] call 3 getgid=0
[CHILD 9] call 4 getgid=0
[CHILD 9] call 5 getgid=0
[CHILD 9] call 6 getgid=0
[CHILD 9] call 7 getgid=0
[CHILD 9] call 8 getgid=0
[CHILD 9] call 9 getgid=0
[CHILD 10] call 0 getgid=0
[CHILD 10] call 1 getgid=0
[CHILD 10] call 2 getgid=0
[CHILD 10] call 3 getgid=0
[CHILD 10] call 4 getgid=0
[CHILD 10] call 5 getgid=0
[CHILD 10] call 6 getgid=0
[CHILD 10] call 7 getgid=0
[CHILD 10] call 8 getgid=0
[CHILD 10] call 9 getgid=0
[CHILD 11] call 0 getgid=0
[CHILD 11] call 1 getgid=0
[CHILD 11] call 2 getgid=0
[CHILD 11] call 3 getgid=0
[CHILD 11] call 4 getgid=0
[CHILD 11] call 5 getgid=0
[CHILD 11] call 6 getgid=0
[CHILD 11] call 7 getgid=0
[CHILD 11] call 8 getgid=0
[CHILD 11] call 9 getgid=0
[CHILD 12] call 0 getgid=0
[CHILD 12] call 1 getgid=0
[CHILD 12] call 2 getgid=0
[CHILD 12] call 3 getgid=0
[CHILD 12] call 4 getgid=0
[CHILD 12] call 5 getgid=0
[CHILD 12] call 6 getgid=0
[CHILD 12] call 7 getgid=0
[CHILD 12] call 8 getgid=0
[CHILD 12] call 9 getgid=0
[CHILD 13] call 0 getgid=0
[CHILD 13] call 1 getgid=0
[CHILD 13] call 2 getgid=0
[CHILD 13] call 3 getgid=0
[CHILD 13] call 4 getgid=0
[CHILD 13] call 5 getgid=0
[CHILD 13] call 6 getgid=0
[CHILD 13] call 7 getgid=0
[CHILD 13] call 8 getgid=0
[CHILD 13] call 9 getgid=0
[CHILD 14] call 0 getgid=0
[CHILD 14] call 1 getgid=0
[CHILD 14] call 2 getgid=0
[CHILD 14] call 3 getgid=0
[CHILD 14] call 4 getgid=0
[CHILD 14] call 5 getgid=0
[CHILD 14] call 6 getgid=0
[CHILD 14] call 7 getgid=0
[CHILD 14] call 8 getgid=0
[CHILD 14] call 9 getgid=0
[CHILD 15] call 0 getgid=0
[CHILD 15] call 1 getgid=0
[CHILD 15] call 2 getgid=0
[CHILD 15] call 3 getgid=0
[CHILD 15] call 4 getgid=0
[CHILD 15] call 5 getgid=0
[CHILD 15] call 6 getgid=0
[CHILD 15] call 7 getgid=0
[CHILD 15] call 8 getgid=0
[CHILD 15] call 9 getgid=0
[CHILD 16] call 0 getgid=0
[CHILD 16] call 1 getgid=0
[CHILD 16] call 2 getgid=0
[CHILD 16] call 3 getgid=0
[CHILD 16] call 4 getgid=0
[CHILD 16] call 5 getgid=0
[CHILD 16] call 6 getgid=0
[CHILD 16] call 7 getgid=0
[CHILD 16] call 8 getgid=0
[CHILD 16] call 9 getgid=0
[CHILD 17] call 0 getgid=0
[CHILD 17] call 1 getgid=0
[CHILD 17] call 2 getgid=0
[CHILD 17] call 3 getgid=0
[CHILD 17] call 4 getgid=0
[CHILD 17] call 5 getgid=0
[CHILD 17] call 6 getgid=0
[CHILD 17] call 7 getgid=0
[CHILD 17] call 8 getgid=0
[CHILD 17] call 9 getgid=0
[CHILD 18] call 0 getgid=0
[CHILD 18] call 1 getgid=0
[CHILD 18] call 2 getgid=0
[CHILD 18] call 3 getgid=0
[CHILD 18] call 4 getgid=0
[CHILD 18] call 5 getgid=0
[CHILD 18] call 6 getgid=0
[CHILD 18] call 7 getgid=0
[CHILD 18] call 8 getgid=0
[CHILD 18] call 9 getgid=0
[PARENT] reaped child 195 exit=0
[PARENT] reaped child 196 exit=256
[PARENT] reaped child 197 exit=512
[PARENT] reaped child 198 exit=768
[PARENT] reaped child 199 exit=1024
[PARENT] reaped child 200 exit=1280
[PARENT] reaped child 201 exit=1536
[CHILD 19] call 0 getgid=0
[PARENT] reaped child 202 exit=1792
[CHILD 19] call 1 getgid=0
[CHILD 19] call 2 getgid=0
[CHILD 19] call 3 getgid=0
[PARENT] reaped child 203 exit=2048
[CHILD 19] call 4 getgid=0
[CHILD 19] call 5 getgid=0
[PARENT] reaped child 204 exit=2304
[CHILD 19] call 6 getgid=0
[CHILD 19] call 7 getgid=0
[CHILD 19] call 8 getgid=0
[PARENT] reaped child 205 exit=2560
[CHILD 19] call 9 getgid=0
[PARENT] reaped child 206 exit=2816
[PARENT] reaped child 207 exit=3072
[PARENT] reaped child 208 exit=3328
[PARENT] reaped child 209 exit=3584
[PARENT] reaped child 210 exit=3840
[PARENT] reaped child 211 exit=4096
[PARENT] reaped child 212 exit=4352
[PARENT] reaped child 213 exit=4608
[PARENT] reaped child 214 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getgid test suite
[TEST 1] getgid in parent
[PARENT] getgid returned=0

[TEST 2] getgid in child
[CHILD] getgid returned=0

[TEST 3] getgid with multiple children
[CHILD 0] getgid=0
[CHILD 1] getgid=0
[CHILD 2] getgid=0
[CHILD 3] getgid=0
[CHILD 4] getgid=0
[PARENT] reaped child 3 exit=0
[PARENT] reaped child 4 exit=1
[PARENT] reaped child 5 exit=2
[PARENT] reaped child 6 exit=3
[PARENT] reaped child 7 exit=3

[TEST 4] stress test with 20 children calling getgid
[CHILD 0] call 0 getgid=0
[CHILD 0] call 1 getgid=0
[CHILD 0] call 2 getgid=0
[CHILD 0] call 3 getgid=0
[CHILD 0] call 4 getgid=0
[CHILD 0] call 5 getgid=0
[CHILD 0] call 6 getgid=0
[CHILD 0] call 7 getgid=0
[CHILD 0] call 8 getgid=0
[CHILD 0] call 9 getgid=0
[CHILD 1] call 0 getgid=0
[CHILD 1] call 1 getgid=0
[CHILD 1] call 2 getgid=0
[CHILD 1] call 3 getgid=0
[CHILD 1] call 4 getgid=0
[CHILD 1] call 5 getgid=0
[CHILD 1] call 6 getgid=0
[CHILD 1] call 7 getgid=0
[CHILD 1] call 8 getgid=0
[CHILD 1] call 9 getgid=0
[CHILD 2] call 0 getgid=0
[CHILD 2] call 1 getgid=0
[CHILD 2] call 2 getgid=0
[CHILD 2] call 3 getgid=0
[CHILD 2] call 4 getgid=0
[CHILD 2] call 5 getgid=0
[CHILD 2] call 6 getgid=0
[CHILD 2] call 7 getgid=0
[CHILD 2] call 8 getgid=0
[CHILD 2] call 9 getgid=0
[CHILD 3] call 0 getgid=0
[CHILD 3] call 1 getgid=0
[CHILD 3] call 2 getgid=0
[CHILD 3] call 3 getgid=0
[CHILD 3] call 4 getgid=0
[CHILD 3] call 5 getgid=0
[CHILD 3] call 6 getgid=0
[CHILD 3] call 7 getgid=0
[CHILD 3] call 8 getgid=0
[CHILD 3] call 9 getgid=0
[CHILD 4] call 0 getgid=0
[CHILD 4] call 1 getgid=0
[CHILD 4] call 2 getgid=0
[CHILD 4] call 3 getgid=0
[CHILD 4] call 4 getgid=0
[CHILD 4] call 5 getgid=0
[CHILD 4] call 6 getgid=0
[CHILD 4] call 7 getgid=0
[CHILD 4] call 8 getgid=0
[CHILD 4] call 9 getgid=0
[CHILD 5] call 0 getgid=0
[CHILD 5] call 1 getgid=0
[CHILD 5] call 2 getgid=0
[CHILD 5] call 3 getgid=0
[CHILD 5] call 4 getgid=0
[CHILD 5] call 5 getgid=0
[CHILD 5] call 6 getgid=0
[CHILD 5] call 7 getgid=0
[CHILD 5] call 8 getgid=0
[CHILD 5] call 9 getgid=0
[CHILD 6] call 0 getgid=0
[CHILD 6] call 1 getgid=0
[CHILD 6] call 2 getgid=0
[CHILD 6] call 3 getgid=0
[CHILD 6] call 4 getgid=0
[CHILD 6] call 5 getgid=0
[CHILD 6] call 6 getgid=0
[CHILD 6] call 7 getgid=0
[CHILD 6] call 8 getgid=0
[CHILD 6] call 9 getgid=0
[CHILD 7] call 0 getgid=0
[CHILD 7] call 1 getgid=0
[CHILD 7] call 2 getgid=0
[CHILD 7] call 3 getgid=0
[CHILD 7] call 4 getgid=0
[CHILD 7] call 5 getgid=0
[CHILD 7] call 6 getgid=0
[CHILD 7] call 7 getgid=0
[CHILD 7] call 8 getgid=0
[CHILD 7] call 9 getgid=0
[CHILD 8] call 0 getgid=0
[CHILD 8] call 1 getgid=0
[CHILD 8] call 2 getgid=0
[CHILD 8] call 3 getgid=0
[CHILD 8] call 4 getgid=0
[CHILD 8] call 5 getgid=0
[CHILD 8] call 6 getgid=0
[CHILD 8] call 7 getgid=0
[CHILD 8] call 8 getgid=0
[CHILD 8] call 9 getgid=0
[CHILD 9] call 0 getgid=0
[CHILD 9] call 1 getgid=0
[CHILD 9] call 2 getgid=0
[CHILD 9] call 3 getgid=0
[CHILD 9] call 4 getgid=0
[CHILD 9] call 5 getgid=0
[CHILD 9] call 6 getgid=0
[CHILD 9] call 7 getgid=0
[CHILD 9] call 8 getgid=0
[CHILD 9] call 9 getgid=0
[CHILD 10] call 0 getgid=0
[CHILD 10] call 1 getgid=0
[CHILD 10] call 2 getgid=0
[CHILD 10] call 3 getgid=0
[CHILD 10] call 4 getgid=0
[CHILD 10] call 5 getgid=0
[CHILD 10] call 6 getgid=0
[CHILD 10] call 7 getgid=0
[CHILD 10] call 8 getgid=0
[CHILD 10] call 9 getgid=0
[CHILD 11] call 0 getgid=0
[CHILD 11] call 1 getgid=0
[CHILD 11] call 2 getgid=0
[CHILD 11] call 3 getgid=0
[CHILD 11] call 4 getgid=0
[CHILD 11] call 5 getgid=0
[CHILD 11] call 6 getgid=0
[CHILD 11] call 7 getgid=0
[CHILD 11] call 8 getgid=0
[CHILD 11] call 9 getgid=0
[CHILD 12] call 0 getgid=0
[CHILD 12] call 1 getgid=0
[CHILD 12] call 2 getgid=0
[CHILD 12] call 3 getgid=0
[CHILD 12] call 4 getgid=0
[CHILD 12] call 5 getgid=0
[CHILD 12] call 6 getgid=0
[CHILD 12] call 7 getgid=0
[CHILD 12] call 8 getgid=0
[CHILD 12] call 9 getgid=0
[CHILD 13] call 0 getgid=0
[CHILD 13] call 1 getgid=0
[CHILD 13] call 2 getgid=0
[CHILD 13] call 3 getgid=0
[CHILD 13] call 4 getgid=0
[CHILD 13] call 5 getgid=0
[CHILD 13] call 6 getgid=0
[CHILD 13] call 7 getgid=0
[CHILD 13] call 8 getgid=0
[CHILD 13] call 9 getgid=0
[CHILD 14] call 0 getgid=0
[CHILD 14] call 1 getgid=0
[CHILD 14] call 2 getgid=0
[CHILD 14] call 3 getgid=0
[CHILD 14] call 4 getgid=0
[CHILD 14] call 5 getgid=0
[CHILD 14] call 6 getgid=0
[CHILD 14] call 7 getgid=0
[CHILD 14] call 8 getgid=0
[CHILD 14] call 9 getgid=0
[CHILD 15] call 0 getgid=0
[CHILD 15] call 1 getgid=0
[CHILD 15] call 2 getgid=0
[CHILD 15] call 3 getgid=0
[CHILD 15] call 4 getgid=0
[CHILD 15] call 5 getgid=0
[CHILD 15] call 6 getgid=0
[CHILD 15] call 7 getgid=0
[CHILD 15] call 8 getgid=0
[CHILD 15] call 9 getgid=0
[CHILD 16] call 0 getgid=0
[CHILD 16] call 1 getgid=0
[CHILD 16] call 2 getgid=0
[CHILD 16] call 3 getgid=0
[CHILD 16] call 4 getgid=0
[CHILD 16] call 5 getgid=0
[CHILD 16] call 6 getgid=0
[CHILD 16] call 7 getgid=0
[CHILD 16] call 8 getgid=0
[CHILD 16] call 9 getgid=0
[CHILD 17] call 0 getgid=0
[CHILD 17] call 1 getgid=0
[CHILD 17] call 2 getgid=0
[CHILD 17] call 3 getgid=0
[CHILD 17] call 4 getgid=0
[CHILD 17] call 5 getgid=0
[CHILD 17] call 6 getgid=0
[CHILD 17] call 7 getgid=0
[CHILD 17] call 8 getgid=0
[CHILD 17] call 9 getgid=0
[CHILD 18] call 0 getgid=0
[CHILD 18] call 1 getgid=0
[CHILD 18] call 2 getgid=0
[CHILD 18] call 3 getgid=0
[CHILD 18] call 4 getgid=0
[CHILD 18] call 5 getgid=0
[CHILD 18] call 6 getgid=0
[CHILD 18] call 7 getgid=0
[CHILD 18] call 8 getgid=0
[CHILD 18] call 9 getgid=0
[CHILD 19] call 0 getgid=0
[PARENT] reaped child 8 exit=0
[CHILD 19] call 1 getgid=0
[PARENT] reaped child 9 exit=1
[CHILD 19] call 2 getgid=0
[PARENT] reaped child 10 exit=2
[PARENT] reaped child 11 exit=3
[CHILD 19] call 3 getgid=0
[PARENT] reaped child 12 exit=4
[PARENT] reaped child 13 exit=5
[CHILD 19] call 4 getgid=0
[PARENT] reaped child 14 exit=6
[CHILD 19] call 5 getgid=0
[PARENT] reaped child 15 exit=7
[PARENT] reaped child 16 exit=8
[CHILD 19] call 6 getgid=0
[PARENT] reaped child 17 exit=9
[PARENT] reaped child 18 exit=10
[CHILD 19] call 7 getgid=0
[PARENT] reaped child 19 exit=11
[PARENT] reaped child 20 exit=12
[CHILD 19] call 8 getgid=0
[PARENT] reaped child 21 exit=13
[CHILD 19] call 9 getgid=0
[PARENT] reaped child 22 exit=14
[PARENT] reaped child 23 exit=15
[PARENT] reaped child 24 exit=16
[PARENT] reaped child 25 exit=17
[PARENT] reaped child 26 exit=18
[PARENT] reaped child 27 exit=18

[ALL TESTS COMPLETED]

getpid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getpid test suite
[TEST 1] getpid in parent
[PARENT] getpid returned=818

[TEST 2] getpid in child
[CHILD] getpid returned=819
[PARENT] child exited, parent pid=818

[TEST 3] getpid with multiple children
[CHILD 0] getpid=820
[CHILD 1] getpid=821
[PARENT] reaped child 820 with exit=2560
[CHILD 2] getpid=822
[PARENT] reaped child 821 with exit=2816
[PARENT] reaped child 822 with exit=3072

[TEST 4] nested forks
[CHILD] getpid=823
[GRANDCHILD] getpid=824

[TEST 5] stress test with 20 children
[CHILD 0] getpid=825
[CHILD 1] getpid=826
[CHILD 2] getpid=827
[CHILD 3] getpid=828
[CHILD 4] getpid=829
[CHILD 5] getpid=830
[CHILD 6] getpid=831
[CHILD 7] getpid=832
[CHILD 8] getpid=833
[CHILD 9] getpid=834
[CHILD 10] getpid=835
[CHILD 11] getpid=836
[CHILD 12] getpid=837
[CHILD 13] getpid=838
[CHILD 14] getpid=839
[CHILD 15] getpid=840
[CHILD 16] getpid=841
[CHILD 17] getpid=842
[CHILD 18] getpid=843
[PARENT] reaped child 825 exit=0
[PARENT] reaped child 826 exit=256
[PARENT] reaped child 827 exit=512
[PARENT] reaped child 828 exit=768
[PARENT] reaped child 829 exit=1024
[PARENT] reaped child 830 exit=1280
[PARENT] reaped child 831 exit=1536
[CHILD 19] getpid=844
[PARENT] reaped child 832 exit=1792
[PARENT] reaped child 833 exit=2048
[PARENT] reaped child 834 exit=2304
[PARENT] reaped child 835 exit=2560
[PARENT] reaped child 836 exit=2816
[PARENT] reaped child 837 exit=3072
[PARENT] reaped child 838 exit=3328
[PARENT] reaped child 839 exit=3584
[PARENT] reaped child 840 exit=3840
[PARENT] reaped child 841 exit=4096
[PARENT] reaped child 842 exit=4352
[PARENT] reaped child 843 exit=4608
[PARENT] reaped child 844 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getpid test suite
[TEST 1] getpid in parent
[PARENT] getpid returned=1

[TEST 2] getpid in child
[CHILD] getpid returned=2
[PARENT] child exited, parent pid=1

[TEST 3] getpid with multiple children
[CHILD 0] getpid=3
[CHILD 1] getpid=4
[CHILD 2] getpid=5
[PARENT] reaped child 3 with exit=10
[PARENT] reaped child 4 with exit=11
[PARENT] reaped child 5 with exit=11

[TEST 4] nested forks
[CHILD] getpid=6
[GRANDCHILD] getpid=7

[TEST 5] stress test with 20 children
[CHILD 0] getpid=8
[CHILD 1] getpid=9
[CHILD 2] getpid=10
[CHILD 3] getpid=11
[CHILD 4] getpid=12
[CHILD 5] getpid=13
[CHILD 6] getpid=14
[CHILD 7] getpid=15
[CHILD 8] getpid=16
[CHILD 9] getpid=17
[CHILD 10] getpid=18
[CHILD 11] getpid=19
[CHILD 12] getpid=20
[CHILD 13] getpid=21
[CHILD 14] getpid=22
[CHILD 15] getpid=23
[CHILD 16] getpid=24
[CHILD 17] getpid=25
[CHILD 18] getpid=26
[PARENT] reaped child 8 exit=0
[CHILD 19] getpid=27
[PARENT] reaped child 9 exit=1
[PARENT] reaped child 10 exit=2
[PARENT] reaped child 11 exit=3
[PARENT] reaped child 12 exit=4
[PARENT] reaped child 13 exit=5
[PARENT] reaped child 14 exit=6
[PARENT] reaped child 15 exit=7
[PARENT] reaped child 16 exit=8
[PARENT] reaped child 17 exit=9
[PARENT] reaped child 18 exit=10
[PARENT] reaped child 19 exit=11
[PARENT] reaped child 20 exit=12
[PARENT] reaped child 21 exit=13
[PARENT] reaped child 22 exit=14
[PARENT] reaped child 23 exit=15
[PARENT] reaped child 24 exit=16
[PARENT] reaped child 25 exit=17
[PARENT] reaped child 26 exit=18
[PARENT] reaped child 27 exit=19

[ALL TESTS COMPLETED]

getppid.cSuccessNone
Success
getppid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getppid test suite
[TEST 1] getppid in parent
[PARENT] getppid=12

[TEST 2] getppid in child
[CHILD] getppid=1168
[PARENT] child exited, parent pid=12

[TEST 3] getppid with multiple children
[CHILD 0] getppid=1168
[CHILD 1] getppid=1168
[CHILD 2] getppid=1168
[CHILD 3] getppid=1168
[PARENT] reaped child 1170 with exit=10
[PARENT] reaped child 1171 with exit=11
[PARENT] reaped child 1172 with exit=12
[CHILD 4] getppid=1168
[PARENT] reaped child 1173 with exit=13
[PARENT] reaped child 1174 with exit=14

[TEST 4] nested forks
[CHILD] getppid=1168
[GRANDCHILD] getppid=1175

[TEST 5] stress test with 20 children
[CHILD 0] getppid=1168
[CHILD 1] getppid=1168
[CHILD 2] getppid=1168
[CHILD 3] getppid=1168
[CHILD 4] getppid=1168
[CHILD 5] getppid=1168
[CHILD 6] getppid=1168
[CHILD 7] getppid=1168
[CHILD 8] getppid=1168
[CHILD 9] getppid=1168
[CHILD 10] getppid=1168
[CHILD 11] getppid=1168
[CHILD 12] getppid=1168
[CHILD 13] getppid=1168
[CHILD 14] getppid=1168
[CHILD 15] getppid=1168
[CHILD 16] getppid=1168
[CHILD 17] getppid=1168
[CHILD 18] getppid=1168
[PARENT] reaped child 1177 exit=0
[PARENT] reaped child 1178 exit=1
[PARENT] reaped child 1179 exit=2
[PARENT] reaped child 1180 exit=3
[PARENT] reaped child 1181 exit=4
[PARENT] reaped child 1182 exit=5
[CHILD 19] getppid=1168
[PARENT] reaped child 1183 exit=6
[PARENT] reaped child 1184 exit=7
[PARENT] reaped child 1185 exit=8
[PARENT] reaped child 1186 exit=9
[PARENT] reaped child 1187 exit=10
[PARENT] reaped child 1188 exit=11
[PARENT] reaped child 1189 exit=12
[PARENT] reaped child 1190 exit=13
[PARENT] reaped child 1191 exit=14
[PARENT] reaped child 1192 exit=15
[PARENT] reaped child 1193 exit=16
[PARENT] reaped child 1194 exit=17
[PARENT] reaped child 1195 exit=18
[PARENT] reaped child 1196 exit=19

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getppid test suite
[TEST 1] getppid in parent
[PARENT] getppid=1

[TEST 2] getppid in child
[CHILD] getppid=1
[PARENT] child exited, parent pid=1

[TEST 3] getppid with multiple children
[CHILD 0] getppid=1
[CHILD 1] getppid=1
[CHILD 2] getppid=1
[CHILD 3] getppid=1
[CHILD 4] getppid=1
[PARENT] reaped child 3 with exit=-1
[PARENT] reaped child 4 with exit=-1
[PARENT] reaped child 5 with exit=-1
[PARENT] reaped child 6 with exit=-1
[PARENT] reaped child 7 with exit=-1

[TEST 4] nested forks
[CHILD] getppid=1
[GRANDCHILD] getppid=8

[TEST 5] stress test with 20 children
[CHILD 0] getppid=1
[CHILD 1] getppid=1
[CHILD 2] getppid=1
[CHILD 3] getppid=1
[CHILD 4] getppid=1
[CHILD 5] getppid=1
[CHILD 6] getppid=1
[CHILD 7] getppid=1
[CHILD 8] getppid=1
[CHILD 9] getppid=1
[CHILD 10] getppid=1
[CHILD 11] getppid=1
[CHILD 12] getppid=1
[CHILD 13] getppid=1
[CHILD 14] getppid=1
[CHILD 15] getppid=1
[CHILD 16] getppid=1
[CHILD 17] getppid=1
[CHILD 18] getppid=1
[CHILD 19] getppid=1
[PARENT] reaped child 10 exit=0
[PARENT] reaped child 11 exit=-1
[PARENT] reaped child 12 exit=-1
[PARENT] reaped child 13 exit=-1
[PARENT] reaped child 14 exit=-1
[PARENT] reaped child 15 exit=-1
[PARENT] reaped child 16 exit=-1
[PARENT] reaped child 17 exit=-1
[PARENT] reaped child 18 exit=-1
[PARENT] reaped child 19 exit=-1
[PARENT] reaped child 20 exit=-1
[PARENT] reaped child 21 exit=-1
[PARENT] reaped child 22 exit=-1
[PARENT] reaped child 23 exit=-1
[PARENT] reaped child 24 exit=-1
[PARENT] reaped child 25 exit=-1
[PARENT] reaped child 26 exit=-1
[PARENT] reaped child 27 exit=-1
[PARENT] reaped child 28 exit=-1
[PARENT] reaped child 29 exit=-1

[ALL TESTS COMPLETED]

getuid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] getuid test suite
[TEST 1] getuid in parent
[PARENT] getuid returned=0

[TEST 2] getuid in child
[CHILD] getuid returned=0
[PARENT] child exited, parent getuid=0

[TEST 3] getuid with multiple children
[CHILD 0] getuid=0
[CHILD 1] getuid=0
[CHILD 2] getuid=0
[PARENT] reaped child 554 with exit=2560
[PARENT] reaped child 555 with exit=2816
[CHILD 3] getuid=0
[PARENT] reaped child 556 with exit=3072
[PARENT] reaped child 557 with exit=3328

[TEST 4] Stress test with 20 children calling getuid
[CHILD 0] call 0 getuid=0
[CHILD 0] call 1 getuid=0
[CHILD 0] call 2 getuid=0
[CHILD 0] call 3 getuid=0
[CHILD 0] call 4 getuid=0
[CHILD 0] call 5 getuid=0
[CHILD 0] call 6 getuid=0
[CHILD 0] call 7 getuid=0
[CHILD 0] call 8 getuid=0
[CHILD 0] call 9 getuid=0
[CHILD 1] call 0 getuid=0
[CHILD 1] call 1 getuid=0
[CHILD 1] call 2 getuid=0
[CHILD 1] call 3 getuid=0
[CHILD 1] call 4 getuid=0
[CHILD 1] call 5 getuid=0
[CHILD 1] call 6 getuid=0
[CHILD 1] call 7 getuid=0
[CHILD 1] call 8 getuid=0
[CHILD 1] call 9 getuid=0
[CHILD 2] call 0 getuid=0
[CHILD 2] call 1 getuid=0
[CHILD 2] call 2 getuid=0
[CHILD 2] call 3 getuid=0
[CHILD 2] call 4 getuid=0
[CHILD 2] call 5 getuid=0
[CHILD 2] call 6 getuid=0
[CHILD 2] call 7 getuid=0
[CHILD 2] call 8 getuid=0
[CHILD 2] call 9 getuid=0
[CHILD 3] call 0 getuid=0
[CHILD 3] call 1 getuid=0
[CHILD 3] call 2 getuid=0
[CHILD 3] call 3 getuid=0
[CHILD 3] call 4 getuid=0
[CHILD 3] call 5 getuid=0
[CHILD 3] call 6 getuid=0
[CHILD 3] call 7 getuid=0
[CHILD 3] call 8 getuid=0
[CHILD 3] call 9 getuid=0
[CHILD 4] call 0 getuid=0
[CHILD 4] call 1 getuid=0
[CHILD 4] call 2 getuid=0
[CHILD 4] call 3 getuid=0
[CHILD 4] call 4 getuid=0
[CHILD 4] call 5 getuid=0
[CHILD 4] call 6 getuid=0
[CHILD 4] call 7 getuid=0
[CHILD 4] call 8 getuid=0
[CHILD 4] call 9 getuid=0
[CHILD 5] call 0 getuid=0
[CHILD 5] call 1 getuid=0
[CHILD 5] call 2 getuid=0
[CHILD 5] call 3 getuid=0
[CHILD 5] call 4 getuid=0
[CHILD 5] call 5 getuid=0
[CHILD 5] call 6 getuid=0
[CHILD 5] call 7 getuid=0
[CHILD 5] call 8 getuid=0
[CHILD 5] call 9 getuid=0
[CHILD 6] call 0 getuid=0
[CHILD 6] call 1 getuid=0
[CHILD 6] call 2 getuid=0
[CHILD 6] call 3 getuid=0
[CHILD 6] call 4 getuid=0
[CHILD 6] call 5 getuid=0
[CHILD 6] call 6 getuid=0
[CHILD 6] call 7 getuid=0
[CHILD 6] call 8 getuid=0
[CHILD 6] call 9 getuid=0
[CHILD 7] call 0 getuid=0
[CHILD 7] call 1 getuid=0
[CHILD 7] call 2 getuid=0
[CHILD 7] call 3 getuid=0
[CHILD 7] call 4 getuid=0
[CHILD 7] call 5 getuid=0
[CHILD 7] call 6 getuid=0
[CHILD 7] call 7 getuid=0
[CHILD 7] call 8 getuid=0
[CHILD 7] call 9 getuid=0
[CHILD 8] call 0 getuid=0
[CHILD 8] call 1 getuid=0
[CHILD 8] call 2 getuid=0
[CHILD 8] call 3 getuid=0
[CHILD 8] call 4 getuid=0
[CHILD 8] call 5 getuid=0
[CHILD 8] call 6 getuid=0
[CHILD 8] call 7 getuid=0
[CHILD 8] call 8 getuid=0
[CHILD 8] call 9 getuid=0
[CHILD 9] call 0 getuid=0
[CHILD 9] call 1 getuid=0
[CHILD 9] call 2 getuid=0
[CHILD 9] call 3 getuid=0
[CHILD 9] call 4 getuid=0
[CHILD 9] call 5 getuid=0
[CHILD 9] call 6 getuid=0
[CHILD 9] call 7 getuid=0
[CHILD 9] call 8 getuid=0
[CHILD 9] call 9 getuid=0
[CHILD 10] call 0 getuid=0
[CHILD 10] call 1 getuid=0
[CHILD 10] call 2 getuid=0
[CHILD 10] call 3 getuid=0
[CHILD 10] call 4 getuid=0
[CHILD 10] call 5 getuid=0
[CHILD 10] call 6 getuid=0
[CHILD 10] call 7 getuid=0
[CHILD 10] call 8 getuid=0
[CHILD 10] call 9 getuid=0
[CHILD 11] call 0 getuid=0
[CHILD 11] call 1 getuid=0
[CHILD 11] call 2 getuid=0
[CHILD 11] call 3 getuid=0
[CHILD 11] call 4 getuid=0
[CHILD 11] call 5 getuid=0
[CHILD 11] call 6 getuid=0
[CHILD 11] call 7 getuid=0
[CHILD 11] call 8 getuid=0
[CHILD 11] call 9 getuid=0
[CHILD 12] call 0 getuid=0
[CHILD 12] call 1 getuid=0
[CHILD 12] call 2 getuid=0
[CHILD 12] call 3 getuid=0
[CHILD 12] call 4 getuid=0
[CHILD 12] call 5 getuid=0
[CHILD 12] call 6 getuid=0
[CHILD 12] call 7 getuid=0
[CHILD 12] call 8 getuid=0
[CHILD 12] call 9 getuid=0
[CHILD 13] call 0 getuid=0
[CHILD 13] call 1 getuid=0
[CHILD 13] call 2 getuid=0
[CHILD 13] call 3 getuid=0
[CHILD 13] call 4 getuid=0
[CHILD 13] call 5 getuid=0
[CHILD 13] call 6 getuid=0
[CHILD 13] call 7 getuid=0
[CHILD 13] call 8 getuid=0
[CHILD 13] call 9 getuid=0
[CHILD 14] call 0 getuid=0
[CHILD 14] call 1 getuid=0
[CHILD 14] call 2 getuid=0
[CHILD 14] call 3 getuid=0
[CHILD 14] call 4 getuid=0
[CHILD 14] call 5 getuid=0
[CHILD 14] call 6 getuid=0
[CHILD 14] call 7 getuid=0
[CHILD 14] call 8 getuid=0
[CHILD 14] call 9 getuid=0
[CHILD 15] call 0 getuid=0
[CHILD 15] call 1 getuid=0
[CHILD 15] call 2 getuid=0
[CHILD 15] call 3 getuid=0
[CHILD 15] call 4 getuid=0
[CHILD 15] call 5 getuid=0
[CHILD 15] call 6 getuid=0
[CHILD 15] call 7 getuid=0
[CHILD 15] call 8 getuid=0
[CHILD 15] call 9 getuid=0
[CHILD 16] call 0 getuid=0
[CHILD 16] call 1 getuid=0
[CHILD 16] call 2 getuid=0
[CHILD 16] call 3 getuid=0
[CHILD 16] call 4 getuid=0
[CHILD 16] call 5 getuid=0
[CHILD 16] call 6 getuid=0
[CHILD 16] call 7 getuid=0
[CHILD 16] call 8 getuid=0
[CHILD 16] call 9 getuid=0
[CHILD 17] call 0 getuid=0
[CHILD 17] call 1 getuid=0
[CHILD 17] call 2 getuid=0
[CHILD 17] call 3 getuid=0
[CHILD 17] call 4 getuid=0
[CHILD 17] call 5 getuid=0
[CHILD 17] call 6 getuid=0
[CHILD 17] call 7 getuid=0
[CHILD 17] call 8 getuid=0
[CHILD 17] call 9 getuid=0
[CHILD 18] call 0 getuid=0
[CHILD 18] call 1 getuid=0
[CHILD 18] call 2 getuid=0
[CHILD 18] call 3 getuid=0
[CHILD 18] call 4 getuid=0
[CHILD 18] call 5 getuid=0
[CHILD 18] call 6 getuid=0
[CHILD 18] call 7 getuid=0
[CHILD 18] call 8 getuid=0
[CHILD 18] call 9 getuid=0
[PARENT] reaped child 558 exit=0
[PARENT] reaped child 559 exit=256
[PARENT] reaped child 560 exit=512
[PARENT] reaped child 561 exit=768
[PARENT] reaped child 562 exit=1024
[PARENT] reaped child 563 exit=1280
[CHILD 19] call 0 getuid=0
[PARENT] reaped child 564 exit=1536
[CHILD 19] call 1 getuid=0
[CHILD 19] call 2 getuid=0
[PARENT] reaped child 565 exit=1792
[CHILD 19] call 3 getuid=0
[CHILD 19] call 4 getuid=0
[CHILD 19] call 5 getuid=0
[PARENT] reaped child 566 exit=2048
[CHILD 19] call 6 getuid=0
[CHILD 19] call 7 getuid=0
[CHILD 19] call 8 getuid=0
[PARENT] reaped child 567 exit=2304
[CHILD 19] call 9 getuid=0
[PARENT] reaped child 568 exit=2560
[PARENT] reaped child 569 exit=2816
[PARENT] reaped child 570 exit=3072
[PARENT] reaped child 571 exit=3328
[PARENT] reaped child 572 exit=3584
[PARENT] reaped child 573 exit=3840
[PARENT] reaped child 574 exit=4096
[PARENT] reaped child 575 exit=4352
[PARENT] reaped child 576 exit=4608
[PARENT] reaped child 577 exit=4864

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] getuid test suite
[TEST 1] getuid in parent
[PARENT] getuid returned=0

[TEST 2] getuid in child
[CHILD] getuid returned=0
[PARENT] child exited, parent getuid=0

[TEST 3] getuid with multiple children
[CHILD 0] getuid=0
[CHILD 1] getuid=0
[CHILD 2] getuid=0
[CHILD 3] getuid=0
[PARENT] reaped child 3 with exit=10
[PARENT] reaped child 4 with exit=11
[PARENT] reaped child 5 with exit=12
[PARENT] reaped child 6 with exit=12

[TEST 4] Stress test with 20 children calling getuid
[CHILD 0] call 0 getuid=0
[CHILD 0] call 1 getuid=0
[CHILD 0] call 2 getuid=0
[CHILD 0] call 3 getuid=0
[CHILD 0] call 4 getuid=0
[CHILD 0] call 5 getuid=0
[CHILD 0] call 6 getuid=0
[CHILD 0] call 7 getuid=0
[CHILD 0] call 8 getuid=0
[CHILD 0] call 9 getuid=0
[CHILD 1] call 0 getuid=0
[CHILD 1] call 1 getuid=0
[CHILD 1] call 2 getuid=0
[CHILD 1] call 3 getuid=0
[CHILD 1] call 4 getuid=0
[CHILD 1] call 5 getuid=0
[CHILD 1] call 6 getuid=0
[CHILD 1] call 7 getuid=0
[CHILD 1] call 8 getuid=0
[CHILD 1] call 9 getuid=0
[CHILD 2] call 0 getuid=0
[CHILD 2] call 1 getuid=0
[CHILD 2] call 2 getuid=0
[CHILD 2] call 3 getuid=0
[CHILD 2] call 4 getuid=0
[CHILD 2] call 5 getuid=0
[CHILD 2] call 6 getuid=0
[CHILD 2] call 7 getuid=0
[CHILD 2] call 8 getuid=0
[CHILD 2] call 9 getuid=0
[CHILD 3] call 0 getuid=0
[CHILD 3] call 1 getuid=0
[CHILD 3] call 2 getuid=0
[CHILD 3] call 3 getuid=0
[CHILD 3] call 4 getuid=0
[CHILD 3] call 5 getuid=0
[CHILD 3] call 6 getuid=0
[CHILD 3] call 7 getuid=0
[CHILD 3] call 8 getuid=0
[CHILD 3] call 9 getuid=0
[CHILD 4] call 0 getuid=0
[CHILD 4] call 1 getuid=0
[CHILD 4] call 2 getuid=0
[CHILD 4] call 3 getuid=0
[CHILD 4] call 4 getuid=0
[CHILD 4] call 5 getuid=0
[CHILD 4] call 6 getuid=0
[CHILD 4] call 7 getuid=0
[CHILD 4] call 8 getuid=0
[CHILD 4] call 9 getuid=0
[CHILD 5] call 0 getuid=0
[CHILD 5] call 1 getuid=0
[CHILD 5] call 2 getuid=0
[CHILD 5] call 3 getuid=0
[CHILD 5] call 4 getuid=0
[CHILD 5] call 5 getuid=0
[CHILD 5] call 6 getuid=0
[CHILD 5] call 7 getuid=0
[CHILD 5] call 8 getuid=0
[CHILD 5] call 9 getuid=0
[CHILD 6] call 0 getuid=0
[CHILD 6] call 1 getuid=0
[CHILD 6] call 2 getuid=0
[CHILD 6] call 3 getuid=0
[CHILD 6] call 4 getuid=0
[CHILD 6] call 5 getuid=0
[CHILD 6] call 6 getuid=0
[CHILD 6] call 7 getuid=0
[CHILD 6] call 8 getuid=0
[CHILD 6] call 9 getuid=0
[CHILD 7] call 0 getuid=0
[CHILD 7] call 1 getuid=0
[CHILD 7] call 2 getuid=0
[CHILD 7] call 3 getuid=0
[CHILD 7] call 4 getuid=0
[CHILD 7] call 5 getuid=0
[CHILD 7] call 6 getuid=0
[CHILD 7] call 7 getuid=0
[CHILD 7] call 8 getuid=0
[CHILD 7] call 9 getuid=0
[CHILD 8] call 0 getuid=0
[CHILD 8] call 1 getuid=0
[CHILD 8] call 2 getuid=0
[CHILD 8] call 3 getuid=0
[CHILD 8] call 4 getuid=0
[CHILD 8] call 5 getuid=0
[CHILD 8] call 6 getuid=0
[CHILD 8] call 7 getuid=0
[CHILD 8] call 8 getuid=0
[CHILD 8] call 9 getuid=0
[CHILD 9] call 0 getuid=0
[CHILD 9] call 1 getuid=0
[CHILD 9] call 2 getuid=0
[CHILD 9] call 3 getuid=0
[CHILD 9] call 4 getuid=0
[CHILD 9] call 5 getuid=0
[CHILD 9] call 6 getuid=0
[CHILD 9] call 7 getuid=0
[CHILD 9] call 8 getuid=0
[CHILD 9] call 9 getuid=0
[CHILD 10] call 0 getuid=0
[CHILD 10] call 1 getuid=0
[CHILD 10] call 2 getuid=0
[CHILD 10] call 3 getuid=0
[CHILD 10] call 4 getuid=0
[CHILD 10] call 5 getuid=0
[CHILD 10] call 6 getuid=0
[CHILD 10] call 7 getuid=0
[CHILD 10] call 8 getuid=0
[CHILD 10] call 9 getuid=0
[CHILD 11] call 0 getuid=0
[CHILD 11] call 1 getuid=0
[CHILD 11] call 2 getuid=0
[CHILD 11] call 3 getuid=0
[CHILD 11] call 4 getuid=0
[CHILD 11] call 5 getuid=0
[CHILD 11] call 6 getuid=0
[CHILD 11] call 7 getuid=0
[CHILD 11] call 8 getuid=0
[CHILD 11] call 9 getuid=0
[CHILD 12] call 0 getuid=0
[CHILD 12] call 1 getuid=0
[CHILD 12] call 2 getuid=0
[CHILD 12] call 3 getuid=0
[CHILD 12] call 4 getuid=0
[CHILD 12] call 5 getuid=0
[CHILD 12] call 6 getuid=0
[CHILD 12] call 7 getuid=0
[CHILD 12] call 8 getuid=0
[CHILD 12] call 9 getuid=0
[CHILD 13] call 0 getuid=0
[CHILD 13] call 1 getuid=0
[CHILD 13] call 2 getuid=0
[CHILD 13] call 3 getuid=0
[CHILD 13] call 4 getuid=0
[CHILD 13] call 5 getuid=0
[CHILD 13] call 6 getuid=0
[CHILD 13] call 7 getuid=0
[CHILD 13] call 8 getuid=0
[CHILD 13] call 9 getuid=0
[CHILD 14] call 0 getuid=0
[CHILD 14] call 1 getuid=0
[CHILD 14] call 2 getuid=0
[CHILD 14] call 3 getuid=0
[CHILD 14] call 4 getuid=0
[CHILD 14] call 5 getuid=0
[CHILD 14] call 6 getuid=0
[CHILD 14] call 7 getuid=0
[CHILD 14] call 8 getuid=0
[CHILD 14] call 9 getuid=0
[CHILD 15] call 0 getuid=0
[CHILD 15] call 1 getuid=0
[CHILD 15] call 2 getuid=0
[CHILD 15] call 3 getuid=0
[CHILD 15] call 4 getuid=0
[CHILD 15] call 5 getuid=0
[CHILD 15] call 6 getuid=0
[CHILD 15] call 7 getuid=0
[CHILD 15] call 8 getuid=0
[CHILD 15] call 9 getuid=0
[CHILD 16] call 0 getuid=0
[CHILD 16] call 1 getuid=0
[CHILD 16] call 2 getuid=0
[CHILD 16] call 3 getuid=0
[CHILD 16] call 4 getuid=0
[CHILD 16] call 5 getuid=0
[CHILD 16] call 6 getuid=0
[CHILD 16] call 7 getuid=0
[CHILD 16] call 8 getuid=0
[CHILD 16] call 9 getuid=0
[CHILD 17] call 0 getuid=0
[CHILD 17] call 1 getuid=0
[CHILD 17] call 2 getuid=0
[CHILD 17] call 3 getuid=0
[CHILD 17] call 4 getuid=0
[CHILD 17] call 5 getuid=0
[CHILD 17] call 6 getuid=0
[CHILD 17] call 7 getuid=0
[CHILD 17] call 8 getuid=0
[CHILD 17] call 9 getuid=0
[CHILD 18] call 0 getuid=0
[CHILD 18] call 1 getuid=0
[CHILD 18] call 2 getuid=0
[CHILD 18] call 3 getuid=0
[CHILD 18] call 4 getuid=0
[CHILD 18] call 5 getuid=0
[CHILD 18] call 6 getuid=0
[CHILD 18] call 7 getuid=0
[CHILD 18] call 8 getuid=0
[CHILD 18] call 9 getuid=0
[CHILD 19] call 0 getuid=0
[PARENT] reaped child 7 exit=0
[CHILD 19] call 1 getuid=0
[CHILD 19] call 2 getuid=0
[PARENT] reaped child 8 exit=1
[CHILD 19] call 3 getuid=0
[PARENT] reaped child 9 exit=2
[CHILD 19] call 4 getuid=0
[CHILD 19] call 5 getuid=0
[PARENT] reaped child 10 exit=3
[CHILD 19] call 6 getuid=0
[PARENT] reaped child 11 exit=4
[CHILD 19] call 7 getuid=0
[CHILD 19] call 8 getuid=0
[PARENT] reaped child 12 exit=5
[CHILD 19] call 9 getuid=0
[PARENT] reaped child 13 exit=6
[PARENT] reaped child 14 exit=7
[PARENT] reaped child 15 exit=8
[PARENT] reaped child 16 exit=9
[PARENT] reaped child 17 exit=10
[PARENT] reaped child 18 exit=11
[PARENT] reaped child 19 exit=12
[PARENT] reaped child 20 exit=13
[PARENT] reaped child 21 exit=14
[PARENT] reaped child 22 exit=15
[PARENT] reaped child 23 exit=16
[PARENT] reaped child 24 exit=17
[PARENT] reaped child 25 exit=18
[PARENT] reaped child 26 exit=19

[ALL TESTS COMPLETED]

hello-arg.cSuccessNone
Success
hello.cSuccessNone
Success
longjmp.cSuccessNone
Success
mutex.cSuccessNone
Success
noforkfiles.cSuccessNone
Success
sem_forks.cSuccessNone
Success
setsid.cSuccessNone
Success
sigaction_syscall.cFailureFailure_native_compiling
Native execution: /tmp/wasmtest_artifacts_7go0pcdb/process_tests/deterministic/sigaction_syscall.c: In function ‘test_sigaction_basic’:
/tmp/wasmtest_artifacts_7go0pcdb/process_tests/deterministic/sigaction_syscall.c:18:15: warning: implicit declaration of function ‘sigaction_syscall’ [-Wimplicit-function-declaration]
   18 |     int ret = sigaction_syscall(0, SIGUSR1, 0,
      |               ^~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccS7bozL.o: in function `test_sigaction_basic':
sigaction_syscall.c:(.text+0x96): undefined reference to `sigaction_syscall'
/usr/bin/ld: /tmp/ccS7bozL.o: in function `test_sigaction_old_only':
sigaction_syscall.c:(.text+0x140): undefined reference to `sigaction_syscall'
/usr/bin/ld: /tmp/ccS7bozL.o: in function `test_sigaction_invalid':
sigaction_syscall.c:(.text+0x210): undefined reference to `sigaction_syscall'
/usr/bin/ld: sigaction_syscall.c:(.text+0x277): undefined reference to `sigaction_syscall'
/usr/bin/ld: /tmp/ccS7bozL.o: in function `test_sigaction_all_signals':
sigaction_syscall.c:(.text+0x3a5): undefined reference to `sigaction_syscall'
collect2: error: ld returned 1 exit status
thread-test.cSuccessNone
Success
thread.cSuccessNone
Success
wait.cSuccessNone
Success
waitpid_syscall.cFailureOutput_mismatch
=== Expected Output ===
[RUNNING] waitpid test suite
[TEST 1] Basic waitpid
[PARENT] waitpid returned=363 exit=2560

[TEST 2] waitpid specific child
[PARENT] waited child=365 exit=7680

[TEST 3] WNOHANG on running child
[PARENT] waitpid WNOHANG result=0 (0 means child not exited)
[PARENT] Child later reaped exit=1280

[TEST 4] WNOHANG after child exited
[PARENT] waitpid WNOHANG returned=367 exit=7680

[TEST 5] waitpid with no children
[PARENT] waitpid returned=-1 errno=10 (No child processes)

[TEST 6] Zombie order (multiple children)
[PARENT] reaped pid=368 exit=25600
[PARENT] reaped pid=369 exit=25856
[PARENT] reaped pid=370 exit=26112

[TEST 7] waitpid with status=NULL
[PARENT] waitpid returned=371 (status=NULL)

[TEST 10] waitpid EINTR
[PARENT] waitpid returned=372 errno=10 (No child processes)

[ALL TESTS COMPLETED]

=== WASM Output ===
[RUNNING] waitpid test suite
[TEST 1] Basic waitpid
[PARENT] waitpid returned=-1 exit=0

[TEST 2] waitpid specific child
[PARENT] waited child=-1 exit=-1

[TEST 3] WNOHANG on running child
[PARENT] waitpid WNOHANG result=5 (0 means child not exited)
[PARENT] Child later reaped exit=5

[TEST 4] WNOHANG after child exited
[PARENT] waitpid WNOHANG returned=6 exit=30

[TEST 5] waitpid with no children
[PARENT] waitpid returned=-1 errno=10 (No child processes)

[TEST 6] Zombie order (multiple children)
[PARENT] reaped pid=7 exit=100
[PARENT] reaped pid=8 exit=101
[PARENT] reaped pid=-1 exit=101

[TEST 7] waitpid with status=NULL
[PARENT] waitpid returned=-1 (status=NULL)

[TEST 10] waitpid EINTR
[PARENT] waitpid returned=-1 errno=4 (Interrupted system call)

[ALL TESTS COMPLETED]

waitpid_wnohang.cSuccessNone
Success
Signal Tests
alarm.cSuccessNone
Success
setitimer.cSuccessNone
Success
sigalrm.cSuccessNone
Success
sigchld.cSuccessNone
Success
signal-fork.cSuccessNone
Success
signal-simple.cSuccessNone
Success
sigprocmask.cSuccessNone
Success
Non Deterministic Tests

Summary

MetricCount
Total Test Cases40
Number of Successes39
Number of Failures1
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 run1
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 TypeOutput
File Tests
chdir_getcwd.cSuccessNone
Success
clock_gettime_highlevel.cSuccessNone
Success
clock_gettime_simple.cSuccessNone
Success
dup.cSuccessNone
Success
fchdir.cSuccessNone
Success
fstatfs.cSuccessNone
Success
getcwd.cSuccessNone
Success
read.cSuccessNone
Success
statfs.cSuccessNone
Success
Memory Tests
malloc_large.cSuccessNone
Success
mmap_complicated.cSuccessNone
Success
mmap_shared.cSuccessNone
Success
segfault.cSuccessNone
Success
shm.cSuccessNone
Success
vtable.cSuccessNone
Success
Networking Tests
dnstest.cSuccessNone
Success
getifaddrs.cSuccessNone
Success
pipe.cSuccessNone
Success
pipe2.cSuccessNone
Success
pipeinput.cSuccessNone
Success
pipeinput2.cSuccessNone
Success
pipeonestring.cSuccessNone
Success
pipewrite.cSuccessNone
Success
shutdown_fork.cSuccessNone
Success
simple-select.cSuccessNone
Success
Process Tests
fork2malloc.cSuccessNone
Success
fork_simple.cSuccessNone
Success
forkandopen.cSuccessNone
Success
forkfiles.cSuccessNone
Success
forkmalloc.cSuccessNone
Success
forknodup.cSuccessNone
Success
getpid.cSuccessNone
Success
Signal Tests
signal.cSuccessNone
Success
signal_SIGCHLD.cSuccessNone
Success
signal_fork.cFailureLind_wasm_Timeout
Timed Out (timeout: 10s)
signal_int_thread.cSuccessNone
Success
signal_longjmp.cSuccessNone
Success
signal_nodefer.cSuccessNone
Success
signal_procmask.cSuccessNone
Success
signal_sa_mask.cSuccessNone
Success
Fail Tests

Summary

MetricCount
Total Test Cases1
Number of Successes1
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 TypeOutput
Memory Tests
mmap-negative1.cSuccessNone
Success

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants