mirror of
https://github.com/containers/podman.git
synced 2025-12-06 05:37:49 +08:00
We have little to no testing to make sure we don't break podman image and podman container commands that wrap traditional commands. This PR adds tests for each of the commands. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
79 lines
1.9 KiB
Go
79 lines
1.9 KiB
Go
package integration
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
. "github.com/containers/libpod/test/utils"
|
|
. "github.com/onsi/ginkgo"
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
var _ = Describe("Podman export", func() {
|
|
var (
|
|
tempdir string
|
|
err error
|
|
podmanTest *PodmanTestIntegration
|
|
)
|
|
|
|
BeforeEach(func() {
|
|
tempdir, err = CreateTempDirInTempDir()
|
|
if err != nil {
|
|
os.Exit(1)
|
|
}
|
|
podmanTest = PodmanTestCreate(tempdir)
|
|
podmanTest.RestoreAllArtifacts()
|
|
})
|
|
|
|
AfterEach(func() {
|
|
podmanTest.Cleanup()
|
|
f := CurrentGinkgoTestDescription()
|
|
timedResult := fmt.Sprintf("Test: %s completed in %f seconds", f.TestText, f.Duration.Seconds())
|
|
GinkgoWriter.Write([]byte(timedResult))
|
|
|
|
})
|
|
|
|
It("podman export output flag", func() {
|
|
SkipIfRemote()
|
|
_, ec, cid := podmanTest.RunLsContainer("")
|
|
Expect(ec).To(Equal(0))
|
|
|
|
outfile := filepath.Join(podmanTest.TempDir, "container.tar")
|
|
result := podmanTest.Podman([]string{"export", "-o", outfile, cid})
|
|
result.WaitWithDefaultTimeout()
|
|
Expect(result.ExitCode()).To(Equal(0))
|
|
_, err := os.Stat(outfile)
|
|
Expect(err).To(BeNil())
|
|
|
|
err = os.Remove(outfile)
|
|
Expect(err).To(BeNil())
|
|
})
|
|
|
|
It("podman container export output flag", func() {
|
|
SkipIfRemote()
|
|
_, ec, cid := podmanTest.RunLsContainer("")
|
|
Expect(ec).To(Equal(0))
|
|
|
|
outfile := filepath.Join(podmanTest.TempDir, "container.tar")
|
|
result := podmanTest.Podman([]string{"container", "export", "-o", outfile, cid})
|
|
result.WaitWithDefaultTimeout()
|
|
Expect(result.ExitCode()).To(Equal(0))
|
|
_, err := os.Stat(outfile)
|
|
Expect(err).To(BeNil())
|
|
|
|
err = os.Remove(outfile)
|
|
Expect(err).To(BeNil())
|
|
})
|
|
|
|
It("podman export bad filename", func() {
|
|
_, ec, cid := podmanTest.RunLsContainer("")
|
|
Expect(ec).To(Equal(0))
|
|
|
|
outfile := filepath.Join(podmanTest.TempDir, "container:with:colon.tar")
|
|
result := podmanTest.Podman([]string{"export", "-o", outfile, cid})
|
|
result.WaitWithDefaultTimeout()
|
|
Expect(result.ExitCode()).To(Not(Equal(0)))
|
|
})
|
|
})
|