| 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. |