# Testing signals — fastify/fastify

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

# Testing signals — fastify/fastify

Scanned commit 19d5be0daf1c0daace758efe3ea788f924ca1224 (2026-09-29). 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; no passing result is asserted. The inspected runtime tests use node:test, selected by borp, while type assertions use TSTyche. CI defines operating-system, runtime, packaging, coverage, and integration checks. Inspection is bounded and does not establish exhaustive coverage or application-plugin correctness.
- borp selects test/**/*.test.js and test/**/*.test.mjs; inspected injection tests import node:test. — [.borp.yaml#L1-3](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/.borp.yaml#L1-L3) [test/inject.test.js#L1-7](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/inject.test.js#L1-L7)
- npm test combines lint, unit, and type checks; test:ci omits lint and runs unit plus types. — [package.json#L22-28](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/package.json#L22-L28)
- Injection tests assert readiness waiting, JSON payload, status code, and content length. — [test/inject.test.js#L16-37](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/inject.test.js#L16-L37)
- Prototype-poisoning tests use real listen/fetch requests and assert rejection, removal, and ignore-policy behavior. — [test/proto-poisoning.test.js#L6-26](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/proto-poisoning.test.js#L6-L26) [test/proto-poisoning.test.js#L29-74](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/proto-poisoning.test.js#L29-L74)
- Handler-timeout tests cover option validation, lazy AbortSignal creation, and client-disconnect abortion using a TCP connection. — [test/handler-timeout.test.js#L23-57](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/handler-timeout.test.js#L23-L57) [test/handler-timeout.test.js#L60-90](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/handler-timeout.test.js#L60-L90)
- TSTyche provider tests assert unknown defaults, provider remapping, explicit overrides, and TypeBox-derived typing. — [test/types/type-provider.tst.ts#L18-47](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/types/type-provider.tst.ts#L18-L47) [test/types/type-provider.tst.ts#L54-97](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/types/type-provider.tst.ts#L54-L97)
- Primary unit CI defines Node 24/26 across macOS, Ubuntu, and Windows, after quality and both coverage jobs. — [.github/workflows/ci.yml#L54-87](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/.github/workflows/ci.yml#L54-L87)
- The coverage command requires 100 percent lines; this is a configured threshold rather than an observed coverage result. — [package.json#L15-16](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/package.json#L15-L16)
- Production-install integration CI starts integration/server.js and invokes a shell smoke test covering GET, POST, PUT, and DELETE responses. — [.github/workflows/integration.yml#L48-59](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/.github/workflows/integration.yml#L48-L59) [integration/test.sh#L5-20](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/integration/test.sh#L5-L20)
- esbuild and webpack fixtures define bundle-and-test scripts; alternative-runtime packaging CI invokes both. — [test/bundler/esbuild/package.json#L3-8](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/bundler/esbuild/package.json#L3-L8) [test/bundler/webpack/package.json#L3-9](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/test/bundler/webpack/package.json#L3-L9) [.github/workflows/ci-alternative-runtime.yml#L97-111](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/.github/workflows/ci-alternative-runtime.yml#L97-L111)
- CITGM tests selected external plugins by linking this Fastify checkout into each plugin's own test environment; several database entries are commented out. — [.github/workflows/citgm.yml#L69-81](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/.github/workflows/citgm.yml#L69-L81) [.github/workflows/citgm-package.yml#L94-105](https://github.com/fastify/fastify/blob/19d5be0daf1c0daace758efe3ea788f924ca1224/.github/workflows/citgm-package.yml#L94-L105)

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)
