fix: count native resets and test deferred public downloads

This commit is contained in:
Thomas Durieux committed 2026-10-09 04:07:31 +00:00
1 parent 37d10eed20
commit 66b71583d4
3 files changed
+15 -2

No files matched your search

+5 -1
View File
@@ -95,7 +95,11 @@ describe("GitHub App protocol boundaries", () => {
const GitHubStream = require("../src/core/source/GitHubStream").default;
const source = Object.create(GitHubStream.prototype);
source.data = { organization: "other", repoName: "public", commit: "abc" };
await source.downloadWithFallback(handle, "blob", "README.md");
const content = await source.downloadWithFallback(handle, "blob", "README.md");
expect(captured).to.equal(undefined);
let body = "";
for await (const chunk of content) body += chunk;
expect(body).to.equal("file");
expect(captured.url).to.include("other/public");
expect(captured.url).to.include("README.md");
expect(captured.options.headers.authorization).to.equal(undefined);
+9
View File
@@ -122,6 +122,15 @@ describe("production failure fixes", function () {
expect(res.statusCode).to.equal(429); expect(res.body).to.deep.equal({ error: "rate_limited", resetAt });
expect(Number(headers["Retry-After"])).to.be.within(9, 10);
});
it("counts native and structured connection reset lines once each", () => {
const summary = logSummary();
observeLine(summary, "Error: read ECONNRESET");
observeLine(summary, "Error: socket hang up");
observeLine(summary, '2026-10-09T00:00:00Z ERROR [process] process fatal error {"code":"process_fatal_error","message":"read ECONNRESET"}');
observeLine(summary, "ordinary native output");
expect(summary.connectionResets).to.equal(3);
expect(summary.fatalErrors).to.equal(1);
});
it("flags native unhandled stream errors and restarts without reporting private log fields", () => {
const summary = logSummary();
observeLine(summary, "throw er; // Unhandled 'error' event");