github.com/hashicorp/packer@v1.14.3/packer_test/core_tests/local_eval_test.go (about)

     1  package core_test
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/hashicorp/packer/packer_test/common/check"
     7  )
     8  
     9  func (ts *PackerCoreTestSuite) TestEvalLocalsOrder() {
    10  	ts.SkipNoAcc()
    11  
    12  	pluginDir := ts.MakePluginDir()
    13  	defer pluginDir.Cleanup()
    14  
    15  	ts.PackerCommand().UsePluginDir(pluginDir).
    16  		Runs(10).
    17  		Stdin("local.test_local\n").
    18  		SetArgs("console", "./templates/locals_no_order.pkr.hcl").
    19  		Assert(check.MustSucceed(),
    20  			check.GrepInverted("\\[\\]", check.GrepStdout))
    21  }
    22  
    23  func (ts *PackerCoreTestSuite) TestLocalDuplicates() {
    24  	pluginDir := ts.MakePluginDir()
    25  	defer pluginDir.Cleanup()
    26  
    27  	for _, cmd := range []string{"console", "validate", "build"} {
    28  		ts.Run(fmt.Sprintf("duplicate local detection with %s command - expect error", cmd), func() {
    29  			ts.PackerCommand().UsePluginDir(pluginDir).
    30  				SetArgs(cmd, "./templates/locals_duplicate.pkr.hcl").
    31  				Assert(check.MustFail(),
    32  					check.Grep("Duplicate local definition"),
    33  					check.Grep("Local variable \"test\" is defined twice"))
    34  		})
    35  	}
    36  }