depot_autopilot: simplify success-criterion syntax

* Removes the <event> tag from all test package runtime files and replaces the
  contained <timeout> and <log> sub-tags with the new tags <succeed> and
  <fail>. If a <succeed> or <fail> tag has a content, it defines a log pattern
  that should be recognized and render the test failed or successful. If a
  <succeed> or <fail> tag has an attribute after_seconds that is not set to 0,
  it defines a timeout after which the test should be rendered failed or
  successful.

* Adapts the Depot Autopilot to support the new syntax in the test-package
  runtime files. However, for now, the Depot Autopilot is kept compatible to
  the old syntax as well. If the <events> tag is present, it is prioritized
  over the new syntax.

Fixes #4922
This commit is contained in:
Martin Stein 2023-06-24 16:57:19 +02:00 committed by Christian Helmuth
parent b587134a8d
commit c47a6b0830
93 changed files with 481 additions and 636 deletions

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">test succeeded</log>
<log meaning="failed" >test failed</log>
</events>
<fail after_seconds="20"/>
<succeed>test succeeded</succeed>
<fail>test failed</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="60" />
<log meaning="succeeded">child "test-entrypoint" exited with exit value 0</log>
</events>
<fail after_seconds="60"/>
<succeed>child "test-entrypoint" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-log] hex range: [0e00,1680)
[init -> test-log] empty hex range: [0abc0000,0abc0000) (empty!)
[init -> test-log] hex range to limit: [f8,ff]
@ -18,8 +17,7 @@
[init -> test-log] 5.....................................................................................................................................................................................................................................6
[init -> test-log]
[init -> test-log] Test done.
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "test" exited with exit value 0</log>
<log meaning="failed">child "test" exited with exit value -1</log>
</events>
<fail after_seconds="20"/>
<succeed>child "test" exited with exit value 0</succeed>
<fail>child "test" exited with exit value -1</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<fail after_seconds="20"/>
<log meaning="succeeded">
<succeed>
[init -> test-new_delete] Allocator::alloc()
[init -> test-new_delete] A
[init -> test-new_delete] C
@ -55,9 +54,8 @@
[init -> test-new_delete] Allocator::free()
[init -> test-new_delete] exception caught
[init -> test-new_delete] Test done
</log>
</succeed>
</events>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-reconstructible] --- Reconstructible utility test ---
[init -> test-reconstructible] construct Object 1
[init -> test-reconstructible] construct Object 2
@ -36,8 +35,7 @@
[init -> test-reconstructible] construct Throwing -> throw exception
[init -> test-reconstructible] got exception, as expected
[init -> test-reconstructible] --- Reconstructible utility test finished ---
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "test-registry" exited with exit value 0</log>
<log meaning="failed" >Uncaught exception</log>
</events>
<fail after_seconds="20"/>
<succeed>child "test-registry" exited with exit value 0</succeed>
<fail>Uncaught exception</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "test-rm_fault" exited with exit value 0</log>
<log meaning="failed">Error: could modify ROM</log>
</events>
<fail after_seconds="20"/>
<succeed>child "test-rm_fault" exited with exit value 0</succeed>
<fail>Error: could modify ROM</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "test-rm_fault" exited with exit value 0</log>
</events>
<fail after_seconds="20"/>
<succeed>child "test-rm_fault" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">--- finished nested region map test ---</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="20"/>
<succeed>--- finished nested region map test ---</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="45"/>
<log meaning="succeeded">child "test-rm_stress" exited with exit value 0</log>
<log meaning="failed">child "test-rm_stress" exited with exit value -1</log>
</events>
<fail after_seconds="45"/>
<succeed>child "test-rm_stress" exited with exit value 0</succeed>
<fail>child "test-rm_stress" exited with exit value -1</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,12 +1,10 @@
<runtime ram="16M" caps="150" binary="test-sanitizer">
<events>
<timeout meaning="failed" sec="10" />
<log meaning="succeeded">
<fail after_seconds="10"/>
<succeed>
[init]*runtime error: *index 2 out of bounds*
[init]*runtime error: *store to null pointer
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="16M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">Error: stack protector check failed</log>
</events>
<fail after_seconds="20"/>
<succeed>Error: stack protector check failed</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,16 +1,14 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-synced_interface] --- Synced interface test ---
[init -> test-synced_interface] acquire
[init -> test-synced_interface] adding 13 + 14
[init -> test-synced_interface] release
[init -> test-synced_interface] result is 27
[init -> test-synced_interface] --- Synced interface test finished ---
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">[init] child "client" exited with exit value 0</log>
<log meaning="failed" >Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>[init] child "client" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,16 +1,14 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-tls] main initial: x: -1, y: 0
[init -> test-tls] thread 0 initial: x: -1, y: 0
[init -> test-tls] thread 0 : x: 1, y: 2
[init -> test-tls] thread 1 initial: x: -1, y: 0
[init -> test-tls] thread 1 : x: 3, y: 4
[init -> test-tls] main : x: 5, y: 6
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">finished token test</log>
</events>
<fail after_seconds="20"/>
<succeed>finished token test</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-xml_generator] --- XML generator test started ---
[init -> test-xml_generator]
[init -> test-xml_generator] used 308 bytes, result:
@ -56,9 +55,8 @@
[init -> test-xml_generator]
[init -> test-xml_generator] --- XML generator test finished ---*
[init] child "test-xml_generator" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-xml_node] --- XML-token test ---
[init -> test-xml_node] token type="SINGLECHAR", len=1, content="&lt;"
[init -> test-xml_node] token type="IDENT", len=6, content="config"
@ -113,9 +112,8 @@
[init -> test-xml_node]
[init -> test-xml_node] --- End of XML-parser test ---*
[init] child "test-xml_node" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="10" />
<log meaning="succeeded">
<fail after_seconds="10"/>
<succeed>
[init -> report_rom] report 'depot_query -> index'
[init -> report_rom] *&lt;index>
[init -> report_rom] &lt;index user="genodelabs" version="19.02">
@ -12,8 +11,7 @@
[init -> report_rom] &lt;/index>
[init -> report_rom] &lt;missing user="genodelabs" version="19.03"/>
[init -> report_rom] &lt;/index>
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>
@ -56,7 +54,7 @@
<index>
<supports arch="x86_64"/>
<index name="Demos">
<pkg path="nano3d" info="simple software-rendering demo"/>
<pkg path="nano3d" info="simple software-rendering demo"/>
<pkg path="armored" info="ARM demo" arch="arm_v8a"/>
</index>
</index>

