atf
atf copied to clipboard
analyzer: reindex bag files if needed
sometimes tests are aborted (e.g. due to time limit), this results in unindexed bag files altought there is (partially) usefull data recorded. The analyzer skips this bag files and adds no result to all the testblocks, athough some testblocks finished successfully.
if reindexing the bag file and the running the analyzer will result in successfull testblocks and partially executed testblocks, see
name: "ts0_c1_r0_e0_s0_0"
robot: "diff"
env: "office"
test_config: "dwa_local_planner"
testblockset: "testblockset1"
groundtruth_result: False
groundtruth_error_message: "\n - testblock 'testblock_rooms': \n - metric 'tf_length_translation': no result\n\
\ - metric 'tf_length_rotation': no result\n - metric 'time': no result\n\
\ - testblock 'testblock_all': \n - metric 'tf_length_translation': no result\n\
\ - metric 'interface': no result\n - metric 'tf_length_rotation': no result\n\
\ - metric 'time': no result"
results:
-
name: "testblock_rooms"
groundtruth_result: False
groundtruth_error_message: "\n - metric 'tf_length_translation': no result\n - metric 'tf_length_rotation':\
\ no result\n - metric 'time': no result"
results:
-
name: "tf_length_translation"
started: True
finished: False
data: None
groundtruth_result: False
groundtruth_error_message: "no result"
groundtruth: 50
groundtruth_epsilon: 49
details: []
-
name: "tf_length_rotation"
started: True
finished: False
data: None
groundtruth_result: False
groundtruth_error_message: "no result"
groundtruth: 50
groundtruth_epsilon: 49
details: []
For the partially executed testblocks it's ok to have data: None but the error message should be no result (did not finish testblock) to indicate.
wrongly closed bags sounds a lot like what we have had during the woz tests....there was an easy work-around for that...I'll try to find the fix in the woz repo...
:point_right: https://github.com/mojin-robotics/woz/commit/bb8ddfeb3c36a952eff7456a0dcac1b1a7b54155 does this help?
mojin-robotics/woz@bb8ddfe does this help? unfortunatelly not. The bags are not closed correctly because we hit the time limit for a rostest, e.g. due to the robot being stuck somewhere and the test does not succeed to the end, and thus the rosbag cannot be closed (this is handled within the rostest framework like a CTRL-C)
This should clearly be a failed test (because robot could not finish) but we can still evaluate the metrics (path_length, time, etc) until the shutdown of the test which might give insights what has happened.
So the solution is that we rosbag reindex the broken bag files and pass the fixed bag files to the analyzer.