@@ -155,6 +155,37 @@ func (d *CliDeployer) RunDeployTest(ctx context.Context, t test.TestInfo) (*test
155
155
},
156
156
}
157
157
158
+ wkdir , err := os .Getwd ()
159
+ if err != nil {
160
+ return nil , fmt .Errorf ("failed to get current working directory: %w" , err )
161
+ }
162
+ err = os .Chdir ("/" )
163
+ if err != nil {
164
+ return nil , fmt .Errorf ("failed to change working directory: %w" , err )
165
+ }
166
+ _ , err = d .RunCommand (cmdCtx , func (cmd * exec.Cmd ) {
167
+ if t .Stdout != nil {
168
+ cmd .Stdout = io .MultiWriter (& d .Stdout , t .Stdout , detector )
169
+ } else {
170
+ cmd .Stdout = io .MultiWriter (& d .Stdout , detector )
171
+ }
172
+ if t .Stderr != nil {
173
+ cmd .Stderr = io .MultiWriter (& d .Stderr , t .Stderr , detector )
174
+ } else {
175
+ cmd .Stderr = io .MultiWriter (& d .Stderr , detector )
176
+ }
177
+ cmd .Cancel = func () error {
178
+ return cmd .Process .Signal (os .Interrupt ) // Use interrupt signal to stop the command when context is cancelled
179
+ }
180
+ }, "defang" , "compose" , "down" , "--detach" )
181
+ if err != nil {
182
+ return nil , fmt .Errorf ("failed to run compose down: %w" , err )
183
+ }
184
+ err = os .Chdir (wkdir )
185
+ if err != nil {
186
+ return nil , fmt .Errorf ("failed to change working directory: %w" , err )
187
+ }
188
+
158
189
d .HasDeployed = true
159
190
start := time .Now ()
160
191
cmd , err := d .RunCommand (cmdCtx , func (cmd * exec.Cmd ) {
0 commit comments