View File

@ -4,16 +4,14 @@
<timer/>
</requires>
<events>
<timeout meaning="failed" sec="70" />
<log meaning="succeeded">
<fail after_seconds="70"/>
<succeed>
&lt;ui_report version="step_*" state="uninitialized"/>*
&lt;ui_report version="step_*" state="initializing"/>*
&lt;ui_report version="step_*" state="unlocked"/>*
&lt;ui_report version="step_*" state="locked"/>*
&lt;ui_report version="step_*" state="unlocked"/>*
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>
@ -50,9 +48,7 @@
<sleep milliseconds="6000"/>
<inline>
<ui_config version="step_2_init" passphrase="abcdefgh"
client_fs_size="1M"
journaling_buf_size="1M"/>
<ui_config version="step_2_init" passphrase="abcdefgh" client_fs_size="1M" journaling_buf_size="1M"/>
</inline>
<sleep milliseconds="10000"/>
@ -95,8 +91,8 @@
<start name="report_rom" caps="70">
<resource name="RAM" quantum="1M"/>
<provides>
<service name="ROM" />
<service name="Report" />
<service name="ROM"/>
<service name="Report"/>
</provides>
<config verbose="yes"/>
<route>
@ -157,15 +153,15 @@
</vfs>
</config>
<route>
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
<service name="Report"> label="ui_report" <child name="report_rom"/> </service>
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="Timer"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="ROM"> <parent/> </service>

View File

@ -4,16 +4,14 @@
<timer/>
</requires>
<events>
<timeout meaning="failed" sec="70" />
<log meaning="succeeded">
<fail after_seconds="70"/>
<succeed>
&lt;ui_report version="step_*" state="uninitialized"/>*
&lt;ui_report version="step_*" state="initializing"/>*
&lt;ui_report version="step_*" state="unlocked"/>*
&lt;ui_report version="step_*" state="locked"/>*
&lt;ui_report version="step_*" state="unlocked"/>*
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>
@ -50,9 +48,7 @@
<sleep milliseconds="6000"/>
<inline>
<ui_config version="step_2_init" passphrase="abcdefgh"
client_fs_size="1M"
journaling_buf_size="1M"/>
<ui_config version="step_2_init" passphrase="abcdefgh" client_fs_size="1M" journaling_buf_size="1M"/>
</inline>
<sleep milliseconds="10000"/>
@ -95,8 +91,8 @@
<start name="report_rom" caps="70">
<resource name="RAM" quantum="1M"/>
<provides>
<service name="ROM" />
<service name="Report" />
<service name="ROM"/>
<service name="Report"/>
</provides>
<config verbose="yes"/>
<route>
@ -157,15 +153,15 @@
</vfs>
</config>
<route>
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
<service name="ROM" label="ui_config"> <child name="dynamic_rom" label="file_vault_ui_config"/> </service>
<service name="Report"> label="ui_report" <child name="report_rom"/> </service>
<service name="File_system" label="tresor_trust_anchor_vfs -> storage_dir"> <child name="trust_anchor_fs" label="file_vault -> trust_anchor"/> </service>
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor_init -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="image_fs_query -> "> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="tresor_vfs -> tresor_fs"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="File_system" label="truncate_file -> tresor"> <child name="data_fs" label="file_vault -> data"/> </service>
<service name="Timer"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="ROM"> <parent/> </service>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test -> remove] *file /items cannot be removed because it is a directory*
[init -> test -> remove] remove file /items/2*
[init -> test -> remove] *file /3 cannot be removed because there is no such file*
@ -17,8 +16,7 @@
[init -> report_rom] &lt;file name="content" writeable="yes">new file&lt;/file>
[init -> report_rom] &lt;/dir>
[init -> report_rom] &lt;/listing>
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="60" />
<log meaning="succeeded">child "test-libc_vfs" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="60"/>
<succeed>child "test-libc_vfs" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -166,14 +166,12 @@ Besides the mandatory package content, a test package is expected to provide a
!
! <requires> <timer/> <nic/> </requires>
!
! <events>
! <timeout meaning="failed" sec="20" />
! <log meaning="succeeded">Ignores tabs
! and newlines but no whitespaces !
! Some XML: &lt;my-node my_attr="123"/>
! [init -> test-example] Wildcarded *text *literal star &#42; ampersand &amp;
! </log>
! </events>
! <fail after_seconds="20"/>
! <succeed>Ignores tabs
! and newlines but no whitespaces !
! Some XML: &lt;my-node my_attr="123"/>
! [init -> test-example] Wildcarded *text *literal star &#42; ampersand &amp;
! </succeed>
!
! <content>
! <rom label="ld.lib.so"/> <rom label="test-example"/>
@ -213,32 +211,20 @@ Besides the mandatory package content, a test package is expected to provide a
should not be part of a test sub-tree as we don't want to get into the
situation of restarting them.
:<events>:
:<fail after_seconds="33"/>:
:<succeed after_seconds="100"/>:
Lists events that may occur during the test and that shall imply a reaction
by the Autopilot.
Let the test fail or succeed after a timeout given in seconds.
:<events><timeout sec>:
:<fail>Error!</fail>:
:<succeed>Done!</succeed>:
This event occurs when the test execution lasts the given time in seconds.
:<events><timeout meaning>:
One of "succeeded", "failed". Both imply the test to be treated as finished
(gets terminated) with the test result set to the given value.
:<events><log>:
Contains a string pattern. The event occurs as soon as the pattern could be
Let the test fail or succeed as soon as the pattern could be
completely matched against the LOG-session output of the test. Tabs and
newlines are ignored in the pattern as well as in the test output. Literal
characters '<', '&', '*' in the pattern must be escaped as "&lt;", "&amp;",
"&#42;". A character '*' in the pattern is treated as non-greedy wildcard.
:<events><log meaning>:
See <events><timeout meaning>.
:<content>:
Lists required files from the test-package build besides the root-component

View File

