@@ -10,32 +10,8 @@ import (
1010 "github.com/deis/deis/tests/utils"
1111)
1212
13- func runDeisBuilderTest (
14- t * testing.T , testID string , etcdPort string , servicePort string ) {
15- var err error
16- dockercli .RunDeisDataTest (t , "--name" , "deis-builder-data" ,
17- "-v" , "/var/lib/docker" , "deis/base" , "true" )
18- cli , stdout , stdoutPipe := dockercli .GetNewClient ()
19- go func () {
20- err = dockercli .RunContainer (cli ,
21- "--name" , "deis-builder-" + testID ,
22- "--rm" ,
23- "-p" , servicePort + ":22" ,
24- "-e" , "PUBLISH=22" ,
25- "-e" , "STORAGE_DRIVER=aufs" ,
26- "-e" , "HOST=" + utils .GetHostIPAddress (),
27- "-e" , "ETCD_PORT=" + etcdPort ,
28- "-e" , "PORT=" + servicePort ,
29- "--volumes-from" , "deis-builder-data" ,
30- "--privileged" , "deis/builder:" + testID )
31- }()
32- dockercli .PrintToStdout (t , stdout , stdoutPipe , "deis-builder running" )
33- if err != nil {
34- t .Fatal (err )
35- }
36- }
37-
3813func TestBuilder (t * testing.T ) {
14+ var err error
3915 setkeys := []string {
4016 "/deis/registry/protocol" ,
4117 "/deis/registry/host" ,
@@ -55,21 +31,38 @@ func TestBuilder(t *testing.T) {
5531 "/deis/domains" ,
5632 "/deis/services" ,
5733 }
58- testID := utils .NewID ()
59- err := dockercli .BuildImage (t , "../" , "deis/builder:" + testID )
34+ tag , etcdPort := utils .BuildTag (), utils .RandomPort ()
35+ etcdName := "deis-etcd-" + tag
36+ cli , stdout , stdoutPipe := dockercli .NewClient ()
37+ dockercli .RunTestEtcd (t , etcdName , etcdPort )
38+ defer cli .CmdRm ("-f" , etcdName )
39+ handler := etcdutils .InitEtcd (setdir , setkeys , etcdPort )
40+ etcdutils .PublishEtcd (t , handler )
41+ dockercli .RunDeisDataTest (t , "--name" , "deis-builder-data" ,
42+ "-v" , "/var/lib/docker" , "deis/base" , "true" )
43+ ipaddr , port := utils .HostAddress (), utils .RandomPort ()
44+ fmt .Printf ("--- Run deis/builder:%s at %s:%s\n " , tag , ipaddr , port )
45+ name := "deis-builder-" + tag
46+ defer cli .CmdRm ("-f" , name )
47+ go func () {
48+ _ = cli .CmdRm ("-f" , name )
49+ err = dockercli .RunContainer (cli ,
50+ "--name" , name ,
51+ "--rm" ,
52+ "-p" , port + ":22" ,
53+ "-e" , "PUBLISH=22" ,
54+ "-e" , "STORAGE_DRIVER=aufs" ,
55+ "-e" , "HOST=" + ipaddr ,
56+ "-e" , "ETCD_PORT=" + etcdPort ,
57+ "-e" , "PORT=" + port ,
58+ "--volumes-from" , "deis-builder-data" ,
59+ "--privileged" , "deis/builder:" + tag )
60+ }()
61+ dockercli .PrintToStdout (t , stdout , stdoutPipe , "deis-builder running" )
6062 if err != nil {
6163 t .Fatal (err )
6264 }
63- etcdPort := utils .GetRandomPort ()
64- dockercli .RunEtcdTest (t , testID , etcdPort )
65- handler := etcdutils .InitetcdValues (setdir , setkeys , etcdPort )
66- etcdutils .Publishvalues (t , handler )
67- servicePort := utils .GetRandomPort ()
68- fmt .Printf ("--- Test deis-builder-%s at port %s\n " , testID , servicePort )
69- runDeisBuilderTest (t , testID , etcdPort , servicePort )
7065 // TODO: builder needs a few seconds to wake up here--fixme!
7166 time .Sleep (5000 * time .Millisecond )
72- dockercli .DeisServiceTest (
73- t , "deis-builder-" + testID , servicePort , "tcp" )
74- dockercli .ClearTestSession (t , testID )
67+ dockercli .DeisServiceTest (t , name , port , "tcp" )
7568}
0 commit comments