@@ -127,6 +127,7 @@ func TestLogs(t *testing.T) {
127
127
envbuilderEnv ("GIT_URL" , srv .URL ),
128
128
"CODER_AGENT_URL=" + logSrv .URL ,
129
129
"CODER_AGENT_TOKEN=" + token ,
130
+ "ENVBUILDER_INIT_SCRIPT=env" ,
130
131
}})
131
132
require .NoError (t , err )
132
133
ctx , cancel := context .WithTimeout (context .Background (), time .Minute )
@@ -137,9 +138,27 @@ func TestLogs(t *testing.T) {
137
138
case <- logsDone :
138
139
}
139
140
140
- // Ensure that CODER_AGENT_SUBSYSTEM is set correctly inside the container.
141
- output := execContainer (t , ctrID , "echo $CODER_AGENT_SUBSYSTEM" )
142
- require .Equal (t , "envbuilder" , strings .TrimSpace (output ))
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" )
143
162
}
144
163
145
164
func TestInitScriptInitCommand (t * testing.T ) {
0 commit comments