@ -337,20 +337,65 @@ void Child::gen_start_node(Xml_generator &xml,
uint64_t max_timeout_sec = 0;
try {
Xml_node const events = _pkg_xml->xml().sub_node("runtime").sub_node("events");
events.for_each_sub_node("timeout", [&] (Xml_node const &event) {
try {
Timeout_event &timeout = *new (_alloc) Timeout_event(_timer, *this, event);
if (timeout.sec() > max_timeout_sec) {
max_timeout_sec = timeout.sec();
Xml_node const runtime = _pkg_xml->xml().sub_node("runtime");
/*
* The check for the <events> node is made only for compatibility with
* the old (< Genode 23.08) success-criterion syntax and can be removed
* after an appropriate transition period.
*/
if (runtime.has_sub_node("events")) {
Xml_node const events = runtime.sub_node("events");
events.for_each_sub_node("timeout", [&] (Xml_node const &event) {
try {
Timeout_event &timeout = *new (_alloc) Timeout_event(_timer, *this, event);
if (timeout.sec() > max_timeout_sec) {
max_timeout_sec = timeout.sec();
}
_timeout_events.insert(&timeout);
}
_timeout_events.insert(&timeout);
}
catch (Timeout_event::Invalid) { warning("Invalid timeout event"); }
});
events.for_each_sub_node("log", [&] (Xml_node const &event) {
_log_events.insert(new (_alloc) Log_event(_alloc, event));
});
catch (Timeout_event::Invalid) { warning("Invalid timeout event"); }
});
events.for_each_sub_node("log", [&] (Xml_node const &event) {
_log_events.insert(new (_alloc) Log_event(_alloc, event));
});
} else {
runtime.for_each_sub_node("succeed", [&] (Xml_node const &event) {
if (event.has_attribute("after_seconds")) {
try {
Timeout_event &timeout = *new (_alloc) Timeout_event(_timer, *this, event);
if (timeout.sec() > max_timeout_sec) {
max_timeout_sec = timeout.sec();
}
_timeout_events.insert(&timeout);
}
catch (Timeout_event::Invalid) { warning("Invalid timeout event"); }
}
event.with_raw_content([&] (char const *, size_t) {
_log_events.insert(new (_alloc) Log_event(_alloc, event));
});
});
runtime.for_each_sub_node("fail", [&] (Xml_node const &event) {
if (event.has_attribute("after_seconds")) {
try {
Timeout_event &timeout = *new (_alloc) Timeout_event(_timer, *this, event);
if (timeout.sec() > max_timeout_sec) {
max_timeout_sec = timeout.sec();
}
_timeout_events.insert(&timeout);
}
catch (Timeout_event::Invalid) { warning("Invalid timeout event"); }
}
event.with_raw_content([&] (char const *, size_t) {
_log_events.insert(new (_alloc) Log_event(_alloc, event));
});
});
}
}
catch (...) { }
log("");
@ -861,7 +906,17 @@ Timeout_event::Timeout_event(Timer::Connection &timer,
Event { event, Type::TIMEOUT },
_child { child },
_timer { timer },
_sec { event.attribute_value("sec", (uint64_t)0) },
/*
* The check for the type "timeout" is made only for
* compatibility with the old (< Genode 23.08) success-criterion syntax
* and can be removed after an appropriate transition period.
*/
_sec { event.type() == "fail" || event.type() == "succeed" ?
event.attribute_value("after_seconds", (uint64_t)0) :
event.type() == "timeout" ?
event.attribute_value("sec", (uint64_t)0) : 0 },
_timeout { timer, *this, &Timeout_event::_handle_timeout }
{
if (!_sec) {
@ -1043,7 +1098,16 @@ Log_event::Log_event(Allocator &alloc,
Event::Event(Xml_node const &node,
Type type)
:
_meaning { node.attribute_value("meaning", Meaning_string()) },
/*
* The check for the types "timeout" and "log" is made only for
* compatibility with the old (< Genode 23.08) success-criterion syntax
* and can be removed after an appropriate transition period.
*/
_meaning { node.type() == "succeed" ? "succeeded" :
node.type() == "fail" ? "failed" :
node.type() == "timeout" || node.type() == "log" ?
node.attribute_value("meaning", Meaning_string()) : "" },
_type { type }
{
if (_meaning != Meaning_string("failed") &&

View File

@ -2,18 +2,16 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="10" />
<log meaning="succeeded">
<fail after_seconds="10"/>
<succeed>
[init -> test-expat] start of element: config*
[init -> test-expat] start of element: test_tag*
[init -> test-expat] attribute: name='test_attribute', value='test_value'*
[init -> test-expat] end of element: test_tag*
[init -> test-expat] end of element: config*
[init] child "test-expat" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -45,7 +43,7 @@
<config>
<vfs>
<inline name="config"><config>
<test_tag test_attribute="test_value" />
<test_tag test_attribute="test_value"/>
</config>
</inline>
<dir name="dev"> <log/> </dir>

View File

@ -2,9 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-ldso] Lib_2_global 0x11223343*
[init -> test-ldso] Lib_1_global_1 0x5060707*
[init -> test-ldso] Lib_1_global_2 0x1020303*
@ -102,8 +101,7 @@
[init -> test-ldso] attr_destructor_2 0x4030200d*
[init -> test-ldso] attr_destructor_1 0x8070604c*
[init] child "test-ldso" exited with exit value 123
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc" exited with exit value 0</log>
<log meaning="failed">test-libc] Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc" exited with exit value 0</succeed>
<fail>test-libc] Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="80" />
<log meaning="failed">exited with exit value -1</log>
<log meaning="succeeded">child "test-libc_connect" exited with exit value 0</log>
</events>
<fail after_seconds="80"/>
<fail>exited with exit value -1</fail>
<succeed>child "test-libc_connect" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -73,7 +71,7 @@
<lwip ip_addr="10.0.1.3" netmask="255.255.255.0" gateway="10.0.1.1"/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket" />
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
</start>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="80" />
<log meaning="failed">exited with exit value -1</log>
<log meaning="succeeded">child "test-libc_connect" exited with exit value 0</log>
</events>
<fail after_seconds="80"/>
<fail>exited with exit value -1</fail>
<succeed>child "test-libc_connect" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -74,7 +72,7 @@
<lxip ip_addr="10.0.1.3" netmask="255.255.255.0" gateway="10.0.1.1"/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket" />
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
</start>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="100" />
<log meaning="failed">exited with exit value -1</log>
<log meaning="succeeded">child "test-libc_connect" exited with exit value 0</log>
</events>
<fail after_seconds="100"/>
<fail>exited with exit value -1</fail>
<succeed>child "test-libc_connect" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -94,7 +92,7 @@
<dir name="dev"> <log/> </dir>
<dir name="socket"> <fs/> </dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket" />
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
<route>
<service name="File_system"> <child name="socket_fs_client"/> </service>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="100" />
<log meaning="failed">exited with exit value -1</log>
<log meaning="succeeded">child "test-libc_connect" exited with exit value 0</log>
</events>
<fail after_seconds="100"/>
<fail>exited with exit value -1</fail>
<succeed>child "test-libc_connect" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -95,7 +93,7 @@
<dir name="dev"> <log/> </dir>
<dir name="socket"> <fs/> </dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket" />
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
<route>
<service name="File_system"> <child name="socket_fs_client"/> </service>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_counter-sink" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_counter-sink" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="90" />
<log meaning="succeeded">child "test-execve" exited with exit value 0</log>
</events>
<fail after_seconds="90"/>
<succeed>child "test-execve" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="64M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="120" />
<log meaning="succeeded">--- test succeeded ---</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="120"/>
<succeed>--- test succeeded ---</succeed>
<fail>Error: </fail>
<content>
<rom label="fs_rom"/>
@ -43,8 +41,8 @@
<fifo name="downstream"/>
</pipe>
</vfs>
<policy label="fifo-pipe-test -> in" root="/.upstream/in" writeable="yes" />
<policy label="fifo-pipe-test -> out" root="/.downstream/out" writeable="no" />
<policy label="fifo-pipe-test -> in" root="/.upstream/in" writeable="yes"/>
<policy label="fifo-pipe-test -> out" root="/.downstream/out" writeable="no"/>
<default-policy root="/" writeable="yes"/>
</config>
</start>
@ -140,8 +138,8 @@
<route>
<service name="File_system"> <child name="vfs"/> </service>
<service name="Report" label="init.config"> <child name="report_rom" label="init.config"/> </service>
<service name="ROM" label="init_template"> <child name="fs_rom" label="init_template"/> </service>
<service name="ROM" label="test-data.bin"> <parent label="init"/> </service>
<service name="ROM" label="init_template"> <child name="fs_rom" label="init_template"/> </service>
<service name="ROM" label="test-data.bin"> <parent label="init"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">--- parent done ---*child*exited*</log>
</events>
<fail after_seconds="30"/>
<succeed>--- parent done ---*child*exited*</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,14 +1,12 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">
<fail after_seconds="30"/>
<succeed>
[init -> test-libc_getenv] foo="bar"*
[init -> test-libc_getenv] bar="foo"*
[init -> test-libc_getenv] baz="(null)"*
[init] child "test-libc_getenv" exited with exit value 0
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "sequence" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "sequence" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_vfs" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_vfs" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_vfs_block" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_vfs_block" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -37,8 +35,7 @@
<zero name="block_file" size="16K"/>
</import>
</vfs>
<default-policy file="/block_file" block_size="4096"
writeable="yes"/>
<default-policy file="/block_file" block_size="4096" writeable="yes"/>
</config>
</start>
<start name="test-libc_vfs_block">
@ -50,31 +47,31 @@
<!-- Populate the block device with a pattern and validate the
write operation by reading back the content. -->
<sequence>
<write content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
<write content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
<expect content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
</sequence>
<!-- Write single 512 block. This requires the successive reading,
modification, and writing of the compound 4096 block. -->
<sequence>
<write at="9" content="%"/>
<write at="9" content="%"/>
<expect content="abcdefghI%KLMNOPqrstuvwxYZABCDEF"/>
</sequence>
<!-- Reset the pattern and write multiple 512 blocks that cross
a 4096 boundary. -->
<sequence>
<write content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
<write at="15" content="123"/>
<write content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
<write at="15" content="123"/>
<expect content="abcdefghIJKLMNO123stuvwxYZABCDEF"/>
</sequence>
<!-- Test write-sync-write-sync-read -->
write operation by reading back the content. -->
<sequence>
<write content="................................"/>
<write content="................................"/>
<sync/>
<write content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
<write content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
<sync/>
<expect content="abcdefghIJKLMNOPqrstuvwxYZABCDEF"/>
</sequence>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_counter-sink" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_counter-sink" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_vfs" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_vfs" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_vfs" exited with exit value 0</log>
<log meaning="failed">[init -> test-libc_vfs] Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_vfs" exited with exit value 0</succeed>
<fail>[init -> test-libc_vfs] Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-libc_vfs" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-libc_vfs" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">[init -> select] 3</log>
</events>
<fail after_seconds="30"/>
<succeed>[init -> select] 3</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,12 +2,10 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="90" />
<log meaning="succeeded">--- returning from main ---</log>
<log meaning="failed">Error: </log>
<log meaning="failed">child "test-pthread" exited</log>
</events>
<fail after_seconds="90"/>
<succeed>--- returning from main ---</succeed>
<fail>Error: </fail>
<fail>child "test-pthread" exited</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">
<fail after_seconds="30"/>
<succeed>
[init -> sequence -> test_1] foo="bar1"*
[init -> sequence -> test_1] bar1="(null)"*
[init -> sequence -> test_1] baz="(null)"*
@ -13,9 +12,8 @@
[init -> sequence -> test_3] bar3="(null)"*
[init -> sequence -> test_3] baz="(null)"*
[init] child "sequence" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "test-spark" exited with exit value 0</log>
</events>
<fail after_seconds="20"/>
<succeed>child "test-spark" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,14 +1,12 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-spark_exception] Ada exception test*
[init -> test-spark_exception]*Error: Exception raised: explicit raise in except.adb:6*
[init -> test-spark_exception] Caught Ada::Exception::Program_Error*
[init] child "test-spark_exception" exited with exit value 0
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,12 +1,10 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-spark_secondary_stack] secondary stack test successful
[init] child "test-spark_secondary_stack" exited with exit value 0
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">test-stdcxx finished</log>
</events>
<fail after_seconds="20"/>
<succeed>test-stdcxx finished</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="200" />
<log meaning="succeeded">child "sequence" exited with exit value 0</log>
</events>
<fail after_seconds="200"/>
<succeed>child "sequence" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -42,10 +40,10 @@
<resource name="RAM" quantum="10M"/>
<provides><service name="Nic"/></provides>
<config verbose="no">
<policy label_prefix="sequence -> local -> recv" ip_addr="192.168.1.1" />
<policy label_prefix="sequence -> local -> send" ip_addr="192.168.1.2" />
<policy label_prefix="sequence -> remote -> recv_fs" ip_addr="192.168.1.1" />
<policy label_prefix="sequence -> remote -> send_fs" ip_addr="192.168.1.2" />
<policy label_prefix="sequence -> local -> recv" ip_addr="192.168.1.1"/>
<policy label_prefix="sequence -> local -> send" ip_addr="192.168.1.2"/>
<policy label_prefix="sequence -> remote -> recv_fs" ip_addr="192.168.1.1"/>
<policy label_prefix="sequence -> remote -> send_fs" ip_addr="192.168.1.2"/>
</config>
<route>
<service name="Nic"> <child name="nic_loopback"/> </service>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="120" />
<log meaning="succeeded">child "sequence" exited with exit value 0</log>
</events>
<fail after_seconds="120"/>
<succeed>child "sequence" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -43,10 +41,10 @@
<resource name="RAM" quantum="10M"/>
<provides><service name="Nic"/></provides>
<config verbose="no">
<policy label_prefix="sequence -> local -> recv" ip_addr="192.168.1.1" />
<policy label_prefix="sequence -> local -> send" ip_addr="192.168.1.2" />
<policy label_prefix="sequence -> remote -> recv_fs" ip_addr="192.168.1.1" />
<policy label_prefix="sequence -> remote -> send_fs" ip_addr="192.168.1.2" />
<policy label_prefix="sequence -> local -> recv" ip_addr="192.168.1.1"/>
<policy label_prefix="sequence -> local -> send" ip_addr="192.168.1.2"/>
<policy label_prefix="sequence -> remote -> recv_fs" ip_addr="192.168.1.1"/>
<policy label_prefix="sequence -> remote -> send_fs" ip_addr="192.168.1.2"/>
</config>
<route>
<service name="Nic"> <child name="nic_loopback"/> </service>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">Finished</log>
</events>
<fail after_seconds="20"/>
<succeed>Finished</succeed>
<content>
<rom label="ld.lib.so"/>
@ -72,7 +70,7 @@
<service name="Capture"> <child name="black_hole"/> </service>
<service name="Audio_in"> <child name="black_hole"/> </service>
<service name="Audio_out"> <child name="black_hole"/> </service>
<service name="ROM" > <parent/> </service>
<service name="ROM"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="CPU"> <parent/> </service>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">-- state WAIT_FOR_SUCCESS --</log>
</events>
<fail after_seconds="20"/>
<succeed>-- state WAIT_FOR_SUCCESS --</succeed>
<content>
<rom label="ld.lib.so"/>
@ -48,13 +46,13 @@
</provides>
<config verbose="yes">
<flow from="hobby" to="work" />
<flow from="hobby" to="admin" />
<flow from="work" to="admin" />
<flow from="hobby" to="work"/>
<flow from="hobby" to="admin"/>
<flow from="work" to="admin"/>
<policy label_prefix="test-clipboard -> win7" domain="work" />
<policy label_prefix="test-clipboard -> linux" domain="hobby" />
<policy label_prefix="test-clipboard -> noux" domain="admin" />
<policy label_prefix="test-clipboard -> win7" domain="work"/>
<policy label_prefix="test-clipboard -> linux" domain="hobby"/>
<policy label_prefix="test-clipboard -> noux" domain="admin"/>
</config>
<route>

View File

@ -2,12 +2,10 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-dynamic_config] obtained counter value 11 from config
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>
@ -32,7 +30,7 @@
<default caps="100"/>
<start name="test-dynamic_config_server">
<resource name="RAM" quantum="1M"/>
<provides> <service name="ROM" /> </provides>
<provides> <service name="ROM"/> </provides>
</start>
<start name="test-dynamic_config" caps="500">
<resource name="RAM" quantum="1M"/>
@ -40,7 +38,7 @@
<service name="ROM" label="config">
<child name="test-dynamic_config_server" label="config.dynamic"/>
</service>
<any-service> <parent /> </any-service>
<any-service> <parent/> </any-service>
</route>
</start>
</config>

View File

@ -2,12 +2,10 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> loader -> test-dynamic_config_loader -> -> test-label] obtained counter value 11 from config
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="60" />
<log meaning="succeeded">--- finished fault_detection test ---</log>
</events>
<fail after_seconds="60"/>
<succeed>--- finished fault_detection test ---</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "short-test" exited with exit value 0</log>
</events>
<fail after_seconds="30"/>
<succeed>child "short-test" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="15" />
<log meaning="succeeded">child "test-fs_report" exited with exit value 0</log>
<log meaning="failed" >child "test-fs_report" exited with exit value -1</log>
</events>
<fail after_seconds="15"/>
<succeed>child "test-fs_report" exited with exit value 0</succeed>
<fail>child "test-fs_report" exited with exit value -1</fail>
<content>
<rom label="ld.lib.so"/>
@ -49,7 +47,7 @@
</import>
</vfs>
<policy label_prefix="fs_report -> " root="/" writeable="yes"/>
<policy label_prefix="fs_rom -> " root="/test-fs_report"/>
<policy label_prefix="fs_rom -> " root="/test-fs_report"/>
<policy label_prefix="test-fs_report -> " root="/test-fs_report" writeable="yes"/>
</config>
</start>
@ -71,8 +69,8 @@
<resource name="RAM" quantum="4M"/>
<config> <vfs> <fs/> </vfs> </config>
<route>
<service name="ROM" label="devices"> <child name="fs_rom"/> </service>
<service name="ROM" label="focus"> <child name="fs_rom"/> </service>
<service name="ROM" label="devices"> <child name="fs_rom"/> </service>
<service name="ROM" label="focus"> <child name="fs_rom"/> </service>
<service name="Report" label="devices"> <child name="fs_report"/> </service>
<service name="Report" label="focus"> <child name="fs_report"/> </service>
<any-service> <parent/> <any-child/> </any-service>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20"/>
<log meaning="succeeded">&lt;config iteration="4"/></log>
</events>
<fail after_seconds="20"/>
<succeed>&lt;config iteration="4"/></succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">&lt;config iteration="4"/></log>
</events>
<fail after_seconds="20"/>
<succeed>&lt;config iteration="4"/></succeed>
<content>
<rom label="ld.lib.so"/>
@ -88,7 +86,7 @@
</config>
<route>
<service name="ROM" label="dynamic_rom"> <child name="dynamic_rom"/> </service>
<service name="File_system" > <child name="vfs_1"/> </service>
<service name="File_system"> <child name="vfs_1"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
@ -97,7 +95,7 @@
<resource name="RAM" quantum="2M"/>
<provides><service name="ROM"/></provides>
<route>
<service name="File_system" > <child name="vfs_2"/> </service>
<service name="File_system"> <child name="vfs_2"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="35" />
<log meaning="succeeded">&lt;config iteration="4"/></log>
</events>
<fail after_seconds="35"/>
<succeed>&lt;config iteration="4"/></succeed>
<content>
<rom label="ld.lib.so"/>
@ -73,7 +71,7 @@
</config>
<route>
<service name="ROM" label="dynamic_rom"> <child name="dynamic_rom"/> </service>
<service name="File_system" > <child name="vfs"/> </service>
<service name="File_system"> <child name="vfs"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
@ -82,7 +80,7 @@
<resource name="RAM" quantum="2M"/>
<provides><service name="ROM"/></provides>
<route>
<service name="File_system" > <child name="vfs"/> </service>
<service name="File_system"> <child name="vfs"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="330" />
<log meaning="succeeded">child "test-init" exited with exit value 0</log>
<log meaning="failed">list model not empty at destruction time</log>
</events>
<fail after_seconds="330"/>
<succeed>child "test-init" exited with exit value 0</succeed>
<fail>list model not empty at destruction time</fail>
<content>
<rom label="ld.lib.so"/>
@ -39,7 +37,7 @@
<provides> <service name="ROM"/> <service name="Report"/> </provides>
<config verbose="no">
<policy label="init -> config" report="test-init -> init.config"/>
<policy label="test-init -> state" report="init -> state"/>
<policy label="test-init -> state" report="init -> state"/>
</config>
</start>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="120" />
<log meaning="succeeded">child "test-init_loop" exited with exit value 0</log>
<log meaning="failed" >test-init_loop] Error: </log>
</events>
<fail after_seconds="120"/>
<succeed>child "test-init_loop" exited with exit value 0</succeed>
<fail>test-init_loop] Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -33,7 +31,7 @@
<resource name="RAM" quantum="2M"/>
<provides> <service name="ROM"/> <service name="Report"/> </provides>
<config verbose="no">
<policy label="init -> config" report="test-init_loop -> init.config"/>
<policy label="init -> config" report="test-init_loop -> init.config"/>
<policy label="test-init_loop -> state" report="init -> state"/>
</config>
<route> <any-service> <parent/> </any-service> </route>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "block_tester" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "block_tester" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -39,7 +37,7 @@
</start>
<start name="block_tester">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="256K" size="4K" io_buffer="128K" batch="4"/>
@ -47,7 +45,7 @@
</tests>
</config>
<route>
<any-service> <child name="lx_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="lx_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
</config>

