This directory holds Go modules served by a Go module proxy that runs on localhost during tests, both to make tests avoid requiring specific network servers and also to make them significantly faster. A small go get'able test module can be added here by running cd cmd/go/testdata go run addmod.go path@vers where path and vers are the module path and version to add here. For interactive experimentation using this set of modules, run: cd cmd/go go test -proxy=localhost:1234 & export GOPROXY=http://localhost:1234/mod and then run go commands as usual. Modules saved to this directory should be small: a few kilobytes at most. It is acceptable to edit the archives created by addmod.go to remove or shorten files. It is also acceptable to write module archives by hand: they need not be backed by some public git repo. Each module archive is named path_vers.txt, where slashes in path have been replaced with underscores. The archive must contain two files ".info" and ".mod", to be served as the info and mod files in the proxy protocol (see https://research.swtch.com/vgo-module). The remaining files are served as the content of the module zip file. The path@vers prefix required of files in the zip file is added automatically by the proxy: the files in the archive have names without the prefix, like plain "go.mod", "x.go", and so on. See ../addmod.go and ../savedir.go for tools to generate txtar files, although again it is also fine to write them by hand.