action #167914
closedcoordination #127031: [saga][epic] openQA for SUSE customers
coordination #165393: [epic] Improved code coverage in openQA
Improved code coverage in openQA in lib/OpenQA/Worker
Description
Motivation¶
To be able to safely improve and extend openQA, we need to have reliable and stable tests with even better code coverage, at least 100% statement coverage. Continue with the path lib/OpenQA/Worker
Acceptance criteria¶
- AC1: codecov.yml ensures 100% statement coverage (with explicit Devel::Cover exceptions allowed) for the path lib/OpenQA/Worker in openQA
Suggestions¶
- Identify areas showing less than 100.00% on https://app.codecov.io/gh/os-autoinst/openQA/tree/master/lib%2FOpenQA%2FWorker and
- Remove dead code
- Add according test coverage
- Add explicit exception statements on unreachable code
- Adjust the threshold in codecov.yml for lib/OpenQA/Worker to keep 100%
- For really uncoverable lines add
# uncoverable statement
Updated by okurz 2 months ago
- Copied from action #165396: Improved code coverage in openQA for unit tests in t/ size:S added
Updated by mkittler 2 months ago
PR (won't cover everything yet): https://github.com/os-autoinst/openQA/pull/6005
Updated by livdywan 2 months ago · Edited
- Status changed from In Progress to Feedback
PR (won't cover everything yet): https://github.com/os-autoinst/openQA/pull/6005
https://app.codecov.io/gh/os-autoinst/openQA/pull/6005/tree/lib/OpenQA/Worker says 100% so good job!
Can you extend codecov.yml to ensure that we keep 100% so that AC1 of https://progress.opensuse.org/issues/167914#Acceptance-criteria is fulfilled?Oh, judging by the ACs that's technically really all I have to do for this ticket. I was actually planning on covering Worker.pm as well. I guess I can adjust the threshold for the directory in either case.
PR merged with a follow-up question. Currently it says
fully_covered:
target: 100.0
paths:
- lib/openQA/Worker`
Is this not enough? 🤔
Updated by mkittler 2 months ago
I created https://github.com/os-autoinst/openQA/pull/6014 to also cover the main worker module. This is technically not required by the ACs but I suppose this ticket really had the whole worker code in mind.