Skip to content

chore(deps)(deps): Bump the client-dependencies group across 1 directory with 15 updates - #180

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/client/client-dependencies-b663796e37
Open

chore(deps)(deps): Bump the client-dependencies group across 1 directory with 15 updates#180
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/client/client-dependencies-b663796e37

chore(deps)(deps): Bump the client-dependencies group across 1 direct…

8737102
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Test Results succeeded Mar 2, 2026 in 1s

1003 passed, 59 failed and 16 skipped

Tests failed

Report Passed Failed Skipped Time
test-artifacts/test-results-api/test-results-api.xml 89✅ 59❌ 3⚪ 21s
test-artifacts/test-results-integration/test-results-integration.xml 6✅ 7⚪ 3s
test-artifacts/test-results-unit-3.10/test-results-3.10.xml 454✅ 3⚪ 63s
test-artifacts/test-results-unit-3.11/test-results-3.11.xml 454✅ 3⚪ 58s

❌ test-artifacts/test-results-api/test-results-api.xml

151 tests were completed in 21s with 89 passed, 59 failed and 3 skipped.

Test suite Passed Failed Skipped Time
pytest 89✅ 59❌ 3⚪ 21s

❌ pytest

tests.api.test_acquisition_api.TestAcquisitionSession
  ✅ test_create_acquisition_session_success
  ✅ test_create_acquisition_session_invalid_equipment
  ✅ test_start_acquisition_session
  ✅ test_stop_acquisition_session
  ✅ test_get_acquisition_session_info
  ✅ test_list_acquisition_sessions
  ✅ test_delete_acquisition_session
tests.api.test_acquisition_api.TestAcquisitionData
  ✅ test_get_acquisition_data
  ✅ test_get_acquisition_statistics
  ✅ test_export_acquisition_data
tests.api.test_acquisition_api.TestAcquisitionModes
  ✅ test_continuous_acquisition_mode
  ✅ test_triggered_acquisition_mode
  ✅ test_burst_acquisition_mode
tests.api.test_acquisition_api.TestAcquisitionSynchronization
  ✅ test_create_synchronized_acquisition
  ✅ test_start_synchronized_acquisition
tests.api.test_acquisition_api.TestAcquisitionWorkflow
  ⚪ test_complete_acquisition_workflow
  ✅ test_multiple_concurrent_sessions
tests.api.test_acquisition_api.TestAcquisitionBuffering
  ✅ test_get_buffered_data
  ✅ test_clear_buffer
  ✅ test_set_buffer_size
tests.api.test_alarms_scheduler_api.TestAlarmManagement
  ✅ test_create_alarm_success
  ✅ test_create_alarm_invalid_equipment
  ✅ test_get_alarm_info
  ✅ test_list_alarms
  ✅ test_update_alarm
  ✅ test_delete_alarm
tests.api.test_alarms_scheduler_api.TestAlarmTriggering
  ✅ test_acknowledge_alarm
  ✅ test_get_triggered_alarms
  ✅ test_get_alarm_history
tests.api.test_alarms_scheduler_api.TestAlarmNotifications
  ✅ test_configure_alarm_notifications
  ✅ test_test_alarm_notification
tests.api.test_alarms_scheduler_api.TestSchedulerJobManagement
  ✅ test_create_job_success
  ✅ test_create_job_invalid_cron
  ✅ test_get_job_info
  ✅ test_list_jobs
  ✅ test_update_job
  ✅ test_delete_job
tests.api.test_alarms_scheduler_api.TestSchedulerJobControl
  ✅ test_pause_job
  ✅ test_resume_job
  ✅ test_trigger_job_manually
tests.api.test_alarms_scheduler_api.TestSchedulerJobHistory
  ✅ test_get_job_execution_history
  ✅ test_get_recent_executions
  ✅ test_get_failed_executions
tests.api.test_alarms_scheduler_api.TestAlarmSchedulerIntegration
  ⚪ test_scheduled_alarm_check
tests.api.test_alarms_scheduler_api.TestSchedulerJobTypes
  ✅ test_create_cron_job
  ✅ test_create_interval_job
  ✅ test_create_one_time_job
tests.api.test_alarms_scheduler_api.TestCompleteWorkflows
  ❌ test_alarm_creation_and_monitoring_workflow
	tests/api/test_alarms_scheduler_api.py:494: in test_alarm_creation_and_monitoring_workflow
  ⚪ test_scheduler_job_lifecycle
tests.api.test_diagnostics_api.TestHealthMonitoring
  ✅ test_get_equipment_health_success
  ❌ test_get_equipment_health_error
	tests/api/test_diagnostics_api.py:213: in test_get_equipment_health_error
  ✅ test_get_all_equipment_health_success
  ❌ test_get_cached_health_success
	tests/api/test_diagnostics_api.py:233: in test_get_cached_health_success
  ❌ test_get_cached_health_not_found
	tests/api/test_diagnostics_api.py:249: in test_get_cached_health_not_found
tests.api.test_diagnostics_api.TestConnectionDiagnostics
  ❌ test_check_connection_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_check_connection_error
	tests/api/test_diagnostics_api.py:285: in test_check_connection_error
tests.api.test_diagnostics_api.TestCommunicationDiagnostics
  ❌ test_get_communication_diagnostics_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_get_communication_diagnostics_error
	tests/api/test_diagnostics_api.py:319: in test_get_communication_diagnostics_error
tests.api.test_diagnostics_api.TestPerformanceBenchmarking
  ❌ test_run_benchmark_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_run_benchmark_equipment_not_found
	tests/api/test_diagnostics_api.py:353: in test_run_benchmark_equipment_not_found
  ❌ test_run_benchmark_error
	tests/api/test_diagnostics_api.py:363: in test_run_benchmark_error
  ❌ test_get_benchmark_history_success
	tests/api/test_diagnostics_api.py:372: in test_get_benchmark_history_success
  ❌ test_get_benchmark_history_with_limit
	tests/api/test_diagnostics_api.py:388: in test_get_benchmark_history_with_limit
  ✅ test_get_benchmark_history_error
tests.api.test_diagnostics_api.TestDiagnosticReports
  ✅ test_generate_diagnostic_report_success
  ❌ test_generate_diagnostic_report_no_params
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ✅ test_generate_diagnostic_report_invalid_category
  ❌ test_generate_diagnostic_report_error
	tests/api/test_diagnostics_api.py:469: in test_generate_diagnostic_report_error
tests.api.test_diagnostics_api.TestSystemDiagnostics
  ❌ test_get_system_diagnostics_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:918: in assert_called_once
  ❌ test_get_system_diagnostics_error
	tests/api/test_diagnostics_api.py:504: in test_get_system_diagnostics_error
tests.api.test_diagnostics_api.TestEnhancedDiagnostics
  ❌ test_check_equipment_temperature_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_check_equipment_temperature_not_supported
	tests/api/test_diagnostics_api.py:540: in test_check_equipment_temperature_not_supported
  ❌ test_check_equipment_temperature_error
	tests/api/test_diagnostics_api.py:550: in test_check_equipment_temperature_error
  ❌ test_check_equipment_errors_no_error
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_check_equipment_errors_with_error
	tests/api/test_diagnostics_api.py:583: in test_check_equipment_errors_with_error
  ❌ test_check_equipment_errors_exception
	tests/api/test_diagnostics_api.py:594: in test_check_equipment_errors_exception
  ❌ test_run_equipment_self_test_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_run_equipment_self_test_failed
	tests/api/test_diagnostics_api.py:628: in test_run_equipment_self_test_failed
  ❌ test_run_equipment_self_test_error
	tests/api/test_diagnostics_api.py:637: in test_run_equipment_self_test_error
  ❌ test_check_calibration_status_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_check_calibration_status_overdue
	tests/api/test_diagnostics_api.py:670: in test_check_calibration_status_overdue
  ❌ test_check_calibration_status_error
	tests/api/test_diagnostics_api.py:680: in test_check_calibration_status_error
  ❌ test_get_comprehensive_diagnostics_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_get_comprehensive_diagnostics_error
	tests/api/test_diagnostics_api.py:707: in test_get_comprehensive_diagnostics_error
tests.api.test_diagnostics_api.TestStatisticsRecording
  ❌ test_record_connection_event_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_record_disconnection_event_without_error
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ❌ test_record_disconnection_event_with_error
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
tests.api.test_diagnostics_api.TestDiagnosticsIntegration
  ❌ test_full_health_check_workflow
	tests/api/test_diagnostics_api.py:773: in test_full_health_check_workflow
  ❌ test_benchmark_workflow
	tests/api/test_diagnostics_api.py:795: in test_benchmark_workflow
  ✅ test_enhanced_diagnostics_workflow
  ✅ test_system_overview_workflow
