11package verbose
22
33import (
4- "github.com/dotcloud/docker/api/client"
54 "bufio"
6- "fmt"
7- "io"
8- "time"
9- "testing"
5+ "fmt"
6+ "io"
7+ "os"
108 "strings"
9+ "testing"
10+ "time"
1111
12+ "github.com/dotcloud/docker/api/client"
1213)
1314
14-
15-
1615const (
17- unitTestImageName = "docker-test-image"
18- unitTestImageID = "83599e29c455eb719f77d799bc7c51521b9551972f5a850d7ad265bc1b5292f6" // 1.0
19- unitTestImageIDShort = "83599e29c455"
20- unitTestNetworkBridge = "testdockbr0"
21- unitTestStoreBase = "/var/lib/docker/unit-tests"
22- testDaemonAddr = "172.17.8.100:4243"
23- testDaemonProto = "tcp"
24- testDaemonHttpsProto = "tcp"
25- testDaemonHttpsAddr = "localhost:4271"
26- testDaemonRogueHttpsAddr = "localhost:4272"
16+ unitTestImageName = "docker-test-image"
17+ unitTestImageID = "83599e29c455eb719f77d799bc7c51521b9551972f5a850d7ad265bc1b5292f6" // 1.0
18+ unitTestImageIDShort = "83599e29c455"
19+ unitTestNetworkBridge = "testdockbr0"
20+ unitTestStoreBase = "/var/lib/docker/unit-tests"
21+ testDaemonHttpsProto = "tcp"
22+ testDaemonHttpsAddr = "localhost:4271"
23+ testDaemonRogueHttpsAddr = "localhost:4272"
2724)
2825
26+ func daemonAddr () string {
27+ addr := os .Getenv ("TEST_DAEMON_ADDR" )
28+ if addr == "" {
29+ addr = "/var/run/docker.sock"
30+ }
31+ return addr
32+ }
33+
34+ func daemonProto () string {
35+ proto := os .Getenv ("TEST_DAEMON_PROTO" )
36+ if proto == "" {
37+ proto = "unix"
38+ }
39+ return proto
40+ }
41+
2942func closeWrap (args ... io.Closer ) error {
3043 e := false
31- ret := fmt .Errorf ("Error closing elements" )
44+ ret := fmt .Errorf ("error closing elements" )
3245 for _ , c := range args {
3346 if err := c .Close (); err != nil {
3447 e = true
@@ -41,221 +54,213 @@ func closeWrap(args ...io.Closer) error {
4154 return nil
4255}
4356
44-
45- func getIPAdressTest (t * testing.T ) string {
46- stdin , _ := io .Pipe ()
57+ func getIPAddressTest (t * testing.T ) string {
58+ stdin , _ := io .Pipe ()
4759 stdout , stdoutPipe := io .Pipe ()
48- cli := client .NewDockerCli (nil , stdoutPipe , nil , testDaemonProto , testDaemonAddr , nil )
60+ cli := client .NewDockerCli (nil , stdoutPipe , nil , daemonProto (), daemonAddr () , nil )
4961 var IPAdress string
50- go func (){
51- err := cli .CmdInspect ("--format" ,"{{ .NetworkSettings.IPAddress }}" ,"deis-etcd" )
62+ go func () {
63+ err := cli .CmdInspect ("--format" , "{{ .NetworkSettings.IPAddress }}" , "deis-etcd" )
5264 if err != nil {
53- t .Fatalf ("getIPAdressTest %s" ,err )
65+ t .Fatalf ("getIPAddressTest %s" , err )
5466 }
55- if err = closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
56- t .Fatalf ("getIPAdressTest %s" ,err )
67+ if err = closeWrap (stdout , stdoutPipe , stdin ); err != nil {
68+ t .Fatalf ("getIPAddressTest %s" , err )
5769 }
5870 }()
5971 time .Sleep (2000 * time .Millisecond )
60- for {
61- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
62- IPAdress = cmdBytes
72+ for {
73+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
74+ IPAdress = cmdBytes
6375 fmt .Println (cmdBytes )
64- }else {
76+ } else {
6577 break
6678 }
6779 fmt .Println ("get IPAddress" )
6880 }
6981 return IPAdress
7082}
7183
72-
73-
74-
75- func pullEtcdTest (t * testing.T ,done chan bool ){
76- stdin , _ := io .Pipe ()
84+ func pullEtcdTest (t * testing.T , done chan bool ) {
85+ stdin , _ := io .Pipe ()
7786 stdout , stdoutPipe := io .Pipe ()
7887 fmt .Println ("1" )
79- cli := client .NewDockerCli (nil , stdoutPipe , nil , testDaemonProto , testDaemonAddr , nil )
88+ cli := client .NewDockerCli (nil , stdoutPipe , nil , daemonProto (), daemonAddr () , nil )
8089 fmt .Println ("2" )
81- go func () {
82- err := cli .CmdPull ("phife.atribecalledchris.com:5000/deis/etcd:0.3.0" )
90+ go func () {
91+ err := cli .CmdPull ("phife.atribecalledchris.com:5000/deis/etcd:0.3.0" )
8392 if err != nil {
84- t .Fatalf ("pullEtcdTest %s" ,err )
93+ t .Fatalf ("pullEtcdTest %s" , err )
8594 }
86- if err = closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
87- t .Fatalf ("pullEtcdTest %s" ,err )
95+ if err = closeWrap (stdout , stdoutPipe , stdin ); err != nil {
96+ t .Fatalf ("pullEtcdTest %s" , err )
8897 }
89- }( )
98+ }()
9099 time .Sleep (3000 * time .Millisecond )
91- for {
92- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
93- fmt .Println (cmdBytes )
94- }else {
100+ for {
101+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
102+ fmt .Println (cmdBytes )
103+ } else {
95104 break
96105 }
97106 fmt .Println ("pulling etcd" )
98107 }
99- done <- true
108+ done <- true
100109
101110}
102111
103- func runEtcdTest (t * testing.T ,done chan bool ){
104- stdin , _ := io .Pipe ()
112+ func runEtcdTest (t * testing.T , done chan bool ) {
113+ stdin , _ := io .Pipe ()
105114 stdout , stdoutPipe := io .Pipe ()
106- cli := client .NewDockerCli (nil , stdoutPipe , nil , testDaemonProto , testDaemonAddr , nil )
107- go func () {
115+ cli := client .NewDockerCli (nil , stdoutPipe , nil , daemonProto (), daemonAddr () , nil )
116+ go func () {
108117 fmt .Println ("12" )
109- err := cli .CmdRun ("--name" ,"deis-etcd" ,"phife.atribecalledchris.com:5000/deis/etcd:0.3.0" )
118+ err := cli .CmdRun ("--name" , "deis-etcd" , "phife.atribecalledchris.com:5000/deis/etcd:0.3.0" )
110119 if err != nil {
111- t .Fatalf ("runEtcdTest %s" ,err )
120+ t .Fatalf ("runEtcdTest %s" , err )
112121 }
113122
114- }( )
123+ }()
115124 go func () {
116125 fmt .Println ("here" )
117126 time .Sleep (5000 * time .Millisecond )
118- if err := closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
119- t .Fatalf ("runEtcdTest %s" ,err )
127+ if err := closeWrap (stdout , stdoutPipe , stdin ); err != nil {
128+ t .Fatalf ("runEtcdTest %s" , err )
120129 }
121130 }()
122131 time .Sleep (1000 * time .Millisecond )
123- for {
124- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
125- fmt .Println (cmdBytes )
126- }else {
132+ for {
133+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
134+ fmt .Println (cmdBytes )
135+ } else {
127136 break
128137 }
129138 fmt .Println ("Running Etcd " )
130139 }
131- done <- true
140+ done <- true
132141}
133142
134- func buildRegistryTest (t * testing.T ){
135- stdin , _ := io .Pipe ()
143+ func buildRegistryTest (t * testing.T ) {
144+ stdin , _ := io .Pipe ()
136145 stdout , stdoutPipe := io .Pipe ()
137- cli := client .NewDockerCli (nil , stdoutPipe , nil , testDaemonProto , testDaemonAddr , nil )
138- go func ( ) {
139- err := cli .CmdBuild ("../" )
146+ cli := client .NewDockerCli (nil , stdoutPipe , nil , daemonProto (), daemonAddr () , nil )
147+ go func () {
148+ err := cli .CmdBuild ("../" )
140149 if err != nil {
141- t .Fatalf ("buildRegistryTest %s" ,err )
150+ t .Fatalf ("buildRegistryTest %s" , err )
142151 }
143- if err = closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
144- t .Fatalf ("buildRegistryTest %s" ,err )
152+ if err = closeWrap (stdout , stdoutPipe , stdin ); err != nil {
153+ t .Fatalf ("buildRegistryTest %s" , err )
145154 }
146- }( )
155+ }()
147156 time .Sleep (3000 * time .Millisecond )
148- for {
149- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
150- fmt .Println (cmdBytes )
151- }else {
157+ for {
158+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
159+ fmt .Println (cmdBytes )
160+ } else {
152161 break
153162 }
154163 fmt .Println ("building Deis registy Dockerfile" )
155164 }
156165}
157166
158- func runDeisRegistryDataTest (t * testing.T ){
159- stdin , _ := io .Pipe ()
167+ func runDeisRegistryDataTest (t * testing.T ) {
168+ stdin , _ := io .Pipe ()
160169 stdout , stdoutPipe := io .Pipe ()
161170
162- cli := client .NewDockerCli (nil , stdoutPipe , nil , testDaemonProto , testDaemonAddr , nil )
171+ cli := client .NewDockerCli (nil , stdoutPipe , nil , daemonProto (), daemonAddr () , nil )
163172
164- go func ( ) {
165- err := cli .CmdInspect ("--format" ,"'{{ .Config.Hostname }}'" ,"deis-registry-data" )
173+ go func () {
174+ err := cli .CmdInspect ("--format" , "'{{ .Config.Hostname }}'" , "deis-registry-data" )
166175 /*if err != nil {
167176 t.Fatalf("runDeisRegistryDataTest %s",err)
168177 }*/
169- if err = closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
170- t .Fatalf ("runDeisRegistryDataTest %s" ,err )
178+ if err = closeWrap (stdout , stdoutPipe , stdin ); err != nil {
179+ t .Fatalf ("runDeisRegistryDataTest %s" , err )
171180 }
172- }( )
181+ }()
173182 go func () {
174183 //fmt.Println("here1")
175184 time .Sleep (2000 * time .Millisecond )
176- if err := closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
177- t .Fatalf ("runEtcdTest %s" ,err )
185+ if err := closeWrap (stdout , stdoutPipe , stdin ); err != nil {
186+ t .Fatalf ("runEtcdTest %s" , err )
178187 }
179188 }()
180189 var hostname string
181190 time .Sleep (1000 * time .Millisecond )
182- for {
183- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
184- fmt .Println (cmdBytes )
185- hostname = cmdBytes
186- }else {
191+ for {
192+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
193+ fmt .Println (cmdBytes )
194+ hostname = cmdBytes
195+ } else {
187196 break
188197 }
189198 fmt .Println ("inspecting deis registry data" )
190199 }
191200
192- if strings .Contains (hostname , "Error" ) == true {
193- go func ( ) {
194- err := cli .CmdRun ("--name" ,"deis-registry-data" ,"-v" ,"/data" ,"deis/base" ,"/bin/true" )
201+ if strings .Contains (hostname , "Error" ) == true {
202+ go func () {
203+ err := cli .CmdRun ("--name" , "deis-registry-data" , "-v" , "/data" , "deis/base" , "/bin/true" )
195204 if err != nil {
196- t .Fatalf ("%s" ,err )
205+ t .Fatalf ("%s" , err )
197206 }
198- if err := closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
199- t .Fatalf ("%s" ,err )
207+ if err := closeWrap (stdout , stdoutPipe , stdin ); err != nil {
208+ t .Fatalf ("%s" , err )
200209 }
201- }( )
202- for {
203- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
204- fmt .Println (cmdBytes )
205- }else {
210+ }()
211+ for {
212+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
213+ fmt .Println (cmdBytes )
214+ } else {
206215 break
207216 }
208217 fmt .Println ("pulling Deis registry data" )
209218 }
210219 }
211220}
212221
213-
214- func runDeisRegistryTest (t * testing.T ,IPAddress string ){
215- stdin , _ := io .Pipe ()
222+ func runDeisRegistryTest (t * testing.T , IPAddress string ) {
223+ stdin , _ := io .Pipe ()
216224 stdout , stdoutPipe := io .Pipe ()
217- cli := client .NewDockerCli (nil , stdoutPipe , nil , testDaemonProto , testDaemonAddr , nil )
218- go func () {
225+ cli := client .NewDockerCli (nil , stdoutPipe , nil , daemonProto (), daemonAddr () , nil )
226+ go func () {
219227 //docker run --name deis-registry -p 5000:5000 -e PUBLISH=5000 -e HOST=10.0.0.37 --volumes-from deis-registry-data deis/registry
220228
221- err := cli .CmdRun ("--name" ,"deis-registry" ,"-p" ,"5000:5000" ,"-e" ,"PUBLISH=5000" ,"-e" ,"HOST=" + IPAddress ,"--volumes-from" ,"deis-registry-data" ,"deis/registry" )
229+ err := cli .CmdRun ("--name" , "deis-registry" , "-p" , "5000:5000" , "-e" , "PUBLISH=5000" , "-e" , "HOST=" + IPAddress , "--volumes-from" , "deis-registry-data" , "deis/registry" )
222230 if err != nil {
223- t .Fatalf ("runDeisRegistryTest %s" ,err )
231+ t .Fatalf ("runDeisRegistryTest %s" , err )
224232 }
225- if err := closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
226- t .Fatalf ("runDeisRegistryTest %s" ,err )
233+ if err := closeWrap (stdout , stdoutPipe , stdin ); err != nil {
234+ t .Fatalf ("runDeisRegistryTest %s" , err )
227235 }
228- }( )
236+ }()
229237 time .Sleep (3000 * time .Millisecond )
230- for {
231- if cmdBytes ,err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
232- if strings .Contains (cmdBytes , "Booting" ) == true {
233- if err := closeWrap (stdout , stdoutPipe ,stdin ); err != nil {
234- t .Fatalf ("runDeisRegistryTest %s" ,err )
238+ for {
239+ if cmdBytes , err := bufio .NewReader (stdout ).ReadString ('\n' ); err == nil {
240+ if strings .Contains (cmdBytes , "Booting" ) == true {
241+ if err := closeWrap (stdout , stdoutPipe , stdin ); err != nil {
242+ t .Fatalf ("runDeisRegistryTest %s" , err )
235243 }
236244 }
237- fmt .Println (cmdBytes )
238- }else {
245+ fmt .Println (cmdBytes )
246+ } else {
239247 break
240248 }
241249 fmt .Println ("pulling Deis Registry" )
242250 }
243251
244252}
245253
246-
247-
248-
249254func TestBuild (t * testing.T ) {
250255 done := make (chan bool , 1 )
251- done2 := make (chan bool ,1 )
252- pullEtcdTest (t ,done )
256+ done2 := make (chan bool , 1 )
257+ pullEtcdTest (t , done )
253258 fmt .Println ("1st" )
254259 go func () {
255260 fmt .Println ("2nd" )
256261 <- done
257262 fmt .Println ("3rd" )
258- runEtcdTest (t ,done2 )
263+ runEtcdTest (t , done2 )
259264 fmt .Println ("4th" )
260265 }()
261266 <- done2
@@ -264,8 +269,8 @@ func TestBuild(t *testing.T) {
264269 fmt .Println ("6th" )
265270 runDeisRegistryDataTest (t )
266271 fmt .Println ("7th" )
267- IPAddress := strings .TrimSuffix (getIPAdressTest (t ), "\n " )
272+ IPAddress := strings .TrimSuffix (getIPAddressTest (t ), "\n " )
268273 fmt .Println (IPAddress )
269274 fmt .Println ("8th" )
270- runDeisRegistryTest (t ,IPAddress )
275+ runDeisRegistryTest (t , IPAddress )
271276}
0 commit comments