improve error feedback from lockapi to not just have "# Test died: mydie at /usr/lib/os-autoinst/lockapi.pm line 41."
https://openqa.suse.de/tests/4535890#step/rsync_client/10 shows how a test failed with "# Test died: mydie at /usr/lib/os-autoinst/lockapi.pm line 41." which is not that helpful. https://github.com/os-autoinst/os-autoinst/blob/master/lockapi.pm#L41 says
bmwqemu::mydie "$type '$name': lock owner already finished" if $res == 410; but the message does not show up in openQA. The log has:
[2020-08-07T02:54:22.190 UTC] [debug] <<< bmwqemu::mydie(cause_of_death="barrier 'rsync_setup': lock owner already finished") [33m[2020-08-07T02:54:22.324 UTC] [info] ::: basetest::runtest: # Test died: mydie at /usr/lib/os-autoinst/lockapi.pm line 41.
- AC1: The cause of death is also shown on the level of openQA job module details, e.g. the thumbnail popup
- Research why
bmwqemu::mydieis used and not just
diewhich should be properly handled already
- Change implementation to forward the cause_of_death as in case of other failed checks (try first with simple
I'm aware that the error handling of the lock API lacks forwarding the message containing what's actually wrong to the user because I've received complaints about that before. E.g. if one makes a simple mistake like using an invalid character for the lock name it is not obvious at all why it doesn't work.