tests.api.test_equipment_api.TestEquipmentDiscovery
  ❌ test_discover_devices_success
	tests/api/test_equipment_api.py:27: in test_discover_devices_success
  ❌ test_discover_devices_empty
	tests/api/test_equipment_api.py:46: in test_discover_devices_empty
  ✅ test_discover_devices_error
tests.api.test_equipment_api.TestEquipmentConnection
  ✅ test_connect_device_success
  ✅ test_connect_device_invalid_resource
  ✅ test_connect_device_already_connected
  ❌ test_disconnect_device_success
	/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
  ✅ test_disconnect_device_not_found
tests.api.test_equipment_api.TestEquipmentList
  ❌ test_list_devices_empty
	tests/api/test_equipment_api.py:169: in test_list_devices_empty
  ❌ test_list_devices_with_equipment
	tests/api/test_equipment_api.py:183: in test_list_devices_with_equipment
  ✅ test_list_devices_error
tests.api.test_equipment_api.TestEquipmentInfo
  ❌ test_get_equipment_info_success
	tests/api/conftest.py:55: in mock_equipment
  ✅ test_get_equipment_info_not_found
tests.api.test_equipment_api.TestEquipmentControl
  ❌ test_send_command_success
	tests/api/conftest.py:55: in mock_equipment
  ❌ test_send_command_device_not_found
	tests/api/test_equipment_api.py:293: in test_send_command_device_not_found
tests.api.test_equipment_api.TestEquipmentWorkflow
  ❌ test_discover_connect_disconnect_workflow
	tests/api/test_equipment_api.py:309: in test_discover_connect_disconnect_workflow
tests.api.test_safety_api.TestEmergencyStop
  ✅ test_activate_emergency_stop_success
  ❌ test_activate_emergency_stop_with_multiple_equipment
	tests/api/test_safety_api.py:78: in test_activate_emergency_stop_with_multiple_equipment
  ✅ test_activate_emergency_stop_with_equipment_error
  ✅ test_activate_emergency_stop_no_equipment
tests.api.test_safety_api.TestEmergencyStopDeactivation
  ✅ test_deactivate_emergency_stop_success
  ✅ test_deactivate_when_not_active
tests.api.test_safety_api.TestSafetyStatus
  ✅ test_get_safety_status_normal
  ✅ test_get_safety_status_emergency_active
tests.api.test_safety_api.TestSafetyLimits
  ✅ test_set_safety_limit_success
  ✅ test_get_safety_limits
  ✅ test_delete_safety_limit
tests.api.test_safety_api.TestEmergencyStopWorkflow
  ✅ test_complete_emergency_stop_workflow
  ✅ test_emergency_stop_persists_across_requests
tests.api.test_safety_api.TestSafetyInterlocks
  ✅ test_create_interlock
  ✅ test_list_interlocks
  ✅ test_delete_interlock
tests.api.test_security_api.TestAuthentication
  ❌ test_login_success
	tests/api/test_security_api.py:34: in test_login_success
  ❌ test_login_invalid_credentials
	tests/api/test_security_api.py:55: in test_login_invalid_credentials
  ❌ test_login_inactive_user
	tests/api/test_security_api.py:76: in test_login_inactive_user
  ✅ test_logout
  ❌ test_refresh_token
	tests/api/test_security_api.py:106: in test_refresh_token
tests.api.test_security_api.TestUserManagement
  ❌ test_create_user_success
	tests/api/test_security_api.py:138: in test_create_user_success
  ❌ test_create_user_duplicate_username
	tests/api/test_security_api.py:159: in test_create_user_duplicate_username
  ❌ test_get_user_info
	tests/api/test_security_api.py:178: in test_get_user_info
  ❌ test_update_user
	tests/api/test_security_api.py:202: in test_update_user
  ❌ test_delete_user
	tests/api/test_security_api.py:219: in test_delete_user
  ❌ test_list_users
	tests/api/test_security_api.py:235: in test_list_users
tests.api.test_security_api.TestRoleBasedAccessControl
  ✅ test_create_role
  ✅ test_assign_role_to_user
  ✅ test_remove_role_from_user
  ❌ test_check_permission
	tests/api/test_security_api.py:305: in test_check_permission
tests.api.test_security_api.TestAPIKeys
  ✅ test_create_api_key
  ✅ test_list_api_keys
  ✅ test_revoke_api_key
tests.api.test_security_api.TestAuditLog
  ✅ test_get_audit_logs
  ✅ test_get_audit_logs_filtered
tests.api.test_security_api.TestMultiFactorAuthentication
  ✅ test_enable_mfa
  ✅ test_verify_mfa_code
  ✅ test_disable_mfa
tests.api.test_security_api.TestSecurityWorkflow
  ❌ test_complete_user_lifecycle
	tests/api/test_security_api.py:425: in test_complete_user_lifecycle
  ❌ test_authentication_authorization_workflow
	tests/api/test_security_api.py:468: in test_authentication_authorization_workflow
tests.api.test_security_api.TestPasswordManagement
  ✅ test_change_password
  ✅ test_reset_password_request
  ✅ test_reset_password

✅ test-artifacts/test-results-integration/test-results-integration.xml

13 tests were completed in 3s with 6 passed, 0 failed and 7 skipped.

Test suite Passed Failed Skipped Time
pytest 6✅ 7⚪ 3s

✅ pytest

tests.integration.test_client
  ⚪ test_server
  ⚪ test_connect_device
tests.integration.test_client_server.TestClientServerIntegration
  ⚪ test_server_health
  ⚪ test_server_info
  ⚪ test_equipment_list
  ⚪ test_discovery
  ⚪ test_client_connection
tests.integration.test_client_server.TestMockEquipmentIntegration
  ✅ test_mock_scope_basic_operations
  ✅ test_mock_psu_basic_operations
  ✅ test_mock_load_basic_operations
  ✅ test_mock_scope_streaming
  ✅ test_mock_psu_mode_switching
  ✅ test_mock_load_mode_changes

✅ test-artifacts/test-results-unit-3.10/test-results-3.10.xml

457 tests were completed in 63s with 454 passed, 0 failed and 3 skipped.

Test suite Passed Failed Skipped Time
pytest 454✅ 3⚪ 63s

✅ pytest

tests.unit.demo_test
  ✅ test_api_structure
  ✅ test_client_structure
  ✅ test_model_imports
  ✅ test_api_client_methods
  ✅ test_endpoint_count
tests.unit.test_acquisition_synchronization.TestSyncState
  ✅ test_sync_state_values
  ✅ test_sync_state_membership
tests.unit.test_acquisition_synchronization.TestSyncConfig
  ✅ test_sync_config_creation
  ✅ test_sync_config_defaults
  ✅ test_sync_config_custom_values
tests.unit.test_acquisition_synchronization.TestSyncStatus
  ✅ test_sync_status_creation
  ✅ test_sync_status_defaults
tests.unit.test_acquisition_synchronization.TestSynchronizationGroup
  ✅ test_initialization
  ✅ test_auto_select_master
  ✅ test_add_acquisition_success
  ✅ test_add_acquisition_invalid_equipment
  ✅ test_add_acquisition_all_ready
  ✅ test_remove_acquisition
  ✅ test_remove_acquisition_transitions_to_idle
  ✅ test_is_ready_wait_for_all_true
  ✅ test_is_ready_wait_for_all_false
  ✅ test_start_synchronized_success
  ✅ test_start_synchronized_not_ready
  ✅ test_start_synchronized_with_errors
  ✅ test_stop_synchronized
  ✅ test_stop_synchronized_invalid_state
  ✅ test_pause_synchronized
  ✅ test_pause_synchronized_invalid_state
  ✅ test_resume_synchronized
  ✅ test_resume_synchronized_invalid_state
  ✅ test_get_status
  ✅ test_get_synchronized_data_without_alignment
  ✅ test_get_synchronized_data_with_alignment
tests.unit.test_acquisition_synchronization.TestSynchronizationManager
  ✅ test_initialization
  ✅ test_create_sync_group
  ✅ test_create_sync_group_duplicate_id
  ✅ test_get_sync_group
  ✅ test_get_sync_group_not_found
  ✅ test_delete_sync_group_success
  ✅ test_delete_sync_group_not_found
  ✅ test_delete_sync_group_active_state
  ✅ test_delete_sync_group_allowed_states
  ✅ test_list_sync_groups
  ✅ test_list_sync_groups_empty
  ✅ test_get_group_status
  ✅ test_get_group_status_not_found
tests.unit.test_advanced_analysis.TestAdvancedWaveformAnalyzerInit
  ✅ test_analyzer_initialization
tests.unit.test_advanced_analysis.TestSpectralAnalysis
  ✅ test_calculate_spectrogram_basic
  ✅ test_spectrogram_different_modes
  ✅ test_spectrogram_frequency_limits
  ✅ test_spectrogram_window_size_validation
  ✅ test_calculate_cross_correlation
  ✅ test_cross_correlation_identical_signals
  ✅ test_cross_correlation_uncorrelated_signals
  ✅ test_calculate_transfer_function
  ✅ test_transfer_function_different_lengths