View File

@ -1,10 +1,8 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "test-nic_loopback" exited with exit value 0</log>
<log meaning="failed" >Error: </log>
</events>
<fail after_seconds="20"/>
<succeed>child "test-nic_loopback" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,12 +2,10 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="60" />
<log meaning="succeeded">
<fail after_seconds="60"/>
<succeed>
[init] child "nic_perf_tx" exited with exit value 0
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,12 +2,10 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="60" />
<log meaning="succeeded">
<fail after_seconds="60"/>
<succeed>
[init] child "nic_perf_tx" exited with exit value 0
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,13 +2,11 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="70" />
<log meaning="succeeded">
<fail after_seconds="70"/>
<succeed>
child "test-part*" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -47,8 +45,8 @@
</config>
</start>
<start name="part_block">
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<resource name="RAM" quantum="10M"/>
<provides><service name="Block"/></provides>
<route>
<any-service><child name="vfs_block"/> <parent/><any-child/></any-service>
</route>
@ -62,19 +60,19 @@
<service name="Report"/>
<service name="ROM"/>
</provides>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="yes"/>
</start>
<start name="test-part1">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="256K" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
</config>

View File

@ -2,13 +2,11 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="70" />
<log meaning="succeeded">
<fail after_seconds="70"/>
<succeed>
child "test-part*" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -47,8 +45,8 @@
</config>
</start>
<start name="part_block">
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<resource name="RAM" quantum="10M"/>
<provides><service name="Block"/></provides>
<route>
<any-service><child name="vfs_block"/> <parent/><any-child/></any-service>
</route>
@ -62,19 +60,19 @@
<service name="Report"/>
<service name="ROM"/>
</provides>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="yes"/>
</start>
<start name="test-part0">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="1M" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
</config>

