Skip to content

Commit 6fd130c

Browse files
fix: hardwareDetails none misc lab (#1688)
Fixes a scenario where misc is defined as None and then the lab is tried to be retrieved from there Closes #1687
1 parent c7d9398 commit 6fd130c

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

backend/kernelCI_app/helpers/hardwareDetails.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -368,8 +368,8 @@ def handle_test_summary(
368368
getattr(task.origins[origin], status) + 1,
369369
)
370370

371-
misc = sanitize_dict(record.get("misc", {}))
372-
lab = misc.get("runtime")
371+
misc = sanitize_dict(record.get("misc")) or {}
372+
lab = misc.get("runtime", UNKNOWN_STRING)
373373
if lab:
374374
if task.labs.get(lab) is None:
375375
task.labs[lab] = StatusCount()
@@ -446,7 +446,9 @@ def handle_build_summary(
446446
getattr(builds_summary.origins[origin], status_key) + 1,
447447
)
448448

449-
if lab := build.misc.get("lab"):
449+
misc = sanitize_dict(build.misc) or {}
450+
lab = misc.get("lab", UNKNOWN_STRING)
451+
if lab:
450452
build_lab_summary = builds_summary.labs.get(lab)
451453
if not build_lab_summary:
452454
build_lab_summary = StatusCount()
@@ -591,7 +593,9 @@ def decide_if_is_build_in_filter(
591593
issue_version=build.issue_version,
592594
incident_test_id=incident_test_id,
593595
build_origin=build.origin,
594-
build_lab=build.misc.get("lab") if build.misc else None,
596+
build_lab=(
597+
build.misc.get("lab", UNKNOWN_STRING) if build.misc else UNKNOWN_STRING
598+
),
595599
)
596600
return (
597601
is_build_not_processed
@@ -637,7 +641,8 @@ def decide_if_is_test_in_filter(
637641
platform = sanitize_dict(record.get("environment_misc", {})).get(
638642
"platform", UNKNOWN_STRING
639643
)
640-
lab = sanitize_dict(record.get("misc", {})).get("runtime")
644+
misc = sanitize_dict(record.get("misc")) or {}
645+
lab = misc.get("runtime", UNKNOWN_STRING)
641646

642647
if test_type == "boot":
643648
test_filter_pass = not instance.filters.is_boot_filtered_out(
@@ -716,9 +721,10 @@ def process_filters(*, instance, record: Dict) -> None:
716721

717722
instance.unfiltered_origins["build"].add(record["build__origin"])
718723

719-
lab = sanitize_dict(record.get("build__misc", {})).get("lab")
720-
if lab:
721-
instance.unfiltered_labs["build"].add(lab)
724+
build_misc = sanitize_dict(record.get("build__misc")) or {}
725+
build_lab = build_misc.get("lab")
726+
if build_lab:
727+
instance.unfiltered_labs["build"].add(build_lab)
722728

723729
if record["id"] is not None:
724730
if is_boot(record["path"]):
@@ -756,9 +762,10 @@ def process_filters(*, instance, record: Dict) -> None:
756762
platform_set.add(test_platform)
757763
origin_set.add(record["test_origin"])
758764

759-
lab = sanitize_dict(record.get("misc", {})).get("runtime")
760-
if lab:
761-
instance.unfiltered_labs[flag_tab].add(lab)
765+
test_misc = sanitize_dict(record.get("misc")) or {}
766+
test_lab = test_misc.get("runtime")
767+
if test_lab:
768+
instance.unfiltered_labs[flag_tab].add(test_lab)
762769

763770

764771
def is_record_tree_selected(*, record, tree: Tree, is_all_selected: bool) -> bool:

0 commit comments

Comments
 (0)