# Testing signals — pydantic/pydantic

> Canonical page: https://codevetter.com/unpack/pydantic/testing-signals

# Testing signals — pydantic/pydantic

Scanned commit 29933d1c8cfc882a7640f4d831b09381b39aa311 (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; test existence establishes intended coverage, not passing results. The inspected suites use pytest, with separate native-core, documentation, plugin-installation, and static-type integration checks. CI defines platform and interpreter matrices, benchmarks, and downstream compatibility jobs. This inventory is bounded and does not establish exhaustive coverage or current coverage percentages.
- Root pytest configuration targets tests, treats warnings as errors, enables strict configuration, and disables benchmark timing by default; make test invokes coverage-backed pytest with configurable parallel threads. — [pyproject.toml#L185-L202](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/pyproject.toml#L185-L202) [Makefile#L73-L79](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/Makefile#L73-L79)
- Inspected BaseModel tests assert missing-field/error payloads, invalid numeric inputs, Python/JSON dumps, and cyclic-input recursion errors. — [tests/test_main.py#L78-L116](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_main.py#L78-L116) [tests/test_main.py#L3079-L3089](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_main.py#L3079-L3089)
- Serialization tests parameterize UUID, IP, secret, temporal, collection, Decimal, enum, and model outputs; core JSON tests assert partial parsing and base64 byte round-trips including invalid encoding. — [tests/test_json.py#L60-L94](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_json.py#L60-L94) [pydantic-core/tests/test_json.py#L181-L211](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/pydantic-core/tests/test_json.py#L181-L211)
- Function-call tests inspect preserved wrapper signatures, configuration-driven return validation, coercion in decorated constructors, and asynchronous return-validation failures. — [tests/test_validate_call.py#L31-L42](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_validate_call.py#L31-L42) [tests/test_validate_call.py#L942-L947](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_validate_call.py#L942-L947) [tests/test_validate_call.py#L985-L994](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_validate_call.py#L985-L994) [tests/test_validate_call.py#L1087-L1105](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_validate_call.py#L1087-L1105)
- Plugin tests assert schema identity/settings and JSON success/error callbacks; the mutable installation fixture is marked thread-unsafe, and CI separately installs tests/plugin before running its integration suite. — [tests/test_plugins.py#L23-L75](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_plugins.py#L23-L75) [tests/test_plugins.py#L80-L124](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_plugins.py#L80-L124) [.github/workflows/ci.yml#L792-L796](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/ci.yml#L792-L796) [tests/plugin/pyproject.toml#L10-L11](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/plugin/pyproject.toml#L10-L11)
- Core model tests directly construct SchemaValidator graphs and assert instance dictionaries, extras, and explicit-field tracking; CI defines core pytest and cargo test on Ubuntu, macOS, and Windows. — [pydantic-core/tests/validators/test_model.py#L16-L49](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/pydantic-core/tests/validators/test_model.py#L16-L49) [pydantic-core/tests/validators/test_model.py#L52-L84](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/pydantic-core/tests/validators/test_model.py#L52-L84) [.github/workflows/ci.yml#L437-L474](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/ci.yml#L437-L474)
- Documentation tests discover and execute examples with platform/skip conditions and explicitly skip v1 docstrings; Mypy tests require --test-mypy, while CI separately invokes Pyright, Mypy, and Pyrefly integration targets. Coverage configuration omits deprecated and v1 modules. — [tests/test_docs.py#L167-L175](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_docs.py#L167-L175) [tests/test_docs.py#L191-L207](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/test_docs.py#L191-L207) [tests/mypy/test_mypy.py#L40-L44](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/tests/mypy/test_mypy.py#L40-L44) [.github/workflows/ci.yml#L845-L855](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/ci.yml#L845-L855) [pyproject.toml#L276-L289](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/pyproject.toml#L276-L289)
- CI defines Python/platform matrices, CodSpeed workloads, scheduled family integration tests, dependency-boundary cases, and conditional downstream FastAPI tests; none supplies an executed result in this investigation. — [.github/workflows/ci.yml#L717-L765](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/ci.yml#L717-L765) [.github/workflows/codspeed.yml#L50-L63](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/codspeed.yml#L50-L63) [.github/workflows/integration.yml#L3-L28](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/integration.yml#L3-L28) [.github/workflows/dependencies-check.yml#L26-L42](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/dependencies-check.yml#L26-L42) [.github/workflows/third-party.yml#L37-L77](https://github.com/pydantic/pydantic/blob/29933d1c8cfc882a7640f4d831b09381b39aa311/.github/workflows/third-party.yml#L37-L77)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