View File

@ -2,14 +2,12 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="70" />
<log meaning="succeeded">
<fail after_seconds="70"/>
<succeed>
child "test-part*" exited with exit value 0*
child "test-part*" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -48,8 +46,8 @@
</config>
</start>
<start name="part_block">
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<resource name="RAM" quantum="10M"/>
<provides><service name="Block"/></provides>
<route>
<any-service><child name="vfs_block"/> <parent/><any-child/></any-service>
</route>
@ -64,31 +62,31 @@
<service name="Report"/>
<service name="ROM"/>
</provides>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="yes"/>
</start>
<start name="test-part1">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="32K" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="test-part2">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="256K" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
</config>

View File

@ -2,15 +2,13 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="70" />
<log meaning="succeeded">
<fail after_seconds="70"/>
<succeed>
child "test-part*" exited with exit value 0*
child "test-part*" exited with exit value 0*
child "test-part*" exited with exit value 0
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -49,8 +47,8 @@
</config>
</start>
<start name="part_block">
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<resource name="RAM" quantum="10M"/>
<provides><service name="Block"/></provides>
<route>
<any-service><child name="vfs_block"/> <parent/><any-child/></any-service>
</route>
@ -66,43 +64,43 @@
<service name="Report"/>
<service name="ROM"/>
</provides>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="yes"/>
</start>
<start name="test-part1">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="32K" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="test-part2">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="256K" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="test-part3">
<binary name="block_tester"/>
<resource name="RAM" quantum="5M" />
<resource name="RAM" quantum="5M"/>
<config verbose="no" log="yes" stop_on_error="no">
<tests>
<sequential length="128K" size="1K" io_buffer="128K" batch="4"/>
</tests>
</config>
<route>
<any-service> <child name="part_block" /> <parent/> <any-child/> </any-service>
<any-service> <child name="part_block"/> <parent/> <any-child/> </any-service>
</route>
</start>
</config>

