Skip to content

feat: update schema from voluptuous to msgspec

6fa1be5
Select commit
Loading
Failed to load commit list.
Draft

Convert voluptuous schema to msgspec #752

feat: update schema from voluptuous to msgspec
6fa1be5
Select commit
Loading
Failed to load commit list.
firefoxci-taskcluster / test-unit-py39 succeeded Oct 29, 2025 in 3m 20s

FirefoxCI (pull_request)

Run unit tests with py39 (Treeherder push)

Details

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

Task Status

Started: 2025-10-29T20:40:16.590Z
Resolved: 2025-10-29T20:41:25.070Z
Task Execution Time: 1 minute, 8 seconds, 480 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0

Artifacts

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


[taskcluster 2025-10-29T20:40:16.626Z] Worker Type (taskgraph-t/linux-docker) settings:
[taskcluster 2025-10-29T20:40:16.626Z]   {
[taskcluster 2025-10-29T20:40:16.626Z]     "config": {
[taskcluster 2025-10-29T20:40:16.626Z]       "deploymentId": ""
[taskcluster 2025-10-29T20:40:16.626Z]     },
[taskcluster 2025-10-29T20:40:16.626Z]     "generic-worker": {
[taskcluster 2025-10-29T20:40:16.626Z]       "config": {
[taskcluster 2025-10-29T20:40:16.626Z]         "headlessTasks": true
[taskcluster 2025-10-29T20:40:16.626Z]       },
[taskcluster 2025-10-29T20:40:16.626Z]       "engine": "multiuser",
[taskcluster 2025-10-29T20:40:16.626Z]       "go-arch": "amd64",
[taskcluster 2025-10-29T20:40:16.626Z]       "go-os": "linux",
[taskcluster 2025-10-29T20:40:16.626Z]       "go-version": "go1.25.2",
[taskcluster 2025-10-29T20:40:16.626Z]       "release": "https://github.com/taskcluster/taskcluster/releases/tag/v90.0.5",
[taskcluster 2025-10-29T20:40:16.626Z]       "revision": "6c7a9f0a038ef0f1f5603bf5e3a400ad7417116e",
[taskcluster 2025-10-29T20:40:16.626Z]       "source": "https://github.com/taskcluster/taskcluster/commits/6c7a9f0a038ef0f1f5603bf5e3a400ad7417116e",
[taskcluster 2025-10-29T20:40:16.626Z]       "version": "90.0.5"
[taskcluster 2025-10-29T20:40:16.626Z]     },
[taskcluster 2025-10-29T20:40:16.626Z]     "image": "projects/taskcluster-imaging/global/images/gw-fxci-gcp-l1-2404-amd64-headless-googlecompute-2025-10-13",
[taskcluster 2025-10-29T20:40:16.626Z]     "instance-id": "9052609904093676987",

...(497 lines hidden)...

[task 2025-10-29T20:41:03.417+00:00] test/test_util_parameterization.py::test_task_refs_self PASSED           [ 69%]
[task 2025-10-29T20:41:03.418+00:00] test/test_util_parameterization.py::test_task_refs_decision PASSED       [ 69%]
[task 2025-10-29T20:41:03.420+00:00] test/test_util_parameterization.py::test_task_refs_key PASSED            [ 69%]
[task 2025-10-29T20:41:03.422+00:00] test/test_util_parameterization.py::test_task_refs_invalid PASSED        [ 69%]
[task 2025-10-29T20:41:03.423+00:00] test/test_util_parameterization.py::test_artifact_refs_in_list PASSED    [ 70%]
[task 2025-10-29T20:41:03.425+00:00] test/test_util_parameterization.py::test_artifact_refs_in_dict PASSED    [ 70%]
[task 2025-10-29T20:41:03.427+00:00] test/test_util_parameterization.py::test_artifact_refs_in_string PASSED  [ 70%]
[task 2025-10-29T20:41:03.428+00:00] test/test_util_parameterization.py::test_artifact_refs_private PASSED    [ 70%]
[task 2025-10-29T20:41:03.430+00:00] test/test_util_parameterization.py::test_artifact_refs_self PASSED       [ 70%]
[task 2025-10-29T20:41:03.432+00:00] test/test_util_parameterization.py::test_artifact_refs_decision PASSED   [ 70%]
[task 2025-10-29T20:41:03.433+00:00] test/test_util_parameterization.py::test_artifact_refs_invalid PASSED    [ 71%]
[task 2025-10-29T20:41:03.435+00:00] test/test_util_parameterization.py::test_artifact_refs_badly_formed PASSED [ 71%]
[task 2025-10-29T20:41:03.437+00:00] test/test_util_path.py::TestPath::test_basedir PASSED                    [ 71%]
[task 2025-10-29T20:41:03.438+00:00] test/test_util_path.py::TestPath::test_basename PASSED                   [ 71%]
[task 2025-10-29T20:41:03.439+00:00] test/test_util_path.py::TestPath::test_commonprefix PASSED               [ 71%]
[task 2025-10-29T20:41:03.441+00:00] test/test_util_path.py::TestPath::test_dirname PASSED                    [ 72%]
[task 2025-10-29T20:41:03.442+00:00] test/test_util_path.py::TestPath::test_join PASSED                       [ 72%]
[task 2025-10-29T20:41:03.449+00:00] test/test_util_path.py::TestPath::test_match PASSED                      [ 72%]
[task 2025-10-29T20:41:03.451+00:00] test/test_util_path.py::TestPath::test_normpath PASSED                   [ 72%]
[task 2025-10-29T20:41:03.452+00:00] test/test_util_path.py::TestPath::test_rebase PASSED                     [ 72%]
[task 2025-10-29T20:41:03.454+00:00] test/test_util_path.py::TestPath::test_relpath PASSED                    [ 72%]
[task 2025-10-29T20:41:03.455+00:00] test/test_util_path.py::TestPath::test_split PASSED                      [ 73%]
[task 2025-10-29T20:41:03.457+00:00] test/test_util_path.py::TestPath::test_splitext PASSED                   [ 73%]
[task 2025-10-29T20:41:03.459+00:00] test/test_util_python_path.py::test_find_object_no_such_module PASSED    [ 73%]
[task 2025-10-29T20:41:03.461+00:00] test/test_util_python_path.py::test_find_object_no_such_object PASSED    [ 73%]
[task 2025-10-29T20:41:03.463+00:00] test/test_util_python_path.py::test_find_object_exists PASSED            [ 73%]
[task 2025-10-29T20:41:03.465+00:00] test/test_util_readonlydict.py::test_basic PASSED                        [ 74%]
[task 2025-10-29T20:41:03.466+00:00] test/test_util_readonlydict.py::test_update PASSED                       [ 74%]
[task 2025-10-29T20:41:03.468+00:00] test/test_util_readonlydict.py::test_del PASSED                          [ 74%]
[task 2025-10-29T20:41:03.470+00:00] test/test_util_readonlydict.py::test_copy PASSED                         [ 74%]
[task 2025-10-29T20:41:03.471+00:00] test/test_util_readonlydict.py::test_pickle PASSED                       [ 74%]
[task 2025-10-29T20:41:03.473+00:00] test/test_util_schema.py::TestValidateSchema::test_invalid PASSED        [ 74%]
[task 2025-10-29T20:41:03.474+00:00] test/test_util_schema.py::TestValidateSchema::test_valid PASSED          [ 75%]
[task 2025-10-29T20:41:03.476+00:00] test/test_util_schema.py::TestCheckSchema::test_extend_not_supported PASSED [ 75%]
[task 2025-10-29T20:41:03.478+00:00] test/test_util_schema.py::TestCheckSchema::test_schema PASSED            [ 75%]
[task 2025-10-29T20:41:03.479+00:00] test/test_util_schema.py::test_check_skipped PASSED                      [ 75%]
[task 2025-10-29T20:41:03.481+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_list PASSED           [ 75%]
[task 2025-10-29T20:41:03.482+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_default PASSED  [ 75%]
[task 2025-10-29T20:41:03.484+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_extra_value PASSED [ 76%]
[task 2025-10-29T20:41:03.485+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_nested_exact PASSED [ 76%]
[task 2025-10-29T20:41:03.487+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_partial_regexp PASSED [ 76%]
[task 2025-10-29T20:41:03.489+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_match_regexp PASSED   [ 76%]
[task 2025-10-29T20:41:03.490+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_multiple_matches PASSED [ 76%]
[task 2025-10-29T20:41:03.492+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_nested PASSED         [ 77%]
[task 2025-10-29T20:41:03.493+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by PASSED          [ 77%]
[task 2025-10-29T20:41:03.495+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_dotted PASSED   [ 77%]
[task 2025-10-29T20:41:03.496+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_empty_dict PASSED [ 77%]
[task 2025-10-29T20:41:03.498+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_by PASSED   [ 77%]
[task 2025-10-29T20:41:03.499+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_dict PASSED [ 77%]
[task 2025-10-29T20:41:03.501+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_by_not_only_by PASSED [ 78%]
[task 2025-10-29T20:41:03.502+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_key PASSED         [ 78%]
[task 2025-10-29T20:41:03.504+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_key_no_default PASSED [ 78%]
[task 2025-10-29T20:41:03.505+00:00] test/test_util_schema.py::TestResolveKeyedBy::test_no_match PASSED       [ 78%]
[task 2025-10-29T20:41:03.507+00:00] test/test_util_schema.py::test_optionally_keyed_by PASSED                [ 78%]
[task 2025-10-29T20:41:03.509+00:00] test/test_util_schema.py::test_optionally_keyed_by_mulitple_keys PASSED  [ 79%]
[task 2025-10-29T20:41:03.511+00:00] test/test_util_taskcluster.py::test_get_root_url PASSED                  [ 79%]
[task 2025-10-29T20:41:03.512+00:00] test/test_util_taskcluster.py::test_get_artifact_url PASSED              [ 79%]
[task 2025-10-29T20:41:03.526+00:00] test/test_util_taskcluster.py::test_get_artifact PASSED                  [ 79%]
[task 2025-10-29T20:41:03.530+00:00] test/test_util_taskcluster.py::test_list_artifact PASSED                 [ 79%]
[task 2025-10-29T20:41:03.531+00:00] test/test_util_taskcluster.py::test_get_artifact_path PASSED             [ 79%]
[task 2025-10-29T20:41:03.533+00:00] test/test_util_taskcluster.py::test_get_index_url PASSED                 [ 80%]
[task 2025-10-29T20:41:03.537+00:00] test/test_util_taskcluster.py::test_find_task_id PASSED                  [ 80%]
[task 2025-10-29T20:41:03.542+00:00] test/test_util_taskcluster.py::test_find_task_id_batched PASSED          [ 80%]
[task 2025-10-29T20:41:03.545+00:00] test/test_util_taskcluster.py::test_get_artifact_from_index PASSED       [ 80%]
[task 2025-10-29T20:41:03.550+00:00] test/test_util_taskcluster.py::test_list_tasks PASSED                    [ 80%]
[task 2025-10-29T20:41:03.552+00:00] test/test_util_taskcluster.py::test_parse_time PASSED                    [ 81%]
[task 2025-10-29T20:41:03.554+00:00] test/test_util_taskcluster.py::test_get_task_url PASSED                  [ 81%]
[task 2025-10-29T20:41:03.557+00:00] test/test_util_taskcluster.py::test_get_task_definition PASSED           [ 81%]
[task 2025-10-29T20:41:03.560+00:00] test/test_util_taskcluster.py::test_cancel_task PASSED                   [ 81%]
[task 2025-10-29T20:41:03.564+00:00] test/test_util_taskcluster.py::test_status_task PASSED                   [ 81%]
[task 2025-10-29T20:41:03.569+00:00] test/test_util_taskcluster.py::test_status_task_batched PASSED           [ 81%]
[task 2025-10-29T20:41:03.572+00:00] test/test_util_taskcluster.py::test_state_task PASSED                    [ 82%]
[task 2025-10-29T20:41:03.576+00:00] test/test_util_taskcluster.py::test_rerun_task PASSED                    [ 82%]
[task 2025-10-29T20:41:03.579+00:00] test/test_util_taskcluster.py::test_get_current_scopes PASSED            [ 82%]
[task 2025-10-29T20:41:03.582+00:00] test/test_util_taskcluster.py::test_purge_cache PASSED                   [ 82%]
[task 2025-10-29T20:41:03.586+00:00] test/test_util_taskcluster.py::test_send_email PASSED                    [ 82%]
[task 2025-10-29T20:41:03.592+00:00] test/test_util_taskcluster.py::test_list_task_group_incomplete_tasks PASSED [ 82%]
[task 2025-10-29T20:41:03.605+00:00] test/test_util_taskcluster.py::test_get_ancestors PASSED                 [ 83%]
[task 2025-10-29T20:41:03.617+00:00] test/test_util_taskcluster.py::test_get_ancestors_string PASSED          [ 83%]
[task 2025-10-29T20:41:03.620+00:00] test/test_util_taskcluster.py::test_get_taskcluster_client PASSED        [ 83%]
[task 2025-10-29T20:41:03.622+00:00] test/test_util_templates.py::MergeTest::test_merge PASSED                [ 83%]
[task 2025-10-29T20:41:03.623+00:00] test/test_util_templates.py::MergeTest::test_merge_by PASSED             [ 83%]
[task 2025-10-29T20:41:03.625+00:00] test/test_util_templates.py::MergeTest::test_merge_diff_types PASSED     [ 84%]
[task 2025-10-29T20:41:03.626+00:00] test/test_util_templates.py::MergeTest::test_merge_multiple_by PASSED    [ 84%]
[task 2025-10-29T20:41:03.627+00:00] test/test_util_templates.py::MergeTest::test_merge_to_dicts PASSED       [ 84%]
[task 2025-10-29T20:41:03.629+00:00] test/test_util_templates.py::MergeTest::test_merge_to_lists PASSED       [ 84%]
[task 2025-10-29T20:41:03.631+00:00] test/test_util_time.py::FromNowTest::test_current_json_time PASSED       [ 84%]
[task 2025-10-29T20:41:03.632+00:00] test/test_util_time.py::FromNowTest::test_invalid_str PASSED             [ 84%]
[task 2025-10-29T20:41:03.634+00:00] test/test_util_time.py::FromNowTest::test_json_from_now PASSED           [ 85%]
[task 2025-10-29T20:41:03.635+00:00] test/test_util_time.py::FromNowTest::test_json_from_now_tzinfo PASSED    [ 85%]
[task 2025-10-29T20:41:03.636+00:00] test/test_util_time.py::FromNowTest::test_json_from_now_utc_now PASSED   [ 85%]
[task 2025-10-29T20:41:03.638+00:00] test/test_util_time.py::FromNowTest::test_missing_unit PASSED            [ 85%]
[task 2025-10-29T20:41:03.639+00:00] test/test_util_time.py::FromNowTest::test_missing_unknown_unit PASSED    [ 85%]
[task 2025-10-29T20:41:03.641+00:00] test/test_util_time.py::FromNowTest::test_value_of PASSED                [ 86%]
[task 2025-10-29T20:41:03.642+00:00] test/test_util_treeherder.py::TestSymbols::test_add_suffix_no_group PASSED [ 86%]
[task 2025-10-29T20:41:03.643+00:00] test/test_util_treeherder.py::TestSymbols::test_add_suffix_with_group PASSED [ 86%]
[task 2025-10-29T20:41:03.645+00:00] test/test_util_treeherder.py::TestSymbols::test_join_no_group PASSED     [ 86%]
[task 2025-10-29T20:41:03.646+00:00] test/test_util_treeherder.py::TestSymbols::test_join_with_group PASSED   [ 86%]
[task 2025-10-29T20:41:03.647+00:00] test/test_util_treeherder.py::TestSymbols::test_split_no_group PASSED    [ 86%]
[task 2025-10-29T20:41:03.649+00:00] test/test_util_treeherder.py::TestSymbols::test_split_with_group PASSED  [ 87%]
[task 2025-10-29T20:41:03.656+00:00] test/test_util_vcs.py::test_get_repository[git] PASSED                   [ 87%]
[task 2025-10-29T20:41:03.662+00:00] test/test_util_vcs.py::test_get_repository[hg] PASSED                    [ 87%]
[task 2025-10-29T20:41:03.668+00:00] test/test_util_vcs.py::test_get_repository_type[git] PASSED              [ 87%]
[task 2025-10-29T20:41:03.674+00:00] test/test_util_vcs.py::test_get_repository_type[hg] PASSED               [ 87%]
[task 2025-10-29T20:41:03.676+00:00] test/test_util_vcs.py::test_get_repository_type_failure PASSED           [ 87%]
[task 2025-10-29T20:41:03.678+00:00] test/test_util_vcs.py::test_hgplain PASSED                               [ 88%]
[task 2025-10-29T20:41:03.700+00:00] test/test_util_vcs.py::test_get_commit_message[git-commit message in\u2026 pure utf8] PASSED [ 88%]
[task 2025-10-29T20:41:03.720+00:00] test/test_util_vcs.py::test_get_commit_message[git-commit message in... ascii] PASSED [ 88%]
[task 2025-10-29T20:41:04.106+00:00] test/test_util_vcs.py::test_get_commit_message[hg-commit message in\u2026 pure utf8] PASSED [ 88%]
[task 2025-10-29T20:41:04.486+00:00] test/test_util_vcs.py::test_get_commit_message[hg-commit message in... ascii] PASSED [ 88%]
[task 2025-10-29T20:41:04.498+00:00] test/test_util_vcs.py::test_calculate_head_rev[git] PASSED               [ 89%]
[task 2025-10-29T20:41:04.629+00:00] test/test_util_vcs.py::test_calculate_head_rev[hg] PASSED                [ 89%]
[task 2025-10-29T20:41:04.652+00:00] test/test_util_vcs.py::test_get_repo_path[git] PASSED                    [ 89%]
[task 2025-10-29T20:41:04.877+00:00] test/test_util_vcs.py::test_get_repo_path[hg] PASSED                     [ 89%]
[task 2025-10-29T20:41:04.915+00:00] test/test_util_vcs.py::test_update[git] PASSED                           [ 89%]
[task 2025-10-29T20:41:05.940+00:00] test/test_util_vcs.py::test_update[hg] PASSED                            [ 89%]
[task 2025-10-29T20:41:05.988+00:00] test/test_util_vcs.py::test_branch[git] PASSED                           [ 90%]
[task 2025-10-29T20:41:06.778+00:00] test/test_util_vcs.py::test_branch[hg] PASSED                            [ 90%]
[task 2025-10-29T20:41:06.795+00:00] test/test_util_vcs.py::test_remote_name_no_remote[git] PASSED            [ 90%]
[task 2025-10-29T20:41:06.910+00:00] test/test_util_vcs.py::test_remote_name_no_remote[hg] PASSED             [ 90%]
[task 2025-10-29T20:41:06.955+00:00] test/test_util_vcs.py::test_remote_name[git] PASSED                      [ 90%]
[task 2025-10-29T20:41:07.194+00:00] test/test_util_vcs.py::test_remote_name[hg] PASSED                       [ 91%]
[task 2025-10-29T20:41:07.250+00:00] test/test_util_vcs.py::test_all_remote_names[git] PASSED                 [ 91%]
[task 2025-10-29T20:41:07.719+00:00] test/test_util_vcs.py::test_all_remote_names[hg] PASSED                  [ 91%]
[task 2025-10-29T20:41:07.783+00:00] test/test_util_vcs.py::test_remote_name_many_remotes[git] PASSED         [ 91%]
[task 2025-10-29T20:41:08.147+00:00] test/test_util_vcs.py::test_remote_name_many_remotes[hg] PASSED          [ 91%]
[task 2025-10-29T20:41:08.207+00:00] test/test_util_vcs.py::test_remote_name_default_and_origin[git] PASSED   [ 91%]
[task 2025-10-29T20:41:08.571+00:00] test/test_util_vcs.py::test_remote_name_default_and_origin[hg] PASSED    [ 92%]
[task 2025-10-29T20:41:08.597+00:00] test/test_util_vcs.py::test_default_branch_guess[git] PASSED             [ 92%]
[task 2025-10-29T20:41:08.604+00:00] test/test_util_vcs.py::test_default_branch_guess[hg] PASSED              [ 92%]
[task 2025-10-29T20:41:08.647+00:00] test/test_util_vcs.py::test_default_branch_remote_query[git] PASSED      [ 92%]
[task 2025-10-29T20:41:08.777+00:00] test/test_util_vcs.py::test_default_branch_remote_query[hg] PASSED       [ 92%]
[task 2025-10-29T20:41:08.803+00:00] test/test_util_vcs.py::test_default_branch_cloned_metadata[git] PASSED   [ 93%]
[task 2025-10-29T20:41:08.809+00:00] test/test_util_vcs.py::test_default_branch_cloned_metadata[hg] PASSED    [ 93%]
[task 2025-10-29T20:41:08.849+00:00] test/test_util_vcs.py::test_get_tracked_files[git] PASSED                [ 93%]
[task 2025-10-29T20:41:09.993+00:00] test/test_util_vcs.py::test_get_tracked_files[hg] PASSED                 [ 93%]
[task 2025-10-29T20:41:10.016+00:00] test/test_util_vcs.py::test_get_changed_files_no_changes[git] PASSED     [ 93%]
[task 2025-10-29T20:41:10.497+00:00] test/test_util_vcs.py::test_get_changed_files_no_changes[hg] PASSED      [ 93%]
[task 2025-10-29T20:41:10.549+00:00] test/test_util_vcs.py::test_get_changed_files_one_modified_file[git] PASSED [ 94%]
[task 2025-10-29T20:41:11.412+00:00] test/test_util_vcs.py::test_get_changed_files_one_modified_file[hg] PASSED [ 94%]
[task 2025-10-29T20:41:11.450+00:00] test/test_util_vcs.py::test_get_changed_files_one_deleted_file[git] PASSED [ 94%]
[task 2025-10-29T20:41:12.319+00:00] test/test_util_vcs.py::test_get_changed_files_one_deleted_file[hg] PASSED [ 94%]
[task 2025-10-29T20:41:12.363+00:00] test/test_util_vcs.py::test_get_changed_files_one_added_file[git] PASSED [ 94%]
[task 2025-10-29T20:41:13.335+00:00] test/test_util_vcs.py::test_get_changed_files_one_added_file[hg] PASSED  [ 94%]
[task 2025-10-29T20:41:13.443+00:00] test/test_util_vcs.py::test_get_changed_files_two_revisions[git] PASSED  [ 95%]
[task 2025-10-29T20:41:15.735+00:00] test/test_util_vcs.py::test_get_changed_files_two_revisions[hg] PASSED   [ 95%]
[task 2025-10-29T20:41:15.855+00:00] test/test_util_vcs.py::test_workdir_outgoing[git] PASSED                 [ 95%]
[task 2025-10-29T20:41:19.249+00:00] test/test_util_vcs.py::test_workdir_outgoing[hg] PASSED                  [ 95%]
[task 2025-10-29T20:41:19.304+00:00] test/test_util_vcs.py::test_working_directory_clean[git] PASSED          [ 95%]
[task 2025-10-29T20:41:20.769+00:00] test/test_util_vcs.py::test_working_directory_clean[hg] PASSED           [ 96%]
[task 2025-10-29T20:41:20.845+00:00] test/test_util_vcs.py::test_find_latest_common_revision[git] PASSED      [ 96%]
[task 2025-10-29T20:41:22.412+00:00] test/test_util_vcs.py::test_find_latest_common_revision[hg] PASSED       [ 96%]
[task 2025-10-29T20:41:22.447+00:00] test/test_util_vcs.py::test_does_revision_exist_locally[git] PASSED      [ 96%]
[task 2025-10-29T20:41:23.365+00:00] test/test_util_vcs.py::test_does_revision_exist_locally[hg] PASSED       [ 96%]
[task 2025-10-29T20:41:23.488+00:00] test/test_util_vcs.py::test_get_changed_files_shallow_clone PASSED       [ 96%]
[task 2025-10-29T20:41:23.491+00:00] test/test_util_verify.py::test_verification_types[GraphVerification] PASSED [ 97%]
[task 2025-10-29T20:41:23.493+00:00] test/test_util_verify.py::test_verification_types[InitialVerification] PASSED [ 97%]
[task 2025-10-29T20:41:23.495+00:00] test/test_util_verify.py::test_verification_types[KindsVerification] PASSED [ 97%]
[task 2025-10-29T20:41:23.496+00:00] test/test_util_verify.py::test_verification_types[ParametersVerification] PASSED [ 97%]
[task 2025-10-29T20:41:23.498+00:00] test/test_util_verify.py::test_verification_types[GraphConfigVerification] PASSED [ 97%]
[task 2025-10-29T20:41:23.500+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: valid] PASSED [ 98%]
[task 2025-10-29T20:41:23.502+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: conflicting symbol] PASSED [ 98%]
[task 2025-10-29T20:41:23.504+00:00] test/test_util_verify.py::test_verification[task_graph_symbol: too many collections] PASSED [ 98%]
[task 2025-10-29T20:41:23.506+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: valid] PASSED [ 98%]
[task 2025-10-29T20:41:23.508+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: invalid] PASSED [ 98%]
[task 2025-10-29T20:41:23.510+00:00] test/test_util_verify.py::test_verification[routes_notfication_filter: deprecated] PASSED [ 98%]
[task 2025-10-29T20:41:23.512+00:00] test/test_util_verify.py::test_verification[verify_index_route: invalid slash in route] PASSED [ 99%]
[task 2025-10-29T20:41:23.514+00:00] test/test_util_workertypes.py::test_get_worker_type[linux-1-Exception] PASSED [ 99%]
[task 2025-10-29T20:41:23.516+00:00] test/test_util_workertypes.py::test_get_worker_type[b-linux-3-test-domain-3/b-linux-gcp] PASSED [ 99%]
[task 2025-10-29T20:41:23.518+00:00] test/test_util_workertypes.py::test_get_worker_type[t-linux-1-test-domain-1/t-linux-gcp] PASSED [ 99%]
[task 2025-10-29T20:41:23.520+00:00] test/test_util_yaml.py::test_load PASSED                                 [ 99%]
[task 2025-10-29T20:41:23.654+00:00] test/test_util_yaml.py::test_key_order PASSED                            [100%]
[task 2025-10-29T20:41:23.654+00:00] 
[task 2025-10-29T20:41:23.654+00:00] =============================== warnings summary ===============================
[task 2025-10-29T20:41:23.654+00:00] test/test_config.py::test_vcs_root_fallback
[task 2025-10-29T20:41:23.654+00:00]   /builds/worker/checkouts/vcs/test/test_config.py:57: 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 2025-10-29T20:41:23.654+00:00]     with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2025-10-29T20:41:23.654+00:00] 
[task 2025-10-29T20:41:23.654+00:00] test/test_config.py::test_vcs_root_fallback
[task 2025-10-29T20:41:23.654+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 2025-10-29T20:41:23.654+00:00]     with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2025-10-29T20:41:23.654+00:00] 
[task 2025-10-29T20:41:23.654+00:00] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2025-10-29T20:41:23.654+00:00] ============ 550 passed, 6 skipped, 2 xfailed, 2 warnings in 34.32s ============
[taskcluster 2025-10-29T20:41:24.171Z]                        Exit Code: 0
[taskcluster 2025-10-29T20:41:24.171Z]                        User Time: 27.03ms
[taskcluster 2025-10-29T20:41:24.171Z]                      Kernel Time: 31.189ms
[taskcluster 2025-10-29T20:41:24.171Z]                        Wall Time: 45.398147136s
[taskcluster 2025-10-29T20:41:24.171Z]  Average Available System Memory: 14.82 GiB
[taskcluster 2025-10-29T20:41:24.171Z]       Average System Memory Used: 815.89 MiB
[taskcluster 2025-10-29T20:41:24.171Z]          Peak System Memory Used: 885.76 MiB
[taskcluster 2025-10-29T20:41:24.171Z]              Total System Memory: 15.62 GiB
[taskcluster 2025-10-29T20:41:24.171Z]                           Result: SUCCEEDED
[taskcluster 2025-10-29T20:41:24.171Z] === Task Finished ===
[taskcluster 2025-10-29T20:41:24.171Z] Task Duration: 45.398611985s
[taskcluster 2025-10-29T20:41:24.429Z] Uploading artifact public/coverage.py39 from file /home/task_176177041632954/artifact0 with content encoding "gzip", mime type "application/octet-stream" and expiry 2025-11-26T20:38:03.641Z
[taskcluster 2025-10-29T20:41:24.656Z] [mounts] Preserving cache: Moving "/home/task_176177041632954/cache0" to "/home/generic-worker/caches/fR4CxJYeRdeZ1UA79wdKow"
[taskcluster 2025-10-29T20:41:24.656Z] [mounts] Preserving cache: Moving "/home/task_176177041632954/cache1" to "/home/generic-worker/caches/Y7qR06klRvmWU2mlUyN29A"
[taskcluster 2025-10-29T20:41:24.762Z] Uploading link artifact public/logs/live.log to artifact public/logs/live_backing.log with expiry 2025-11-26T20:38:03.641Z