Open martijnvans opened 3 months ago
Thank you for the bug report! I did not realize that go test
also accepted file namess, but I tried it and it does attempt to run them. All the files I have fail because they require symbols from other files in the package, but I can imagine this works in some cases.
I think at the very least gotestsum
could notice when the arg is a filename and give a better error, but it may also be possible to make this work.
The error message is an opaque
package command-line-arguments is not in std
. Here's a simple repro:It looks to me like the error comes from https://github.com/gotestyourself/gotestsum/blob/e9677fb405a5c0dc0b9d7217a7c73c3a20c5cb66/cmd/rerunfails.go#L33, in which the package that a particular failure occurs in gets pulled out of the test JSON, incorrectly in this case.
I'm not sure what the right fix is. Naively, you could just stop setting
pkg: tc.Package,
and that would fall back to the set of packages set on the command line and would probably fix my issue. However, it might cause issues in cases where you have multiple tests with the same name across the list of packages. You'd end up rerunning all of them instead of just rerunning that test within an individual package. I'll leave it up to you to decide whether that's worth it.Right now my automation is trying to use
--rerun-fails
but it can't, not without restructuring to put each source file into its own subdirectory to work around this issue.