provisioner: added invalid shebang test in packer_test

bump_x_net
Anurag Sharma 1 year ago committed by Lucas Bajolet
parent 36f6b3644f
commit 689024a57f

@ -65,3 +65,18 @@ func (ts *PackerShellProvisionerTestSuite) TestShebangAsOptionNotInline() {
SetArgs("build", "templates/no_shebang_inline_but_as_option.pkr.hcl").
Assert(check.MustSucceed())
}
func (ts *PackerShellProvisionerTestSuite) TestInvalidShebangAsOption() {
dir := ts.MakePluginDir()
defer dir.Cleanup()
ts.PackerCommand().UsePluginDir(dir).
SetArgs("plugins", "install", "github.com/hashicorp/docker").
Assert(check.MustSucceed())
ts.PackerCommand().UsePluginDir(dir).
AddEnv("HOME", os.Getenv("HOME")).
AddEnv("PATH", os.Getenv("PATH")).
SetArgs("build", "templates/shebang_as_option_invalid.pkr.hcl").
Assert(check.MustFail())
}

@ -0,0 +1,17 @@
source "docker" "test" {
image = "debian:bookworm"
discard = true
}
build {
sources = ["docker.test"]
provisioner "shell" {
inline_shebang = "#!/bin/bash -ex"
inline = [
"head -1 <\"$0\" | grep -qE '^#!/bin/bash'",
"if grep -qE \"^#!/bin/sh\" <\"$0\"; then exit 1; fi",
"cat \"$0\""
]
}
}
Loading…
Cancel
Save