feat: add support for parallel kind processing with threads #840
+121
−41
firefoxci-taskcluster / test-unit-multithread-py314t
succeeded
Mar 9, 2026 in 4m 13s
FirefoxCI (pull_request)
Run unit tests with py314t on Linux with multithreading enabled (Treeherder push)
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2026-03-09T15:00:12.428Z
Resolved: 2026-03-09T15:02:54.131Z
Task Execution Time: 2 minutes, 41 seconds, 703 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: ClKLXivSSautLirqO5_N1A
RunId: 0
Artifacts
- public/coverage.py314t
- public/logs/live_backing.log
- public/logs/live.log
[taskcluster 2026-03-09T15:00:12.490Z] Worker Type (taskgraph-t/linux-docker) settings:
[taskcluster 2026-03-09T15:00:12.490Z] {
[taskcluster 2026-03-09T15:00:12.490Z] "config": {
[taskcluster 2026-03-09T15:00:12.490Z] "deploymentId": ""
[taskcluster 2026-03-09T15:00:12.490Z] },
[taskcluster 2026-03-09T15:00:12.490Z] "generic-worker": {
[taskcluster 2026-03-09T15:00:12.490Z] "config": {
[taskcluster 2026-03-09T15:00:12.490Z] "headlessTasks": true
[taskcluster 2026-03-09T15:00:12.490Z] },
[taskcluster 2026-03-09T15:00:12.490Z] "engine": "multiuser",
[taskcluster 2026-03-09T15:00:12.490Z] "go-arch": "amd64",
[taskcluster 2026-03-09T15:00:12.490Z] "go-os": "linux",
[taskcluster 2026-03-09T15:00:12.490Z] "go-version": "go1.25.5",
[taskcluster 2026-03-09T15:00:12.490Z] "release": "https://github.com/taskcluster/taskcluster/releases/tag/v95.1.3",
[taskcluster 2026-03-09T15:00:12.490Z] "revision": "300ac23a15bb11e577f3a3d116a570fde948337e",
[taskcluster 2026-03-09T15:00:12.490Z] "source": "https://github.com/taskcluster/taskcluster/commits/300ac23a15bb11e577f3a3d116a570fde948337e",
[taskcluster 2026-03-09T15:00:12.490Z] "version": "95.1.3"
[taskcluster 2026-03-09T15:00:12.490Z] },
[taskcluster 2026-03-09T15:00:12.490Z] "image": "projects/taskcluster-imaging/global/images/gw-fxci-gcp-l1-2404-amd64-headless-googlecompute-2026-01-14",
[taskcluster 2026-03-09T15:00:12.490Z] "instance-id": "9139861005059448520",
...(522 lines hidden)...
[task 2026-03-09T15:02:32.868+00:00] test/test_util_path.py::TestPath::test_basename PASSED [ 70%]
[task 2026-03-09T15:02:32.869+00:00] test/test_util_path.py::TestPath::test_commonprefix PASSED [ 70%]
[task 2026-03-09T15:02:32.870+00:00] test/test_util_path.py::TestPath::test_dirname PASSED [ 70%]
[task 2026-03-09T15:02:32.871+00:00] test/test_util_path.py::TestPath::test_join PASSED [ 70%]
[task 2026-03-09T15:02:32.873+00:00] test/test_util_path.py::TestPath::test_match PASSED [ 71%]
[task 2026-03-09T15:02:32.874+00:00] test/test_util_path.py::TestPath::test_normpath PASSED [ 71%]
[task 2026-03-09T15:02:32.876+00:00] test/test_util_path.py::TestPath::test_rebase PASSED [ 71%]
[task 2026-03-09T15:02:32.877+00:00] test/test_util_path.py::TestPath::test_relpath PASSED [ 71%]
[task 2026-03-09T15:02:32.878+00:00] test/test_util_path.py::TestPath::test_split PASSED [ 71%]
[task 2026-03-09T15:02:32.879+00:00] test/test_util_path.py::TestPath::test_splitext PASSED [ 71%]
[task 2026-03-09T15:02:32.882+00:00] test/test_util_python_path.py::test_find_object_no_such_module PASSED [ 72%]
[task 2026-03-09T15:02:32.883+00:00] test/test_util_python_path.py::test_find_object_no_such_object PASSED [ 72%]
[task 2026-03-09T15:02:32.889+00:00] test/test_util_python_path.py::test_find_object_exists PASSED [ 72%]
[task 2026-03-09T15:02:32.895+00:00] test/test_util_readonlydict.py::test_basic PASSED [ 72%]
[task 2026-03-09T15:02:32.898+00:00] test/test_util_readonlydict.py::test_update PASSED [ 72%]
[task 2026-03-09T15:02:32.901+00:00] test/test_util_readonlydict.py::test_del PASSED [ 72%]
[task 2026-03-09T15:02:32.913+00:00] test/test_util_readonlydict.py::test_copy PASSED [ 73%]
[task 2026-03-09T15:02:32.914+00:00] test/test_util_readonlydict.py::test_pickle PASSED [ 73%]
[task 2026-03-09T15:02:32.924+00:00] test/test_util_schema.py::TestValidateSchema::test_invalid PASSED [ 73%]
[task 2026-03-09T15:02:32.924+00:00] test/test_util_schema.py::TestValidateSchema::test_valid PASSED [ 73%]
[task 2026-03-09T15:02:32.927+00:00] test/test_util_schema.py::TestSchemaFeatures::test_allow_unknown_fields PASSED [ 73%]
[task 2026-03-09T15:02:32.929+00:00] test/test_util_schema.py::TestSchemaFeatures::test_forbid_unknown_fields PASSED [ 74%]
[task 2026-03-09T15:02:32.931+00:00] test/test_util_schema.py::TestSchemaFeatures::test_kebab_rename PASSED [ 74%]
[task 2026-03-09T15:02:32.932+00:00] test/test_util_schema.py::test_validation_skipped PASSED [ 74%]
[task 2026-03-09T15:02:32.933+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_list PASSED [ 74%]
[task 2026-03-09T15:02:32.934+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_default PASSED [ 74%]
[task 2026-03-09T15:02:32.935+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_extra_value PASSED [ 74%]
[task 2026-03-09T15:02:32.936+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_nested_exact PASSED [ 75%]
[task 2026-03-09T15:02:32.937+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_partial_regexp PASSED [ 75%]
[task 2026-03-09T15:02:32.937+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_regexp PASSED [ 75%]
[task 2026-03-09T15:02:32.938+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_multiple_matches PASSED [ 75%]
[task 2026-03-09T15:02:32.939+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_nested PASSED [ 75%]
[task 2026-03-09T15:02:32.940+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by PASSED [ 75%]
[task 2026-03-09T15:02:32.941+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_dotted PASSED [ 76%]
[task 2026-03-09T15:02:32.942+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_empty_dict PASSED [ 76%]
[task 2026-03-09T15:02:32.943+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_by PASSED [ 76%]
[task 2026-03-09T15:02:32.944+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_dict PASSED [ 76%]
[task 2026-03-09T15:02:32.944+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_only_by PASSED [ 76%]
[task 2026-03-09T15:02:32.945+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_key PASSED [ 76%]
[task 2026-03-09T15:02:32.946+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_key_no_default PASSED [ 77%]
[task 2026-03-09T15:02:32.947+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_match PASSED [ 77%]
[task 2026-03-09T15:02:32.948+00:00] test/test_util_schema.py::TestNestedStructFieldsOptional::test_index_schema_accepts_all_fields PASSED [ 77%]
[task 2026-03-09T15:02:32.949+00:00] test/test_util_schema.py::TestNestedStructFieldsOptional::test_index_schema_accepts_partial_fields PASSED [ 77%]
[task 2026-03-09T15:02:32.950+00:00] test/test_util_schema.py::TestValidateSchemaDictHandler::test_dict_schema_invalid PASSED [ 77%]
[task 2026-03-09T15:02:32.951+00:00] test/test_util_schema.py::TestValidateSchemaDictHandler::test_dict_schema_valid PASSED [ 77%]
[task 2026-03-09T15:02:32.960+00:00] test/test_util_schema.py::test_optionally_keyed_by PASSED [ 78%]
[task 2026-03-09T15:02:32.973+00:00] test/test_util_schema.py::test_optionally_keyed_by_mulitple_keys PASSED [ 78%]
[task 2026-03-09T15:02:32.985+00:00] test/test_util_schema.py::test_optionally_keyed_by_object_passthrough PASSED [ 78%]
[task 2026-03-09T15:02:33.012+00:00] test/test_util_taskcluster.py::test_get_root_url PASSED [ 78%]
[task 2026-03-09T15:02:33.027+00:00] test/test_util_taskcluster.py::test_get_artifact_url PASSED [ 78%]
[task 2026-03-09T15:02:33.053+00:00] test/test_util_taskcluster.py::test_get_artifact PASSED [ 78%]
[task 2026-03-09T15:02:33.056+00:00] test/test_util_taskcluster.py::test_list_artifact PASSED [ 79%]
[task 2026-03-09T15:02:33.069+00:00] test/test_util_taskcluster.py::test_get_artifact_path PASSED [ 79%]
[task 2026-03-09T15:02:33.075+00:00] test/test_util_taskcluster.py::test_get_index_url PASSED [ 79%]
[task 2026-03-09T15:02:33.079+00:00] test/test_util_taskcluster.py::test_find_task_id PASSED [ 79%]
[task 2026-03-09T15:02:33.083+00:00] test/test_util_taskcluster.py::test_find_task_id_batched PASSED [ 79%]
[task 2026-03-09T15:02:33.089+00:00] test/test_util_taskcluster.py::test_get_artifact_from_index PASSED [ 80%]
[task 2026-03-09T15:02:33.093+00:00] test/test_util_taskcluster.py::test_get_artifact_from_index_uses_artifact_path_for_parsing PASSED [ 80%]
[task 2026-03-09T15:02:33.098+00:00] test/test_util_taskcluster.py::test_list_tasks PASSED [ 80%]
[task 2026-03-09T15:02:33.101+00:00] test/test_util_taskcluster.py::test_parse_time PASSED [ 80%]
[task 2026-03-09T15:02:33.105+00:00] test/test_util_taskcluster.py::test_get_task_url PASSED [ 80%]
[task 2026-03-09T15:02:33.109+00:00] test/test_util_taskcluster.py::test_get_task_definition PASSED [ 80%]
[task 2026-03-09T15:02:33.116+00:00] test/test_util_taskcluster.py::test_get_task_definitions PASSED [ 81%]
[task 2026-03-09T15:02:33.119+00:00] test/test_util_taskcluster.py::test_cancel_task PASSED [ 81%]
[task 2026-03-09T15:02:33.122+00:00] test/test_util_taskcluster.py::test_status_task PASSED [ 81%]
[task 2026-03-09T15:02:33.128+00:00] test/test_util_taskcluster.py::test_status_task_batched PASSED [ 81%]
[task 2026-03-09T15:02:33.132+00:00] test/test_util_taskcluster.py::test_state_task PASSED [ 81%]
[task 2026-03-09T15:02:33.134+00:00] test/test_util_taskcluster.py::test_rerun_task PASSED [ 81%]
[task 2026-03-09T15:02:33.138+00:00] test/test_util_taskcluster.py::test_get_current_scopes PASSED [ 82%]
[task 2026-03-09T15:02:33.140+00:00] test/test_util_taskcluster.py::test_purge_cache PASSED [ 82%]
[task 2026-03-09T15:02:33.142+00:00] test/test_util_taskcluster.py::test_send_email PASSED [ 82%]
[task 2026-03-09T15:02:33.148+00:00] test/test_util_taskcluster.py::test_list_task_group_incomplete_tasks PASSED [ 82%]
[task 2026-03-09T15:02:33.156+00:00] test/test_util_taskcluster.py::test_get_ancestors PASSED [ 82%]
[task 2026-03-09T15:02:33.165+00:00] test/test_util_taskcluster.py::test_get_ancestors_string PASSED [ 82%]
[task 2026-03-09T15:02:33.169+00:00] test/test_util_taskcluster.py::test_get_taskcluster_client PASSED [ 83%]
[task 2026-03-09T15:02:33.170+00:00] test/test_util_templates.py::MergeTest::test_merge PASSED [ 83%]
[task 2026-03-09T15:02:33.171+00:00] test/test_util_templates.py::MergeTest::test_merge_by PASSED [ 83%]
[task 2026-03-09T15:02:33.172+00:00] test/test_util_templates.py::MergeTest::test_merge_diff_types PASSED [ 83%]
[task 2026-03-09T15:02:33.173+00:00] test/test_util_templates.py::MergeTest::test_merge_multiple_by PASSED [ 83%]
[task 2026-03-09T15:02:33.174+00:00] test/test_util_templates.py::MergeTest::test_merge_to_dicts PASSED [ 83%]
[task 2026-03-09T15:02:33.175+00:00] test/test_util_templates.py::MergeTest::test_merge_to_lists PASSED [ 84%]
[task 2026-03-09T15:02:33.184+00:00] test/test_util_time.py::FromNowTest::test_current_json_time PASSED [ 84%]
[task 2026-03-09T15:02:33.185+00:00] test/test_util_time.py::FromNowTest::test_invalid_str PASSED [ 84%]
[task 2026-03-09T15:02:33.186+00:00] test/test_util_time.py::FromNowTest::test_json_from_now PASSED [ 84%]
[task 2026-03-09T15:02:33.187+00:00] test/test_util_time.py::FromNowTest::test_json_from_now_tzinfo PASSED [ 84%]
[task 2026-03-09T15:02:33.188+00:00] test/test_util_time.py::FromNowTest::test_json_from_now_utc_now PASSED [ 84%]
[task 2026-03-09T15:02:33.190+00:00] test/test_util_time.py::FromNowTest::test_missing_unit PASSED [ 85%]
[task 2026-03-09T15:02:33.191+00:00] test/test_util_time.py::FromNowTest::test_missing_unknown_unit PASSED [ 85%]
[task 2026-03-09T15:02:33.194+00:00] test/test_util_time.py::FromNowTest::test_value_of PASSED [ 85%]
[task 2026-03-09T15:02:33.195+00:00] test/test_util_treeherder.py::TestSymbols::test_add_suffix_no_group PASSED [ 85%]
[task 2026-03-09T15:02:33.196+00:00] test/test_util_treeherder.py::TestSymbols::test_add_suffix_with_group PASSED [ 85%]
[task 2026-03-09T15:02:33.197+00:00] test/test_util_treeherder.py::TestSymbols::test_join_no_group PASSED [ 85%]
[task 2026-03-09T15:02:33.198+00:00] test/test_util_treeherder.py::TestSymbols::test_join_with_group PASSED [ 86%]
[task 2026-03-09T15:02:33.198+00:00] test/test_util_treeherder.py::TestSymbols::test_split_no_group PASSED [ 86%]
[task 2026-03-09T15:02:33.199+00:00] test/test_util_treeherder.py::TestSymbols::test_split_with_group PASSED [ 86%]
[task 2026-03-09T15:02:33.296+00:00] test/test_util_vcs.py::test_get_repository[git] PASSED [ 86%]
[task 2026-03-09T15:02:33.301+00:00] test/test_util_vcs.py::test_get_repository[hg] PASSED [ 86%]
[task 2026-03-09T15:02:33.309+00:00] test/test_util_vcs.py::test_get_repository_type[git] PASSED [ 87%]
[task 2026-03-09T15:02:33.313+00:00] test/test_util_vcs.py::test_get_repository_type[hg] PASSED [ 87%]
[task 2026-03-09T15:02:33.316+00:00] test/test_util_vcs.py::test_get_repository_type_failure PASSED [ 87%]
[task 2026-03-09T15:02:33.321+00:00] test/test_util_vcs.py::test_hgplain PASSED [ 87%]
[task 2026-03-09T15:02:33.399+00:00] test/test_util_vcs.py::test_get_commit_message[git-commit message in\u2026 pure utf8] PASSED [ 87%]
[task 2026-03-09T15:02:33.419+00:00] test/test_util_vcs.py::test_get_commit_message[git-commit message in... ascii] PASSED [ 87%]
[task 2026-03-09T15:02:33.804+00:00] test/test_util_vcs.py::test_get_commit_message[hg-commit message in\u2026 pure utf8] PASSED [ 88%]
[task 2026-03-09T15:02:34.167+00:00] test/test_util_vcs.py::test_get_commit_message[hg-commit message in... ascii] PASSED [ 88%]
[task 2026-03-09T15:02:34.177+00:00] test/test_util_vcs.py::test_calculate_head_rev[git] PASSED [ 88%]
[task 2026-03-09T15:02:34.301+00:00] test/test_util_vcs.py::test_calculate_head_rev[hg] PASSED [ 88%]
[task 2026-03-09T15:02:34.317+00:00] test/test_util_vcs.py::test_get_repo_path[git] PASSED [ 88%]
[task 2026-03-09T15:02:34.531+00:00] test/test_util_vcs.py::test_get_repo_path[hg] PASSED [ 88%]
[task 2026-03-09T15:02:34.555+00:00] test/test_util_vcs.py::test_update[git] PASSED [ 89%]
[task 2026-03-09T15:02:35.538+00:00] test/test_util_vcs.py::test_update[hg] PASSED [ 89%]
[task 2026-03-09T15:02:35.572+00:00] test/test_util_vcs.py::test_branch[git] PASSED [ 89%]
[task 2026-03-09T15:02:36.315+00:00] test/test_util_vcs.py::test_branch[hg] PASSED [ 89%]
[task 2026-03-09T15:02:36.326+00:00] test/test_util_vcs.py::test_remote_name_no_remote[git] PASSED [ 89%]
[task 2026-03-09T15:02:36.436+00:00] test/test_util_vcs.py::test_remote_name_no_remote[hg] PASSED [ 89%]
[task 2026-03-09T15:02:36.470+00:00] test/test_util_vcs.py::test_remote_name[git] PASSED [ 90%]
[task 2026-03-09T15:02:36.700+00:00] test/test_util_vcs.py::test_remote_name[hg] PASSED [ 90%]
[task 2026-03-09T15:02:36.739+00:00] test/test_util_vcs.py::test_all_remote_names[git] PASSED [ 90%]
[task 2026-03-09T15:02:37.193+00:00] test/test_util_vcs.py::test_all_remote_names[hg] PASSED [ 90%]
[task 2026-03-09T15:02:37.236+00:00] test/test_util_vcs.py::test_remote_name_many_remotes[git] PASSED [ 90%]
[task 2026-03-09T15:02:37.580+00:00] test/test_util_vcs.py::test_remote_name_many_remotes[hg] PASSED [ 90%]
[task 2026-03-09T15:02:37.620+00:00] test/test_util_vcs.py::test_remote_name_default_and_origin[git] PASSED [ 91%]
[task 2026-03-09T15:02:37.963+00:00] test/test_util_vcs.py::test_remote_name_default_and_origin[hg] PASSED [ 91%]
[task 2026-03-09T15:02:37.980+00:00] test/test_util_vcs.py::test_default_branch_guess[git] PASSED [ 91%]
[task 2026-03-09T15:02:37.985+00:00] test/test_util_vcs.py::test_default_branch_guess[hg] PASSED [ 91%]
[task 2026-03-09T15:02:38.014+00:00] test/test_util_vcs.py::test_default_branch_remote_query[git] PASSED [ 91%]
[task 2026-03-09T15:02:38.141+00:00] test/test_util_vcs.py::test_default_branch_remote_query[hg] PASSED [ 91%]
[task 2026-03-09T15:02:38.159+00:00] test/test_util_vcs.py::test_default_branch_cloned_metadata[git] PASSED [ 92%]
[task 2026-03-09T15:02:38.163+00:00] test/test_util_vcs.py::test_default_branch_cloned_metadata[hg] PASSED [ 92%]
[task 2026-03-09T15:02:38.189+00:00] test/test_util_vcs.py::test_get_tracked_files[git] PASSED [ 92%]
[task 2026-03-09T15:02:39.278+00:00] test/test_util_vcs.py::test_get_tracked_files[hg] PASSED [ 92%]
[task 2026-03-09T15:02:39.290+00:00] test/test_util_vcs.py::test_get_changed_files_no_changes[git] PASSED [ 92%]
[task 2026-03-09T15:02:39.749+00:00] test/test_util_vcs.py::test_get_changed_files_no_changes[hg] PASSED [ 92%]
[task 2026-03-09T15:02:39.777+00:00] test/test_util_vcs.py::test_get_changed_files_one_modified_file[git] PASSED [ 93%]
[task 2026-03-09T15:02:40.607+00:00] test/test_util_vcs.py::test_get_changed_files_one_modified_file[hg] PASSED [ 93%]
[task 2026-03-09T15:02:40.628+00:00] test/test_util_vcs.py::test_get_changed_files_one_deleted_file[git] PASSED [ 93%]
[task 2026-03-09T15:02:41.455+00:00] test/test_util_vcs.py::test_get_changed_files_one_deleted_file[hg] PASSED [ 93%]
[task 2026-03-09T15:02:41.479+00:00] test/test_util_vcs.py::test_get_changed_files_one_added_file[git] PASSED [ 93%]
[task 2026-03-09T15:02:42.408+00:00] test/test_util_vcs.py::test_get_changed_files_one_added_file[hg] PASSED [ 94%]
[task 2026-03-09T15:02:42.465+00:00] test/test_util_vcs.py::test_get_changed_files_two_revisions[git] PASSED [ 94%]
[task 2026-03-09T15:02:44.660+00:00] test/test_util_vcs.py::test_get_changed_files_two_revisions[hg] PASSED [ 94%]
[task 2026-03-09T15:02:44.727+00:00] test/test_util_vcs.py::test_workdir_outgoing[git] PASSED [ 94%]
[task 2026-03-09T15:02:47.933+00:00] test/test_util_vcs.py::test_workdir_outgoing[hg] PASSED [ 94%]
[task 2026-03-09T15:02:47.974+00:00] test/test_util_vcs.py::test_working_directory_clean[git] PASSED [ 94%]
[task 2026-03-09T15:02:49.380+00:00] test/test_util_vcs.py::test_working_directory_clean[hg] PASSED [ 95%]
[task 2026-03-09T15:02:49.439+00:00] test/test_util_vcs.py::test_find_latest_common_revision[git] PASSED [ 95%]
[task 2026-03-09T15:02:50.952+00:00] test/test_util_vcs.py::test_find_latest_common_revision[hg] PASSED [ 95%]
[task 2026-03-09T15:02:50.977+00:00] test/test_util_vcs.py::test_does_revision_exist_locally[git] PASSED [ 95%]
[task 2026-03-09T15:02:51.865+00:00] test/test_util_vcs.py::test_does_revision_exist_locally[hg] PASSED [ 95%]
[task 2026-03-09T15:02:51.956+00:00] test/test_util_vcs.py::test_get_changed_files_shallow_clone PASSED [ 95%]
[task 2026-03-09T15:02:51.980+00:00] test/test_util_verify.py::test_verification_types[GraphVerification] PASSED [ 96%]
[task 2026-03-09T15:02:51.982+00:00] test/test_util_verify.py::test_verification_types[InitialVerification] PASSED [ 96%]
[task 2026-03-09T15:02:51.984+00:00] test/test_util_verify.py::test_verification_types[KindsVerification] PASSED [ 96%]
[task 2026-03-09T15:02:51.985+00:00] test/test_util_verify.py::test_verification_types[ParametersVerification] PASSED [ 96%]
[task 2026-03-09T15:02:51.986+00:00] test/test_util_verify.py::test_verification_types[GraphConfigVerification] PASSED [ 96%]
[task 2026-03-09T15:02:51.990+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: valid] PASSED [ 96%]
[task 2026-03-09T15:02:51.992+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: conflicting symbol] PASSED [ 97%]
[task 2026-03-09T15:02:51.993+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: too many collections] PASSED [ 97%]
[task 2026-03-09T15:02:51.994+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: valid] PASSED [ 97%]
[task 2026-03-09T15:02:51.995+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: invalid] PASSED [ 97%]
[task 2026-03-09T15:02:51.997+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: deprecated] PASSED [ 97%]
[task 2026-03-09T15:02:51.998+00:00] test/test_util_verify.py::test_verification[verify_index_route: invalid slash in route] PASSED [ 97%]
[task 2026-03-09T15:02:51.999+00:00] test/test_util_verify.py::test_verification[dependencies under limit] PASSED [ 98%]
[task 2026-03-09T15:02:52.000+00:00] test/test_util_verify.py::test_verification[dependencies at limit] PASSED [ 98%]
[task 2026-03-09T15:02:52.001+00:00] test/test_util_verify.py::test_verification[dependencies over limit] PASSED [ 98%]
[task 2026-03-09T15:02:52.002+00:00] test/test_util_verify.py::test_verification[using cache with wrong trust-domain] PASSED [ 98%]
[task 2026-03-09T15:02:52.003+00:00] test/test_util_verify.py::test_verification[using reserved cache] PASSED [ 98%]
[task 2026-03-09T15:02:52.004+00:00] test/test_util_verify.py::test_verification[using run-task without cache suffix] PASSED [ 98%]
[task 2026-03-09T15:02:52.006+00:00] test/test_util_verify.py::test_verification[using run-task-hg without cache suffix] PASSED [ 99%]
[task 2026-03-09T15:02:52.011+00:00] test/test_util_workertypes.py::test_get_worker_type[linux-1-Exception] PASSED [ 99%]
[task 2026-03-09T15:02:52.012+00:00] test/test_util_workertypes.py::test_get_worker_type[b-linux-3-test-domain-3/b-linux-gcp] PASSED [ 99%]
[task 2026-03-09T15:02:52.013+00:00] test/test_util_workertypes.py::test_get_worker_type[t-linux-1-test-domain-1/t-linux-gcp] PASSED [ 99%]
[task 2026-03-09T15:02:52.017+00:00] test/test_util_yaml.py::test_load PASSED [ 99%]
[task 2026-03-09T15:02:52.333+00:00] test/test_util_yaml.py::test_key_order PASSED [100%]
[task 2026-03-09T15:02:52.333+00:00]
[task 2026-03-09T15:02:52.333+00:00] =============================== warnings summary ===============================
[task 2026-03-09T15:02:52.333+00:00] test/test_config.py::test_vcs_root_fallback
[task 2026-03-09T15:02:52.333+00:00] /builds/worker/checkouts/vcs/test/test_config.py:60: PytestMockWarning: Mocks returned by pytest-mock do not need to be used as context managers. The mocker fixture automatically undoes mocking at the end of a test. This warning can be ignored if it was triggered by mocking a context manager. https://pytest-mock.readthedocs.io/en/latest/usage.html#usage-as-context-manager
[task 2026-03-09T15:02:52.333+00:00] with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2026-03-09T15:02:52.333+00:00]
[task 2026-03-09T15:02:52.333+00:00] test/test_config.py::test_vcs_root_fallback
[task 2026-03-09T15:02:52.333+00:00] /builds/worker/checkouts/vcs/test/test_config.py:63: PytestMockWarning: Mocks returned by pytest-mock do not need to be used as context managers. The mocker fixture automatically undoes mocking at the end of a test. This warning can be ignored if it was triggered by mocking a context manager. https://pytest-mock.readthedocs.io/en/latest/usage.html#usage-as-context-manager
[task 2026-03-09T15:02:52.333+00:00] with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2026-03-09T15:02:52.333+00:00]
[task 2026-03-09T15:02:52.333+00:00] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2026-03-09T15:02:52.333+00:00] ============ 576 passed, 7 skipped, 2 xfailed, 2 warnings in 37.42s ============
[taskcluster 2026-03-09T15:02:53.032Z] Exit Code: 0
[taskcluster 2026-03-09T15:02:53.032Z] User Time: 18.361ms
[taskcluster 2026-03-09T15:02:53.032Z] Kernel Time: 44.284ms
[taskcluster 2026-03-09T15:02:53.032Z] Wall Time: 2m5.578152875s
[taskcluster 2026-03-09T15:02:53.032Z] Average Available System Memory: 14.50 GiB
[taskcluster 2026-03-09T15:02:53.032Z] Average System Memory Used: 1.12 GiB
[taskcluster 2026-03-09T15:02:53.032Z] Peak System Memory Used: 1.39 GiB
[taskcluster 2026-03-09T15:02:53.032Z] Total System Memory: 15.62 GiB
[taskcluster 2026-03-09T15:02:53.032Z] Result: SUCCEEDED
[taskcluster 2026-03-09T15:02:53.032Z] === Task Finished ===
[taskcluster 2026-03-09T15:02:53.032Z] Task Duration: 2m5.578570812s
[taskcluster 2026-03-09T15:02:53.625Z] [mounts] Preserving cache: Moving "/home/task_177306841187020/cache0" to "/home/generic-worker/caches/YTt-Yh0oTrW-waZwUoFmNA"
[taskcluster 2026-03-09T15:02:53.626Z] [mounts] Preserving cache: Moving "/home/task_177306841187020/cache1" to "/home/generic-worker/caches/JOPcnjukSo2Ighw4lrSm1w"
Loading