Skip to content

master is red: committed tool transcripts x/npm-test.log and x/typecheck.log trip repo-scratch-hygiene #852

Description

@philcunliffe

origin/master is red. test/core/repo-scratch-hygiene.test.js fails on every
branch cut from it, for a reason unrelated to any of those branches' changes.

The failure

not ok 1938 - no tool transcript is tracked in the repo

The assertion in test/core/repo-scratch-hygiene.test.js:80:

a `.log` file is a tool transcript, not source; delete it and let `.gitignore` hold the line:
  x/npm-test.log
  x/typecheck.log

Full suite on origin/master (HYP_HOME="$(mktemp -d)" npm test): 4482 pass,
1 fail, 1 skipped. That one failure is the only one.

The evidence

Both paths are tracked on master:

$ git ls-tree origin/master -- x/
...
100644 blob c84e550d	x/npm-test.log
100644 blob 57685aae	x/typecheck.log

Provenance is merge commit adb448ab (PR #785, "Close the rl.question EOF-hang
class"): the same git add -A sweep that PR #786 introduced this very test to
catch. The test landed after those two files did, so it has been red from the
moment it merged.

.gitignore already carries the *.log rule, and the second test in the file
(.gitignore refuses a tool transcript) passes. Only the first half is
violated: the rule exists, but two files predate it and are tracked, and a
tracked path is immune to an ignore rule. The test's own message names the fix:
delete the files.

Blast radius

Every branch cut after adb448ab inherits the red. It is currently blocking CI
on PRs #833, #849, #850 and #851, none of which touch x/ or the hygiene test.

Fix

git rm x/npm-test.log x/typecheck.log. Nothing else: the hygiene test forbids
tracked .log files and nothing more, so the other eight files under x/
(burst.mjs, invert.mjs, line_asker.fixed.js, line_asker.orig.js,
msg.txt, order.mjs, pty_prog.mjs, pty_variants.mjs) are out of scope and
stay. No .gitignore change is needed; *.log is already committed and already
sourced from .gitignore itself, which is what the second test asserts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    neutral:fixDelegate this issue to neutral for an autonomous fix attempt (reproduce -> fix -> PR)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions