On Sat, 17 May 2025 at 04:17, Rae Moar rmoar@google.com wrote:
Add the test counts to the JSON output from kunit.py. For example:
... "git_branch": "kselftest", "misc": { "tests": 2, "passed": 1. "failed": 1, "crashed": 0, "skipped": 0, "errors": 0, } ...
To output the JSON using the following command: ./tools/testing/kunit/kunit.py run example --json
This has been requested by KUnit users. The counts are in a "misc" field because the JSON output needs to be compliant with the KCIDB submission guide. There are no counts fields but there is a "misc" field in the guide.
Signed-off-by: Rae Moar rmoar@google.com
Thanks! It's very nice to see `"failed": 0`!
Reviewed-by: David Gow davidgow@google.com
Cheers, -- David
tools/testing/kunit/kunit_json.py | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/tools/testing/kunit/kunit_json.py b/tools/testing/kunit/kunit_json.py index 10ff65689dd8..80fa4e354a17 100644 --- a/tools/testing/kunit/kunit_json.py +++ b/tools/testing/kunit/kunit_json.py @@ -39,10 +39,20 @@ def _get_group_json(test: Test, common_fields: JsonObj) -> JsonObj: status = _status_map.get(subtest.status, "FAIL") test_cases.append({"name": subtest.name, "status": status})
test_counts = test.counts
counts_json = {
"tests": test_counts.total(),
"passed": test_counts.passed,
"failed": test_counts.failed,
"crashed": test_counts.crashed,
"skipped": test_counts.skipped,
"errors": test_counts.errors,
} test_group = { "name": test.name, "sub_groups": sub_groups, "test_cases": test_cases,
"misc": counts_json } test_group.update(common_fields) return test_group
base-commit: c2493384e8110d5a4792fff4b9d46e47b78ea10a
2.49.0.1101.gccaa498523-goog