View File

@ -1,8 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> test-ram_fs_chunk] --- RAM filesystem chunk test ---
[init -> test-ram_fs_chunk] chunk sizes
[init -> test-ram_fs_chunk] level 0: payload=120 *
@ -45,8 +44,7 @@
[init -> test-ram_fs_chunk] trunc(1) -> content (size=1): "f"
[init -> test-ram_fs_chunk] allocator: sum=0
[init -> test-ram_fs_chunk] --- RAM filesystem chunk test finished ---
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -1,9 +1,7 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="succeeded" sec="20" />
<log meaning="failed">ROM dataspace modified</log>
</events>
<succeed after_seconds="20"/>
<fail>ROM dataspace modified</fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="failed">exited with exit value -1</log>
<log meaning="succeeded">
<fail after_seconds="30"/>
<fail>exited with exit value -1</fail>
<succeed>
[init -> test-report_rom] --- test-report_rom started ---
[init -> test-report_rom] Reporter: open session
[init -> test-report_rom] Reporter: brightness 10
@ -30,8 +29,7 @@
[init -> test-report_rom] ROM client: caught Service_denied - OK
[init -> test-report_rom] --- test-report_rom finished ---
[init] child "test-report_rom" exited with exit value 0
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>
@ -59,8 +57,7 @@
<resource name="RAM" quantum="2M"/>
<provides> <service name="ROM"/> <service name="Report"/> </provides>
<config>
<policy label_prefix="test-report_rom ->" label_suffix="brightness"
report="test-report_rom -> brightness"/>
<policy label_prefix="test-report_rom ->" label_suffix="brightness" report="test-report_rom -> brightness"/>
</config>
</start>
<start name="test-report_rom">

