Skip to content

TOOLS-4278 Remove the last GoConvey from mongofiles - #1085

Draft
autarch wants to merge 1 commit into
TOOLS-4278-convey-to-testify-mongofiles-1from
TOOLS-4278-convey-to-testify-mongofiles-2
Draft

TOOLS-4278 Remove the last GoConvey from mongofiles#1085
autarch wants to merge 1 commit into
TOOLS-4278-convey-to-testify-mongofiles-1from
TOOLS-4278-convey-to-testify-mongofiles-2

Conversation

@autarch

@autarch autarch commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Converts TestMongoFilesCommands and its runPutIDTestCase helper, and
drops the goconvey dot-import. mongofiles is now entirely testify.

This function had six Reset calls nested up to five deep over live GridFS
state, which is the case where GoConvey's per-leaf re-execution actually
matters: each Reset fired after every leaf beneath it. Each now becomes a
t.Cleanup registered at the scope that matches the leaves the original
covered. The get_regex cleanup in particular is registered inside each
table case rather than at the parent, because parent registration would
let the first case's files leak into the second.

Cleanups use assert rather than require, so a failing teardown does not
skip the cleanups registered before it, and they delete with
context.Background() since t.Context() is cancelled before cleanups run.
tearDownGridFSTestData no longer takes a *testing.T for that reason.

Assertion sites drop from 173 to 140. The reduction is source duplication
only: the Windows path-separator block was a verbatim copy of the plain
one and now shares its two helpers, two get_regex scenarios share a table
body, and the Reset file-removal bodies share one helper. Every distinct
check still runs.

One assertion looks wrong and is left that way: the content-comparison
loop checks that the outer instance is non-nil rather than the one it
"/home/autarch/bin/snip" run -- just built, so it cannot fail. Recorded for follow-up rather than fixed.

No behavior change.

Converts TestMongoFilesCommands and its runPutIDTestCase helper, and
drops the goconvey dot-import. mongofiles is now entirely testify.

This function had six Reset calls nested up to five deep over live GridFS
state, which is the case where GoConvey's per-leaf re-execution actually
matters: each Reset fired after every leaf beneath it. Each now becomes a
t.Cleanup registered at the scope that matches the leaves the original
covered. The get_regex cleanup in particular is registered inside each
table case rather than at the parent, because parent registration would
let the first case's files leak into the second.

Cleanups use assert rather than require, so a failing teardown does not
skip the cleanups registered before it, and they delete with
context.Background() since t.Context() is cancelled before cleanups run.
tearDownGridFSTestData no longer takes a *testing.T for that reason.

Assertion sites drop from 173 to 140. The reduction is source duplication
only: the Windows path-separator block was a verbatim copy of the plain
one and now shares its two helpers, two get_regex scenarios share a table
body, and the Reset file-removal bodies share one helper. Every distinct
check still runs.

One assertion looks wrong and is left that way: the content-comparison
loop checks that the outer instance is non-nil rather than the one it
"/home/autarch/bin/snip" run -- just built, so it cannot fail. Recorded for follow-up rather than fixed.

No behavior change.

autarch commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant