Skip to content

Commit

Permalink
Remove incorrect validation of --change for commit
Browse files Browse the repository at this point in the history
The validation logic was failing on properly-formatted changes.
There's already validation in Commit itself, so no need to
duplicate.

Fixes containers#5148

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
  • Loading branch information
mheon authored and snj33v committed May 31, 2020
1 parent 3937f9c commit f69fdb5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 12 deletions.
12 changes: 0 additions & 12 deletions cmd/podman/commit.go
Expand Up @@ -6,7 +6,6 @@ import (

"github.com/containers/libpod/cmd/podman/cliconfig"
"github.com/containers/libpod/pkg/adapter"
"github.com/containers/libpod/pkg/util"
"github.com/pkg/errors"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -65,17 +64,6 @@ func commitCmd(c *cliconfig.CommitValues) error {
if len(args) > 1 {
reference = args[1]
}
if c.Flag("change").Changed {
for _, change := range c.Change {
splitChange := strings.Split(strings.ToUpper(change), "=")
if len(splitChange) == 1 {
splitChange = strings.Split(strings.ToUpper(change), " ")
}
if !util.StringInSlice(splitChange[0], ChangeCmds) {
return errors.Errorf("invalid syntax for --change: %s", change)
}
}
}

iid, err := runtime.Commit(getContext(), c, container, reference)
if err != nil {
Expand Down
19 changes: 19 additions & 0 deletions test/e2e/commit_test.go
Expand Up @@ -115,6 +115,25 @@ var _ = Describe("Podman commit", func() {
Expect(foundBlue).To(Equal(true))
})

It("podman commit container with change flag and JSON entrypoint with =", func() {
test := podmanTest.Podman([]string{"run", "--name", "test1", "-d", ALPINE, "ls"})
test.WaitWithDefaultTimeout()
Expect(test.ExitCode()).To(Equal(0))
Expect(podmanTest.NumberOfContainers()).To(Equal(1))

session := podmanTest.Podman([]string{"commit", "--change", `ENTRYPOINT ["foo", "bar=baz"]`, "test1", "foobar.com/test1-image:latest"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))

check := podmanTest.Podman([]string{"inspect", "foobar.com/test1-image:latest"})
check.WaitWithDefaultTimeout()
data := check.InspectImageJSON()
Expect(len(data)).To(Equal(1))
Expect(len(data[0].Config.Entrypoint)).To(Equal(2))
Expect(data[0].Config.Entrypoint[0]).To(Equal("foo"))
Expect(data[0].Config.Entrypoint[1]).To(Equal("bar=baz"))
})

It("podman commit container with change CMD flag", func() {
test := podmanTest.Podman([]string{"run", "--name", "test1", "-d", ALPINE, "ls"})
test.WaitWithDefaultTimeout()
Expand Down

0 comments on commit f69fdb5

Please sign in to comment.