pegomock: pegomock generate panics with `cannot find module for path`

I’m following the docs to the best of my ability, but can’t seem to get around this issue (note I scrubbed the module and user names from the path):

~/go/bin$ wget --quiet -O pegomock_2.2.0 https://github.com/petergtz/pegomock/releases/download/v2.2.0/pegomock_2.2.0_linux_x86_64
~/go/bin$ chmod a+x pegomock_2.2.0 

~/go/bin$ cd ~/VisualStudioCode/go/<module>/core/
~/VisualStudioCode/go/<module>/core$ go get github.com/petergtz/pegomock@v2.2.0
go: finding github.com/petergtz/pegomock v2.2.0
go: finding github.com/onsi/gomega/format latest
~/VisualStudioCode/go/<module>/core$ grep -n2 "UUIDGen interface" core.go 
28-
29-// UUIDGen is an interface for a type that generates random UUIDs.
30:type UUIDGen interface {
31-	GetUUID() uuid.UUID
32-}
~/VisualStudioCode/go/<module>/core$ pegomock_2.2.0 generate UUIDGen
panic: Loading input failed: exit status 1 caused by:
build command-line-arguments: cannot find module for path _/home/<user>/VisualStudioCode/go/<module>/VisualStudioCode/go/<module>/core


goroutine 1 [running]:
github.com/petergtz/pegomock/pegomock/filehandling.GenerateMockSourceCode(0xc000094c80, 0x2, 0x2, 0x0, 0x0, 0xc000080642, 0x9, 0x0, 0x0, 0x0, ...)
	/Users/pego/workspace/go/src/github.com/petergtz/pegomock/pegomock/filehandling/filehandling.go:110 +0x5ea
github.com/petergtz/pegomock/pegomock/filehandling.GenerateMockFile(0xc000094c80, 0x2, 0x2, 0xc000074240, 0x52, 0x0, 0x0, 0xc000080642, 0x9, 0x0, ...)
	/Users/pego/workspace/go/src/github.com/petergtz/pegomock/pegomock/filehandling/filehandling.go:64 +0xf0
github.com/petergtz/pegomock/pegomock/filehandling.GenerateMockFileInOutputDir(0xc000094c80, 0x2, 0x2, 0xc00001c004, 0x3d, 0x0, 0x0, 0x0, 0x0, 0xc000080642, ...)
	/Users/pego/workspace/go/src/github.com/petergtz/pegomock/pegomock/filehandling/filehandling.go:40 +0x17f
main.Run(0xc000078060, 0x3, 0x3, 0x7e6f80, 0xc00008a000, 0x7e6f60, 0xc000084000, 0xc0000e8690, 0xc0000741e0)
	/Users/pego/workspace/go/src/github.com/petergtz/pegomock/pegomock/main.go:116 +0x226e
main.main()
	/Users/pego/workspace/go/src/github.com/petergtz/pegomock/pegomock/main.go:37 +0xa8

~/VisualStudioCode/go/<module>$ ls go.*
go.mod  go.sum

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 19 (12 by maintainers)

Commits related to this issue

Most upvoted comments

Lookin’ good, my man

😄

Okay, will merge the changes into master and make a release. I’m sure there are still some cases which don’t properly work, but we can iterate on those.

Thanks again for reporting this and all the help troubleshooting it, @MrCreosote.

@MrCreosote I’ve just pushed another fix on develop, that should follow the documentation as you’ve posted it above. With that change, you should be able to generate your mocks even without unsetting your GOPATH. Would you mind trying it out one more time?

@MrCreosote I gave it a first shot on the develop branch. Please build the pegomock binary from that branch and check if you’re able to generate your mock.

@MrCreosote I could reproduce your problem and I found the root cause: Pegomock currently relies on $GOPATH to be set. It’s not working with Go modules yet.

Good news is: I’m almost done with a fix. Will post back with updates soon.

@MrCreosote OK, cool. Let me work with that and get back to you. I might need a couple of days, as this seems not trivial.