tests.unit.test_advanced_analysis.TestJitterAnalysis
  ✅ test_calculate_jitter_tie
  ✅ test_calculate_jitter_period
  ✅ test_calculate_jitter_cycle_to_cycle
  ✅ test_jitter_automatic_threshold
  ✅ test_jitter_rising_vs_falling_edges
  ✅ test_jitter_insufficient_edges
tests.unit.test_advanced_analysis.TestEyeDiagramAnalysis
  ✅ test_generate_eye_diagram_basic
  ✅ test_eye_diagram_with_noise
  ✅ test_eye_parameters_calculation
tests.unit.test_advanced_analysis.TestMaskTesting
  ✅ test_add_mask_definition
  ✅ test_mask_test_pass
  ✅ test_mask_test_fail
  ✅ test_mask_test_nonexistent_mask
tests.unit.test_advanced_analysis.TestEventSearch
  ✅ test_search_rising_edges
  ✅ test_search_falling_edges
  ✅ test_search_positive_pulses
  ✅ test_search_negative_pulses
  ✅ test_search_runts
  ✅ test_search_glitches
tests.unit.test_advanced_analysis.TestReferenceWaveform
  ✅ test_add_reference_waveform
  ✅ test_compare_to_reference_identical
  ✅ test_compare_to_reference_different
  ✅ test_compare_to_nonexistent_reference
tests.unit.test_advanced_analysis.TestParameterTrending
  ✅ test_update_trend
  ✅ test_get_trend_data
  ✅ test_trend_max_points_limit
  ✅ test_trend_statistics_calculation
  ✅ test_get_nonexistent_trend
tests.unit.test_calibration.TestCalibrationEnums
  ✅ test_calibration_status_values
  ✅ test_calibration_type_values
  ✅ test_calibration_result_values
tests.unit.test_calibration.TestCalibrationRecord
  ✅ test_minimal_calibration_record
  ✅ test_calibration_record_with_measurements
  ✅ test_calibration_record_with_standards
  ✅ test_calibration_record_with_environmental_data
  ✅ test_calibration_record_with_adjustments
  ✅ test_calibration_record_json_serialization
tests.unit.test_calibration.TestCalibrationSchedule
  ✅ test_minimal_schedule
  ✅ test_schedule_with_notifications
  ✅ test_schedule_disabled
tests.unit.test_calibration.TestCalibrationManagerInit
  ✅ test_manager_initialization
  ✅ test_manager_creates_storage_directory
tests.unit.test_calibration.TestCalibrationManagerRecords
  ✅ test_add_calibration_record
  ✅ test_add_multiple_records_same_equipment
  ✅ test_get_calibration_history
  ✅ test_get_calibration_history_with_limit
  ✅ test_get_calibration_history_no_records
  ✅ test_get_latest_calibration
  ✅ test_get_latest_calibration_never_calibrated
  ✅ test_delete_calibration_record
  ✅ test_delete_nonexistent_record
tests.unit.test_calibration.TestCalibrationManagerStatus
  ✅ test_status_current
  ✅ test_status_due_soon
  ✅ test_status_due
  ✅ test_status_overdue
  ✅ test_status_never_calibrated
  ✅ test_is_calibration_current_true
  ✅ test_is_calibration_current_false_overdue
  ✅ test_get_days_until_due_positive
  ✅ test_get_days_until_due_negative
  ✅ test_get_days_until_due_never_calibrated
tests.unit.test_calibration.TestCalibrationManagerSchedule
  ✅ test_set_calibration_schedule
  ✅ test_get_calibration_schedule
  ✅ test_get_nonexistent_schedule
  ✅ test_delete_calibration_schedule
  ✅ test_delete_nonexistent_schedule
tests.unit.test_calibration.TestCalibrationManagerDueList
  ✅ test_get_due_calibrations_empty
  ✅ test_get_due_calibrations_overdue
  ✅ test_get_due_calibrations_excluding_due_soon
  ✅ test_get_due_calibrations_sorted
tests.unit.test_calibration.TestCalibrationManagerReporting
  ✅ test_generate_calibration_report_all_equipment
  ✅ test_generate_calibration_report_specific_equipment
tests.unit.test_calibration.TestCalibrationManagerPersistence
  ✅ test_records_persistence
  ✅ test_schedules_persistence
tests.unit.test_calibration.TestGlobalCalibrationManager
  ✅ test_initialize_calibration_manager
  ✅ test_get_calibration_manager_before_init
tests.unit.test_calibration_enhanced.TestProcedureEnums
  ✅ test_procedure_step_type_values
  ✅ test_procedure_step_status_values
  ✅ test_certificate_type_values
  ✅ test_correction_type_values
  ✅ test_standard_status_values
tests.unit.test_calibration_enhanced.TestCalibrationProcedureStep
  ✅ test_minimal_procedure_step
  ✅ test_procedure_step_with_requirements
  ✅ test_procedure_step_completion
tests.unit.test_calibration_enhanced.TestCalibrationProcedure
  ✅ test_minimal_procedure
  ✅ test_procedure_with_steps
  ✅ test_procedure_with_environmental_requirements
  ✅ test_procedure_approval
tests.unit.test_calibration_enhanced.TestProcedureExecution
  ✅ test_procedure_execution_creation
  ✅ test_procedure_execution_with_steps
  ✅ test_procedure_execution_completion
tests.unit.test_calibration_enhanced.TestCalibrationCertificate
  ✅ test_minimal_certificate
  ✅ test_certificate_with_calibration_data
  ✅ test_certificate_with_environmental_data
  ✅ test_certificate_with_signature
tests.unit.test_calibration_enhanced.TestCalibrationCorrection
  ✅ test_linear_correction
  ✅ test_polynomial_correction
  ✅ test_lookup_table_correction_exact_match
  ✅ test_lookup_table_correction_interpolation
  ✅ test_lookup_table_correction_out_of_range
  ✅ test_custom_correction
  ✅ test_correction_disabled
  ✅ test_correction_range_limits
tests.unit.test_calibration_enhanced.TestReferenceStandard
  ✅ test_minimal_standard
  ✅ test_standard_with_calibration_info
  ✅ test_standard_status_current
  ✅ test_standard_status_due_soon
  ✅ test_standard_status_overdue
  ✅ test_standard_usage_tracking
tests.unit.test_calibration_enhanced.TestEnhancedCalibrationManager
  ✅ test_manager_initialization
  ✅ test_create_procedure
  ✅ test_start_procedure_execution
  ✅ test_start_execution_nonexistent_procedure
  ✅ test_complete_step
  ✅ test_complete_step_invalid_execution
  ✅ test_create_certificate
  ✅ test_get_certificate
  ✅ test_get_nonexistent_certificate
  ✅ test_add_correction
  ✅ test_apply_corrections
  ✅ test_apply_corrections_no_match
  ✅ test_add_standard
  ✅ test_use_standard
  ✅ test_get_due_standards
tests.unit.test_calibration_enhanced.TestGlobalEnhancedManager
  ✅ test_initialize_enhanced_manager
  ✅ test_get_enhanced_manager_after_init
  ✅ test_get_enhanced_manager_before_init_raises
tests.unit.test_config_validator.TestConfigValidator
  ✅ test_validator_initialization
  ✅ test_valid_configuration
  ✅ test_port_conflict_error
  ✅ test_privileged_port_warning
  ✅ test_host_binding_info
  ✅ test_tls_missing_cert_file
  ✅ test_tls_enabled_without_cert_file
  ✅ test_unusual_visa_backend_warning
  ✅ test_short_timeout_warnings
  ✅ test_high_reconnect_attempts_warning
  ✅ test_frequent_health_check_warning
  ✅ test_invalid_log_level_error
  ✅ test_log_rotation_warnings
  ✅ test_authentication_required_without_api_key
  ✅ test_network_exposed_without_authentication_warning
  ✅ test_cors_all_origins_warning
  ✅ test_websocket_max_connections_validation
  ✅ test_high_websocket_connections_warning
  ✅ test_small_message_queue_warning
  ✅ test_settings_level_warnings_included
  ✅ test_print_results_with_errors
  ✅ test_print_results_valid_config
tests.unit.test_config_validator.TestValidateConfigFunction
  ✅ test_validate_config_function
tests.unit.test_data_buffer.TestCircularBuffer
  ✅ test_initialization
  ✅ test_append_single
  ✅ test_circular_overwrite
  ✅ test_get_channel
  ✅ test_clear
  ✅ test_is_full
  ✅ test_invalid_channel
tests.unit.test_data_buffer.TestSlidingWindowBuffer
  ✅ test_initialization
  ✅ test_append_within_window
  ✅ test_sliding_window_removes_old_data
  ✅ test_get_channel
  ✅ test_clear
  ✅ test_empty_buffer
