Skip to content

Commit 8785aee

Browse files
committed
test(integration): refresh timeout goldens after main merge
1 parent 291fd14 commit 8785aee

3 files changed

Lines changed: 116 additions & 180 deletions

File tree

‎integration_tests_local/README.md‎

Lines changed: 28 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,11 @@ filter to absorb it would be invisible. Current overrides:
166166
assertions — the proactive-initialization markers — are grep-checked on
167167
the raw logs and are identical on every runtime.
168168

169-
In update mode, a leg that disagrees with an existing shared golden **fails**
170-
instead of overwriting it — otherwise the last runtime to run would silently
171-
define the expectation for all of them. To capture a genuine per-runtime
172-
divergence, `touch` the override file first so the write targets it.
169+
In update mode, the first leg writes the shared golden. Later legs in the
170+
same run **fail** if they disagree instead of overwriting it — otherwise the
171+
last runtime to run would silently define the expectation for all of them.
172+
To capture a genuine per-runtime divergence, `touch` the override file first
173+
so the write targets it.
173174

174175
## The mock HTTP server (cjs-http-requests, manual-http-requests)
175176

@@ -234,47 +235,36 @@ node --test integration_tests_local/check-timeout-logs.test.js
234235

235236
### Golden provenance
236237

237-
The timeout goldens were captured from pre-migration library commit
238-
`cf751a76003e9bdf18a4283bccdfa54785943b51` (`datadog-lambda-js` 12.142.0),
239-
with no production-source changes. Both cases used RIE v1.36 on
240-
`linux/arm64`, across Node 18/20/22/24/26, with dd-trace 5.105.0 — the version
241-
`integration_tests/container/cjs/package.json` pinned at that commit — on every
242-
runtime. The per-runtime `DD_TRACE_VERSION` build-arg was inert on that baseline
243-
because it did not yet have `scripts/dd_trace_versions.sh`.
244-
All five runtimes produced the same shared goldens; no runtime-specific
245-
timeout overrides were needed.
246-
247-
The branch has since incorporated current main to resolve the workflow conflict.
248-
Main uses the v5/v6 runtime split and runtime tracer-version reporting. These
249-
timeout goldens still record the older baseline above and need recapture and
250-
strict comparison against the updated baseline before this PR is ready.
251-
252-
Both cases then passed a comparison-only rerun across all five runtimes
253-
(90 invocations total), leaving all four timeout snapshot files byte-for-byte
254-
unchanged. The existing `manual-throw-error` and `container-cjs` goldens also
255-
passed unchanged on Node 22 through the same transport. The checker has nine
256-
regression tests, verified on host Node 25 and container Node 18.
257-
258-
An earlier capture used a different baseline, `4b9f41d2`, with dd-trace 5.126.0
259-
on Node 18/20 and 6.12.0 on Node 22/24/26. It passed on that baseline, with a
260-
nonempty `dd_trace` tag and no `links` field. The goldens were recaptured for
261-
the `cf751a76` baseline and its 5.105.0 fixture pin: that build emits `links: []`
262-
and an empty `dd_trace` tag (see below).
238+
The timeout goldens were recaptured after merging main, from pre-migration
239+
library commit `291fd14e9b8c54b94ba5b57998f726231839dc92`
240+
(`datadog-lambda-js` 12.143.0), with no additional production-source changes.
241+
Both cases used RIE v1.36 on `linux/arm64`, across Node 18/20/22/24/26. The
242+
fixture runner installed dd-trace 5.126.0 on Node 18/20 and the lockfile-resolved
243+
6.15.0 on Node 22/24/26. All five runtimes produced the same shared goldens;
244+
no runtime-specific timeout overrides were needed.
245+
246+
Both cases passed a comparison-only rerun across all five runtimes (90
247+
invocations), leaving all four timeout snapshot files byte-for-byte unchanged.
248+
249+
The existing `manual-throw-error` and `container-cjs` goldens also passed
250+
unchanged on Node 22 through the same transport. The checker has nine
251+
regression tests.
252+
253+
The previous files recorded the older `cf751a76` baseline with dd-trace
254+
5.105.0 on every runtime. Those snapshots stopped matching after the main
255+
merge: the current tracer omits empty `links: []` fields, and the shim resolves
256+
the loaded tracer's version at runtime instead of recording an empty
257+
`dd_trace` tag. The recapture changes only those fields and ordinary RIE
258+
record ordering under the existing line-order comparison. Timeout error
259+
decoration, span counts, parent/child relationships, and flush checks remain
260+
unchanged. Neither the raw checker nor the shared normalizer was loosened.
263261

264262
When intentionally recapturing an existing shared golden, first review why
265263
the baseline changed. The current runner lets the first leg overwrite a shared
266264
golden in `UPDATE_SNAPSHOTS=true` mode and requires later legs in that run to
267265
agree. Unlike the older capture baseline, it no longer requires deleting the
268266
existing golden first.
269267

270-
**Historical capture-baseline defect.** These goldens record an empty `dd_trace`
271-
span tag. At `cf751a76`, `scripts/update_dist_version.sh` derived it with
272-
`sed -n -E "s/dd-trace@([0-9]*\.[0-9]*\.[0-9]*):/\1/p" yarn.lock`, which
273-
expected a pinned entry, but `yarn.lock` recorded the range
274-
`dd-trace@^5.113.0:` — so the substitution yielded nothing. The `container-cjs`
275-
golden at that baseline had the same empty tag. Main has since fixed version
276-
reporting; the pending timeout recapture must reflect that fix.
277-
278268
The local capture used `RIE_HTTP_TRANSPORT=container` because Colima's
279269
published host ports were unreachable. RIE was reachable over IPv4 inside
280270
the containers, so this was not an IPv6-only RIE listener. This transport

0 commit comments

Comments
 (0)