From 266d5e0be3f56ca9ba758aa082ee4c0966a2236c Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Tue, 7 Aug 2012 14:37:00 +0200 Subject: [PATCH] libc_noux test With this patch the libc plugin / file operations test can be built for libc_noux. Fixes #317. --- libports/src/test/libc_ffat/main.cc | 2 + ports/run/libc_noux.run | 104 ++++++++++++++++++++++++++++ ports/src/test/libc_noux/target.mk | 6 ++ 3 files changed, 112 insertions(+) create mode 100644 ports/run/libc_noux.run create mode 100644 ports/src/test/libc_noux/target.mk diff --git a/libports/src/test/libc_ffat/main.cc b/libports/src/test/libc_ffat/main.cc index 63e695684..f81834bd6 100644 --- a/libports/src/test/libc_ffat/main.cc +++ b/libports/src/test/libc_ffat/main.cc @@ -184,5 +184,7 @@ int main(int argc, char *argv[]) sleep(2); } + printf("test finished\n"); + return 0; } diff --git a/ports/run/libc_noux.run b/ports/run/libc_noux.run new file mode 100644 index 000000000..81e5a6e21 --- /dev/null +++ b/ports/run/libc_noux.run @@ -0,0 +1,104 @@ +if {[have_spec linux]} { + puts "\nLinux not supported because of missing UART driver\n" + exit 0 +} + +set build_components { + core init drivers/timer drivers/uart + noux/minimal lib/libc_noux + server/ram_fs test/libc_noux +} + +build $build_components + +# create tar archive +exec tar cfv bin/libc_noux.tar -h -C bin test-libc_noux + +create_boot_directory + +append config { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + +install_config $config + + +# +# Boot modules +# + +# generic modules +set boot_modules { + core init timer uart_drv ram_fs noux + ld.lib.so libc.lib.so libc_noux.lib.so + libc_noux.tar +} + +build_boot_image $boot_modules + +# +# Redirect the output of Noux via the virtual serial port 1 into a file to be +# dumped after the successful completion of the test. +# +set noux_output_file "noux_output.log" + +append qemu_args " -nographic" +append qemu_args " -serial mon:stdio" +append qemu_args " -serial file:$noux_output_file" + +run_genode_until "child.*exited.*\n" 20 + +set output [exec cat $noux_output_file] +puts $output + +exec rm bin/libc_noux.tar +exec rm $noux_output_file + +grep_output "test finished" +compare_output_to "test finished" diff --git a/ports/src/test/libc_noux/target.mk b/ports/src/test/libc_noux/target.mk new file mode 100644 index 000000000..a707af66d --- /dev/null +++ b/ports/src/test/libc_noux/target.mk @@ -0,0 +1,6 @@ +TARGET = test-libc_noux +LIBS = libc libc_noux +SRC_CC = main.cc + +# we re-use the libc_ffat test +vpath main.cc $(call select_from_repositories,src/test/libc_ffat)