# # \brief Test for 'tar_rom' service # \author Norman Feske # \date 2010-09-07 # # The test spawns a sub init, which uses a 'tar_rom' instance # rather than core's ROM service. The 'tar_rom' service manages # a TAR archive containing the binary of the 'test-timer' program. # The nested init instance tries to start this program. The # test succeeds when the test-timer program prints its first # line of LOG output. # # # On Linux, programs can be executed only if present as a file on the Linux # file system ('execve' takes a file name as argument). Data extracted via # 'tar_rom' is not represented as file. Hence, it cannot be executed. # if {[have_spec linux]} { puts "Run script does not support Linux"; exit 0 } build "core init drivers/timer test/timer server/tar_rom" create_boot_directory install_config { } exec sh -c "cd bin; tar cfh archive.tar test-timer" build_boot_image "core init timer tar_rom archive.tar" append qemu_args "-nographic -m 64" run_genode_until "--- timer test ---" 10 exec rm bin/archive.tar puts "Test succeeded"