Closed Hook25 closed 1 month ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 47.78%. Comparing base (
b6d5bfa
) to head (a8a7abe
). Report is 3 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Description
When validating units, Checkbox tries to parse fields to see if there are any errors with them. Turns out that if a field contains an un-terminated string
"...
, that will cause the parser to always loop forever or crash with an assertion error. This was affecting a test run today due to a non-sluggified name getting templated into a job. This manifested itself as an infinited crash-restore loop due to also an un-related error (if the session gets stuck on an infinite loop, the controller tries to reconnect eventually, Checkbox refuses to "recover" during bootstrapping, restarting the session)Resolved issues
Fixes: https://warthogs.atlassian.net/browse/CHECKBOX-1622
Documentation
This also documents how the parser works because it is quite something
Tests
This also adds the tests I used to reproduce the issue