tests.unit.test_diagnostics.TestDiagnosticEnums
  ✅ test_diagnostic_status_values
  ✅ test_diagnostic_category_values
  ✅ test_health_status_values
tests.unit.test_diagnostics.TestDiagnosticModels
  ✅ test_diagnostic_test_minimal
  ✅ test_diagnostic_test_with_thresholds
  ✅ test_diagnostic_result_pass
  ✅ test_diagnostic_result_fail_with_error
  ✅ test_connection_diagnostics
  ✅ test_communication_diagnostics
  ✅ test_performance_benchmark
  ✅ test_equipment_health
  ✅ test_diagnostic_report
  ✅ test_system_diagnostics
tests.unit.test_diagnostics.TestDiagnosticsManager
  ✅ test_manager_initialization
  ✅ test_check_equipment_health_not_found
  ✅ test_check_equipment_health_success
  ✅ test_check_connection_success
  ✅ test_check_connection_failure
  ✅ test_check_connection_not_found
  ✅ test_check_communication
  ✅ test_check_communication_no_stats
  ✅ test_run_performance_benchmark
  ✅ test_run_performance_benchmark_not_found
  ✅ test_run_performance_benchmark_command_failure
  ✅ test_check_functionality
  ✅ test_check_functionality_not_found
  ✅ test_run_test_success
  ✅ test_run_test_failure
  ✅ test_calculate_health_score_perfect
  ✅ test_calculate_health_score_disconnected
  ✅ test_calculate_health_score_partial_failure
  ✅ test_determine_health_status
  ✅ test_get_communication_status
  ✅ test_get_performance_status
  ✅ test_get_functionality_status
  ✅ test_generate_diagnostic_report
  ✅ test_generate_diagnostic_report_all_equipment
  ✅ test_get_system_diagnostics
tests.unit.test_diagnostics.TestStatisticsTracking
  ✅ test_record_connection
  ✅ test_record_multiple_connections
  ✅ test_record_disconnection
  ✅ test_record_disconnection_without_error
  ✅ test_record_command_success
  ✅ test_record_command_failure
  ✅ test_record_many_commands_response_time_limit
  ✅ test_get_health_cache
  ✅ test_get_benchmark_history
  ✅ test_get_benchmark_history_with_limit
tests.unit.test_diagnostics.TestEnhancedDiagnostics
  ✅ test_check_temperature_success
  ✅ test_check_temperature_not_found
  ✅ test_check_temperature_not_supported
  ✅ test_check_temperature_error
  ✅ test_check_error_codes_no_error
  ✅ test_check_error_codes_with_error
  ✅ test_check_error_codes_not_found
  ✅ test_run_self_test_pass
  ✅ test_run_self_test_fail
  ✅ test_run_self_test_not_supported
  ✅ test_run_self_test_not_found
  ✅ test_check_calibration_status_current
  ✅ test_check_calibration_status_no_manager
  ✅ test_get_equipment_diagnostics
  ✅ test_get_equipment_diagnostics_not_found
tests.unit.test_error_codes.TestErrorCodeEnums
  ✅ test_error_severity_values
  ✅ test_error_category_values
tests.unit.test_error_codes.TestErrorCodeInfo
  ✅ test_minimal_error_code_info
  ✅ test_full_error_code_info
  ✅ test_auto_recoverable_error
tests.unit.test_error_codes.TestErrorCodeDatabase
  ✅ test_database_initialization
  ✅ test_lookup_standard_error
  ✅ test_lookup_no_error
  ✅ test_lookup_vendor_specific_error
  ✅ test_lookup_fallback_to_standard
  ✅ test_lookup_nonexistent_error
  ✅ test_lookup_case_insensitive_vendor
  ✅ test_get_error_message_standard
  ✅ test_get_error_message_vendor
  ✅ test_get_error_message_unknown
  ✅ test_get_troubleshooting_info_found
  ✅ test_get_troubleshooting_info_not_found
  ✅ test_get_troubleshooting_info_safety_error
  ✅ test_add_vendor_code_new_vendor
  ✅ test_add_vendor_code_existing_vendor
  ✅ test_add_vendor_code_case_insensitive
  ✅ test_get_all_codes_standard
  ✅ test_get_all_codes_vendor
  ✅ test_get_all_codes_nonexistent_vendor
  ✅ test_search_errors_by_name
  ✅ test_search_errors_by_message
  ✅ test_search_errors_case_insensitive
  ✅ test_search_errors_vendor_specific
  ✅ test_search_errors_all_vendors
  ✅ test_search_errors_no_results
  ✅ test_get_errors_by_severity_critical
  ✅ test_get_errors_by_severity_warning
  ✅ test_get_errors_by_severity_vendor_specific
  ✅ test_get_errors_by_severity_all_vendors
  ✅ test_get_errors_by_category_communication
  ✅ test_get_errors_by_category_hardware
  ✅ test_get_errors_by_category_safety
  ✅ test_get_errors_by_category_temperature
  ✅ test_get_errors_by_category_vendor_specific
  ✅ test_standard_scpi_codes_complete
  ✅ test_vendor_codes_rigol
  ✅ test_vendor_codes_bk_precision
tests.unit.test_error_codes.TestGlobalInstance
  ✅ test_initialize_global_instance
  ✅ test_get_global_instance_before_init
tests.unit.test_error_codes.TestErrorCodeIntegration
  ✅ test_full_error_lookup_workflow
  ✅ test_vendor_error_with_fallback
  ✅ test_search_and_filter_workflow
  ✅ test_add_and_retrieve_custom_error
tests.unit.test_firmware_manager.TestFirmwareManagerInit
  ✅ test_manager_initialization
  ✅ test_manager_creates_storage_directory
tests.unit.test_firmware_manager.TestFirmwareUpload
  ✅ test_upload_firmware_basic
  ✅ test_upload_firmware_sha256
  ✅ test_upload_firmware_sha512
  ✅ test_upload_firmware_md5
  ✅ test_upload_firmware_crc32
  ✅ test_upload_firmware_with_metadata
  ✅ test_upload_multiple_firmware_packages
tests.unit.test_firmware_manager.TestPackageRetrieval
  ✅ test_get_package
  ✅ test_get_nonexistent_package
  ✅ test_list_packages_all
  ✅ test_list_packages_by_model
  ✅ test_list_packages_by_manufacturer
tests.unit.test_firmware_manager.TestPackageDeletion
  ✅ test_delete_package
  ✅ test_delete_nonexistent_package
tests.unit.test_firmware_manager.TestCompatibilityChecking
  ✅ test_check_compatibility_compatible
  ✅ test_check_compatibility_version_too_low
  ✅ test_check_compatibility_version_too_high
  ✅ test_check_compatibility_model_mismatch
tests.unit.test_firmware_manager.TestVersionComparison
  ✅ test_compare_versions_equal
  ✅ test_compare_versions_less_than
  ✅ test_compare_versions_greater_than
  ✅ test_compare_versions_different_lengths
tests.unit.test_firmware_manager.TestFirmwareVerification
  ✅ test_verify_firmware_file_valid
  ✅ test_verify_firmware_file_corrupted
  ✅ test_verify_nonexistent_firmware
tests.unit.test_firmware_manager.TestFirmwareUpdate
  ✅ test_start_update
  ✅ test_get_update_progress
  ✅ test_get_update_progress_nonexistent
tests.unit.test_firmware_manager.TestUpdateHistory
  ✅ test_get_update_history_empty
  ✅ test_get_update_history_all
tests.unit.test_firmware_manager.TestStatistics
  ✅ test_get_statistics
tests.unit.test_mdns
  ✅ test_server_mdns
  ✅ test_client_discovery
  ⚪ test_discovery_dialog
  ✅ test_end_to_end
tests.unit.test_new_drivers
  ✅ test_rigol_ds1104
  ✅ test_rigol_dl3021a
  ✅ test_bk9205b
  ✅ test_bk1685b
tests.unit.test_safety_module.TestSafetyLimits
  ✅ test_default_limits
  ✅ test_custom_limits
  ✅ test_limits_json_serialization
tests.unit.test_safety_module.TestSafetyViolation
  ✅ test_basic_violation
  ✅ test_detailed_violation
  ✅ test_violation_message_formatting
  ✅ test_all_violation_types
tests.unit.test_safety_module.TestSafetyEvent
  ✅ test_safety_event_creation
tests.unit.test_safety_module.TestSlewRateLimiter
  ✅ test_first_change_allowed
  ✅ test_change_within_slew_rate
  ✅ test_change_exceeds_slew_rate
  ✅ test_negative_slew_rate
  ✅ test_multiple_parameters
