saibing / bingo

Bingo is a Go language server that speaks Language Server Protocol.
MIT License
495 stars 25 forks source link

Fix some failing tests #133

Closed mbana closed 5 years ago

mbana commented 5 years ago

TestXDefinition/go_root/xdefinition-goroot-a.go:1:40: fix test

$ go test ./...
...
--- FAIL: TestXDefinition (0.01s)
    --- FAIL: TestXDefinition/go_root (0.00s)
        --- FAIL: TestXDefinition/go_root/xdefinition-goroot-a.go:1:40 (0.00s)
            lsp_xdefinition_test.go:100:
                got  "/usr/local/go/src/fmt/print.go:274:6 id:fmt/-/Println name:Println package:fmt packageName:fmt recv: vendor:false"
                want "/usr/local/go/src/fmt/print.go:263:6 id:fmt/-/Println name:Println package:fmt packageName:fmt recv: vendor:false"
...

It should be /usr/local/go/src/fmt/print.go:274:6..., proof:

$ grep -n 'Println' /usr/local/go/src/fmt/print.go
265:    p.doPrintln(a)
271:// Println formats using the default formats for its operands and writes to standard output.
274:func Println(a ...interface{}) (n int, err error) {
282:    p.doPrintln(a)
599:            // Println etc. set verb to %v, which is "stringable".
1152:// doPrintln is like doPrint but always adds a space between arguments
1154:func (p *pp) doPrintln(a []interface{}) {
$ sed -n 274p /usr/local/go/src/fmt/print.go
func Println(a ...interface{}) (n int, err error) {

TestDefinition/go_root/definition-goroot-a.go:1:40: fix test

$ go test ./...
...
--- FAIL: TestDefinition (0.01s)
    --- FAIL: TestDefinition/go_root (0.00s)
        --- FAIL: TestDefinition/go_root/definition-goroot-a.go:1:40 (0.00s)
            lsp_definition_test.go:126:
                goroot/a.go:1:40
                got "/usr/local/go/src/fmt/print.go:274:6-274:13",
                want "/usr/local/go/src/fmt/print.go:263:6-263:13"
...

It should be 274:6-274:13, proof:

$ grep -n 'Println' /usr/local/go/src/fmt/print.go
265:    p.doPrintln(a)
271:// Println formats using the default formats for its operands and writes to standard output.
274:func Println(a ...interface{}) (n int, err error) {
282:    p.doPrintln(a)
599:            // Println etc. set verb to %v, which is "stringable".
1152:// doPrintln is like doPrint but always adds a space between arguments
1154:func (p *pp) doPrintln(a []interface{}) {
$ sed -n 274p /usr/local/go/src/fmt/print.go
func Println(a ...interface{}) (n int, err error) {

TestDefinition/builtin_definition/definition-builtin-a.go:1:26: fix test

$ go test ./...
...
--- FAIL: TestDefinition (0.01s)
    --- FAIL: TestDefinition/builtin_definition (0.00s)
        --- FAIL: TestDefinition/builtin_definition/definition-builtin-a.go:1:26 (0.00s)
            lsp_definition_test.go:126:
                builtin/a.go:1:26
                got "/usr/local/go/src/builtin/builtin.go:257:6-257:13",
                want "/usr/local/go/src/builtin/builtin.go:246:8-246:15"
...

The jumping to builtins was fixed recently and according to the outut it should now be 257:6-257:13:

$ grep -n 'println' /usr/local/go/src/builtin/builtin.go
252:// The println built-in function formats its arguments in an
257:func println(args ...Type)