set build_components { core init drivers/timer server/terminal_crosslink server/vfs test/libc_select test/libc_counter } build $build_components create_boot_directory set config { <config> <parent-provides> <service name="ROM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <default caps="100"/> <start name="timer"> <resource name="RAM" quantum="2M"/> <provides> <service name="Timer"/> </provides> </start> <start name="terminal_crosslink"> <resource name="RAM" quantum="1M"/> <provides> <service name="Terminal"/> </provides> </start> <start name="vfs"> <resource name="RAM" quantum="12M"/> <provides> <service name="File_system"/> </provides> <config> <vfs> <terminal/> </vfs> <default-policy root="/" writeable="yes"/> </config> </start> <start name="test-libc_counter-source"> <resource name="RAM" quantum="8M"/> <config> <vfs> <dir name="dev"> <terminal/> <log/> </dir> </vfs> <libc stdin="/dev/terminal" stdout="/dev/terminal" stderr="/dev/log"/> </config> </start> <start name="test-libc_select"> <resource name="RAM" quantum="4M"/> <config> <arg value="test-libc_select"/> <arg value="/dev/log"/> <arg value="/vfs/terminal"/> <!-- <arg value=":"/> <arg value="/dev/log"/> --> <vfs> <dir name="dev"> <log/> <null/> <zero/> </dir> <dir name="vfs"> <fs/> </dir> </vfs> <libc stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"/> </config> </start> </config> } install_config $config set boot_modules { core init timer terminal_crosslink vfs test-libc_counter-source test-libc_select ld.lib.so libc.lib.so libm.lib.so stdcxx.lib.so pthread.lib.so libc_pipe.lib.so posix.lib.so } build_boot_image $boot_modules append qemu_args " -nographic " run_genode_until "child \"test-libc_select\" exited with exit value 0.*\n" 120 # vi: set ft=tcl :