tests.unit.test_safety_module.TestSafetyValidator
  ✅ test_validator_creation
  ✅ test_voltage_within_limits
  ✅ test_voltage_exceeds_max_limit
  ✅ test_voltage_below_min_limit
  ✅ test_current_within_limits
  ✅ test_current_exceeds_max_limit
  ✅ test_current_below_min_limit
  ✅ test_power_within_limits
  ✅ test_power_exceeds_limit
  ✅ test_interlock_not_required
  ✅ test_interlock_required_but_not_set
  ✅ test_interlock_set_and_required
  ✅ test_interlock_state_changes
  ✅ test_voltage_slew_limit_applied
  ✅ test_voltage_slew_limit_none
  ✅ test_current_slew_limit_applied
  ✅ test_current_slew_limit_none
  ✅ test_log_safety_event
  ✅ test_safety_events_limit
  ✅ test_get_safety_events_with_limit
tests.unit.test_safety_module.TestEmergencyStopManager
  ✅ test_initial_state
  ✅ test_activate_emergency_stop
  ✅ test_activate_already_active
  ✅ test_deactivate_emergency_stop
  ✅ test_deactivate_already_inactive
  ✅ test_register_stopped_equipment
  ✅ test_register_equipment_no_duplicates
  ✅ test_equipment_cleared_on_deactivate
  ✅ test_full_emergency_stop_cycle
tests.unit.test_safety_module.TestDefaultSafetyLimits
  ✅ test_default_limits_exist
  ✅ test_get_default_oscilloscope_limits
  ✅ test_get_default_power_supply_limits
  ✅ test_get_default_electronic_load_limits
  ✅ test_get_default_unknown_type
  ✅ test_case_insensitive_equipment_type
tests.unit.test_safety_system
  ✅ test_slew_rate
tests.unit.test_settings.TestSettingsManager
  ✅ test_initialization
  ✅ test_connection_settings
  ✅ test_connection_defaults
  ✅ test_recent_servers
  ✅ test_recent_servers_limit
  ✅ test_equipment_settings
  ✅ test_favorite_equipment
  ✅ test_remove_favorite
  ✅ test_acquisition_settings
  ✅ test_visualization_settings
  ✅ test_generic_settings
  ✅ test_export_import
  ✅ test_clear_all
  ✅ test_sync
  ✅ test_get_settings_file
  ✅ test_window_geometry
  ✅ test_get_settings_singleton
tests.unit.test_settings
  ⚪ test_import_error_without_pyqt
tests.unit.test_settings_root
  ✅ test_settings_manager
  ⚪ test_settings_dialog
tests.unit.test_websocket_manager.TestWebSocketManager
  ✅ test_initialization
  ✅ test_connect_success
  ✅ test_connect_failure
  ✅ test_disconnect
  ✅ test_send_message
  ✅ test_send_message_not_connected
  ✅ test_start_equipment_stream
  ✅ test_stop_equipment_stream
  ✅ test_register_message_handler
  ✅ test_unregister_message_handler
  ✅ test_register_stream_data_handler
  ✅ test_unregister_stream_data_handler
  ✅ test_message_routing
  ✅ test_stream_data_routing
  ✅ test_get_statistics
tests.unit.test_websocket_manager.TestStreamConfig
  ✅ test_initialization
  ✅ test_default_parameters

✅ test-artifacts/test-results-unit-3.11/test-results-3.11.xml

457 tests were completed in 58s with 454 passed, 0 failed and 3 skipped.

Test suite Passed Failed Skipped Time
pytest 454✅ 3⚪ 58s

✅ pytest

tests.unit.demo_test
  ✅ test_api_structure
  ✅ test_client_structure
  ✅ test_model_imports
  ✅ test_api_client_methods
  ✅ test_endpoint_count
tests.unit.test_acquisition_synchronization.TestSyncState
  ✅ test_sync_state_values
  ✅ test_sync_state_membership
tests.unit.test_acquisition_synchronization.TestSyncConfig
  ✅ test_sync_config_creation
  ✅ test_sync_config_defaults
  ✅ test_sync_config_custom_values
tests.unit.test_acquisition_synchronization.TestSyncStatus
  ✅ test_sync_status_creation
  ✅ test_sync_status_defaults
tests.unit.test_acquisition_synchronization.TestSynchronizationGroup
  ✅ test_initialization
  ✅ test_auto_select_master
  ✅ test_add_acquisition_success
  ✅ test_add_acquisition_invalid_equipment
  ✅ test_add_acquisition_all_ready
  ✅ test_remove_acquisition
  ✅ test_remove_acquisition_transitions_to_idle
  ✅ test_is_ready_wait_for_all_true
  ✅ test_is_ready_wait_for_all_false
  ✅ test_start_synchronized_success
  ✅ test_start_synchronized_not_ready
  ✅ test_start_synchronized_with_errors
  ✅ test_stop_synchronized
  ✅ test_stop_synchronized_invalid_state
  ✅ test_pause_synchronized
  ✅ test_pause_synchronized_invalid_state
  ✅ test_resume_synchronized
  ✅ test_resume_synchronized_invalid_state
  ✅ test_get_status
  ✅ test_get_synchronized_data_without_alignment
  ✅ test_get_synchronized_data_with_alignment
tests.unit.test_acquisition_synchronization.TestSynchronizationManager
  ✅ test_initialization
  ✅ test_create_sync_group
  ✅ test_create_sync_group_duplicate_id
  ✅ test_get_sync_group
  ✅ test_get_sync_group_not_found
  ✅ test_delete_sync_group_success
  ✅ test_delete_sync_group_not_found
  ✅ test_delete_sync_group_active_state
  ✅ test_delete_sync_group_allowed_states
  ✅ test_list_sync_groups
  ✅ test_list_sync_groups_empty
  ✅ test_get_group_status
  ✅ test_get_group_status_not_found
tests.unit.test_advanced_analysis.TestAdvancedWaveformAnalyzerInit
  ✅ test_analyzer_initialization
tests.unit.test_advanced_analysis.TestSpectralAnalysis
  ✅ test_calculate_spectrogram_basic
  ✅ test_spectrogram_different_modes
  ✅ test_spectrogram_frequency_limits
  ✅ test_spectrogram_window_size_validation
  ✅ test_calculate_cross_correlation
  ✅ test_cross_correlation_identical_signals
  ✅ test_cross_correlation_uncorrelated_signals
  ✅ test_calculate_transfer_function
  ✅ test_transfer_function_different_lengths
tests.unit.test_advanced_analysis.TestJitterAnalysis
  ✅ test_calculate_jitter_tie
  ✅ test_calculate_jitter_period
  ✅ test_calculate_jitter_cycle_to_cycle
  ✅ test_jitter_automatic_threshold
  ✅ test_jitter_rising_vs_falling_edges
  ✅ test_jitter_insufficient_edges
tests.unit.test_advanced_analysis.TestEyeDiagramAnalysis
  ✅ test_generate_eye_diagram_basic
  ✅ test_eye_diagram_with_noise
  ✅ test_eye_parameters_calculation
tests.unit.test_advanced_analysis.TestMaskTesting
  ✅ test_add_mask_definition
  ✅ test_mask_test_pass
  ✅ test_mask_test_fail
  ✅ test_mask_test_nonexistent_mask
tests.unit.test_advanced_analysis.TestEventSearch
  ✅ test_search_rising_edges
  ✅ test_search_falling_edges
  ✅ test_search_positive_pulses
  ✅ test_search_negative_pulses
  ✅ test_search_runts
  ✅ test_search_glitches
tests.unit.test_advanced_analysis.TestReferenceWaveform
  ✅ test_add_reference_waveform
  ✅ test_compare_to_reference_identical
  ✅ test_compare_to_reference_different
  ✅ test_compare_to_nonexistent_reference
tests.unit.test_advanced_analysis.TestParameterTrending
  ✅ test_update_trend
  ✅ test_get_trend_data
  ✅ test_trend_max_points_limit
  ✅ test_trend_statistics_calculation
  ✅ test_get_nonexistent_trend
tests.unit.test_calibration.TestCalibrationEnums
  ✅ test_calibration_status_values
  ✅ test_calibration_type_values
  ✅ test_calibration_result_values
tests.unit.test_calibration.TestCalibrationRecord
  ✅ test_minimal_calibration_record
  ✅ test_calibration_record_with_measurements
  ✅ test_calibration_record_with_standards
  ✅ test_calibration_record_with_environmental_data
  ✅ test_calibration_record_with_adjustments
  ✅ test_calibration_record_json_serialization
tests.unit.test_calibration.TestCalibrationSchedule
  ✅ test_minimal_schedule
  ✅ test_schedule_with_notifications
  ✅ test_schedule_disabled
tests.unit.test_calibration.TestCalibrationManagerInit
  ✅ test_manager_initialization
  ✅ test_manager_creates_storage_directory
