mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 07:46:42 +00:00
581785a48f
This patch extends the fork test with explicit checks for the cloned content of the heap and RW segment as well as the seek position of an open file descriptor. It adds the new libports/run/fork.run script that exercises the fork mechanism implemented by the libc. It is based on noux_fork.run, which tests the mechansim provided by noux. The test program has been moved from ports to libports. Issue #3478
54 lines
1.3 KiB
Plaintext
54 lines
1.3 KiB
Plaintext
build {
|
|
core init timer server/log_terminal noux lib/libc_noux
|
|
test/fork
|
|
}
|
|
|
|
create_boot_directory
|
|
|
|
install_config {
|
|
<config verbose="yes">
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="LOG"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="PD"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
</parent-provides>
|
|
<default-route>
|
|
<any-service> <any-child/> <parent/> </any-service>
|
|
</default-route>
|
|
<default caps="120"/>
|
|
<start name="timer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
</start>
|
|
<start name="log_terminal">
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides><service name="Terminal"/></provides>
|
|
</start>
|
|
<start name="noux" caps="300">
|
|
<resource name="RAM" quantum="1G"/>
|
|
<config verbose="yes" stdin="/null" stdout="/log" stderr="/log">
|
|
<fstab>
|
|
<null/> <log/>
|
|
<rom name="test-fork" />
|
|
</fstab>
|
|
<start name="test-fork"> </start>
|
|
</config>
|
|
</start>
|
|
</config>
|
|
}
|
|
|
|
build_boot_image {
|
|
core init timer log_terminal noux ld.lib.so libc.lib.so vfs.lib.so libm.lib.so
|
|
libc_noux.lib.so posix.lib.so test-fork
|
|
}
|
|
|
|
append qemu_args " -nographic "
|
|
|
|
run_genode_until "--- parent done ---.*\n" 20
|
|
run_genode_until "child.*exited.*\n" 5 [output_spawn_id]
|