| # Test a replacement with an absolute path (so the path isn't |
| # cleaned by having filepath.Abs called on it). This checks |
| # whether the modindex logic cleans the modroot path before using |
| # it. |
| |
| [!GOOS:windows] skip |
| [short] skip |
| |
| go run print_go_mod.go # use this program to write a go.mod with an absolute path |
| cp stdout go.mod |
| |
| go list -modfile=go.mod all |
| -- print_go_mod.go -- |
| //go:build ignore |
| package main |
| |
| import ( |
| "fmt" |
| "os" |
| ) |
| |
| func main() { |
| work := os.Getenv("WORK") |
| fmt.Printf(`module example.com/mod |
| |
| require b.com v0.0.0 |
| |
| replace b.com => %s\gopath\src/modb |
| `, work) |
| } |
| -- a.go -- |
| package a |
| |
| import _ "b.com/b" |
| -- modb/go.mod -- |
| module b.com |
| -- modb/b/b.go -- |
| package b |