View File

@ -1,9 +1,7 @@
<runtime ram="64M" caps="7000" binary="init">
<events>
<timeout meaning="failed" sec="40" />
<log meaning="succeeded">child "test-resource_request" exited with exit value 0</log>
</events>
<fail after_seconds="40"/>
<succeed>child "test-resource_request" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">--- test-resource_yield finished ---</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>--- test-resource_yield finished ---</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,9 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> rom_logger] ROM 'generated':
[init -> rom_logger] &lt;config color="transparent">&lt;!-- ... fallback ... -->&lt;/config>*
[init -> rom_logger] ROM 'generated':
@ -14,9 +13,8 @@
[init -> rom_logger] ROM 'generated':
[init -> rom_logger] &lt;config message="system locked" color="transparent">&lt;!-- ... fallback ... -->&lt;/config>*
[init -> dynamic_rom] xray: change (finished)
</log>
<log meaning="failed">Error: </log>
</events>
</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -48,17 +46,17 @@
<provides><service name="ROM"/></provides>
<config verbose="yes">
<rom name="xray">
<sleep milliseconds="1000" />
<sleep milliseconds="1000"/>
<inline description="disable X-ray mode">
<xray enabled="no"/>
</inline>
<sleep milliseconds="1000" />
<sleep milliseconds="1000"/>
<inline description="enable X-ray mode">
<xray enabled="yes">
<style color="yellow"/>
</xray>
</inline>
<sleep milliseconds="1000" />
<sleep milliseconds="1000"/>
<inline description="leave X-ray mode undefined">
<xray> <!-- undefined -->
<details>
@ -67,7 +65,7 @@
</details>
</xray>
</inline>
<sleep milliseconds="1000" />
<sleep milliseconds="1000"/>
<inline description="finished"/>
</rom>
</config>
@ -79,29 +77,29 @@
<config verbose="no">
<input name="xray_enabled" rom="xray" node="xray">
<attribute name="enabled" />
<attribute name="enabled"/>
</input>
<!-- test fallback to default value -->
<input name="color" rom="xray" node="xray" default="transparent">
<node type="style">
<attribute name="color" />
<attribute name="color"/>
</node>
</input>
<input name="diagnostic_message" rom="xray" node="xray">
<node type="details">
<node type="message" attribute="reason" value="no access">
<attribute name="text" />
<attribute name="text"/>
</node>
</node>
</input>
<output node="config">
<attribute name="message" input="diagnostic_message"/>
<attribute name="color" input="color"/>
<attribute name="color" input="color"/>
<if>
<has_value input="xray_enabled" value="yes" />
<has_value input="xray_enabled" value="yes"/>
<then>
<inline><!-- xray enabled --></inline>
</then>
@ -120,7 +118,7 @@
<start name="rom_logger">
<resource name="RAM" quantum="1M"/>
<config rom="generated" />
<config rom="generated"/>
<route>
<service name="ROM" label="generated"> <child name="rom_filter"/> </service>
<any-service> <parent/> </any-service>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">--- RTC test finished ---</log>
<log meaning="failed" >Error: </log>
</events>
<fail after_seconds="20"/>
<succeed>--- RTC test finished ---</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<log meaning="succeeded">version="5"</log>
<timeout meaning="failed" sec="10" />
</events>
<succeed>version="5"</succeed>
<fail after_seconds="10"/>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="60" />
<log meaning="succeeded">--- Signalling test finished ---</log>
<log meaning="failed" >Error: </log>
</events>
<fail after_seconds="60"/>
<succeed>--- Signalling test finished ---</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="50" />
<log meaning="succeeded">Test done</log>
</events>
<fail after_seconds="50"/>
<succeed>Test done</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="10" />
<log meaning="succeeded">Test succeeded</log>
</events>
<fail after_seconds="10"/>
<succeed>Test succeeded</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "sequence" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "sequence" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>
@ -39,21 +37,21 @@
<start name="test-trace">
<resource name="RAM" quantum="10M"/>
<config>
<trace_policy label="init -> dynamic -> test-trace -> sequence -> test-trace" thread="test-thread" module="null" />
<trace_policy label="init -> dynamic -> test-trace -> sequence -> test-trace" thread="test-thread" module="null"/>
</config>
</start>
<start name="test-trace">
<resource name="RAM" quantum="10M"/>
<config>
<trace_policy label="init -> dynamic -> test-trace -> top" thread="ep" module="null" />
<trace_policy label="init -> dynamic -> test-trace -> top" thread="ep" module="null"/>
</config>
</start>
<start name="test-trace">
<resource name="RAM" quantum="10M"/>
<config>
<trace_policy label="init -> dynamic -> test-trace -> top" thread="ep" module="null" />
<trace_policy label="init -> dynamic -> test-trace -> top" thread="ep" module="null"/>
</config>
</start>
</config>

View File