tests.unit.test_calibration.TestCalibrationManagerRecords
  ✅ test_add_calibration_record
  ✅ test_add_multiple_records_same_equipment
  ✅ test_get_calibration_history
  ✅ test_get_calibration_history_with_limit
  ✅ test_get_calibration_history_no_records
  ✅ test_get_latest_calibration
  ✅ test_get_latest_calibration_never_calibrated
  ✅ test_delete_calibration_record
  ✅ test_delete_nonexistent_record
tests.unit.test_calibration.TestCalibrationManagerStatus
  ✅ test_status_current
  ✅ test_status_due_soon
  ✅ test_status_due
  ✅ test_status_overdue
  ✅ test_status_never_calibrated
  ✅ test_is_calibration_current_true
  ✅ test_is_calibration_current_false_overdue
  ✅ test_get_days_until_due_positive
  ✅ test_get_days_until_due_negative
  ✅ test_get_days_until_due_never_calibrated
tests.unit.test_calibration.TestCalibrationManagerSchedule
  ✅ test_set_calibration_schedule
  ✅ test_get_calibration_schedule
  ✅ test_get_nonexistent_schedule
  ✅ test_delete_calibration_schedule
  ✅ test_delete_nonexistent_schedule
tests.unit.test_calibration.TestCalibrationManagerDueList
  ✅ test_get_due_calibrations_empty
  ✅ test_get_due_calibrations_overdue
  ✅ test_get_due_calibrations_excluding_due_soon
  ✅ test_get_due_calibrations_sorted
tests.unit.test_calibration.TestCalibrationManagerReporting
  ✅ test_generate_calibration_report_all_equipment
  ✅ test_generate_calibration_report_specific_equipment
tests.unit.test_calibration.TestCalibrationManagerPersistence
  ✅ test_records_persistence
  ✅ test_schedules_persistence
tests.unit.test_calibration.TestGlobalCalibrationManager
  ✅ test_initialize_calibration_manager
  ✅ test_get_calibration_manager_before_init
tests.unit.test_calibration_enhanced.TestProcedureEnums
  ✅ test_procedure_step_type_values
  ✅ test_procedure_step_status_values
  ✅ test_certificate_type_values
  ✅ test_correction_type_values
  ✅ test_standard_status_values
tests.unit.test_calibration_enhanced.TestCalibrationProcedureStep
  ✅ test_minimal_procedure_step
  ✅ test_procedure_step_with_requirements
  ✅ test_procedure_step_completion
tests.unit.test_calibration_enhanced.TestCalibrationProcedure
  ✅ test_minimal_procedure
  ✅ test_procedure_with_steps
  ✅ test_procedure_with_environmental_requirements
  ✅ test_procedure_approval
tests.unit.test_calibration_enhanced.TestProcedureExecution
  ✅ test_procedure_execution_creation
  ✅ test_procedure_execution_with_steps
  ✅ test_procedure_execution_completion
tests.unit.test_calibration_enhanced.TestCalibrationCertificate
  ✅ test_minimal_certificate
  ✅ test_certificate_with_calibration_data
  ✅ test_certificate_with_environmental_data
  ✅ test_certificate_with_signature
tests.unit.test_calibration_enhanced.TestCalibrationCorrection
  ✅ test_linear_correction
  ✅ test_polynomial_correction
  ✅ test_lookup_table_correction_exact_match
  ✅ test_lookup_table_correction_interpolation
  ✅ test_lookup_table_correction_out_of_range
  ✅ test_custom_correction
  ✅ test_correction_disabled
  ✅ test_correction_range_limits
tests.unit.test_calibration_enhanced.TestReferenceStandard
  ✅ test_minimal_standard
  ✅ test_standard_with_calibration_info
  ✅ test_standard_status_current
  ✅ test_standard_status_due_soon
  ✅ test_standard_status_overdue
  ✅ test_standard_usage_tracking
tests.unit.test_calibration_enhanced.TestEnhancedCalibrationManager
  ✅ test_manager_initialization
  ✅ test_create_procedure
  ✅ test_start_procedure_execution
  ✅ test_start_execution_nonexistent_procedure
  ✅ test_complete_step
  ✅ test_complete_step_invalid_execution
  ✅ test_create_certificate
  ✅ test_get_certificate
  ✅ test_get_nonexistent_certificate
  ✅ test_add_correction
  ✅ test_apply_corrections
  ✅ test_apply_corrections_no_match
  ✅ test_add_standard
  ✅ test_use_standard
  ✅ test_get_due_standards
tests.unit.test_calibration_enhanced.TestGlobalEnhancedManager
  ✅ test_initialize_enhanced_manager
  ✅ test_get_enhanced_manager_after_init
  ✅ test_get_enhanced_manager_before_init_raises
tests.unit.test_config_validator.TestConfigValidator
  ✅ test_validator_initialization
  ✅ test_valid_configuration
  ✅ test_port_conflict_error
  ✅ test_privileged_port_warning
  ✅ test_host_binding_info
  ✅ test_tls_missing_cert_file
  ✅ test_tls_enabled_without_cert_file
  ✅ test_unusual_visa_backend_warning
  ✅ test_short_timeout_warnings
  ✅ test_high_reconnect_attempts_warning
  ✅ test_frequent_health_check_warning
  ✅ test_invalid_log_level_error
  ✅ test_log_rotation_warnings
  ✅ test_authentication_required_without_api_key
  ✅ test_network_exposed_without_authentication_warning
  ✅ test_cors_all_origins_warning
  ✅ test_websocket_max_connections_validation
  ✅ test_high_websocket_connections_warning
  ✅ test_small_message_queue_warning
  ✅ test_settings_level_warnings_included
  ✅ test_print_results_with_errors
  ✅ test_print_results_valid_config
tests.unit.test_config_validator.TestValidateConfigFunction
  ✅ test_validate_config_function
tests.unit.test_data_buffer.TestCircularBuffer
  ✅ test_initialization
  ✅ test_append_single
  ✅ test_circular_overwrite
  ✅ test_get_channel
  ✅ test_clear
  ✅ test_is_full
  ✅ test_invalid_channel
tests.unit.test_data_buffer.TestSlidingWindowBuffer
  ✅ test_initialization
  ✅ test_append_within_window
  ✅ test_sliding_window_removes_old_data
  ✅ test_get_channel
  ✅ test_clear
  ✅ test_empty_buffer
tests.unit.test_diagnostics.TestDiagnosticEnums
  ✅ test_diagnostic_status_values
  ✅ test_diagnostic_category_values
  ✅ test_health_status_values
tests.unit.test_diagnostics.TestDiagnosticModels
  ✅ test_diagnostic_test_minimal
  ✅ test_diagnostic_test_with_thresholds
  ✅ test_diagnostic_result_pass
  ✅ test_diagnostic_result_fail_with_error
  ✅ test_connection_diagnostics
  ✅ test_communication_diagnostics
  ✅ test_performance_benchmark
  ✅ test_equipment_health
  ✅ test_diagnostic_report
  ✅ test_system_diagnostics
tests.unit.test_diagnostics.TestDiagnosticsManager
  ✅ test_manager_initialization
  ✅ test_check_equipment_health_not_found
  ✅ test_check_equipment_health_success
  ✅ test_check_connection_success
  ✅ test_check_connection_failure
  ✅ test_check_connection_not_found
  ✅ test_check_communication
  ✅ test_check_communication_no_stats
  ✅ test_run_performance_benchmark
  ✅ test_run_performance_benchmark_not_found
  ✅ test_run_performance_benchmark_command_failure
  ✅ test_check_functionality
  ✅ test_check_functionality_not_found
  ✅ test_run_test_success
  ✅ test_run_test_failure
  ✅ test_calculate_health_score_perfect
  ✅ test_calculate_health_score_disconnected
  ✅ test_calculate_health_score_partial_failure
  ✅ test_determine_health_status
  ✅ test_get_communication_status
  ✅ test_get_performance_status
  ✅ test_get_functionality_status
  ✅ test_generate_diagnostic_report
  ✅ test_generate_diagnostic_report_all_equipment
  ✅ test_get_system_diagnostics
tests.unit.test_diagnostics.TestStatisticsTracking
  ✅ test_record_connection
  ✅ test_record_multiple_connections
  ✅ test_record_disconnection
  ✅ test_record_disconnection_without_error
  ✅ test_record_command_success
  ✅ test_record_command_failure
  ✅ test_record_many_commands_response_time_limit
  ✅ test_get_health_cache
  ✅ test_get_benchmark_history
  ✅ test_get_benchmark_history_with_limit
tests.unit.test_diagnostics.TestEnhancedDiagnostics
  ✅ test_check_temperature_success
  ✅ test_check_temperature_not_found
  ✅ test_check_temperature_not_supported
  ✅ test_check_temperature_error
  ✅ test_check_error_codes_no_error
  ✅ test_check_error_codes_with_error
  ✅ test_check_error_codes_not_found
  ✅ test_run_self_test_pass
  ✅ test_run_self_test_fail
  ✅ test_run_self_test_not_supported
  ✅ test_run_self_test_not_found
  ✅ test_check_calibration_status_current
  ✅ test_check_calibration_status_no_manager
  ✅ test_get_equipment_diagnostics
  ✅ test_get_equipment_diagnostics_not_found
