зеркало из https://github.com/microsoft/docker.git
Improve crashTest
This commit is contained in:
Родитель
76a1a7cf5b
Коммит
cdc2657ee9
|
@ -1,7 +1,6 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
|
@ -17,7 +16,7 @@ var DOCKER_PATH string = path.Join(os.Getenv("DOCKERPATH"), "docker")
|
|||
// WARNING: this crashTest will 1) crash your host, 2) remove all containers
|
||||
func runDaemon() (*exec.Cmd, error) {
|
||||
os.Remove("/var/run/docker.pid")
|
||||
exec.Command("rm", "-rf", "/var/lib/docker/containers")
|
||||
exec.Command("rm", "-rf", "/var/lib/docker/containers").Run()
|
||||
cmd := exec.Command(DOCKER_PATH, "-d")
|
||||
outPipe, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
|
@ -86,10 +85,10 @@ func crashTest() error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
inPipe, err := cmd.StdinPipe()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// inPipe, err := cmd.StdinPipe()
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
if err := cmd.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -97,27 +96,34 @@ func crashTest() error {
|
|||
io.Copy(os.Stdout, outPipe)
|
||||
}()
|
||||
// Expecting error, do not check
|
||||
inPipe.Write([]byte("hello world!!!!!\n"))
|
||||
go inPipe.Write([]byte("hello world!!!!!\n"))
|
||||
go inPipe.Write([]byte("hello world!!!!!\n"))
|
||||
inPipe.Close()
|
||||
// inPipe.Write([]byte("hello world!!!!!\n"))
|
||||
// go inPipe.Write([]byte("hello world!!!!!\n"))
|
||||
// go inPipe.Write([]byte("hello world!!!!!\n"))
|
||||
// inPipe.Close()
|
||||
|
||||
go func() error {
|
||||
r := bufio.NewReader(outPipe)
|
||||
if out, err := r.ReadString('\n'); err != nil {
|
||||
return err
|
||||
} else if out == "hello world\n" {
|
||||
log.Printf("%d", i)
|
||||
if conn != nil {
|
||||
fmt.Fprintf(conn, "%d\n", totalTestCount)
|
||||
}
|
||||
i++
|
||||
totalTestCount++
|
||||
}
|
||||
return nil
|
||||
}()
|
||||
// go func() error {
|
||||
// r := bufio.NewReader(outPipe)
|
||||
// if out, err := r.ReadString('\n'); err != nil {
|
||||
// return err
|
||||
// } else if out == "hello world\n" {
|
||||
// log.Printf("%d", i)
|
||||
// if conn != nil {
|
||||
// fmt.Fprintf(conn, "%d\n", totalTestCount)
|
||||
// }
|
||||
// i++
|
||||
// totalTestCount++
|
||||
// }
|
||||
// return nil
|
||||
// }()
|
||||
if err := cmd.Wait(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
log.Printf("%d", i)
|
||||
if conn != nil {
|
||||
fmt.Fprintf(conn, "%d\n", totalTestCount)
|
||||
}
|
||||
i++
|
||||
totalTestCount++
|
||||
}
|
||||
outPipe.Close()
|
||||
return nil
|
||||
|
|
Загрузка…
Ссылка в новой задаче