Merge pull request #10021 from zhangguanzhang/invalid-save-expression

Fix invalid expression in save command
This commit is contained in:
OpenShift Merge Robot
2021-04-16 04:28:14 -04:00
committed by GitHub
2 changed files with 19 additions and 1 deletions

View File

@ -102,7 +102,7 @@ func save(cmd *cobra.Command, args []string) (finalErr error) {
tags []string tags []string
succeeded = false succeeded = false
) )
if cmd.Flag("compress").Changed && (saveOpts.Format != define.OCIManifestDir && saveOpts.Format != define.V2s2ManifestDir && saveOpts.Format == "") { if cmd.Flag("compress").Changed && (saveOpts.Format != define.OCIManifestDir && saveOpts.Format != define.V2s2ManifestDir) {
return errors.Errorf("--compress can only be set when --format is either 'oci-dir' or 'docker-dir'") return errors.Errorf("--compress can only be set when --format is either 'oci-dir' or 'docker-dir'")
} }
if len(saveOpts.Output) == 0 { if len(saveOpts.Output) == 0 {

View File

@ -111,6 +111,24 @@ var _ = Describe("Podman save", func() {
Expect(save.ExitCode()).To(Equal(0)) Expect(save.ExitCode()).To(Equal(0))
}) })
It("podman save to directory with --compress but not use docker-dir and oci-dir", func() {
if rootless.IsRootless() && podmanTest.RemoteTest {
Skip("Requires a fix in containers image for chown/lchown")
}
outdir := filepath.Join(podmanTest.TempDir, "save")
save := podmanTest.Podman([]string{"save", "--compress", "--format", "docker-archive", "-o", outdir, ALPINE})
save.WaitWithDefaultTimeout()
// should not be 0
Expect(save.ExitCode()).ToNot(Equal(0))
save = podmanTest.Podman([]string{"save", "--compress", "--format", "oci-archive", "-o", outdir, ALPINE})
save.WaitWithDefaultTimeout()
// should not be 0
Expect(save.ExitCode()).ToNot(Equal(0))
})
It("podman save bad filename", func() { It("podman save bad filename", func() {
outdir := filepath.Join(podmanTest.TempDir, "save:colon") outdir := filepath.Join(podmanTest.TempDir, "save:colon")