@@ -286,22 +286,22 @@ func (f *Framework) DevPodProviderUpdate(ctx context.Context, args ...string) er
286286 return nil
287287}
288288
289- func (f * Framework ) DevPodMachineCreate (args []string ) error {
289+ func (f * Framework ) DevPodMachineCreate (ctx context. Context , args []string ) error {
290290 baseArgs := []string {"machine" , "create" }
291291 baseArgs = append (baseArgs , args ... )
292- err := f .ExecCommand (context . Background () , false , false , "" , baseArgs )
292+ err := f .ExecCommand (ctx , false , false , "" , baseArgs )
293293 if err != nil {
294- return fmt .Errorf ("devpod nachine create failed: %s" , err .Error ())
294+ return fmt .Errorf ("devpod machine create failed: %s" , err .Error ())
295295 }
296296 return nil
297297}
298298
299- func (f * Framework ) DevPodMachineDelete (args []string ) error {
299+ func (f * Framework ) DevPodMachineDelete (ctx context. Context , args []string ) error {
300300 baseArgs := []string {"machine" , "delete" }
301301 baseArgs = append (baseArgs , args ... )
302- err := f .ExecCommand (context . Background () , false , false , "" , baseArgs )
302+ err := f .ExecCommand (ctx , false , false , "" , baseArgs )
303303 if err != nil {
304- return fmt .Errorf ("devpod nachine delete failed: %s" , err .Error ())
304+ return fmt .Errorf ("devpod machine delete failed: %s" , err .Error ())
305305 }
306306 return nil
307307}
@@ -325,31 +325,31 @@ func (f *Framework) DevPodWorkspaceDelete(
325325
326326func (f * Framework ) SetupGPG (tmpDir string ) error {
327327 if _ , err := exec .LookPath ("gpg" ); err != nil {
328- err := exec .Command ("sudo" , "apt-get" , " install" , "gnupg2" , "-y" ).Run ()
329- if err != nil {
330- return nil
328+ if installErr := exec .Command ("sudo" , "apt-get" , "install" , "gnupg2" , "-y" ).
329+ Run (); installErr != nil {
330+ return fmt . Errorf ( "gpg not found and failed to install gnupg2: %w" , installErr )
331331 }
332332 }
333333
334- err := exec .Command ("gpg" , "--import" , filepath .Join (tmpDir , "gpg-public.key" )).Run ()
335- if err != nil {
336- return nil
334+ // #nosec G204 -- gpg with fixed arguments for test GPG key setup
335+ if err := exec .Command ("gpg" , "--import" , filepath .Join (tmpDir , "gpg-public.key" )).
336+ Run (); err != nil {
337+ return fmt .Errorf ("failed to import gpg public key: %w" , err )
337338 }
338339
339- err = exec .Command ("gpg" , "--import" , filepath .Join (tmpDir , "gpg-private.key" )).Run ()
340- if err != nil {
341- return nil
340+ // #nosec G204 -- gpg with fixed arguments for test GPG key setup
341+ if err := exec .Command ("gpg" , "--import" , filepath .Join (tmpDir , "gpg-private.key" )).
342+ Run (); err != nil {
343+ return fmt .Errorf ("failed to import gpg private key: %w" , err )
342344 }
343345
344- err = exec .Command ("gpgconf" , "--kill" , "gpg-agent" ).Run ()
345- if err != nil {
346- return nil
346+ if err := exec .Command ("gpgconf" , "--kill" , "gpg-agent" ).Run (); err != nil {
347+ return fmt .Errorf ("failed to kill gpg-agent: %w" , err )
347348 }
348349
349- err = exec .Command ("gpg-agent" , "--homedir" , "$HOME/.gnupg" , "--use-standard-socket" , "--daemon" ).
350- Run ()
351- if err != nil {
352- return nil
350+ if err := exec .Command ("gpg-agent" , "--homedir" , "$HOME/.gnupg" , "--use-standard-socket" , "--daemon" ).
351+ Run (); err != nil {
352+ return fmt .Errorf ("failed to start gpg-agent: %w" , err )
353353 }
354354
355355 return exec .Command ("gpg" , "-k" ).Run ()
@@ -456,3 +456,19 @@ func (f *Framework) DevPodIDEList(ctx context.Context, extraArgs ...string) (str
456456 baseArgs := []string {"ide" , "list" }
457457 return f .ExecCommandOutput (ctx , append (baseArgs , extraArgs ... ))
458458}
459+
460+ // SetupDockerProvider creates a new framework, removes any existing docker provider,
461+ // adds a fresh one with the given docker path, and sets it as the active provider.
462+ func SetupDockerProvider (binDir , dockerPath string ) (* Framework , error ) {
463+ f := NewDefaultFramework (binDir )
464+ _ = f .DevPodProviderDelete (context .Background (), "docker" )
465+ if err := f .DevPodProviderAdd (
466+ context .Background (),
467+ "docker" ,
468+ "-o" ,
469+ "DOCKER_PATH=" + dockerPath ,
470+ ); err != nil {
471+ return nil , fmt .Errorf ("failed to add docker provider: %w" , err )
472+ }
473+ return f , f .DevPodProviderUse (context .Background (), "docker" )
474+ }
0 commit comments