diff --git a/os/run/bomb.run b/os/run/bomb.run index eeef0f6f5..1d297d464 100644 --- a/os/run/bomb.run +++ b/os/run/bomb.run @@ -21,17 +21,19 @@ install_config { - + + } build_boot_image "core init bomb timer" -append qemu_args "-nographic -m 64" +append qemu_args "-nographic -m 128" -run_genode_until forever +run_genode_until "Done\. Going to sleep\." 300 +puts "Test succeeded." diff --git a/os/src/test/bomb/main.cc b/os/src/test/bomb/main.cc index b8c9e1bdc..faba69584 100644 --- a/os/src/test/bomb/main.cc +++ b/os/src/test/bomb/main.cc @@ -27,6 +27,9 @@ #include #include +#include +#include + using namespace Genode; @@ -213,6 +216,12 @@ Timer::Session *timer() int main(int argc, char **argv) { + unsigned long rounds = 5; + + try { + config()->xml_node().attribute("rounds").value(&rounds); + } catch(...) { } + printf("--- bomb started ---\n"); /* connect to core's cap service used for creating parent capabilities */ @@ -236,7 +245,7 @@ int main(int argc, char **argv) sleep_forever(); } - for (unsigned round = 1; ; ++round) { + for (unsigned round = 1; round < rounds ; ++round) { for (unsigned i = children; i; --i) start_child("bomb", &cap, amount, &parent_services); @@ -258,9 +267,11 @@ int main(int argc, char **argv) else break; } - PINF("Done."); + PINF("[%03d] Done.", round); } + PINF("Done. Going to sleep"); + sleep_forever(); return 0; }