@@ -477,6 +477,9 @@ def test_create_record_test_platform(
477477
478478 assert result == "hp-x360-14a-cb0001xx-zork"
479479 assert record ["test_platform" ] == "hp-x360-14a-cb0001xx-zork"
480+ assert record ["parsed_environment_misc" ] == {
481+ "platform" : "hp-x360-14a-cb0001xx-zork"
482+ }
480483 mock_handle_env_misc .assert_called_once_with ("{}" )
481484 mock_env_misc_value .assert_called_once_with (
482485 {"platform" : "hp-x360-14a-cb0001xx-zork" }
@@ -486,10 +489,11 @@ def test_create_record_test_platform(
486489class TestHandleTestHistory :
487490 @patch ("kernelCI_app.helpers.hardwareDetails.create_record_test_platform" )
488491 def test_handle_test_history (self , mock_create_platform ):
489- """Test handle_test_history function."""
492+ """Test handle_test_history function with default behavior ."""
490493
491494 def mock_create_platform_side_effect (record ):
492495 record ["test_platform" ] = "x86_64"
496+ record ["parsed_environment_misc" ] = {"platform" : "x86_64" }
493497 return "x86_64"
494498
495499 mock_create_platform .side_effect = mock_create_platform_side_effect
@@ -521,6 +525,96 @@ def mock_create_platform_side_effect(record):
521525 assert task [0 ].environment_misc .platform == "x86_64"
522526 mock_create_platform .assert_called_once_with (record = record )
523527
528+ @patch ("kernelCI_app.helpers.hardwareDetails.create_record_test_platform" )
529+ def test_handle_test_history_full_environment_misc (self , mock_create_platform ):
530+ """Test handle_test_history with full_environment_misc=True includes all fields."""
531+
532+ def mock_create_platform_side_effect (record ):
533+ record ["test_platform" ] = "x86_64"
534+ record ["parsed_environment_misc" ] = {
535+ "platform" : "x86_64" ,
536+ "laa_uid" : "uid-1" ,
537+ "dut_uid" : "dut-1" ,
538+ "device" : "dev-a" ,
539+ }
540+ return "x86_64"
541+
542+ mock_create_platform .side_effect = mock_create_platform_side_effect
543+
544+ record = {
545+ "id" : "test123" ,
546+ "test_origin" : "test" ,
547+ "status" : "PASS" ,
548+ "duration" : 100 ,
549+ "path" : "test.specific" ,
550+ "start_time" : "2024-01-15T10:00:00Z" ,
551+ "environment_compatible" : "x86_64" ,
552+ "build__config_name" : "defconfig" ,
553+ "log_url" : "http://example.com/log" ,
554+ "build__architecture" : "x86_64" ,
555+ "build__compiler" : "gcc" ,
556+ "environment_misc" : "{}" ,
557+ "build__checkout__tree_name" : "mainline" ,
558+ "build__checkout__git_repository_branch" : "master" ,
559+ }
560+
561+ task = []
562+
563+ handle_test_history (record = record , task = task , full_environment_misc = True )
564+
565+ assert len (task ) == 1
566+ assert task [0 ].id == "test123"
567+ assert task [0 ].environment_misc .platform == "x86_64"
568+ assert task [0 ].environment_misc .laa_uid == "uid-1"
569+ assert task [0 ].environment_misc .dut_uid == "dut-1"
570+ assert task [0 ].environment_misc .device == "dev-a"
571+ mock_create_platform .assert_called_once_with (record = record )
572+
573+ @patch ("kernelCI_app.helpers.hardwareDetails.create_record_test_platform" )
574+ def test_handle_test_history_default_no_extra_fields (self , mock_create_platform ):
575+ """Test handle_test_history with full_environment_misc=False only includes platform."""
576+
577+ def mock_create_platform_side_effect (record ):
578+ record ["test_platform" ] = "x86_64"
579+ record ["parsed_environment_misc" ] = {
580+ "platform" : "x86_64" ,
581+ "laa_uid" : "uid-1" ,
582+ "dut_uid" : "dut-1" ,
583+ "device" : "dev-a" ,
584+ }
585+ return "x86_64"
586+
587+ mock_create_platform .side_effect = mock_create_platform_side_effect
588+
589+ record = {
590+ "id" : "test123" ,
591+ "test_origin" : "test" ,
592+ "status" : "PASS" ,
593+ "duration" : 100 ,
594+ "path" : "test.specific" ,
595+ "start_time" : "2024-01-15T10:00:00Z" ,
596+ "environment_compatible" : "x86_64" ,
597+ "build__config_name" : "defconfig" ,
598+ "log_url" : "http://example.com/log" ,
599+ "build__architecture" : "x86_64" ,
600+ "build__compiler" : "gcc" ,
601+ "environment_misc" : "{}" ,
602+ "build__checkout__tree_name" : "mainline" ,
603+ "build__checkout__git_repository_branch" : "master" ,
604+ }
605+
606+ task = []
607+
608+ # Default behavior (full_environment_misc=False or omitted)
609+ handle_test_history (record = record , task = task , full_environment_misc = False )
610+
611+ assert len (task ) == 1
612+ assert task [0 ].id == "test123"
613+ assert task [0 ].environment_misc .platform == "x86_64"
614+ # Verify extra fields are NOT present when flag is False
615+ assert not hasattr (task [0 ].environment_misc , "laa_uid" )
616+ mock_create_platform .assert_called_once_with (record = record )
617+
524618
525619class TestHandleTestSummary :
526620 @patch ("kernelCI_app.helpers.hardwareDetails.process_issue" )
0 commit comments