This test checks that gopls works with multiple ad-hoc packages, which lack a go.mod file. We should be able to import standard library packages, get diagnostics, and reference symbols defined in the same directory. -- main.go -- package main import "fmt" func main() { fmt.Println(mainMsg) //@def("mainMsg", mainMsg) fmt.Println(undef) //@diag("undef", re"undefined|undeclared") } -- main2.go -- package main const mainMsg = "main" //@loc(mainMsg, "mainMsg") -- a/a.go -- package a import "fmt" func _() { fmt.Println(aMsg) //@def("aMsg", aMsg) fmt.Println(undef) //@diag("undef", re"undefined|undeclared") } -- a/a2.go -- package a const aMsg = "a" //@loc(aMsg, "aMsg") -- b/b.go -- package b import "fmt" func _() { fmt.Println(bMsg) //@def("bMsg", bMsg) fmt.Println(undef) //@diag("undef", re"undefined|undeclared") } -- b/b2.go -- package b const bMsg = "b" //@loc(bMsg, "bMsg")