@@ -269,12 +269,14 @@ SCENARIO("path strategies")
269269
270270void symex_eventt::validate_result (
271271 listt &events,
272- const safety_checkert::resultt result)
272+ const safety_checkert::resultt result,
273+ std::size_t &counter)
273274{
274275 INFO (
275276 " Expecting result to be '"
276277 << (result == safety_checkert::resultt::SAFE ? " success" : " failure" )
277- << " '" );
278+ << " ' (item at index [" << counter << " ] in expected results list" );
279+ ++counter;
278280
279281 REQUIRE (result != safety_checkert::resultt::ERROR);
280282
@@ -294,25 +296,33 @@ void symex_eventt::validate_result(
294296
295297void symex_eventt::validate_resume (
296298 listt &events,
297- const goto_symex_statet &state)
299+ const goto_symex_statet &state,
300+ std::size_t &counter)
298301{
299302 REQUIRE (!events.empty ());
300303
301304 int dst = std::stoi (state.saved_target ->source_location .get_line ().c_str ());
302305
303306 if (state.has_saved_jump_target )
304307 {
305- INFO (" Expecting resume to be 'jump' to line " << dst);
308+ INFO (
309+ " Expecting resume to be 'jump' to line "
310+ << dst << " (item at index [" << counter
311+ << " ] in expected resumes list)" );
306312 REQUIRE (events.front ().first == symex_eventt::enumt::JUMP);
307313 }
308314 else if (state.has_saved_next_instruction )
309315 {
310- INFO (" Expecting resume to be 'next' to line " << dst);
316+ INFO (
317+ " Expecting resume to be 'next' to line "
318+ << dst << " (item at index [" << counter
319+ << " ] in expected resumes list)" );
311320 REQUIRE (events.front ().first == symex_eventt::enumt::NEXT);
312321 }
313322 else
314323 REQUIRE (false );
315324
325+ ++counter;
316326 REQUIRE (events.front ().second == dst);
317327
318328 events.pop_front ();
@@ -369,7 +379,9 @@ void _check_with_strategy(
369379
370380 bmct bmc (opts, gm.get_symbol_table (), mh, pc, *worklist, callback);
371381 safety_checkert::resultt result = bmc.run (gm);
372- symex_eventt::validate_result (events, result);
382+
383+ std::size_t expected_results_cnt = 0 ;
384+ symex_eventt::validate_result (events, result, expected_results_cnt);
373385
374386 if (
375387 result == safety_checkert::resultt::UNSAFE &&
@@ -385,7 +397,7 @@ void _check_with_strategy(
385397 prop_convt &pc = cbmc_solver->prop_conv ();
386398 path_storaget::patht &resume = worklist->peek ();
387399
388- symex_eventt::validate_resume (events, resume.state );
400+ symex_eventt::validate_resume (events, resume.state , expected_results_cnt );
389401
390402 path_explorert pe (
391403 opts,
@@ -398,7 +410,7 @@ void _check_with_strategy(
398410 callback);
399411 result = pe.run (gm);
400412
401- symex_eventt::validate_result (events, result);
413+ symex_eventt::validate_result (events, result, expected_results_cnt );
402414 worklist->pop ();
403415
404416 if (
0 commit comments