github.com/containers/podman/v5@v5.1.0-rc1/test/e2e/libpod_suite_test.go (about) 1 //go:build !remote_testing 2 3 package integration 4 5 import ( 6 "os" 7 "path/filepath" 8 9 . "github.com/onsi/ginkgo/v2" 10 . "github.com/onsi/gomega" 11 ) 12 13 func IsRemote() bool { 14 return false 15 } 16 17 // Podman is the exec call to podman on the filesystem 18 func (p *PodmanTestIntegration) Podman(args []string) *PodmanSessionIntegration { 19 podmanSession := p.PodmanBase(args, false, false) 20 return &PodmanSessionIntegration{podmanSession} 21 } 22 23 // PodmanSystemdScope runs the podman command in a new systemd scope 24 func (p *PodmanTestIntegration) PodmanSystemdScope(args []string) *PodmanSessionIntegration { 25 wrapper := []string{"systemd-run", "--scope"} 26 if isRootless() { 27 wrapper = []string{"systemd-run", "--scope", "--user"} 28 } 29 podmanSession := p.PodmanAsUserBase(args, 0, 0, "", nil, false, false, wrapper, nil) 30 return &PodmanSessionIntegration{podmanSession} 31 } 32 33 // PodmanExtraFiles is the exec call to podman on the filesystem and passes down extra files 34 func (p *PodmanTestIntegration) PodmanExtraFiles(args []string, extraFiles []*os.File) *PodmanSessionIntegration { 35 podmanSession := p.PodmanAsUserBase(args, 0, 0, "", nil, false, false, nil, extraFiles) 36 return &PodmanSessionIntegration{podmanSession} 37 } 38 39 func (p *PodmanTestIntegration) setDefaultRegistriesConfigEnv() { 40 defaultFile := filepath.Join(INTEGRATION_ROOT, "test/registries.conf") 41 err := os.Setenv("CONTAINERS_REGISTRIES_CONF", defaultFile) 42 Expect(err).ToNot(HaveOccurred()) 43 } 44 45 func (p *PodmanTestIntegration) setRegistriesConfigEnv(b []byte) { 46 outfile := filepath.Join(p.TempDir, "registries.conf") 47 os.Setenv("CONTAINERS_REGISTRIES_CONF", outfile) 48 err := os.WriteFile(outfile, b, 0644) 49 Expect(err).ToNot(HaveOccurred()) 50 } 51 52 func resetRegistriesConfigEnv() { 53 os.Setenv("CONTAINERS_REGISTRIES_CONF", "") 54 } 55 56 func PodmanTestCreate(tempDir string) *PodmanTestIntegration { 57 return PodmanTestCreateUtil(tempDir, false) 58 } 59 60 // RestoreArtifact puts the cached image into our test store 61 func (p *PodmanTestIntegration) RestoreArtifact(image string) error { 62 tarball := imageTarPath(image) 63 if _, err := os.Stat(tarball); err == nil { 64 GinkgoWriter.Printf("Restoring %s...\n", image) 65 restore := p.PodmanNoEvents([]string{"load", "-q", "-i", tarball}) 66 restore.Wait(90) 67 } 68 return nil 69 } 70 71 func (p *PodmanTestIntegration) StopRemoteService() {} 72 73 // We don't support running API service when local 74 func (p *PodmanTestIntegration) StartRemoteService() { 75 } 76 77 // Just a stub for compiling with `!remote`. 78 func getRemoteOptions(p *PodmanTestIntegration, args []string) []string { 79 return nil 80 }