Fix go generate ./... issues under root #76
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Running
go generate ./...
on current main fails for a couple of reasons(1) The go:generate command in /mockgen/internal/tests/aux_imports_embedded_interface/bugreport.go has an -aux_file argument that specifies a package
faux
that is not in the stdlib and therefore not discoverable in GOROOT. Fixing this with a fully qualified path causes another failure that is known and documented in mockgen/internal/tests/aux_imports_embedded_interface/README.md.Because this failure is known, I've opted to comment out the command as documentation for reproducing the error.
(2) mockgen/internal/tests/internal_pkg/generate.go attempts to mock an interface package with reflect mode and runs into fundamental go restrictions of
go build
with internal package paths outside of the internal package scope allowed by go.I've removed the generate directive here since this isn't a supported feature as the implementation of reflect mode creates a tempoorary directory and invokes
go build
there.ref: reflect.go#L135
ref: #29
Not a failure fix but I've also changed type aliases of
any
back to type aliases ofinterface {}
. Looking at the parsing logic, parse.go#L752interface{}
->any
causes *ast.TypeSpec to no longer type check to an *ast.InterfaceType and ends up removing generate mock code meant to test against regressions.ref: #48