ecos_kernel_test: wait more than once for test_output breakpoint
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1493 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -417,6 +417,9 @@ bool EcosKernelTestExperiment::faultInjection() {
|
|||||||
|
|
||||||
// wait until doing no more test_output
|
// wait until doing no more test_output
|
||||||
while (ev == &func_test_output) {
|
while (ev == &func_test_output) {
|
||||||
|
// re-add this listener
|
||||||
|
simulator.addListener(&func_test_output);
|
||||||
|
|
||||||
// 1st argument of cyg_test_output shows what has happened (FAIL or PASS)
|
// 1st argument of cyg_test_output shows what has happened (FAIL or PASS)
|
||||||
address_t stack_ptr = simulator.getRegisterManager().getStackPointer(); // esp
|
address_t stack_ptr = simulator.getRegisterManager().getStackPointer(); // esp
|
||||||
int32_t cyg_test_output_argument = simulator.getMemoryManager().getByte(stack_ptr + 4); // 1st argument is at esp+4
|
int32_t cyg_test_output_argument = simulator.getMemoryManager().getByte(stack_ptr + 4); // 1st argument is at esp+4
|
||||||
@ -454,8 +457,10 @@ bool EcosKernelTestExperiment::faultInjection() {
|
|||||||
// record ecos_test_result
|
// record ecos_test_result
|
||||||
if ( (ecos_test_passed == true) && (ecos_test_failed == false) ) {
|
if ( (ecos_test_passed == true) && (ecos_test_failed == false) ) {
|
||||||
result->set_ecos_test_result(result->PASS);
|
result->set_ecos_test_result(result->PASS);
|
||||||
|
log << "Ecos Test PASS" << endl;
|
||||||
} else {
|
} else {
|
||||||
result->set_ecos_test_result(result->FAIL);
|
result->set_ecos_test_result(result->FAIL);
|
||||||
|
log << "Ecos Test FAIL" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ev == &func_finish) {
|
if (ev == &func_finish) {
|
||||||
|
|||||||
Reference in New Issue
Block a user