Skip to content

Commit bc67b80

Browse files
authored
Do not run rules on non-Teraform directories (#13)
1 parent 1891988 commit bc67b80

File tree

4 files changed

+36
-3
lines changed

4 files changed

+36
-3
lines changed

rules/terraform_required_version.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ func (r *TerraformRequiredVersionRule) Check(runner tflint.Runner) error {
4848
return nil
4949
}
5050

51+
files, err := runner.GetFiles()
52+
if err != nil {
53+
return err
54+
}
55+
if len(files) == 0 {
56+
// This rule does not run on non-Terraform directory.
57+
return nil
58+
}
59+
5160
body, err := runner.GetModuleContent(&hclext.BodySchema{
5261
Blocks: []hclext.BlockSchema{
5362
{

rules/terraform_required_version_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ func Test_TerraformRequiredVersionRule(t *testing.T) {
1212
Content string
1313
Expected helper.Issues
1414
}{
15+
{
16+
Name: "empty module",
17+
Expected: helper.Issues{},
18+
},
1519
{
1620
Name: "unset",
1721
Content: `
@@ -55,7 +59,11 @@ terraform {
5559

5660
for _, tc := range cases {
5761
t.Run(tc.Name, func(t *testing.T) {
58-
runner := helper.TestRunner(t, map[string]string{"module.tf": tc.Content})
62+
files := map[string]string{}
63+
if tc.Content != "" {
64+
files = map[string]string{"module.tf": tc.Content}
65+
}
66+
runner := helper.TestRunner(t, files)
5967

6068
if err := rule.Check(runner); err != nil {
6169
t.Fatal(err)

rules/terraform_standard_module_structure.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@ func (r *TerraformStandardModuleStructureRule) Check(runner tflint.Runner) error
5757
return nil
5858
}
5959

60+
files, err := runner.GetFiles()
61+
if err != nil {
62+
return err
63+
}
64+
if len(files) == 0 {
65+
// This rule does not run on non-Terraform directory.
66+
return nil
67+
}
68+
6069
body, err := runner.GetModuleContent(&hclext.BodySchema{
6170
Blocks: []hclext.BlockSchema{
6271
{

rules/terraform_standard_module_structure_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,15 @@ func Test_TerraformStandardModuleStructureRule(t *testing.T) {
1515
Expected helper.Issues
1616
}{
1717
{
18-
Name: "empty module",
19-
Content: map[string]string{},
18+
Name: "empty module",
19+
Content: map[string]string{},
20+
Expected: helper.Issues{},
21+
},
22+
{
23+
Name: "non-standard module",
24+
Content: map[string]string{
25+
"foo.tf": "",
26+
},
2027
Expected: helper.Issues{
2128
{
2229
Rule: NewTerraformStandardModuleStructureRule(),

0 commit comments

Comments
 (0)