mirror of https://github.com/hashicorp/packer
Merge pull request #8882 from hashicorp/fix-var-file-hcl
allow to use hcl files as var files in HCL modepull/8892/head
commit
6477d8a0c8
@ -0,0 +1,4 @@
|
||||
variable "foo" {
|
||||
type = string
|
||||
default = "bar"
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
foo = "wee"
|
||||
@ -0,0 +1,16 @@
|
||||
package kvflag
|
||||
|
||||
import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
type StringSlice []string
|
||||
|
||||
func (s *StringSlice) String() string {
|
||||
return strings.Join(*s, ", ")
|
||||
}
|
||||
|
||||
func (s *StringSlice) Set(value string) error {
|
||||
*s = append(*s, value)
|
||||
return nil
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package kvflag
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
)
|
||||
|
||||
func TestStringSlice_Set(t *testing.T) {
|
||||
type args struct {
|
||||
values []string
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
s StringSlice
|
||||
args args
|
||||
wantStringSlice StringSlice
|
||||
}{
|
||||
{"basic", StringSlice{"hey", "yo"}, args{[]string{"how", "are", "you"}},
|
||||
StringSlice{"hey", "yo", "how", "are", "you"}},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
for _, value := range tt.args.values {
|
||||
err := tt.s.Set(value)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
if diff := cmp.Diff(tt.s, tt.wantStringSlice); diff != "" {
|
||||
t.Fatal(diff)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue