@@ -123,10 +123,11 @@ func TestLogs(t *testing.T) {
123123 "Dockerfile" : fmt .Sprintf (`FROM %s` , testImageUbuntu ),
124124 },
125125 })
126- _ , err := runEnvbuilder (t , runOpts {env : []string {
126+ ctrID , err := runEnvbuilder (t , runOpts {env : []string {
127127 envbuilderEnv ("GIT_URL" , srv .URL ),
128128 "CODER_AGENT_URL=" + logSrv .URL ,
129129 "CODER_AGENT_TOKEN=" + token ,
130+ "ENVBUILDER_INIT_SCRIPT=env" ,
130131 }})
131132 require .NoError (t , err )
132133 ctx , cancel := context .WithTimeout (context .Background (), time .Minute )
@@ -136,6 +137,28 @@ func TestLogs(t *testing.T) {
136137 t .Fatal ("timed out waiting for logs" )
137138 case <- logsDone :
138139 }
140+
141+ // Wait for the container to exit
142+ client , err := client .NewClientWithOpts (client .FromEnv , client .WithAPIVersionNegotiation ())
143+ require .NoError (t , err )
144+ require .Eventually (t , func () bool {
145+ status , err := client .ContainerInspect (ctx , ctrID )
146+ if ! assert .NoError (t , err ) {
147+ return false
148+ }
149+ return ! status .State .Running
150+ }, 10 * time .Second , time .Second , "container never exited" )
151+
152+ // Check the expected log output
153+ logReader , err := client .ContainerLogs (ctx , ctrID , container.LogsOptions {
154+ ShowStdout : true ,
155+ ShowStderr : true ,
156+ })
157+ require .NoError (t , err )
158+ logBytes , err := io .ReadAll (logReader )
159+ require .NoError (t , err )
160+ logs := string (logBytes )
161+ require .Contains (t , logs , "CODER_AGENT_SUBSYSTEM=envbuilder" )
139162}
140163
141164func TestInitScriptInitCommand (t * testing.T ) {
0 commit comments