go.tools/cmd/godoc: wait for analysis to complete in TestTypeAnalysis
LGTM=adg R=golang-codereviews, adg CC=golang-codereviews https://golang.org/cl/157590043
This commit is contained in:
parent
113eb67ee0
commit
d8b266df1c
|
@ -5,8 +5,10 @@
|
||||||
package main_test
|
package main_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
@ -272,7 +274,10 @@ func main() { print(lib.V) }
|
||||||
cmd.Env = append(cmd.Env, e)
|
cmd.Env = append(cmd.Env, e)
|
||||||
}
|
}
|
||||||
cmd.Stdout = os.Stderr
|
cmd.Stdout = os.Stderr
|
||||||
cmd.Stderr = os.Stderr
|
stderr, err := cmd.StderrPipe()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
cmd.Args[0] = "godoc"
|
cmd.Args[0] = "godoc"
|
||||||
if err := cmd.Start(); err != nil {
|
if err := cmd.Start(); err != nil {
|
||||||
t.Fatalf("failed to start godoc: %s", err)
|
t.Fatalf("failed to start godoc: %s", err)
|
||||||
|
@ -280,6 +285,20 @@ func main() { print(lib.V) }
|
||||||
defer cmd.Process.Kill()
|
defer cmd.Process.Kill()
|
||||||
waitForServer(t, addr)
|
waitForServer(t, addr)
|
||||||
|
|
||||||
|
// Wait for type analysis to complete.
|
||||||
|
reader := bufio.NewReader(stderr)
|
||||||
|
for {
|
||||||
|
s, err := reader.ReadString('\n')
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
fmt.Fprint(os.Stderr, s)
|
||||||
|
if strings.Contains(s, "Type analysis complete.") {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
go io.Copy(os.Stderr, reader)
|
||||||
|
|
||||||
t0 := time.Now()
|
t0 := time.Now()
|
||||||
|
|
||||||
// Make an HTTP request and check for a regular expression match.
|
// Make an HTTP request and check for a regular expression match.
|
||||||
|
|
Loading…
Reference in New Issue