summaryrefslogtreecommitdiff
path: root/config/builder_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'config/builder_test.go')
-rw-r--r--config/builder_test.go50
1 files changed, 43 insertions, 7 deletions
diff --git a/config/builder_test.go b/config/builder_test.go
index a35221e..773ddd1 100644
--- a/config/builder_test.go
+++ b/config/builder_test.go
@@ -13,23 +13,37 @@ func TestBuilderConfigYAML(t *testing.T) {
cfg, err := config.ReadConfig([]byte(`---
version: v2
base: foo
+ builder:
+ command: [make, -f, Makefile, test]
+ requirements: [Makefile]
variants:
+ test: {}
build:
- builder: [make, -f, Makefile]`))
+ builder:
+ command: [make]
+ requirements: []`))
if assert.NoError(t, err) {
- variant, err := config.ExpandVariant(cfg, "build")
+ variant, err := config.ExpandVariant(cfg, "test")
- assert.Equal(t, []string{"make", "-f", "Makefile"}, variant.Builder)
+ if assert.NoError(t, err) {
+ assert.Equal(t, []string{"make", "-f", "Makefile", "test"}, variant.Builder.Command)
+ assert.Equal(t, []string{"Makefile"}, variant.Builder.Requirements)
+ }
- assert.Nil(t, err)
+ variant, err = config.ExpandVariant(cfg, "build")
+
+ if assert.NoError(t, err) {
+ assert.Equal(t, []string{"make"}, variant.Builder.Command)
+ assert.Equal(t, []string{}, variant.Builder.Requirements)
+ }
}
}
func TestBuilderConfigInstructions(t *testing.T) {
- cfg := config.BuilderConfig{Builder: []string{"make", "-f", "Makefile"}}
+ cfg := config.BuilderConfig{Command: []string{"make", "-f", "Makefile"}}
- t.Run("PhasePostInstall", func(t *testing.T) {
+ t.Run("PhasePreInstall", func(t *testing.T) {
assert.Equal(t,
[]build.Instruction{
build.Run{
@@ -37,7 +51,29 @@ func TestBuilderConfigInstructions(t *testing.T) {
[]string{"-f", "Makefile"},
},
},
- cfg.InstructionsForPhase(build.PhasePostInstall),
+ cfg.InstructionsForPhase(build.PhasePreInstall),
+ )
+ })
+}
+
+func TestBuilderConfigInstructionsWithRequirements(t *testing.T) {
+ cfg := config.BuilderConfig{
+ Command: []string{"make", "-f", "Makefile", "foo"},
+ Requirements: []string{"Makefile", "foo", "bar/baz"},
+ }
+
+ t.Run("PhasePreInstall", func(t *testing.T) {
+ assert.Equal(t,
+ []build.Instruction{
+ build.Run{"mkdir -p", []string{"bar/"}},
+ build.Copy{[]string{"Makefile", "foo"}, "./"},
+ build.Copy{[]string{"bar/baz"}, "bar/"},
+ build.Run{
+ "make",
+ []string{"-f", "Makefile", "foo"},
+ },
+ },
+ cfg.InstructionsForPhase(build.PhasePreInstall),
)
})
}