Thanks. I ended up simplifying the test and remove the dependency on external packages.
On Sunday, November 1, 2020 at 11:42:43 PM UTC+2 kortschak wrote: > Ah, it just clicked. > > You're indirectly using go/packages, which will (unless configured not > to), cause changes to the go.mod and go.sum file. This configuration > happens for this by adding "-mod=readonly" to > packages.Config.BuildFlags (I think). But this isn't exposed via the > go/analysis API (the config is populated here[1] where the user can't > access it). > > This can be confirmed by seeing that building your checker, resetting > the changes to go.mod and go.sum and then manually running the binary > on your test cases. > > I'm not sure what to do about this. > > [1] > > https://github.com/golang/tools/blob/582c62ec74d06936c88d4b760c63cbc2925e69c7/go/analysis/internal/checker/checker.go#L152-L155 > > On Sun, 2020-11-01 at 04:52 -0800, Miki Tebeka wrote: > > I try to change the "go run" command to use "-mod=readonly", didn't > > help. > > > > On Sunday, November 1, 2020 at 10:23:07 AM UTC+2 kortschak wrote: > > > You're using go test, with -mod=readonly, but it's running your > > > code > > > with go run, without -mod=readonly. > > > > > > Either you'll need to unconditionally pass -mod=readonly to go run > > > in > > > the regression_test.go file, or find wether it's been passed to go > > > test > > > and then conditionally pass it to go run. > > > > > > > > > On Sun, 2020-11-01 at 01:09 -0700, Miki Tebeka wrote: > > > > I *do* use "go test", see > > > > https://github.com/tebeka/recheck/blob/master/regression_test.go > > > > > > > > On Sunday, November 1, 2020 at 8:43:33 AM UTC+2 > > > amits...@gmail.com > > > > wrote: > > > > > > > > > > On Sun, 1 Nov 2020, 4:07 pm Miki Tebeka, <miki....@gmail.com> > > > > > wrote: > > > > > > Hi, > > > > > > > > > > > > I wrote a regexp linter (https://github.com/tebeka/recheck) > > > > > > that's using golang.org/x/tools/go/analysis. > > > > > > > > > > > > To test the tool, I run "go run ./cmd/recheck > > > testdata/ok.go" > > > > > > (using os/exec). The problem is that after the test, go.mod > > > & > > > > > > go.sum are modified since there are some external imports in > > > the > > > > > > go files under testdata. > > > > > > > > > > > > I've tried using -mod=readonly, building & then running, > > > moving > > > > > > the test file to /tmp - all of them didn't work, the mod > > > files > > > > > > are still changed after the test. > > > > > > > > > > > > Any idea how can I prevent the test from modifing the mod > > > files? > > > > > > > > > > Your example above suggests you are not using go test to > > > execute > > > > > your tests? > > > > > > > > > > > Thanks, > > > > > > Miki > > > > > > > > > > -- > > You received this message because you are subscribed to the Google > > Groups "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, > > send an email to golang-nuts...@googlegroups.com. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/golang-nuts/354542dc-0648-4383-98af-63ff4f7dabcfn%40googlegroups.com > > . > > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/b7229720-4cc1-4942-95f6-a4380401ca7en%40googlegroups.com.