Browse code

Remove crashTest.go since the use case is covered by docker-stress

Signed-off-by: Andrew Page <admwiggin@gmail.com>

Tianon Gravi authored on 2014/08/16 02:28:58
Showing 1 changed files
1 1
deleted file mode 100644
... ...
@@ -1,125 +0,0 @@
1
-package main
2
-
3
-import (
4
-	"fmt"
5
-	"io"
6
-	"log"
7
-	"net"
8
-	"os"
9
-	"os/exec"
10
-	"path"
11
-	"time"
12
-)
13
-
14
-var DOCKERPATH = path.Join(os.Getenv("DOCKERPATH"), "docker")
15
-
16
-// WARNING: this crashTest will 1) crash your host, 2) remove all containers
17
-func runDaemon() (*exec.Cmd, error) {
18
-	os.Remove("/var/run/docker.pid")
19
-	exec.Command("rm", "-rf", "/var/lib/docker/containers").Run()
20
-	cmd := exec.Command(DOCKERPATH, "-d")
21
-	outPipe, err := cmd.StdoutPipe()
22
-	if err != nil {
23
-		return nil, err
24
-	}
25
-	errPipe, err := cmd.StderrPipe()
26
-	if err != nil {
27
-		return nil, err
28
-	}
29
-	if err := cmd.Start(); err != nil {
30
-		return nil, err
31
-	}
32
-	go func() {
33
-		io.Copy(os.Stdout, outPipe)
34
-	}()
35
-	go func() {
36
-		io.Copy(os.Stderr, errPipe)
37
-	}()
38
-	return cmd, nil
39
-}
40
-
41
-func crashTest() error {
42
-	if err := exec.Command("/bin/bash", "-c", "while true; do true; done").Start(); err != nil {
43
-		return err
44
-	}
45
-
46
-	var endpoint string
47
-	if ep := os.Getenv("TEST_ENDPOINT"); ep == "" {
48
-		endpoint = "192.168.56.1:7979"
49
-	} else {
50
-		endpoint = ep
51
-	}
52
-
53
-	c := make(chan bool)
54
-	var conn io.Writer
55
-
56
-	go func() {
57
-		conn, _ = net.Dial("tcp", endpoint)
58
-		c <- false
59
-	}()
60
-	go func() {
61
-		time.Sleep(2 * time.Second)
62
-		c <- true
63
-	}()
64
-	<-c
65
-
66
-	restartCount := 0
67
-	totalTestCount := 1
68
-	for {
69
-		daemon, err := runDaemon()
70
-		if err != nil {
71
-			return err
72
-		}
73
-		restartCount++
74
-		//		time.Sleep(5000 * time.Millisecond)
75
-		var stop bool
76
-		go func() error {
77
-			stop = false
78
-			for i := 0; i < 100 && !stop; {
79
-				func() error {
80
-					cmd := exec.Command(DOCKERPATH, "run", "ubuntu", "echo", fmt.Sprintf("%d", totalTestCount))
81
-					i++
82
-					totalTestCount++
83
-					outPipe, err := cmd.StdoutPipe()
84
-					if err != nil {
85
-						return err
86
-					}
87
-					inPipe, err := cmd.StdinPipe()
88
-					if err != nil {
89
-						return err
90
-					}
91
-					if err := cmd.Start(); err != nil {
92
-						return err
93
-					}
94
-					if conn != nil {
95
-						go io.Copy(conn, outPipe)
96
-					}
97
-
98
-					// Expecting error, do not check
99
-					inPipe.Write([]byte("hello world!!!!!\n"))
100
-					go inPipe.Write([]byte("hello world!!!!!\n"))
101
-					go inPipe.Write([]byte("hello world!!!!!\n"))
102
-					inPipe.Close()
103
-
104
-					if err := cmd.Wait(); err != nil {
105
-						return err
106
-					}
107
-					outPipe.Close()
108
-					return nil
109
-				}()
110
-			}
111
-			return nil
112
-		}()
113
-		time.Sleep(20 * time.Second)
114
-		stop = true
115
-		if err := daemon.Process.Kill(); err != nil {
116
-			return err
117
-		}
118
-	}
119
-}
120
-
121
-func main() {
122
-	if err := crashTest(); err != nil {
123
-		log.Println(err)
124
-	}
125
-}