浏览代码

Improve crashTest

Guillaume J. Charmes 12 年之前
父节点
当前提交
cdc2657ee9
共有 1 个文件被更改,包括 30 次插入24 次删除
  1. 30 24
      contrib/crashTest.go

+ 30 - 24
contrib/crashTest.go

@@ -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