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.
Not a failure fix but I've also changed type aliases of any back to type aliases of interface {}. 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.
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