rewrite all of the test state string for providers

Now that the resolved provider is always stored in state, we need to
udpate all the test data to match. There will probably be some more
breakage once the provider field is properly diffed.
This commit is contained in:
James Bardin 2017-11-07 13:49:10 -05:00
parent b79adeae02
commit 8dfaae1f23
4 changed files with 139 additions and 4 deletions

View File

@ -129,6 +129,7 @@ func TestContext2Apply_escape(t *testing.T) {
checkStateString(t, state, `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = "bar"
type = aws_instance
`)
@ -160,6 +161,7 @@ func TestContext2Apply_resourceCountOneList(t *testing.T) {
actual := strings.TrimSpace(state.String())
expected := strings.TrimSpace(`null_resource.foo:
ID = foo
provider = provider.null
Outputs:
@ -578,6 +580,7 @@ amis_from_module = {eu-west-1:ami-789012 eu-west-2:ami-989484 us-west-1:ami-1234
module.test:
null_resource.noop:
ID = foo
provider = provider.null
Outputs:
@ -745,6 +748,7 @@ func TestContext2Apply_providerWarning(t *testing.T) {
expected := strings.TrimSpace(`
aws_instance.foo:
ID = foo
provider = provider.aws
`)
if actual != expected {
t.Fatalf("got: \n%s\n\nexpected:\n%s", actual, expected)
@ -1032,11 +1036,13 @@ func TestContext2Apply_createBeforeDestroy_dependsNonCBD(t *testing.T) {
checkStateString(t, state, `
aws_instance.bar:
ID = foo
provider = provider.aws
require_new = yes
type = aws_instance
value = foo
aws_instance.foo:
ID = foo
provider = provider.aws
require_new = yes
type = aws_instance
`)
@ -1170,10 +1176,12 @@ func TestContext2Apply_createBeforeDestroy_deposedCount(t *testing.T) {
checkStateString(t, state, `
aws_instance.bar.0:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.1:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
`)
@ -1233,6 +1241,7 @@ func TestContext2Apply_createBeforeDestroy_deposedOnly(t *testing.T) {
checkStateString(t, state, `
aws_instance.bar:
ID = bar
provider = provider.aws
`)
}
@ -2007,6 +2016,7 @@ func TestContext2Apply_cancelBlock(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo:
ID = foo
provider = provider.aws
`)
}
@ -2066,6 +2076,7 @@ func TestContext2Apply_cancelProvisioner(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo: (tainted)
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`)
@ -2448,10 +2459,12 @@ func TestContext2Apply_mapVariableOverride(t *testing.T) {
expected := strings.TrimSpace(`
aws_instance.bar:
ID = foo
provider = provider.aws
ami = overridden
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
ami = image-1234
type = aws_instance
`)
@ -2619,7 +2632,7 @@ func TestContext2Apply_moduleInheritAlias(t *testing.T) {
module.child:
aws_instance.foo:
ID = foo
provider = aws.eu
provider = provider.aws.eu
`)
}
@ -3140,6 +3153,7 @@ func TestContext2Apply_moduleTarget(t *testing.T) {
module.A:
aws_instance.foo:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
@ -3149,6 +3163,7 @@ module.A:
module.B:
aws_instance.bar:
ID = foo
provider = provider.aws
foo = foo
type = aws_instance
`)
@ -3929,6 +3944,7 @@ func TestContext2Apply_outputDependsOn(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo:
ID = foo
provider = provider.aws
Outputs:
@ -4560,6 +4576,7 @@ func TestContext2Apply_multiDepose_createBeforeDestroy(t *testing.T) {
checkStateString(t, state, `
aws_instance.web: (1 deposed)
ID = bar
provider = provider.aws
Deposed ID 1 = foo
`)
@ -4584,6 +4601,7 @@ aws_instance.web: (1 deposed)
checkStateString(t, state, `
aws_instance.web: (2 deposed)
ID = baz
provider = provider.aws
Deposed ID 1 = foo
Deposed ID 2 = bar
`)
@ -4611,6 +4629,7 @@ aws_instance.web: (2 deposed)
checkStateString(t, state, `
aws_instance.web: (1 deposed)
ID = qux
provider = provider.aws
Deposed ID 1 = bar
`)
@ -4632,6 +4651,7 @@ aws_instance.web: (1 deposed)
checkStateString(t, state, `
aws_instance.web:
ID = quux
provider = provider.aws
`)
}
@ -4672,6 +4692,7 @@ func TestContext2Apply_provisionerFailContinue(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
`)
@ -5067,6 +5088,7 @@ func TestContext2Apply_provisionerDestroyTainted(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
`)
@ -7370,6 +7392,7 @@ func TestContext2Apply_targeted(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`)
@ -7402,10 +7425,13 @@ func TestContext2Apply_targetedCount(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo.0:
ID = foo
provider = provider.aws
aws_instance.foo.1:
ID = foo
provider = provider.aws
aws_instance.foo.2:
ID = foo
provider = provider.aws
`)
}
@ -7436,6 +7462,7 @@ func TestContext2Apply_targetedCountIndex(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo.1:
ID = foo
provider = provider.aws
`)
}
@ -7673,10 +7700,12 @@ func TestContext2Apply_targetedModule(t *testing.T) {
module.child:
aws_instance.bar:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`)
@ -7712,6 +7741,7 @@ func TestContext2Apply_targetedModuleDep(t *testing.T) {
checkStateString(t, state, `
aws_instance.foo:
ID = foo
provider = provider.aws
foo = foo
type = aws_instance
@ -7721,6 +7751,7 @@ aws_instance.foo:
module.child:
aws_instance.mod:
ID = foo
provider = provider.aws
Outputs:
@ -7795,6 +7826,7 @@ module.child1:
module.child2:
aws_instance.foo:
ID = foo
provider = provider.aws
Outputs:
@ -7836,6 +7868,7 @@ func TestContext2Apply_targetedModuleResource(t *testing.T) {
module.child:
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`)
@ -8289,6 +8322,7 @@ func TestContext2Apply_issue5254(t *testing.T) {
expected := strings.TrimSpace(`
template_file.child:
ID = foo
provider = provider.template
template = Hi
type = template_file
@ -8296,6 +8330,7 @@ template_file.child:
template_file.parent.*
template_file.parent:
ID = foo
provider = provider.template
template = Hi
type = template_file
`)
@ -8371,6 +8406,7 @@ func TestContext2Apply_targetedWithTaintedInState(t *testing.T) {
expected := strings.TrimSpace(`
aws_instance.iambeingadded:
ID = foo
provider = provider.aws
aws_instance.ifailedprovisioners: (tainted)
ID = ifailedprovisioners
`)
@ -8416,6 +8452,7 @@ func TestContext2Apply_ignoreChangesCreate(t *testing.T) {
expected := strings.TrimSpace(`
aws_instance.foo:
ID = foo
provider = provider.aws
required_field = set
type = aws_instance
`)
@ -8560,6 +8597,7 @@ func TestContext2Apply_ignoreChangesWildcard(t *testing.T) {
expected := strings.TrimSpace(`
aws_instance.foo:
ID = foo
provider = provider.aws
required_field = set
type = aws_instance
`)
@ -8820,6 +8858,7 @@ func TestContext2Apply_targetedModuleRecursive(t *testing.T) {
module.child.subchild:
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`)

View File

@ -564,6 +564,7 @@ func TestContext2Input_varWithDefault(t *testing.T) {
expectedStr := strings.TrimSpace(`
aws_instance.foo:
ID = foo
provider = provider.aws
foo = 123
type = aws_instance
`)

View File

@ -361,6 +361,7 @@ func testProvisioner() *MockResourceProvisioner {
}
func checkStateString(t *testing.T, state *State, expected string) {
t.Helper()
actual := strings.TrimSpace(state.String())
expected = strings.TrimSpace(expected)
@ -381,6 +382,7 @@ func resourceState(resourceType, resourceID string) *ResourceState {
// Test helper that gives a function 3 seconds to finish, assumes deadlock and
// fails test if it does not.
func testCheckDeadlock(t *testing.T, f func()) {
t.Helper()
timeout := make(chan bool, 1)
done := make(chan bool, 1)
go func() {

View File

@ -220,11 +220,13 @@ func (h *HookRecordApplyOrder) PreApply(
const testTerraformInputProviderStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
bar = override
foo = us-east-1
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
bar = baz
num = 2
type = aws_instance
@ -233,6 +235,7 @@ aws_instance.foo:
const testTerraformInputProviderOnlyStr = `
aws_instance.foo:
ID = foo
provider = provider.aws
foo = us-west-2
type = aws_instance
`
@ -240,6 +243,7 @@ aws_instance.foo:
const testTerraformInputVarOnlyStr = `
aws_instance.foo:
ID = foo
provider = provider.aws
foo = us-east-1
type = aws_instance
`
@ -247,6 +251,7 @@ aws_instance.foo:
const testTerraformInputVarOnlyUnsetStr = `
aws_instance.foo:
ID = foo
provider = provider.aws
bar = baz
foo = foovalue
type = aws_instance
@ -255,11 +260,13 @@ aws_instance.foo:
const testTerraformInputVarsStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
bar = override
foo = us-east-1
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
bar = baz
num = 2
type = aws_instance
@ -268,10 +275,12 @@ aws_instance.foo:
const testTerraformApplyStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -279,11 +288,13 @@ aws_instance.foo:
const testTerraformApplyDataBasicStr = `
data.null_data_source.testing:
ID = yo
provider = provider.null
`
const testTerraformApplyRefCountStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = 3
type = aws_instance
@ -291,20 +302,24 @@ aws_instance.bar:
aws_instance.foo
aws_instance.foo.0:
ID = foo
provider = provider.aws
aws_instance.foo.1:
ID = foo
provider = provider.aws
aws_instance.foo.2:
ID = foo
provider = provider.aws
`
const testTerraformApplyProviderAliasStr = `
aws_instance.bar:
ID = foo
provider = aws.bar
provider = provider.aws.bar
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -312,9 +327,10 @@ aws_instance.foo:
const testTerraformApplyProviderAliasConfigStr = `
another_instance.bar:
ID = foo
provider = another.two
provider = provider.another.two
another_instance.foo:
ID = foo
provider = provider.another
`
const testTerraformApplyEmptyModuleStr = `
@ -335,6 +351,7 @@ aws_secret_key = ZZZZ
const testTerraformApplyDependsCreateBeforeStr = `
aws_instance.lb:
ID = foo
provider = provider.aws
instance = foo
type = aws_instance
@ -342,6 +359,7 @@ aws_instance.lb:
aws_instance.web
aws_instance.web:
ID = foo
provider = provider.aws
require_new = ami-new
type = aws_instance
`
@ -349,6 +367,7 @@ aws_instance.web:
const testTerraformApplyCreateBeforeStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
require_new = xyz
type = aws_instance
`
@ -356,6 +375,7 @@ aws_instance.bar:
const testTerraformApplyCreateBeforeUpdateStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = baz
type = aws_instance
`
@ -363,12 +383,14 @@ aws_instance.bar:
const testTerraformApplyCancelStr = `
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
`
const testTerraformApplyComputeStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = computed_dynamical
type = aws_instance
@ -376,6 +398,7 @@ aws_instance.bar:
aws_instance.foo
aws_instance.foo:
ID = foo
provider = provider.aws
dynamical = computed_dynamical
num = 2
type = aws_instance
@ -429,10 +452,12 @@ const testTerraformApplyCountTaintedStr = `
const testTerraformApplyCountVariableStr = `
aws_instance.foo.0:
ID = foo
provider = provider.aws
foo = foo
type = aws_instance
aws_instance.foo.1:
ID = foo
provider = provider.aws
foo = foo
type = aws_instance
`
@ -440,6 +465,7 @@ aws_instance.foo.1:
const testTerraformApplyCountVariableRefStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = 2
type = aws_instance
@ -447,30 +473,37 @@ aws_instance.bar:
aws_instance.foo
aws_instance.foo.0:
ID = foo
provider = provider.aws
aws_instance.foo.1:
ID = foo
provider = provider.aws
`
const testTerraformApplyMinimalStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
aws_instance.foo:
ID = foo
provider = provider.aws
`
const testTerraformApplyModuleStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
module.child:
aws_instance.baz:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
`
@ -478,6 +511,7 @@ module.child:
const testTerraformApplyModuleBoolStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = 1
type = aws_instance
@ -500,10 +534,12 @@ module.child:
const testTerraformApplyMultiProviderStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
do_instance.foo:
ID = foo
provider = provider.do
num = 2
type = do_instance
`
@ -513,8 +549,10 @@ const testTerraformApplyModuleOnlyProviderStr = `
module.child:
aws_instance.foo:
ID = foo
provider = provider.aws
test_instance.foo:
ID = foo
provider = provider.test
`
const testTerraformApplyModuleProviderAliasStr = `
@ -522,7 +560,7 @@ const testTerraformApplyModuleProviderAliasStr = `
module.child:
aws_instance.foo:
ID = foo
provider = aws.eu
provider = module.child.provider.aws.eu
`
const testTerraformApplyModuleVarRefExistingStr = `
@ -533,6 +571,7 @@ aws_instance.foo:
module.child:
aws_instance.foo:
ID = foo
provider = provider.aws
type = aws_instance
value = bar
`
@ -555,11 +594,13 @@ module.child:
const testTerraformApplyProvisionerStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
Dependencies:
aws_instance.foo
aws_instance.foo:
ID = foo
provider = provider.aws
dynamical = computed_dynamical
num = 2
type = aws_instance
@ -570,13 +611,16 @@ const testTerraformApplyProvisionerModuleStr = `
module.child:
aws_instance.bar:
ID = foo
provider = provider.aws
`
const testTerraformApplyProvisionerFailStr = `
aws_instance.bar: (tainted)
ID = foo
provider = provider.aws
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -584,6 +628,7 @@ aws_instance.foo:
const testTerraformApplyProvisionerFailCreateStr = `
aws_instance.bar: (tainted)
ID = foo
provider = provider.aws
`
const testTerraformApplyProvisionerFailCreateNoIdStr = `
@ -593,6 +638,7 @@ const testTerraformApplyProvisionerFailCreateNoIdStr = `
const testTerraformApplyProvisionerFailCreateBeforeDestroyStr = `
aws_instance.bar: (1 deposed)
ID = bar
provider = provider.aws
require_new = abc
Deposed ID 1 = foo (tainted)
`
@ -600,6 +646,7 @@ aws_instance.bar: (1 deposed)
const testTerraformApplyProvisionerResourceRefStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -607,6 +654,7 @@ aws_instance.bar:
const testTerraformApplyProvisionerSelfRefStr = `
aws_instance.foo:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
`
@ -614,14 +662,17 @@ aws_instance.foo:
const testTerraformApplyProvisionerMultiSelfRefStr = `
aws_instance.foo.0:
ID = foo
provider = provider.aws
foo = number 0
type = aws_instance
aws_instance.foo.1:
ID = foo
provider = provider.aws
foo = number 1
type = aws_instance
aws_instance.foo.2:
ID = foo
provider = provider.aws
foo = number 2
type = aws_instance
`
@ -629,10 +680,12 @@ aws_instance.foo.2:
const testTerraformApplyProvisionerMultiSelfRefSingleStr = `
aws_instance.foo.0:
ID = foo
provider = provider.aws
foo = number 0
type = aws_instance
aws_instance.foo.1:
ID = foo
provider = provider.aws
foo = number 1
type = aws_instance
@ -640,6 +693,7 @@ aws_instance.foo.1:
aws_instance.foo.0
aws_instance.foo.2:
ID = foo
provider = provider.aws
foo = number 2
type = aws_instance
@ -650,6 +704,7 @@ aws_instance.foo.2:
const testTerraformApplyProvisionerDiffStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
`
@ -666,40 +721,47 @@ module.child.subchild:
const testTerraformApplyErrorStr = `
aws_instance.bar:
ID = bar
provider = provider.aws
Dependencies:
aws_instance.foo
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
`
const testTerraformApplyErrorCreateBeforeDestroyStr = `
aws_instance.bar:
ID = bar
provider = provider.aws
require_new = abc
`
const testTerraformApplyErrorDestroyCreateBeforeDestroyStr = `
aws_instance.bar: (1 deposed)
ID = foo
provider = provider.aws
Deposed ID 1 = bar
`
const testTerraformApplyErrorPartialStr = `
aws_instance.bar:
ID = bar
provider = provider.aws
Dependencies:
aws_instance.foo
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
`
const testTerraformApplyResourceDependsOnModuleStr = `
aws_instance.a:
ID = foo
provider = provider.aws
Dependencies:
module.child
@ -707,11 +769,13 @@ aws_instance.a:
module.child:
aws_instance.child:
ID = foo
provider = provider.aws
`
const testTerraformApplyResourceDependsOnModuleDeepStr = `
aws_instance.a:
ID = foo
provider = provider.aws
Dependencies:
module.child
@ -719,6 +783,7 @@ aws_instance.a:
module.child.grandchild:
aws_instance.c:
ID = foo
provider = provider.aws
`
const testTerraformApplyResourceDependsOnModuleInModuleStr = `
@ -726,17 +791,20 @@ const testTerraformApplyResourceDependsOnModuleInModuleStr = `
module.child:
aws_instance.b:
ID = foo
provider = provider.aws
Dependencies:
module.grandchild
module.child.grandchild:
aws_instance.c:
ID = foo
provider = provider.aws
`
const testTerraformApplyTaintStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -744,6 +812,7 @@ aws_instance.bar:
const testTerraformApplyTaintDepStr = `
aws_instance.bar:
ID = bar
provider = provider.aws
foo = foo
num = 2
type = aws_instance
@ -752,6 +821,7 @@ aws_instance.bar:
aws_instance.foo
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -759,6 +829,7 @@ aws_instance.foo:
const testTerraformApplyTaintDepRequireNewStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = foo
require_new = yes
type = aws_instance
@ -767,6 +838,7 @@ aws_instance.bar:
aws_instance.foo
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -774,10 +846,12 @@ aws_instance.foo:
const testTerraformApplyOutputStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
@ -789,10 +863,12 @@ foo_num = 2
const testTerraformApplyOutputAddStr = `
aws_instance.test.0:
ID = foo
provider = provider.aws
foo = foo0
type = aws_instance
aws_instance.test.1:
ID = foo
provider = provider.aws
foo = foo1
type = aws_instance
@ -805,18 +881,22 @@ secondOutput = foo1
const testTerraformApplyOutputListStr = `
aws_instance.bar.0:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.1:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.2:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
@ -828,18 +908,22 @@ foo_num = [bar,bar,bar]
const testTerraformApplyOutputMultiStr = `
aws_instance.bar.0:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.1:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.2:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
@ -851,18 +935,22 @@ foo_num = bar,bar,bar
const testTerraformApplyOutputMultiIndexStr = `
aws_instance.bar.0:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.1:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.bar.2:
ID = foo
provider = provider.aws
foo = bar
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
@ -874,6 +962,7 @@ foo_num = bar
const testTerraformApplyUnknownAttrStr = `
aws_instance.foo:
ID = foo
provider = provider.aws
num = 2
type = aws_instance
`
@ -881,12 +970,14 @@ aws_instance.foo:
const testTerraformApplyVarsStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
bar = foo
baz = override
foo = us-west-2
type = aws_instance
aws_instance.foo:
ID = foo
provider = provider.aws
bar = baz
list = Hello,World
map = Baz,Foo,Hello
@ -897,6 +988,7 @@ aws_instance.foo:
const testTerraformApplyVarsEnvStr = `
aws_instance.bar:
ID = foo
provider = provider.aws
bar = Hello,World
baz = Baz,Foo,Hello
foo = baz
@ -1650,6 +1742,7 @@ STATE:
const testTerraformInputHCL = `
hcl_instance.hcltest:
ID = foo
provider = provider.hcl
bar.w = z
bar.x = y
foo.# = 2