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.

Reply via email to