genode/repos/libports/run/fork.run
Norman Feske 581785a48f Extend fork test
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
2019-08-28 14:18:44 +02:00

38 lines
913 B
Plaintext

build { core init test/fork }
create_boot_directory
install_config {
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
<service name="LOG"/>
<service name="CPU"/>
<service name="PD"/>
</parent-provides>
<start name="test-fork" caps="300">
<resource name="RAM" quantum="1G"/>
<config>
<arg value="name_of_executeable"/>
<libc stdin="/null" stdout="/log" stderr="/log">
<fd id="3" path="/seek_test" readable="yes" seek="5"/>
</libc>
<vfs>
<null/> <log/>
<inline name="seek_test">0123456789</inline>
</vfs>
</config>
<route> <any-service> <parent/> </any-service> </route>
</start>
</config>
}
build_boot_image {
core init ld.lib.so libc.lib.so vfs.lib.so libm.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]