diff --git a/cmd/podman/common/build.go b/cmd/podman/common/build.go index 82b5e1e678..2abf62520e 100644 --- a/cmd/podman/common/build.go +++ b/cmd/podman/common/build.go @@ -136,9 +136,8 @@ func DefineBuildFlags(cmd *cobra.Command, buildOpts *BuildFlagsWrapper, isFarmBu } func ParseBuildOpts(cmd *cobra.Command, args []string, buildOpts *BuildFlagsWrapper) (*entities.BuildOptions, error) { - if (cmd.Flags().Changed("squash") && cmd.Flags().Changed("layers")) || - (cmd.Flags().Changed("squash-all") && cmd.Flags().Changed("squash")) { - return nil, errors.New("cannot specify --squash with --layers and --squash-all with --squash") + if cmd.Flags().Changed("squash-all") && cmd.Flags().Changed("squash") { + return nil, errors.New("cannot specify --squash-all with --squash") } if cmd.Flag("output").Changed && registry.IsRemote() { diff --git a/test/e2e/build_test.go b/test/e2e/build_test.go index a29619f2a9..c72aebfd42 100644 --- a/test/e2e/build_test.go +++ b/test/e2e/build_test.go @@ -190,12 +190,11 @@ var _ = Describe("Podman build", func() { // Test if entire build is used from cache Expect(session.OutputToString()).To(ContainSubstring("Using cache")) - session = podmanTest.Podman([]string{"inspect", "--format", "{{.RootFS.Layers}}", "test-squash-d"}) + session = podmanTest.Podman([]string{"inspect", "--format", "{{.RootFS.Layers}}", "test"}) session.WaitWithDefaultTimeout() Expect(session).Should(ExitCleanly()) // Check for one layers Expect(strings.Fields(session.OutputToString())).To(HaveLen(1)) - }) It("podman build Containerfile locations", func() { diff --git a/test/system/070-build.bats b/test/system/070-build.bats index 8926ac0fdd..2daf7edfac 100644 --- a/test/system/070-build.bats +++ b/test/system/070-build.bats @@ -1110,6 +1110,12 @@ EOF run_podman build -t build_test $tmpdir/link } +@test "podman build --squash --squash-all should conflict" { + echo FROM scratch > $PODMAN_TMPDIR/Dockerfile + run_podman 125 build -t build_test --squash-all --squash $PODMAN_TMPDIR + is "$output" "Error: cannot specify --squash-all with --squash" "--squash and --sqaush-all should conflict" +} + @test "podman build --volumes-from conflict" { rand_content=$(random_string 50)