@ -1,10 +1,8 @@
<runtime ram="90M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-trace_buffer" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-trace_buffer" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,9 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">
<fail after_seconds="20"/>
<succeed>
[init -> trace_logger] Report *
[init -> trace_logger] PD "init -> dynamic -> test-trace_logger -> cpu_burner.*"*
[init -> trace_logger] Thread "ep" at (0,0) TRACED total:* recent:*
@ -15,8 +14,7 @@
[init -> trace_logger] 100 *
[init -> trace_logger] trigger_once
[init -> trace_logger] trigger_once
</log>
</events>
</succeed>
<content>
<rom label="ld.lib.so"/>
@ -47,28 +45,15 @@
</default-route>
<default caps="100"/>
<start name="trace_logger" >
<start name="trace_logger">
<resource name="RAM" quantum="80M"/>
<config verbose="yes"
session_ram="10M"
session_parent_levels="1"
session_arg_buffer="64K"
period_sec="3"
default_policy="null"
default_buffer="1K">
<config verbose="yes" session_ram="10M" session_parent_levels="1" session_arg_buffer="64K" period_sec="3" default_policy="null" default_buffer="1K">
<policy label_prefix="init -> dynamic -> test-trace_logger -> cpu_burner"
thread="ep"/>
<policy label_prefix="init -> dynamic -> test-trace_logger -> cpu_burner" thread="ep"/>
<policy label="init -> dynamic -> test-trace_logger -> test-trace_logger"
thread="ep"
buffer="4K"
policy="rpc_name"/>
<policy label="init -> dynamic -> test-trace_logger -> test-trace_logger" thread="ep" buffer="4K" policy="rpc_name"/>
<policy label="init -> dynamic -> test-trace_logger -> dynamic_rom"
thread="ep"
buffer="8K"
policy="log_output"/>
<policy label="init -> dynamic -> test-trace_logger -> dynamic_rom" thread="ep" buffer="8K" policy="log_output"/>
</config>
</start>
@ -80,26 +65,26 @@
<inline description="initial state">
<config percent="5"/>
</inline>
<sleep milliseconds="5000" />
<sleep milliseconds="5000"/>
<inline description="50%">
<config percent="50" />
<config percent="50"/>
</inline>
<sleep milliseconds="5000" />
<sleep milliseconds="5000"/>
</rom>
<rom name="cpu_burner2.config">
<inline description="initial state">
<config percent="5"/>
</inline>
<sleep milliseconds="4800" />
<sleep milliseconds="4800"/>
<inline description="100%">
<config percent="70" />
<config percent="70"/>
</inline>
<sleep milliseconds="2700" />
<sleep milliseconds="2700"/>
</rom>
</config>
</start>
<start name="test-trace_logger" >
<start name="test-trace_logger">
<resource name="RAM" quantum="1M"/>
</start>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="30" />
<log meaning="succeeded">child "test-utf8" exited with exit value 0</log>
<log meaning="failed" >Error: </log>
</events>
<fail after_seconds="30"/>
<succeed>child "test-utf8" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="80"/>
<log meaning="succeeded">child "block_tester" exited with exit value 0</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="80"/>
<succeed>child "block_tester" exited with exit value 0</succeed>
<fail>Error: </fail>
<content>
<rom label="block_tester"/>
@ -47,9 +45,7 @@
<zero name="block_file" size="32M"/>
</import>
</vfs>
<policy label_prefix="block_tester"
file="/block_file" block_size="512"
writeable="yes"/>
<policy label_prefix="block_tester" file="/block_file" block_size="512" writeable="yes"/>
</config>
<route>
<any-service> <parent/> </any-service>
@ -60,36 +56,34 @@
<resource name="RAM" quantum="8M"/>
<config verbose="no" report="no" log="yes" stop_on_error="no">
<tests>
<sequential length="30M" size="4K" batch="32"/>
<random length="30M" size="512K" seed="0xc0ffee"/>
<ping_pong length="30M" size="16K"/>
<sequential length="30M" size="4K" batch="32"/>
<random length="30M" size="512K" seed="0xc0ffee"/>
<ping_pong length="30M" size="16K"/>
<sequential length="16M" size="64K" batch="32" write="yes"/>
<replay verbose="no" batch="8">
<request type="read" lba="0" count="1"/>
<request type="read" lba="0" count="1"/>
<request type="write" lba="0" count="1"/>
<request type="read" lba="2048" count="1016"/>
<request type="read" lba="0" count="1"/>
<request type="read" lba="2048" count="1016"/>
<request type="read" lba="0" count="1"/>
<request type="write" lba="0" count="1"/>
<request type="read" lba="2048" count="1016"/>
<request type="read" lba="2048" count="1016"/>
<request type="write" lba="0" count="1"/>
<request type="sync" lba="0" count="1"/>
<request type="sync" lba="0" count="1"/>
<request type="read" lba="4096" count="1"/>
<request type="read" lba="4096" count="1"/>
<request type="write" lba="0" count="1"/>
<request type="read" lba="1024" count="2048"/>
<request type="read" lba="1024" count="2048"/>
<request type="write" lba="4096" count="2048"/>
<request type="write" lba="0" count="1"/>
<request type="write" lba="2048" count="512"/>
<request type="write" lba="5696" count="1"/>
<request type="sync" lba="0" count="1"/>
<request type="sync" lba="0" count="1"/>
</replay>
</tests>
</config>
<route>
<service name="Block"> <child name="vfs_block"/> </service>
<any-service> <parent/> <any-child /> </any-service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "vfs_stress" exited with exit value 0</log>
</events>
<fail after_seconds="20"/>
<succeed>child "vfs_stress" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>

View File

@ -2,10 +2,8 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">child "vfs_stress" exited with exit value 0</log>
</events>
<fail after_seconds="20"/>
<succeed>child "vfs_stress" exited with exit value 0</succeed>
<content>
<rom label="ld.lib.so"/>
@ -14,7 +12,7 @@
</content>
<config>
<affinity-space width="3" height="2" />
<affinity-space width="3" height="2"/>
<parent-provides>
<service name="CPU"/>
<service name="IO_PORT"/>

View File

@ -2,11 +2,9 @@
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">--- finished test-weak_ptr ---</log>
<log meaning="failed">Error: </log>
</events>
<fail after_seconds="20"/>
<succeed>--- finished test-weak_ptr ---</succeed>
<fail>Error: </fail>
<content>
<rom label="ld.lib.so"/>