@@ -720,7 +720,7 @@ def test_resolve_priority_no_match(system_info):
720720 event_category = EventCategory .RAS ,
721721 )
722722 rules = [{"event_category" : "SW_DRIVER" , "new_priority" : "WARNING" }]
723- assert analyzer .resolve_priority (regex_obj , rules ) == EventPriority .ERROR
723+ assert analyzer ._resolve_priority (regex_obj , rules ) == EventPriority .ERROR
724724
725725
726726def test_resolve_priority_match_by_category (system_info ):
@@ -732,7 +732,7 @@ def test_resolve_priority_match_by_category(system_info):
732732 event_category = EventCategory .RAS ,
733733 )
734734 rules = [{"event_category" : "RAS" , "new_priority" : "WARNING" }]
735- result = analyzer .resolve_priority (regex_obj , rules )
735+ result = analyzer ._resolve_priority (regex_obj , rules )
736736 assert result == EventPriority .WARNING
737737
738738
@@ -750,7 +750,7 @@ def test_resolve_priority_match_by_message_list(system_info):
750750 "new_priority" : "WARNING" ,
751751 }
752752 ]
753- result = analyzer .resolve_priority (regex_obj , rules )
753+ result = analyzer ._resolve_priority (regex_obj , rules )
754754 assert result == EventPriority .WARNING
755755
756756
@@ -763,7 +763,7 @@ def test_resolve_priority_no_change(system_info):
763763 event_category = EventCategory .RAS ,
764764 )
765765 rules = [{"event_category" : "RAS" , "new_priority" : "NO_CHANGE" }]
766- assert analyzer .resolve_priority (regex_obj , rules ) == EventPriority .ERROR
766+ assert analyzer ._resolve_priority (regex_obj , rules ) == EventPriority .ERROR
767767
768768
769769def test_resolve_priority_first_match_wins (system_info ):
@@ -778,7 +778,7 @@ def test_resolve_priority_first_match_wins(system_info):
778778 {"event_category" : "RAS" , "new_priority" : "WARNING" },
779779 {"event_category" : "RAS" , "new_priority" : "ERROR" },
780780 ]
781- result = analyzer .resolve_priority (regex_obj , rules )
781+ result = analyzer ._resolve_priority (regex_obj , rules )
782782 assert result == EventPriority .WARNING
783783
784784
@@ -794,13 +794,13 @@ def test_resolve_priority_multiple_filter_fields(system_info):
794794 rules = [
795795 {"event_category" : "RAS" , "message" : "GPU reset failed" , "new_priority" : "WARNING" },
796796 ]
797- assert analyzer .resolve_priority (regex_obj , rules ) == EventPriority .WARNING
797+ assert analyzer ._resolve_priority (regex_obj , rules ) == EventPriority .WARNING
798798
799799 # Does NOT match because message differs → returns original priority
800800 rules_mismatch = [
801801 {"event_category" : "RAS" , "message" : "ACA Error" , "new_priority" : "WARNING" },
802802 ]
803- assert analyzer .resolve_priority (regex_obj , rules_mismatch ) == EventPriority .ERROR
803+ assert analyzer ._resolve_priority (regex_obj , rules_mismatch ) == EventPriority .ERROR
804804
805805
806806def test_resolve_priority_match_all_matches_any_regex (system_info ):
@@ -818,7 +818,7 @@ def test_resolve_priority_match_all_matches_any_regex(system_info):
818818 event_category = EventCategory .SW_DRIVER ,
819819 ),
820820 ]:
821- result = analyzer .resolve_priority (
821+ result = analyzer ._resolve_priority (
822822 regex_obj , [{"match_all" : True , "new_priority" : "WARNING" }]
823823 )
824824 assert (
@@ -836,7 +836,7 @@ def test_resolve_priority_match_all_ignores_non_matching_filters(system_info):
836836 )
837837 # event_category is RAS, but filter says SW_DRIVER — would normally NOT match.
838838 # match_all=True should bypass this check and still apply the rule.
839- result = analyzer .resolve_priority (
839+ result = analyzer ._resolve_priority (
840840 regex_obj ,
841841 [{"match_all" : True , "event_category" : "SW_DRIVER" , "new_priority" : "WARNING" }],
842842 )
@@ -852,14 +852,14 @@ def test_resolve_priority_match_all_false_still_filters(system_info):
852852 event_category = EventCategory .RAS ,
853853 )
854854 # match_all=False with a non-matching filter → returns original priority
855- result = analyzer .resolve_priority (
855+ result = analyzer ._resolve_priority (
856856 regex_obj ,
857857 [{"match_all" : False , "event_category" : "SW_DRIVER" , "new_priority" : "WARNING" }],
858858 )
859859 assert result == EventPriority .ERROR
860860
861861 # match_all=False with a matching filter → should match
862- result = analyzer .resolve_priority (
862+ result = analyzer ._resolve_priority (
863863 regex_obj ,
864864 [{"match_all" : False , "event_category" : "RAS" , "new_priority" : "WARNING" }],
865865 )
@@ -953,3 +953,24 @@ def test_custom_regex_with_multiline_pattern(system_info):
953953 assert len (res .events ) >= 1
954954 start_events = [e for e in res .events if e .description == "Start Error Block" ]
955955 assert len (start_events ) == 1
956+
957+
958+ def test_priority_override_updates_unkown_dmesg_error (system_info ):
959+ """Updating an 'Unknown dmesg error', which is added after the base ErrorRegex list, successfully changes its priority"""
960+ dmesg_data = DmesgData (
961+ dmesg_content = ("kern :err : 2024-10-07T10:17:15,145363-04:00 UNKOWN DMESG ERROR" )
962+ )
963+
964+ analyzer = DmesgAnalyzer (system_info = system_info )
965+ res = analyzer .analyze_data (
966+ dmesg_data ,
967+ args = DmesgAnalyzerArgs (
968+ check_unknown_dmesg_errors = True ,
969+ priority_override_rules = [
970+ {"message" : "Unknown dmesg error" , "new_priority" : "ERROR" },
971+ ],
972+ ),
973+ )
974+
975+ assert len (res .events ) == 1
976+ assert res .events [0 ].priority == EventPriority .ERROR
0 commit comments