Skip to content

feat: add multithreading tests

71fdab5
Select commit
Loading
Failed to load commit list.
Merged

feat: add support for parallel kind processing with threads #840

feat: add multithreading tests
71fdab5
Select commit
Loading
Failed to load commit list.
firefoxci-taskcluster / test-unit-py313 succeeded Mar 9, 2026 in 3m 13s

FirefoxCI (pull_request)

Run unit tests with py313 on Linux (Treeherder push)

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2026-03-09T15:00:25.913Z
Resolved: 2026-03-09T15:01:54.604Z
Task Execution Time: 1 minute, 28 seconds, 691 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: P5zICfZoTx2TRNYVRJrE2g
RunId: 0

Artifacts

- public/coverage.py313
- public/logs/live_backing.log
- public/logs/live.log


[taskcluster 2026-03-09T15:00:25.977Z] Worker Type (taskgraph-t/linux-docker) settings:
[taskcluster 2026-03-09T15:00:25.977Z]   {
[taskcluster 2026-03-09T15:00:25.977Z]     "config": {
[taskcluster 2026-03-09T15:00:25.977Z]       "deploymentId": ""
[taskcluster 2026-03-09T15:00:25.977Z]     },
[taskcluster 2026-03-09T15:00:25.977Z]     "generic-worker": {
[taskcluster 2026-03-09T15:00:25.977Z]       "config": {
[taskcluster 2026-03-09T15:00:25.977Z]         "headlessTasks": true
[taskcluster 2026-03-09T15:00:25.977Z]       },
[taskcluster 2026-03-09T15:00:25.977Z]       "engine": "multiuser",
[taskcluster 2026-03-09T15:00:25.977Z]       "go-arch": "amd64",
[taskcluster 2026-03-09T15:00:25.977Z]       "go-os": "linux",
[taskcluster 2026-03-09T15:00:25.977Z]       "go-version": "go1.25.5",
[taskcluster 2026-03-09T15:00:25.977Z]       "release": "https://github.com/taskcluster/taskcluster/releases/tag/v95.1.3",
[taskcluster 2026-03-09T15:00:25.977Z]       "revision": "300ac23a15bb11e577f3a3d116a570fde948337e",
[taskcluster 2026-03-09T15:00:25.977Z]       "source": "https://github.com/taskcluster/taskcluster/commits/300ac23a15bb11e577f3a3d116a570fde948337e",
[taskcluster 2026-03-09T15:00:25.977Z]       "version": "95.1.3"
[taskcluster 2026-03-09T15:00:25.977Z]     },
[taskcluster 2026-03-09T15:00:25.977Z]     "image": "projects/taskcluster-imaging/global/images/gw-fxci-gcp-l1-2404-amd64-headless-googlecompute-2026-01-14",
[taskcluster 2026-03-09T15:00:25.977Z]     "instance-id": "6267956119575158472",

...(523 lines hidden)...

[task 2026-03-09T15:01:31.733+00:00] test/test_util_path.py::TestPath::test_basename PASSED                   [ 70%]
[task 2026-03-09T15:01:31.734+00:00] test/test_util_path.py::TestPath::test_commonprefix PASSED               [ 70%]
[task 2026-03-09T15:01:31.735+00:00] test/test_util_path.py::TestPath::test_dirname PASSED                    [ 70%]
[task 2026-03-09T15:01:31.737+00:00] test/test_util_path.py::TestPath::test_join PASSED                       [ 70%]
[task 2026-03-09T15:01:31.741+00:00] test/test_util_path.py::TestPath::test_match PASSED                      [ 71%]
[task 2026-03-09T15:01:31.743+00:00] test/test_util_path.py::TestPath::test_normpath PASSED                   [ 71%]
[task 2026-03-09T15:01:31.744+00:00] test/test_util_path.py::TestPath::test_rebase PASSED                     [ 71%]
[task 2026-03-09T15:01:31.746+00:00] test/test_util_path.py::TestPath::test_relpath PASSED                    [ 71%]
[task 2026-03-09T15:01:31.747+00:00] test/test_util_path.py::TestPath::test_split PASSED                      [ 71%]
[task 2026-03-09T15:01:31.748+00:00] test/test_util_path.py::TestPath::test_splitext PASSED                   [ 71%]
[task 2026-03-09T15:01:31.750+00:00] test/test_util_python_path.py::test_find_object_no_such_module PASSED    [ 72%]
[task 2026-03-09T15:01:31.752+00:00] test/test_util_python_path.py::test_find_object_no_such_object PASSED    [ 72%]
[task 2026-03-09T15:01:31.756+00:00] test/test_util_python_path.py::test_find_object_exists PASSED            [ 72%]
[task 2026-03-09T15:01:31.757+00:00] test/test_util_readonlydict.py::test_basic PASSED                        [ 72%]
[task 2026-03-09T15:01:31.759+00:00] test/test_util_readonlydict.py::test_update PASSED                       [ 72%]
[task 2026-03-09T15:01:31.760+00:00] test/test_util_readonlydict.py::test_del PASSED                          [ 72%]
[task 2026-03-09T15:01:31.761+00:00] test/test_util_readonlydict.py::test_copy PASSED                         [ 73%]
[task 2026-03-09T15:01:31.763+00:00] test/test_util_readonlydict.py::test_pickle PASSED                       [ 73%]
[task 2026-03-09T15:01:31.764+00:00] test/test_util_schema.py::TestValidateSchema::test_invalid PASSED        [ 73%]
[task 2026-03-09T15:01:31.766+00:00] test/test_util_schema.py::TestValidateSchema::test_valid PASSED          [ 73%]
[task 2026-03-09T15:01:31.767+00:00] test/test_util_schema.py::TestSchemaFeatures::test_allow_unknown_fields PASSED [ 73%]
[task 2026-03-09T15:01:31.769+00:00] test/test_util_schema.py::TestSchemaFeatures::test_forbid_unknown_fields PASSED [ 74%]
[task 2026-03-09T15:01:31.770+00:00] test/test_util_schema.py::TestSchemaFeatures::test_kebab_rename PASSED   [ 74%]
[task 2026-03-09T15:01:31.771+00:00] test/test_util_schema.py::test_validation_skipped PASSED                 [ 74%]
[task 2026-03-09T15:01:31.773+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_list PASSED           [ 74%]
[task 2026-03-09T15:01:31.774+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_default PASSED  [ 74%]
[task 2026-03-09T15:01:31.776+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_extra_value PASSED [ 74%]
[task 2026-03-09T15:01:31.777+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_nested_exact PASSED [ 75%]
[task 2026-03-09T15:01:31.778+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_partial_regexp PASSED [ 75%]
[task 2026-03-09T15:01:31.780+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_regexp PASSED   [ 75%]
[task 2026-03-09T15:01:31.781+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_multiple_matches PASSED [ 75%]
[task 2026-03-09T15:01:31.783+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_nested PASSED         [ 75%]
[task 2026-03-09T15:01:31.784+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by PASSED          [ 75%]
[task 2026-03-09T15:01:31.786+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_dotted PASSED   [ 76%]
[task 2026-03-09T15:01:31.787+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_empty_dict PASSED [ 76%]
[task 2026-03-09T15:01:31.788+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_by PASSED   [ 76%]
[task 2026-03-09T15:01:31.789+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_dict PASSED [ 76%]
[task 2026-03-09T15:01:31.791+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_only_by PASSED [ 76%]
[task 2026-03-09T15:01:31.792+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_key PASSED         [ 76%]
[task 2026-03-09T15:01:31.793+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_key_no_default PASSED [ 77%]
[task 2026-03-09T15:01:31.795+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_match PASSED       [ 77%]
[task 2026-03-09T15:01:31.796+00:00] test/test_util_schema.py::TestNestedStructFieldsOptional::test_index_schema_accepts_all_fields PASSED [ 77%]
[task 2026-03-09T15:01:31.798+00:00] test/test_util_schema.py::TestNestedStructFieldsOptional::test_index_schema_accepts_partial_fields PASSED [ 77%]
[task 2026-03-09T15:01:31.799+00:00] test/test_util_schema.py::TestValidateSchemaDictHandler::test_dict_schema_invalid PASSED [ 77%]
[task 2026-03-09T15:01:31.801+00:00] test/test_util_schema.py::TestValidateSchemaDictHandler::test_dict_schema_valid PASSED [ 77%]
[task 2026-03-09T15:01:31.802+00:00] test/test_util_schema.py::test_optionally_keyed_by PASSED                [ 78%]
[task 2026-03-09T15:01:31.804+00:00] test/test_util_schema.py::test_optionally_keyed_by_mulitple_keys PASSED  [ 78%]
[task 2026-03-09T15:01:31.805+00:00] test/test_util_schema.py::test_optionally_keyed_by_object_passthrough PASSED [ 78%]
[task 2026-03-09T15:01:31.807+00:00] test/test_util_taskcluster.py::test_get_root_url PASSED                  [ 78%]
[task 2026-03-09T15:01:31.809+00:00] test/test_util_taskcluster.py::test_get_artifact_url PASSED              [ 78%]
[task 2026-03-09T15:01:31.822+00:00] test/test_util_taskcluster.py::test_get_artifact PASSED                  [ 78%]
[task 2026-03-09T15:01:31.825+00:00] test/test_util_taskcluster.py::test_list_artifact PASSED                 [ 79%]
[task 2026-03-09T15:01:31.827+00:00] test/test_util_taskcluster.py::test_get_artifact_path PASSED             [ 79%]
[task 2026-03-09T15:01:31.829+00:00] test/test_util_taskcluster.py::test_get_index_url PASSED                 [ 79%]
[task 2026-03-09T15:01:31.832+00:00] test/test_util_taskcluster.py::test_find_task_id PASSED                  [ 79%]
[task 2026-03-09T15:01:31.836+00:00] test/test_util_taskcluster.py::test_find_task_id_batched PASSED          [ 79%]
[task 2026-03-09T15:01:31.840+00:00] test/test_util_taskcluster.py::test_get_artifact_from_index PASSED       [ 80%]
[task 2026-03-09T15:01:31.844+00:00] test/test_util_taskcluster.py::test_get_artifact_from_index_uses_artifact_path_for_parsing PASSED [ 80%]
[task 2026-03-09T15:01:31.848+00:00] test/test_util_taskcluster.py::test_list_tasks PASSED                    [ 80%]
[task 2026-03-09T15:01:31.850+00:00] test/test_util_taskcluster.py::test_parse_time PASSED                    [ 80%]
[task 2026-03-09T15:01:31.851+00:00] test/test_util_taskcluster.py::test_get_task_url PASSED                  [ 80%]
[task 2026-03-09T15:01:31.855+00:00] test/test_util_taskcluster.py::test_get_task_definition PASSED           [ 80%]
[task 2026-03-09T15:01:31.858+00:00] test/test_util_taskcluster.py::test_get_task_definitions PASSED          [ 81%]
[task 2026-03-09T15:01:31.861+00:00] test/test_util_taskcluster.py::test_cancel_task PASSED                   [ 81%]
[task 2026-03-09T15:01:31.864+00:00] test/test_util_taskcluster.py::test_status_task PASSED                   [ 81%]
[task 2026-03-09T15:01:31.868+00:00] test/test_util_taskcluster.py::test_status_task_batched PASSED           [ 81%]
[task 2026-03-09T15:01:31.871+00:00] test/test_util_taskcluster.py::test_state_task PASSED                    [ 81%]
[task 2026-03-09T15:01:31.874+00:00] test/test_util_taskcluster.py::test_rerun_task PASSED                    [ 81%]
[task 2026-03-09T15:01:31.877+00:00] test/test_util_taskcluster.py::test_get_current_scopes PASSED            [ 82%]
[task 2026-03-09T15:01:31.880+00:00] test/test_util_taskcluster.py::test_purge_cache PASSED                   [ 82%]
[task 2026-03-09T15:01:31.883+00:00] test/test_util_taskcluster.py::test_send_email PASSED                    [ 82%]
[task 2026-03-09T15:01:31.888+00:00] test/test_util_taskcluster.py::test_list_task_group_incomplete_tasks PASSED [ 82%]
[task 2026-03-09T15:01:31.893+00:00] test/test_util_taskcluster.py::test_get_ancestors PASSED                 [ 82%]
[task 2026-03-09T15:01:31.898+00:00] test/test_util_taskcluster.py::test_get_ancestors_string PASSED          [ 82%]
[task 2026-03-09T15:01:31.901+00:00] test/test_util_taskcluster.py::test_get_taskcluster_client PASSED        [ 83%]
[task 2026-03-09T15:01:31.902+00:00] test/test_util_templates.py::MergeTest::test_merge PASSED                [ 83%]
[task 2026-03-09T15:01:31.904+00:00] test/test_util_templates.py::MergeTest::test_merge_by PASSED             [ 83%]
[task 2026-03-09T15:01:31.905+00:00] test/test_util_templates.py::MergeTest::test_merge_diff_types PASSED     [ 83%]
[task 2026-03-09T15:01:31.906+00:00] test/test_util_templates.py::MergeTest::test_merge_multiple_by PASSED    [ 83%]
[task 2026-03-09T15:01:31.908+00:00] test/test_util_templates.py::MergeTest::test_merge_to_dicts PASSED       [ 83%]
[task 2026-03-09T15:01:31.909+00:00] test/test_util_templates.py::MergeTest::test_merge_to_lists PASSED       [ 84%]
[task 2026-03-09T15:01:31.911+00:00] test/test_util_time.py::FromNowTest::test_current_json_time PASSED       [ 84%]
[task 2026-03-09T15:01:31.913+00:00] test/test_util_time.py::FromNowTest::test_invalid_str PASSED             [ 84%]
[task 2026-03-09T15:01:31.914+00:00] test/test_util_time.py::FromNowTest::test_json_from_now PASSED           [ 84%]
[task 2026-03-09T15:01:31.915+00:00] test/test_util_time.py::FromNowTest::test_json_from_now_tzinfo PASSED    [ 84%]
[task 2026-03-09T15:01:31.917+00:00] test/test_util_time.py::FromNowTest::test_json_from_now_utc_now PASSED   [ 84%]
[task 2026-03-09T15:01:31.918+00:00] test/test_util_time.py::FromNowTest::test_missing_unit PASSED            [ 85%]
[task 2026-03-09T15:01:31.919+00:00] test/test_util_time.py::FromNowTest::test_missing_unknown_unit PASSED    [ 85%]
[task 2026-03-09T15:01:31.921+00:00] test/test_util_time.py::FromNowTest::test_value_of PASSED                [ 85%]
[task 2026-03-09T15:01:31.922+00:00] test/test_util_treeherder.py::TestSymbols::test_add_suffix_no_group PASSED [ 85%]
[task 2026-03-09T15:01:31.924+00:00] test/test_util_treeherder.py::TestSymbols::test_add_suffix_with_group PASSED [ 85%]
[task 2026-03-09T15:01:31.925+00:00] test/test_util_treeherder.py::TestSymbols::test_join_no_group PASSED     [ 85%]
[task 2026-03-09T15:01:31.926+00:00] test/test_util_treeherder.py::TestSymbols::test_join_with_group PASSED   [ 86%]
[task 2026-03-09T15:01:31.928+00:00] test/test_util_treeherder.py::TestSymbols::test_split_no_group PASSED    [ 86%]
[task 2026-03-09T15:01:31.929+00:00] test/test_util_treeherder.py::TestSymbols::test_split_with_group PASSED  [ 86%]
[task 2026-03-09T15:01:31.937+00:00] test/test_util_vcs.py::test_get_repository[git] PASSED                   [ 86%]
[task 2026-03-09T15:01:31.943+00:00] test/test_util_vcs.py::test_get_repository[hg] PASSED                    [ 86%]
[task 2026-03-09T15:01:31.949+00:00] test/test_util_vcs.py::test_get_repository_type[git] PASSED              [ 87%]
[task 2026-03-09T15:01:31.954+00:00] test/test_util_vcs.py::test_get_repository_type[hg] PASSED               [ 87%]
[task 2026-03-09T15:01:31.956+00:00] test/test_util_vcs.py::test_get_repository_type_failure PASSED           [ 87%]
[task 2026-03-09T15:01:31.958+00:00] test/test_util_vcs.py::test_hgplain PASSED                               [ 87%]
[task 2026-03-09T15:01:31.972+00:00] test/test_util_vcs.py::test_get_commit_message[git-commit message in\u2026 pure utf8] PASSED [ 87%]
[task 2026-03-09T15:01:31.986+00:00] test/test_util_vcs.py::test_get_commit_message[git-commit message in... ascii] PASSED [ 87%]
[task 2026-03-09T15:01:32.386+00:00] test/test_util_vcs.py::test_get_commit_message[hg-commit message in\u2026 pure utf8] PASSED [ 88%]
[task 2026-03-09T15:01:32.799+00:00] test/test_util_vcs.py::test_get_commit_message[hg-commit message in... ascii] PASSED [ 88%]
[task 2026-03-09T15:01:32.808+00:00] test/test_util_vcs.py::test_calculate_head_rev[git] PASSED               [ 88%]
[task 2026-03-09T15:01:32.944+00:00] test/test_util_vcs.py::test_calculate_head_rev[hg] PASSED                [ 88%]
[task 2026-03-09T15:01:32.956+00:00] test/test_util_vcs.py::test_get_repo_path[git] PASSED                    [ 88%]
[task 2026-03-09T15:01:33.179+00:00] test/test_util_vcs.py::test_get_repo_path[hg] PASSED                     [ 88%]
[task 2026-03-09T15:01:33.201+00:00] test/test_util_vcs.py::test_update[git] PASSED                           [ 89%]
[task 2026-03-09T15:01:34.216+00:00] test/test_util_vcs.py::test_update[hg] PASSED                            [ 89%]
[task 2026-03-09T15:01:34.242+00:00] test/test_util_vcs.py::test_branch[git] PASSED                           [ 89%]
[task 2026-03-09T15:01:35.027+00:00] test/test_util_vcs.py::test_branch[hg] PASSED                            [ 89%]
[task 2026-03-09T15:01:35.037+00:00] test/test_util_vcs.py::test_remote_name_no_remote[git] PASSED            [ 89%]
[task 2026-03-09T15:01:35.150+00:00] test/test_util_vcs.py::test_remote_name_no_remote[hg] PASSED             [ 89%]
[task 2026-03-09T15:01:35.177+00:00] test/test_util_vcs.py::test_remote_name[git] PASSED                      [ 90%]
[task 2026-03-09T15:01:35.430+00:00] test/test_util_vcs.py::test_remote_name[hg] PASSED                       [ 90%]
[task 2026-03-09T15:01:35.475+00:00] test/test_util_vcs.py::test_all_remote_names[git] PASSED                 [ 90%]
[task 2026-03-09T15:01:36.005+00:00] test/test_util_vcs.py::test_all_remote_names[hg] PASSED                  [ 90%]
[task 2026-03-09T15:01:36.051+00:00] test/test_util_vcs.py::test_remote_name_many_remotes[git] PASSED         [ 90%]
[task 2026-03-09T15:01:36.445+00:00] test/test_util_vcs.py::test_remote_name_many_remotes[hg] PASSED          [ 90%]
[task 2026-03-09T15:01:36.488+00:00] test/test_util_vcs.py::test_remote_name_default_and_origin[git] PASSED   [ 91%]
[task 2026-03-09T15:01:36.882+00:00] test/test_util_vcs.py::test_remote_name_default_and_origin[hg] PASSED    [ 91%]
[task 2026-03-09T15:01:36.896+00:00] test/test_util_vcs.py::test_default_branch_guess[git] PASSED             [ 91%]
[task 2026-03-09T15:01:36.902+00:00] test/test_util_vcs.py::test_default_branch_guess[hg] PASSED              [ 91%]
[task 2026-03-09T15:01:36.933+00:00] test/test_util_vcs.py::test_default_branch_remote_query[git] PASSED      [ 91%]
[task 2026-03-09T15:01:37.080+00:00] test/test_util_vcs.py::test_default_branch_remote_query[hg] PASSED       [ 91%]
[task 2026-03-09T15:01:37.099+00:00] test/test_util_vcs.py::test_default_branch_cloned_metadata[git] PASSED   [ 92%]
[task 2026-03-09T15:01:37.105+00:00] test/test_util_vcs.py::test_default_branch_cloned_metadata[hg] PASSED    [ 92%]
[task 2026-03-09T15:01:37.129+00:00] test/test_util_vcs.py::test_get_tracked_files[git] PASSED                [ 92%]
[task 2026-03-09T15:01:38.409+00:00] test/test_util_vcs.py::test_get_tracked_files[hg] PASSED                 [ 92%]
[task 2026-03-09T15:01:38.423+00:00] test/test_util_vcs.py::test_get_changed_files_no_changes[git] PASSED     [ 92%]
[task 2026-03-09T15:01:38.965+00:00] test/test_util_vcs.py::test_get_changed_files_no_changes[hg] PASSED      [ 92%]
[task 2026-03-09T15:01:38.995+00:00] test/test_util_vcs.py::test_get_changed_files_one_modified_file[git] PASSED [ 93%]
[task 2026-03-09T15:01:39.976+00:00] test/test_util_vcs.py::test_get_changed_files_one_modified_file[hg] PASSED [ 93%]
[task 2026-03-09T15:01:39.998+00:00] test/test_util_vcs.py::test_get_changed_files_one_deleted_file[git] PASSED [ 93%]
[task 2026-03-09T15:01:40.974+00:00] test/test_util_vcs.py::test_get_changed_files_one_deleted_file[hg] PASSED [ 93%]
[task 2026-03-09T15:01:41.000+00:00] test/test_util_vcs.py::test_get_changed_files_one_added_file[git] PASSED [ 93%]
[task 2026-03-09T15:01:42.051+00:00] test/test_util_vcs.py::test_get_changed_files_one_added_file[hg] PASSED  [ 94%]
[task 2026-03-09T15:01:42.109+00:00] test/test_util_vcs.py::test_get_changed_files_two_revisions[git] PASSED  [ 94%]
[task 2026-03-09T15:01:44.541+00:00] test/test_util_vcs.py::test_get_changed_files_two_revisions[hg] PASSED   [ 94%]
[task 2026-03-09T15:01:44.612+00:00] test/test_util_vcs.py::test_workdir_outgoing[git] PASSED                 [ 94%]
[task 2026-03-09T15:01:48.079+00:00] test/test_util_vcs.py::test_workdir_outgoing[hg] PASSED                  [ 94%]
[task 2026-03-09T15:01:48.110+00:00] test/test_util_vcs.py::test_working_directory_clean[git] PASSED          [ 94%]
[task 2026-03-09T15:01:49.642+00:00] test/test_util_vcs.py::test_working_directory_clean[hg] PASSED           [ 95%]
[task 2026-03-09T15:01:49.693+00:00] test/test_util_vcs.py::test_find_latest_common_revision[git] PASSED      [ 95%]
[task 2026-03-09T15:01:51.493+00:00] test/test_util_vcs.py::test_find_latest_common_revision[hg] PASSED       [ 95%]
[task 2026-03-09T15:01:51.515+00:00] test/test_util_vcs.py::test_does_revision_exist_locally[git] PASSED      [ 95%]
[task 2026-03-09T15:01:52.545+00:00] test/test_util_vcs.py::test_does_revision_exist_locally[hg] PASSED       [ 95%]
[task 2026-03-09T15:01:52.635+00:00] test/test_util_vcs.py::test_get_changed_files_shallow_clone PASSED       [ 95%]
[task 2026-03-09T15:01:52.638+00:00] test/test_util_verify.py::test_verification_types[GraphVerification] PASSED [ 96%]
[task 2026-03-09T15:01:52.641+00:00] test/test_util_verify.py::test_verification_types[InitialVerification] PASSED [ 96%]
[task 2026-03-09T15:01:52.643+00:00] test/test_util_verify.py::test_verification_types[KindsVerification] PASSED [ 96%]
[task 2026-03-09T15:01:52.645+00:00] test/test_util_verify.py::test_verification_types[ParametersVerification] PASSED [ 96%]
[task 2026-03-09T15:01:52.648+00:00] test/test_util_verify.py::test_verification_types[GraphConfigVerification] PASSED [ 96%]
[task 2026-03-09T15:01:52.650+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: valid] PASSED [ 96%]
[task 2026-03-09T15:01:52.652+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: conflicting symbol] PASSED [ 97%]
[task 2026-03-09T15:01:52.654+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: too many collections] PASSED [ 97%]
[task 2026-03-09T15:01:52.656+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: valid] PASSED [ 97%]
[task 2026-03-09T15:01:52.659+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: invalid] PASSED [ 97%]
[task 2026-03-09T15:01:52.661+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: deprecated] PASSED [ 97%]
[task 2026-03-09T15:01:52.663+00:00] test/test_util_verify.py::test_verification[verify_index_route: invalid slash in route] PASSED [ 97%]
[task 2026-03-09T15:01:52.665+00:00] test/test_util_verify.py::test_verification[dependencies under limit] PASSED [ 98%]
[task 2026-03-09T15:01:52.667+00:00] test/test_util_verify.py::test_verification[dependencies at limit] PASSED [ 98%]
[task 2026-03-09T15:01:52.669+00:00] test/test_util_verify.py::test_verification[dependencies over limit] PASSED [ 98%]
[task 2026-03-09T15:01:52.671+00:00] test/test_util_verify.py::test_verification[using cache with wrong trust-domain] PASSED [ 98%]
[task 2026-03-09T15:01:52.673+00:00] test/test_util_verify.py::test_verification[using reserved cache] PASSED [ 98%]
[task 2026-03-09T15:01:52.675+00:00] test/test_util_verify.py::test_verification[using run-task without cache suffix] PASSED [ 98%]
[task 2026-03-09T15:01:52.677+00:00] test/test_util_verify.py::test_verification[using run-task-hg without cache suffix] PASSED [ 99%]
[task 2026-03-09T15:01:52.680+00:00] test/test_util_workertypes.py::test_get_worker_type[linux-1-Exception] PASSED [ 99%]
[task 2026-03-09T15:01:52.681+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:01:52.683+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:01:52.685+00:00] test/test_util_yaml.py::test_load PASSED                                 [ 99%]
[task 2026-03-09T15:01:52.957+00:00] test/test_util_yaml.py::test_key_order PASSED                            [100%]
[task 2026-03-09T15:01:52.957+00:00] 
[task 2026-03-09T15:01:52.957+00:00] =============================== warnings summary ===============================
[task 2026-03-09T15:01:52.957+00:00] test/test_config.py::test_vcs_root_fallback
[task 2026-03-09T15:01:52.957+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:01:52.957+00:00]     with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2026-03-09T15:01:52.957+00:00] 
[task 2026-03-09T15:01:52.957+00:00] test/test_config.py::test_vcs_root_fallback
[task 2026-03-09T15:01:52.957+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:01:52.957+00:00]     with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2026-03-09T15:01:52.957+00:00] 
[task 2026-03-09T15:01:52.957+00:00] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2026-03-09T15:01:52.957+00:00] ============ 576 passed, 7 skipped, 2 xfailed, 2 warnings in 35.80s ============
[taskcluster 2026-03-09T15:01:53.545Z]                        Exit Code: 0
[taskcluster 2026-03-09T15:01:53.545Z]                        User Time: 30.539ms
[taskcluster 2026-03-09T15:01:53.545Z]                      Kernel Time: 34.204ms
[taskcluster 2026-03-09T15:01:53.545Z]                        Wall Time: 48.82514112s
[taskcluster 2026-03-09T15:01:53.545Z]  Average Available System Memory: 14.79 GiB
[taskcluster 2026-03-09T15:01:53.545Z]       Average System Memory Used: 848.13 MiB
[taskcluster 2026-03-09T15:01:53.545Z]          Peak System Memory Used: 941.48 MiB
[taskcluster 2026-03-09T15:01:53.545Z]              Total System Memory: 15.62 GiB
[taskcluster 2026-03-09T15:01:53.545Z]                           Result: SUCCEEDED
[taskcluster 2026-03-09T15:01:53.545Z] === Task Finished ===
[taskcluster 2026-03-09T15:01:53.545Z] Task Duration: 48.82589811s
[taskcluster 2026-03-09T15:01:54.112Z] [mounts] Preserving cache: Moving "/home/task_177306842536540/cache0" to "/home/generic-worker/caches/KBfhpMS-Q56oXm6B0hFOEg"
[taskcluster 2026-03-09T15:01:54.113Z] [mounts] Preserving cache: Moving "/home/task_177306842536540/cache1" to "/home/generic-worker/caches/SwILW2tkQkWMi-s9MAa_QA"