tests.unit.test_error_codes.TestErrorCodeEnums
  ✅ test_error_severity_values
  ✅ test_error_category_values
tests.unit.test_error_codes.TestErrorCodeInfo
  ✅ test_minimal_error_code_info
  ✅ test_full_error_code_info
  ✅ test_auto_recoverable_error
tests.unit.test_error_codes.TestErrorCodeDatabase
  ✅ test_database_initialization
  ✅ test_lookup_standard_error
  ✅ test_lookup_no_error
  ✅ test_lookup_vendor_specific_error
  ✅ test_lookup_fallback_to_standard
  ✅ test_lookup_nonexistent_error
  ✅ test_lookup_case_insensitive_vendor
  ✅ test_get_error_message_standard
  ✅ test_get_error_message_vendor
  ✅ test_get_error_message_unknown
  ✅ test_get_troubleshooting_info_found
  ✅ test_get_troubleshooting_info_not_found
  ✅ test_get_troubleshooting_info_safety_error
  ✅ test_add_vendor_code_new_vendor
  ✅ test_add_vendor_code_existing_vendor
  ✅ test_add_vendor_code_case_insensitive
  ✅ test_get_all_codes_standard
  ✅ test_get_all_codes_vendor
  ✅ test_get_all_codes_nonexistent_vendor
  ✅ test_search_errors_by_name
  ✅ test_search_errors_by_message
  ✅ test_search_errors_case_insensitive
  ✅ test_search_errors_vendor_specific
  ✅ test_search_errors_all_vendors
  ✅ test_search_errors_no_results
  ✅ test_get_errors_by_severity_critical
  ✅ test_get_errors_by_severity_warning
  ✅ test_get_errors_by_severity_vendor_specific
  ✅ test_get_errors_by_severity_all_vendors
  ✅ test_get_errors_by_category_communication
  ✅ test_get_errors_by_category_hardware
  ✅ test_get_errors_by_category_safety
  ✅ test_get_errors_by_category_temperature
  ✅ test_get_errors_by_category_vendor_specific
  ✅ test_standard_scpi_codes_complete
  ✅ test_vendor_codes_rigol
  ✅ test_vendor_codes_bk_precision
tests.unit.test_error_codes.TestGlobalInstance
  ✅ test_initialize_global_instance
  ✅ test_get_global_instance_before_init
tests.unit.test_error_codes.TestErrorCodeIntegration
  ✅ test_full_error_lookup_workflow
  ✅ test_vendor_error_with_fallback
  ✅ test_search_and_filter_workflow
  ✅ test_add_and_retrieve_custom_error
tests.unit.test_firmware_manager.TestFirmwareManagerInit
  ✅ test_manager_initialization
  ✅ test_manager_creates_storage_directory
tests.unit.test_firmware_manager.TestFirmwareUpload
  ✅ test_upload_firmware_basic
  ✅ test_upload_firmware_sha256
  ✅ test_upload_firmware_sha512
  ✅ test_upload_firmware_md5
  ✅ test_upload_firmware_crc32
  ✅ test_upload_firmware_with_metadata
  ✅ test_upload_multiple_firmware_packages
tests.unit.test_firmware_manager.TestPackageRetrieval
  ✅ test_get_package
  ✅ test_get_nonexistent_package
  ✅ test_list_packages_all
  ✅ test_list_packages_by_model
  ✅ test_list_packages_by_manufacturer
tests.unit.test_firmware_manager.TestPackageDeletion
  ✅ test_delete_package
  ✅ test_delete_nonexistent_package
tests.unit.test_firmware_manager.TestCompatibilityChecking
  ✅ test_check_compatibility_compatible
  ✅ test_check_compatibility_version_too_low
  ✅ test_check_compatibility_version_too_high
  ✅ test_check_compatibility_model_mismatch
tests.unit.test_firmware_manager.TestVersionComparison
  ✅ test_compare_versions_equal
  ✅ test_compare_versions_less_than
  ✅ test_compare_versions_greater_than
  ✅ test_compare_versions_different_lengths
tests.unit.test_firmware_manager.TestFirmwareVerification
  ✅ test_verify_firmware_file_valid
  ✅ test_verify_firmware_file_corrupted
  ✅ test_verify_nonexistent_firmware
tests.unit.test_firmware_manager.TestFirmwareUpdate
  ✅ test_start_update
  ✅ test_get_update_progress
  ✅ test_get_update_progress_nonexistent
tests.unit.test_firmware_manager.TestUpdateHistory
  ✅ test_get_update_history_empty
  ✅ test_get_update_history_all
tests.unit.test_firmware_manager.TestStatistics
  ✅ test_get_statistics
tests.unit.test_mdns
  ✅ test_server_mdns
  ✅ test_client_discovery
  ⚪ test_discovery_dialog
  ✅ test_end_to_end
tests.unit.test_new_drivers
  ✅ test_rigol_ds1104
  ✅ test_rigol_dl3021a
  ✅ test_bk9205b
  ✅ test_bk1685b
tests.unit.test_safety_module.TestSafetyLimits
  ✅ test_default_limits
  ✅ test_custom_limits
  ✅ test_limits_json_serialization
tests.unit.test_safety_module.TestSafetyViolation
  ✅ test_basic_violation
  ✅ test_detailed_violation
  ✅ test_violation_message_formatting
  ✅ test_all_violation_types
tests.unit.test_safety_module.TestSafetyEvent
  ✅ test_safety_event_creation
tests.unit.test_safety_module.TestSlewRateLimiter
  ✅ test_first_change_allowed
  ✅ test_change_within_slew_rate
  ✅ test_change_exceeds_slew_rate
  ✅ test_negative_slew_rate
  ✅ test_multiple_parameters
tests.unit.test_safety_module.TestSafetyValidator
  ✅ test_validator_creation
  ✅ test_voltage_within_limits
  ✅ test_voltage_exceeds_max_limit
  ✅ test_voltage_below_min_limit
  ✅ test_current_within_limits
  ✅ test_current_exceeds_max_limit
  ✅ test_current_below_min_limit
  ✅ test_power_within_limits
  ✅ test_power_exceeds_limit
  ✅ test_interlock_not_required
  ✅ test_interlock_required_but_not_set
  ✅ test_interlock_set_and_required
  ✅ test_interlock_state_changes
  ✅ test_voltage_slew_limit_applied
  ✅ test_voltage_slew_limit_none
  ✅ test_current_slew_limit_applied
  ✅ test_current_slew_limit_none
  ✅ test_log_safety_event
  ✅ test_safety_events_limit
  ✅ test_get_safety_events_with_limit
tests.unit.test_safety_module.TestEmergencyStopManager
  ✅ test_initial_state
  ✅ test_activate_emergency_stop
  ✅ test_activate_already_active
  ✅ test_deactivate_emergency_stop
  ✅ test_deactivate_already_inactive
  ✅ test_register_stopped_equipment
  ✅ test_register_equipment_no_duplicates
  ✅ test_equipment_cleared_on_deactivate
  ✅ test_full_emergency_stop_cycle
tests.unit.test_safety_module.TestDefaultSafetyLimits
  ✅ test_default_limits_exist
  ✅ test_get_default_oscilloscope_limits
  ✅ test_get_default_power_supply_limits
  ✅ test_get_default_electronic_load_limits
  ✅ test_get_default_unknown_type
  ✅ test_case_insensitive_equipment_type
tests.unit.test_safety_system
  ✅ test_slew_rate
tests.unit.test_settings.TestSettingsManager
  ✅ test_initialization
  ✅ test_connection_settings
  ✅ test_connection_defaults
  ✅ test_recent_servers
  ✅ test_recent_servers_limit
  ✅ test_equipment_settings
  ✅ test_favorite_equipment
  ✅ test_remove_favorite
  ✅ test_acquisition_settings
  ✅ test_visualization_settings
  ✅ test_generic_settings
  ✅ test_export_import
  ✅ test_clear_all
  ✅ test_sync
  ✅ test_get_settings_file
  ✅ test_window_geometry
  ✅ test_get_settings_singleton
tests.unit.test_settings
  ⚪ test_import_error_without_pyqt
tests.unit.test_settings_root
  ✅ test_settings_manager
  ⚪ test_settings_dialog
tests.unit.test_websocket_manager.TestWebSocketManager
  ✅ test_initialization
  ✅ test_connect_success
  ✅ test_connect_failure
  ✅ test_disconnect
  ✅ test_send_message
  ✅ test_send_message_not_connected
  ✅ test_start_equipment_stream
  ✅ test_stop_equipment_stream
  ✅ test_register_message_handler
  ✅ test_unregister_message_handler
  ✅ test_register_stream_data_handler
  ✅ test_unregister_stream_data_handler
  ✅ test_message_routing
  ✅ test_stream_data_routing
  ✅ test_get_statistics
