Skip to content

Commit 8e25ca0

Browse files
authored
refactor(misconf): remove module outputs from parser.EvaluateAll (#8587)
Signed-off-by: nikpivkin <[email protected]>
1 parent efd177b commit 8e25ca0

File tree

8 files changed

+58
-69
lines changed

8 files changed

+58
-69
lines changed

pkg/iac/adapters/terraform/tftestutil/testutil.go

+5-7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package tftestutil
33
import (
44
"testing"
55

6+
"github.com/stretchr/testify/require"
7+
68
"github.com/aquasecurity/trivy/internal/testutil"
79
"github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser"
810
"github.com/aquasecurity/trivy/pkg/iac/terraform"
@@ -13,12 +15,8 @@ func CreateModulesFromSource(t *testing.T, source, ext string) terraform.Modules
1315
"source" + ext: source,
1416
})
1517
p := parser.New(fs, "", parser.OptionStopOnHCLError(true))
16-
if err := p.ParseFS(t.Context(), "."); err != nil {
17-
t.Fatal(err)
18-
}
19-
modules, _, err := p.EvaluateAll(t.Context())
20-
if err != nil {
21-
t.Fatalf("parse error: %s", err)
22-
}
18+
require.NoError(t, p.ParseFS(t.Context(), "."))
19+
modules, err := p.EvaluateAll(t.Context())
20+
require.NoError(t, err)
2321
return modules
2422
}

pkg/iac/scanners/terraform/parser/parser.go

+4-5
Original file line numberDiff line numberDiff line change
@@ -357,19 +357,18 @@ func inputVariableType(b *terraform.Block) cty.Type {
357357
return ty
358358
}
359359

360-
func (p *Parser) EvaluateAll(ctx context.Context) (terraform.Modules, cty.Value, error) {
361-
360+
func (p *Parser) EvaluateAll(ctx context.Context) (terraform.Modules, error) {
362361
e, err := p.Load(ctx)
363362
if errors.Is(err, ErrNoFiles) {
364-
return nil, cty.NilVal, nil
363+
return nil, nil
365364
} else if err != nil {
366-
return nil, cty.NilVal, err
365+
return nil, err
367366
}
368367

369368
modules, fsMap := e.EvaluateAll(ctx)
370369
p.logger.Debug("Finished parsing module")
371370
p.fsMap = fsMap
372-
return modules, e.exportOutputs(), nil
371+
return modules, nil
373372
}
374373

375374
func (p *Parser) GetFilesystemMap() map[string]fs.FS {

pkg/iac/scanners/terraform/parser/parser_integration_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module "registry" {
2424
parser := New(fsys, "", OptionStopOnHCLError(true), OptionWithSkipCachedModules(true))
2525
require.NoError(t, parser.ParseFS(t.Context(), "code"))
2626

27-
modules, _, err := parser.EvaluateAll(t.Context())
27+
modules, err := parser.EvaluateAll(t.Context())
2828
require.NoError(t, err)
2929
require.Len(t, modules, 2)
3030
}
@@ -45,7 +45,7 @@ module "registry" {
4545
parser := New(fsys, "", OptionStopOnHCLError(true), OptionWithSkipCachedModules(true))
4646
require.NoError(t, parser.ParseFS(t.Context(), "code"))
4747

48-
modules, _, err := parser.EvaluateAll(t.Context())
48+
modules, err := parser.EvaluateAll(t.Context())
4949
require.NoError(t, err)
5050
require.Len(t, modules, 2)
5151
}
@@ -68,7 +68,7 @@ module "registry" {
6868
parser := New(fsys, "", OptionStopOnHCLError(true), OptionWithSkipCachedModules(true))
6969
require.NoError(t, parser.ParseFS(t.Context(), "code"))
7070

71-
modules, _, err := parser.EvaluateAll(t.Context())
71+
modules, err := parser.EvaluateAll(t.Context())
7272
require.NoError(t, err)
7373
require.Len(t, modules, 2)
7474
}
@@ -89,7 +89,7 @@ module "object" {
8989
parser := New(fsys, "", OptionStopOnHCLError(true), OptionWithSkipCachedModules(true))
9090
require.NoError(t, parser.ParseFS(t.Context(), "code"))
9191

92-
modules, _, err := parser.EvaluateAll(t.Context())
92+
modules, err := parser.EvaluateAll(t.Context())
9393
require.NoError(t, err)
9494
require.Len(t, modules, 2)
9595
}

0 commit comments

Comments
 (0)