Convert voluptuous schema to msgspec #752
Draft
firefoxci-taskcluster / test-unit-py314
failed
Oct 29, 2025 in 3m 33s
FirefoxCI (pull_request)
Run unit tests with py314 (Treeherder push)
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2025-10-29T20:40:15.727Z
Resolved: 2025-10-29T20:41:38.690Z
Task Execution Time: 1 minute, 22 seconds, 963 milliseconds
Task Status: failed
Reason Resolved: failed
RunId: 0
Artifacts
- public/coverage.py314
- public/logs/live_backing.log
- public/logs/live.log
[taskcluster 2025-10-29T20:40:15.766Z] Worker Type (taskgraph-t/linux-docker) settings:
[taskcluster 2025-10-29T20:40:15.766Z] {
[taskcluster 2025-10-29T20:40:15.766Z] "config": {
[taskcluster 2025-10-29T20:40:15.766Z] "deploymentId": ""
[taskcluster 2025-10-29T20:40:15.766Z] },
[taskcluster 2025-10-29T20:40:15.766Z] "generic-worker": {
[taskcluster 2025-10-29T20:40:15.766Z] "config": {
[taskcluster 2025-10-29T20:40:15.766Z] "headlessTasks": true
[taskcluster 2025-10-29T20:40:15.766Z] },
[taskcluster 2025-10-29T20:40:15.766Z] "engine": "multiuser",
[taskcluster 2025-10-29T20:40:15.766Z] "go-arch": "amd64",
[taskcluster 2025-10-29T20:40:15.766Z] "go-os": "linux",
[taskcluster 2025-10-29T20:40:15.766Z] "go-version": "go1.25.2",
[taskcluster 2025-10-29T20:40:15.766Z] "release": "https://github.com/taskcluster/taskcluster/releases/tag/v90.0.5",
[taskcluster 2025-10-29T20:40:15.766Z] "revision": "6c7a9f0a038ef0f1f5603bf5e3a400ad7417116e",
[taskcluster 2025-10-29T20:40:15.766Z] "source": "https://github.com/taskcluster/taskcluster/commits/6c7a9f0a038ef0f1f5603bf5e3a400ad7417116e",
[taskcluster 2025-10-29T20:40:15.766Z] "version": "90.0.5"
[taskcluster 2025-10-29T20:40:15.766Z] },
[taskcluster 2025-10-29T20:40:15.766Z] "image": "projects/taskcluster-imaging/global/images/gw-fxci-gcp-l1-2404-amd64-headless-googlecompute-2025-10-13",
[taskcluster 2025-10-29T20:40:15.766Z] "instance-id": "1996808351432820155",
...(17538 lines hidden)...
[task 2025-10-29T20:41:37.194+00:00] # Test voluptuous behavior (default)
[task 2025-10-29T20:41:37.194+00:00] validator = optionally_keyed_by("foo", "bar", str)
[task 2025-10-29T20:41:37.194+00:00] assert callable(validator)
[task 2025-10-29T20:41:37.194+00:00]
[task 2025-10-29T20:41:37.194+00:00] # Test msgspec behavior
[task 2025-10-29T20:41:37.194+00:00] type_annotation = optionally_keyed_by("foo", "bar", str, use_msgspec=True)
[task 2025-10-29T20:41:37.194+00:00]
[task 2025-10-29T20:41:37.194+00:00] # Create a struct with this type annotation to test validation
[task 2025-10-29T20:41:37.194+00:00] class TestStruct(Struct, forbid_unknown_fields=False):
[task 2025-10-29T20:41:37.194+00:00] value: type_annotation
[task 2025-10-29T20:41:37.194+00:00]
[task 2025-10-29T20:41:37.194+00:00] # Test that a simple string is accepted
[task 2025-10-29T20:41:37.194+00:00] result = msgspec.convert({"value": "baz"}, TestStruct)
[task 2025-10-29T20:41:37.194+00:00] > assert result.value == "baz"
[task 2025-10-29T20:41:37.194+00:00] ^^^^^^^^^^^^
[task 2025-10-29T20:41:37.194+00:00] E AttributeError: 'TestStruct' object has no attribute 'value'
[task 2025-10-29T20:41:37.194+00:00]
[task 2025-10-29T20:41:37.194+00:00] test/test_util_schema.py:305: AttributeError
[task 2025-10-29T20:41:37.194+00:00] =============================== warnings summary ===============================
[task 2025-10-29T20:41:37.194+00:00] test/test_config.py::test_vcs_root_fallback
[task 2025-10-29T20:41:37.194+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:37.194+00:00] with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2025-10-29T20:41:37.194+00:00]
[task 2025-10-29T20:41:37.194+00:00] test/test_config.py::test_vcs_root_fallback
[task 2025-10-29T20:41:37.194+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:37.194+00:00] with mocker.patch("taskgraph.config.get_repository", side_effect=RuntimeError):
[task 2025-10-29T20:41:37.194+00:00]
[task 2025-10-29T20:41:37.194+00:00] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2025-10-29T20:41:37.194+00:00] =========================== short test summary info ============================
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_decision.py::TestGetDecisionParameters::test_dontbuild_commit_message_yields_default_target_tasks_method - taskgraph.parameters.ParameterMismatch: Invalid parameters: Extra fields not allowed: {'filters', 'repository-type', 'optimize-strategies', 'build-date', 'version', 'base-repository', 'existing-tasks', 'tasks-for', 'head-rev', 'owner', 'pushdate', 'next-version', 'moz-build-date', 'pushlog-id', 'level', 'do-not-optimize', 'optimize-target-tasks', 'enable-always-target', 'build-number', 'base-rev', 'target-tasks-method', 'head-ref', 'files-changed', 'head-tag', 'head-repository', 'project'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_decision.py::TestGetDecisionParameters::test_no_email_owner - taskgraph.parameters.ParameterMismatch: Invalid parameters: Extra fields not allowed: {'filters', 'repository-type', 'optimize-strategies', 'build-date', 'version', 'base-repository', 'existing-tasks', 'tasks-for', 'head-rev', 'owner', 'pushdate', 'next-version', 'moz-build-date', 'pushlog-id', 'level', 'do-not-optimize', 'optimize-target-tasks', 'enable-always-target', 'build-number', 'base-rev', 'target-tasks-method', 'head-ref', 'files-changed', 'head-tag', 'head-repository', 'project'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_decision.py::TestGetDecisionParameters::test_regular_commit_message_yields_default_target_tasks_method - taskgraph.parameters.ParameterMismatch: Invalid parameters: Extra fields not allowed: {'filters', 'repository-type', 'optimize-strategies', 'build-date', 'version', 'base-repository', 'existing-tasks', 'tasks-for', 'head-rev', 'owner', 'pushdate', 'next-version', 'moz-build-date', 'pushlog-id', 'level', 'do-not-optimize', 'optimize-target-tasks', 'enable-always-target', 'build-number', 'base-rev', 'target-tasks-method', 'head-ref', 'files-changed', 'head-tag', 'head-repository', 'project'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_decision.py::TestGetDecisionParameters::test_simple_options - taskgraph.parameters.ParameterMismatch: Invalid parameters: Extra fields not allowed: {'filters', 'repository-type', 'optimize-strategies', 'build-date', 'version', 'base-repository', 'existing-tasks', 'tasks-for', 'head-rev', 'owner', 'pushdate', 'next-version', 'moz-build-date', 'pushlog-id', 'level', 'do-not-optimize', 'optimize-target-tasks', 'enable-always-target', 'build-number', 'base-rev', 'target-tasks-method', 'head-ref', 'files-changed', 'head-tag', 'head-repository', 'project'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_main.py::test_show_taskgraph_parallel - assert 1 == 0
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_parameters.py::TestParameters::test_Parameters_check - taskgraph.parameters.ParameterMismatch: Invalid parameters: Extra fields not allowed: {'filters', 'repository-type', 'optimize-strategies', 'build-date', 'version', 'base-repository', 'existing-tasks', 'tasks-for', 'head-rev', 'owner', 'pushdate', 'base-ref', 'next-version', 'moz-build-date', 'pushlog-id', 'level', 'do-not-optimize', 'optimize-target-tasks', 'enable-always-target', 'build-number', 'base-rev', 'target-tasks-method', 'head-ref', 'files-changed', 'head-tag', 'head-repository', 'project'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_parameters.py::TestParameters::test_Parameters_check_missing - AssertionError: ParameterMismatch not raised by <lambda>
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_parameters.py::test_extend_parameters_schema - taskgraph.parameters.ParameterMismatch: Invalid parameters: Extra fields not allowed: {'filters', 'repository-type', 'build-date', 'base-repository', 'existing-tasks', 'tasks-for', 'head-rev', 'owner', 'pushdate', 'base-ref', 'moz-build-date', 'pushlog-id', 'level', 'do-not-optimize', 'optimize-target-tasks', 'enable-always-target', 'build-number', 'optional-field', 'base-rev', 'target-tasks-method', 'custom-field', 'head-ref', 'files-changed', 'head-tag', 'head-repository', 'project'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_transform_docker_image.py::test_transforms[null] - Exception: In test kind task 'fake-name':
[task 2025-10-29T20:41:37.194+00:00] Object contains unknown field `name`
[task 2025-10-29T20:41:37.194+00:00] {'index': {'job-name': 'fake-job-name',
[task 2025-10-29T20:41:37.194+00:00] 'product': 'fake-prod',
[task 2025-10-29T20:41:37.194+00:00] 'rank': 1,
[task 2025-10-29T20:41:37.194+00:00] 'type': 'fake-type'},
[task 2025-10-29T20:41:37.194+00:00] 'name': 'fake-name'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_transform_docker_image.py::test_transforms[parent] - Exception: In test kind task 'fake-name':
[task 2025-10-29T20:41:37.194+00:00] Object contains unknown field `name`
[task 2025-10-29T20:41:37.194+00:00] {'index': {'job-name': 'fake-job-name',
[task 2025-10-29T20:41:37.194+00:00] 'product': 'fake-prod',
[task 2025-10-29T20:41:37.194+00:00] 'rank': 1,
[task 2025-10-29T20:41:37.194+00:00] 'type': 'fake-type'},
[task 2025-10-29T20:41:37.194+00:00] 'name': 'fake-name',
[task 2025-10-29T20:41:37.194+00:00] 'parent': 'fake-parent'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_transform_docker_image.py::test_transforms[symbol] - Exception: In test kind task 'fake-name':
[task 2025-10-29T20:41:37.194+00:00] Object contains unknown field `name`
[task 2025-10-29T20:41:37.194+00:00] {'index': {'job-name': 'fake-job-name',
[task 2025-10-29T20:41:37.194+00:00] 'product': 'fake-prod',
[task 2025-10-29T20:41:37.194+00:00] 'rank': 1,
[task 2025-10-29T20:41:37.194+00:00] 'type': 'fake-type'},
[task 2025-10-29T20:41:37.194+00:00] 'name': 'fake-name',
[task 2025-10-29T20:41:37.194+00:00] 'symbol': 'fake-symbol'}
[task 2025-10-29T20:41:37.194+00:00] FAILED test/test_transforms_fetch.py::test_transforms[static-url] - Exception: In test kind task 'fake-task-name':
[task 2025-10-29T20:41:37.194+00:00] Object contains unknown field `description`
[task 2025-10-29T20:41:37.194+00:00] {'description': 'fake description',
[task 2025-10-29T20:41:37.194+00:00] 'fetch': {'headers': {'User-Agent': 'Mozilla'},
[task 2025-10-29T20:41:37.194+00:00] 'sha256': 'abcdef',
[task 2025-10-29T20:41:37.194+00:00] 'size': 123,
[task 2025-10-29T20:41:37.194+00:00] 'type': 'static-url',
[task 2025-10-29T20:41:37.195+00:00] 'url': 'https://example.com/resource'},
[task 2025-10-29T20:41:37.195+00:00] 'name': 'fake-task-name'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_run_task[docker_worker] - Exception: In task.run using 'run-task'/'docker-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_run_task[generic_worker] - Exception: In task.run using 'run-task'/'generic-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_run_task[exec_with] - Exception: In task.run using 'run-task'/'docker-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'exec-with': 'powershell',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_run_task[run_task_command_docker_worker] - Exception: In task.run using 'run-task'/'docker-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'run-task-command': ['/foo/bar/python3', 'run-task'],
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_run_task[run_task_command_generic_worker] - Exception: In task.run using 'run-task'/'generic-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'run-task-command': ['/foo/bar/python3', 'run-task'],
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_caches_enabled - Exception: In task.run using 'run-task'/'generic-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'use-caches': True,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_caches_disabled - Exception: In task.run using 'run-task'/'generic-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'use-caches': False,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_caches_explicit - Exception: In task.run using 'run-task'/'generic-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'use-caches': ['cargo'],
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_run_run_task.py::test_caches_project_explicit - Exception: In task.run using 'run-task'/'generic-worker' for task 'fake-task-label':
[task 2025-10-29T20:41:37.195+00:00] Object contains unknown field `using`
[task 2025-10-29T20:41:37.195+00:00] {'checkout': True,
[task 2025-10-29T20:41:37.195+00:00] 'command': 'echo hello world',
[task 2025-10-29T20:41:37.195+00:00] 'run-as-root': False,
[task 2025-10-29T20:41:37.195+00:00] 'sparse-profile': None,
[task 2025-10-29T20:41:37.195+00:00] 'using': 'run-task',
[task 2025-10-29T20:41:37.195+00:00] 'workdir': '/builds/worker'}
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_transforms[hg-push] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_transforms[github-pull-request] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_transforms[github-pull-request-dot-git] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[no treeherder info] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info0] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[multi character symbol] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[explicit symbol] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[explicit group symbol] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[build kind] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[non-build and non-test kind] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[explicit kind] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[explicit tier 1] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.195+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[explicit tier 3] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[explicit platform] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info1] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info2] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info3] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info4] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info5] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info6] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info7] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info8] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_treeherder_defaults[fully generated treeherder info9] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_default_deadline_after[None-test_task0] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_default_deadline_after[2 weeks-test_task1] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_default_expires_after[None-test_task0] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_default_expires_after[90 days-test_task1] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_task_priority[test_task0] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_transforms_task.py::test_task_priority[test_task1] - AttributeError: 'msgspec._core.Field' object has no attribute 'keys'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_util_schema.py::TestValidateSchema::test_valid - Exception: pfx
[task 2025-10-29T20:41:37.196+00:00] Object contains unknown field `x`
[task 2025-10-29T20:41:37.196+00:00] {'x': 10, 'y': 'foo'}
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_util_schema.py::TestCheckSchema::test_schema - AttributeError: 'CamelCaseStruct' object has no attribute 'camelCase'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_util_schema.py::test_optionally_keyed_by - AttributeError: 'TestStruct' object has no attribute 'value'
[task 2025-10-29T20:41:37.196+00:00] FAILED test/test_util_schema.py::test_optionally_keyed_by_mulitple_keys - AttributeError: 'TestStruct' object has no attribute 'value'
[task 2025-10-29T20:41:37.196+00:00] ====== 54 failed, 496 passed, 6 skipped, 2 xfailed, 2 warnings in 36.76s =======
[taskcluster 2025-10-29T20:41:37.914Z] Exit Code: 1
[taskcluster 2025-10-29T20:41:37.914Z] User Time: 31.54ms
[taskcluster 2025-10-29T20:41:37.914Z] Kernel Time: 66.134ms
[taskcluster 2025-10-29T20:41:37.914Z] Wall Time: 58.938967846s
[taskcluster 2025-10-29T20:41:37.914Z] Average Available System Memory: 14.66 GiB
[taskcluster 2025-10-29T20:41:37.914Z] Average System Memory Used: 975.87 MiB
[taskcluster 2025-10-29T20:41:37.914Z] Peak System Memory Used: 1.17 GiB
[taskcluster 2025-10-29T20:41:37.914Z] Total System Memory: 15.62 GiB
[taskcluster 2025-10-29T20:41:37.914Z] Result: FAILED
[taskcluster 2025-10-29T20:41:37.914Z] === Task Finished ===
[taskcluster 2025-10-29T20:41:37.914Z] Task Duration: 58.939513314s
[taskcluster 2025-10-29T20:41:38.159Z] Uploading artifact public/coverage.py314 from file /home/task_176177041531619/artifact0 with content encoding "gzip", mime type "application/octet-stream" and expiry 2025-11-26T20:38:03.642Z
[taskcluster 2025-10-29T20:41:38.357Z] [mounts] Preserving cache: Moving "/home/task_176177041531619/cache0" to "/home/generic-worker/caches/AVf7U6k5RjOck3rON9yLzw"
[taskcluster 2025-10-29T20:41:38.357Z] [mounts] Preserving cache: Moving "/home/task_176177041531619/cache1" to "/home/generic-worker/caches/EaU2eaFrRp22XNL_sNNTLQ"
[taskcluster 2025-10-29T20:41:38.442Z] Uploading link artifact public/logs/live.log to artifact public/logs/live_backing.log with expiry 2025-11-26T20:38:03.642Z
[taskcluster:error] exit status 1
Loading