tests.unit.test_websocket_manager.TestStreamConfig
  ✅ test_initialization
  ✅ test_default_parameters

Annotations

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_alarms_scheduler_api.TestCompleteWorkflows ► test_alarm_creation_and_monitoring_workflow

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_alarms_scheduler_api.py:494: in test_alarm_creation_and_monitoring_workflow
Raw output
tests/api/test_alarms_scheduler_api.py:494: in test_alarm_creation_and_monitoring_workflow
    with patch("api.alarms.alarm_manager", mock_alarm_manager), \
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:1446: in __enter__
    original, local = self.get_original()
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:1419: in get_original
    raise AttributeError(
E   AttributeError: <module 'api.alarms' from '/home/runner/work/LabLink/LabLink/server/api/alarms.py'> does not have the attribute 'equipment_manager'

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestHealthMonitoring ► test_get_equipment_health_error

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:213: in test_get_equipment_health_error
Raw output
tests/api/test_diagnostics_api.py:213: in test_get_equipment_health_error
    assert response.status_code == 500
E   assert 200 == 500
E    +  where 200 = <Response [200 OK]>.status_code

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestHealthMonitoring ► test_get_cached_health_success

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:233: in test_get_cached_health_success
Raw output
tests/api/test_diagnostics_api.py:233: in test_get_cached_health_success
    response = client.get("/diagnostics/health/test_scope_001/cached")
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:473: in get
    return super().get(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:1054: in get
    return self.request(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:445: in request
    return super().request(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:827: in request
    return self.send(request, auth=auth, follow_redirects=follow_redirects)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:914: in send
    response = self._send_handling_auth(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:942: in _send_handling_auth
    response = self._send_handling_redirects(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:979: in _send_handling_redirects
    response = self._send_single_request(request)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:1015: in _send_single_request
    response = transport.handle_request(request)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:348: in handle_request
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:345: in handle_request
    portal.call(self.app, scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/anyio/from_thread.py:334: in call
    return cast(T_Retval, self.start_task_soon(func, *args).result())
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/concurrent/futures/_base.py:456: in result
    return self.__get_result()
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/concurrent/futures/_base.py:401: in __get_result
    raise self._exception
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/anyio/from_thread.py:259: in _call_func
    retval = await retval_or_awaitable
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/applications.py:1135: in __call__
    await super().__call__(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/applications.py:107: in __call__
    await self.middleware_stack(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/middleware/errors.py:186: in __call__
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/middleware/errors.py:164: in __call__
    await self.app(scope, receive, _send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/middleware/exceptions.py:63: in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:53: in wrapped_app
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:42: in wrapped_app
    await app(scope, receive, sender)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py:18: in __call__
    await self.app(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/routing.py:716: in __call__
    await self.middleware_stack(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/routing.py:736: in app
    await route.handle(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/routing.py:290: in handle
    await self.app(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:118: in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:53: in wrapped_app
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:42: in wrapped_app
    await app(scope, receive, sender)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:104: in app
    response = await f(request)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:428: in app
    raw_response = await run_endpoint_function(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:314: in run_endpoint_function
    return await dependant.call(**values)
server/api/diagnostics.py:65: in get_cached_health
    return {"success": True, "health": health.dict(), "cached": True}
E   AttributeError: 'coroutine' object has no attribute 'dict'

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestHealthMonitoring ► test_get_cached_health_not_found

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:249: in test_get_cached_health_not_found
Raw output
tests/api/test_diagnostics_api.py:249: in test_get_cached_health_not_found
    response = client.get("/diagnostics/health/test_scope_001/cached")
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:473: in get
    return super().get(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:1054: in get
    return self.request(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:445: in request
    return super().request(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:827: in request
    return self.send(request, auth=auth, follow_redirects=follow_redirects)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:914: in send
    response = self._send_handling_auth(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:942: in _send_handling_auth
    response = self._send_handling_redirects(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:979: in _send_handling_redirects
    response = self._send_single_request(request)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/httpx/_client.py:1015: in _send_single_request
    response = transport.handle_request(request)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:348: in handle_request
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/testclient.py:345: in handle_request
    portal.call(self.app, scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/anyio/from_thread.py:334: in call
    return cast(T_Retval, self.start_task_soon(func, *args).result())
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/concurrent/futures/_base.py:449: in result
    return self.__get_result()
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/concurrent/futures/_base.py:401: in __get_result
    raise self._exception
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/anyio/from_thread.py:259: in _call_func
    retval = await retval_or_awaitable
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/applications.py:1135: in __call__
    await super().__call__(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/applications.py:107: in __call__
    await self.middleware_stack(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/middleware/errors.py:186: in __call__
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/middleware/errors.py:164: in __call__
    await self.app(scope, receive, _send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/middleware/exceptions.py:63: in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:53: in wrapped_app
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:42: in wrapped_app
    await app(scope, receive, sender)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py:18: in __call__
    await self.app(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/routing.py:716: in __call__
    await self.middleware_stack(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/routing.py:736: in app
    await route.handle(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/routing.py:290: in handle
    await self.app(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:118: in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:53: in wrapped_app
    raise exc
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/starlette/_exception_handler.py:42: in wrapped_app
    await app(scope, receive, sender)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:104: in app
    response = await f(request)
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:428: in app
    raw_response = await run_endpoint_function(
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/fastapi/routing.py:314: in run_endpoint_function
    return await dependant.call(**values)
server/api/diagnostics.py:65: in get_cached_health
    return {"success": True, "health": health.dict(), "cached": True}
E   AttributeError: 'coroutine' object has no attribute 'dict'

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestConnectionDiagnostics ► test_check_connection_success

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  /opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
Raw output
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
    raise AssertionError(msg)
E   AssertionError: Expected '_check_connection' to be called once. Called 0 times.

During handling of the above exception, another exception occurred:
tests/api/test_diagnostics_api.py:276: in test_check_connection_success
    mock_manager._check_connection.assert_called_once_with("test_scope_001")
E   AssertionError: Expected '_check_connection' to be called once. Called 0 times.

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestConnectionDiagnostics ► test_check_connection_error

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:285: in test_check_connection_error
Raw output
tests/api/test_diagnostics_api.py:285: in test_check_connection_error
    assert response.status_code == 500
E   assert 200 == 500
E    +  where 200 = <Response [200 OK]>.status_code

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestCommunicationDiagnostics ► test_get_communication_diagnostics_success

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  /opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
Raw output
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
    raise AssertionError(msg)
E   AssertionError: Expected '_check_communication' to be called once. Called 0 times.

During handling of the above exception, another exception occurred:
tests/api/test_diagnostics_api.py:310: in test_get_communication_diagnostics_success
    mock_manager._check_communication.assert_called_once_with("test_scope_001")
E   AssertionError: Expected '_check_communication' to be called once. Called 0 times.

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestCommunicationDiagnostics ► test_get_communication_diagnostics_error

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:319: in test_get_communication_diagnostics_error
Raw output
tests/api/test_diagnostics_api.py:319: in test_get_communication_diagnostics_error
    assert response.status_code == 500
E   assert 200 == 500
E    +  where 200 = <Response [200 OK]>.status_code

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestPerformanceBenchmarking ► test_run_benchmark_success

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  /opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
Raw output
/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
    raise AssertionError(msg)
E   AssertionError: Expected '_run_performance_benchmark' to be called once. Called 0 times.

During handling of the above exception, another exception occurred:
tests/api/test_diagnostics_api.py:344: in test_run_benchmark_success
    mock_manager._run_performance_benchmark.assert_called_once_with("test_scope_001")
E   AssertionError: Expected '_run_performance_benchmark' to be called once. Called 0 times.

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestPerformanceBenchmarking ► test_run_benchmark_equipment_not_found

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:353: in test_run_benchmark_equipment_not_found
Raw output
tests/api/test_diagnostics_api.py:353: in test_run_benchmark_equipment_not_found
    assert response.status_code == 404
E   assert 200 == 404
E    +  where 200 = <Response [200 OK]>.status_code

Check failure on line 0 in test-artifacts/test-results-api/test-results-api.xml

See this annotation in the file changed.

@github-actions github-actions / Test Results

pytest ► tests.api.test_diagnostics_api.TestPerformanceBenchmarking ► test_run_benchmark_error

Failed test found in:
  test-artifacts/test-results-api/test-results-api.xml
Error:
  tests/api/test_diagnostics_api.py:363: in test_run_benchmark_error
Raw output
tests/api/test_diagnostics_api.py:363: in test_run_benchmark_error
    assert response.status_code == 500
E   assert 200 == 500
E    +  where 200 = <Response [200 OK]>.status_code