@@ -24,7 +24,7 @@ var _ = Describe("Analyzer", func() {
24
24
)
25
25
BeforeEach (func () {
26
26
logger , _ = testutils .NewLogger ()
27
- analyzer = gosec .NewAnalyzer (nil , tests , false , false , logger )
27
+ analyzer = gosec .NewAnalyzer (nil , tests , false , false , 1 , logger )
28
28
})
29
29
30
30
Context ("when processing a package" , func () {
@@ -77,6 +77,29 @@ var _ = Describe("Analyzer", func() {
77
77
Expect (metrics .NumFiles ).To (Equal (2 ))
78
78
})
79
79
80
+ It ("should be able to analyze multiple Go files concurrently" , func () {
81
+ customAnalyzer := gosec .NewAnalyzer (nil , true , true , false , 32 , logger )
82
+ customAnalyzer .LoadRules (rules .Generate (false ).RulesInfo ())
83
+ pkg := testutils .NewTestPackage ()
84
+ defer pkg .Close ()
85
+ pkg .AddFile ("foo.go" , `
86
+ package main
87
+ func main(){
88
+ bar()
89
+ }` )
90
+ pkg .AddFile ("bar.go" , `
91
+ package main
92
+ func bar(){
93
+ println("package has two files!")
94
+ }` )
95
+ err := pkg .Build ()
96
+ Expect (err ).ShouldNot (HaveOccurred ())
97
+ err = customAnalyzer .Process (buildTags , pkg .Path )
98
+ Expect (err ).ShouldNot (HaveOccurred ())
99
+ _ , metrics , _ := customAnalyzer .Report ()
100
+ Expect (metrics .NumFiles ).To (Equal (2 ))
101
+ })
102
+
80
103
It ("should be able to analyze multiple Go packages" , func () {
81
104
analyzer .LoadRules (rules .Generate (false ).RulesInfo ())
82
105
pkg1 := testutils .NewTestPackage ()
@@ -262,7 +285,7 @@ var _ = Describe("Analyzer", func() {
262
285
// overwrite nosec option
263
286
nosecIgnoreConfig := gosec .NewConfig ()
264
287
nosecIgnoreConfig .SetGlobal (gosec .Nosec , "true" )
265
- customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , logger )
288
+ customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , 1 , logger )
266
289
customAnalyzer .LoadRules (rules .Generate (false , rules .NewRuleFilter (false , "G401" )).RulesInfo ())
267
290
268
291
nosecPackage := testutils .NewTestPackage ()
@@ -286,7 +309,7 @@ var _ = Describe("Analyzer", func() {
286
309
nosecIgnoreConfig := gosec .NewConfig ()
287
310
nosecIgnoreConfig .SetGlobal (gosec .Nosec , "true" )
288
311
nosecIgnoreConfig .SetGlobal (gosec .ShowIgnored , "true" )
289
- customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , logger )
312
+ customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , 1 , logger )
290
313
customAnalyzer .LoadRules (rules .Generate (false , rules .NewRuleFilter (false , "G401" )).RulesInfo ())
291
314
292
315
nosecPackage := testutils .NewTestPackage ()
@@ -379,7 +402,7 @@ var _ = Describe("Analyzer", func() {
379
402
// overwrite nosec option
380
403
nosecIgnoreConfig := gosec .NewConfig ()
381
404
nosecIgnoreConfig .SetGlobal (gosec .NoSecAlternative , "#falsePositive" )
382
- customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , logger )
405
+ customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , 1 , logger )
383
406
customAnalyzer .LoadRules (rules .Generate (false , rules .NewRuleFilter (false , "G401" )).RulesInfo ())
384
407
385
408
nosecPackage := testutils .NewTestPackage ()
@@ -402,7 +425,7 @@ var _ = Describe("Analyzer", func() {
402
425
// overwrite nosec option
403
426
nosecIgnoreConfig := gosec .NewConfig ()
404
427
nosecIgnoreConfig .SetGlobal (gosec .NoSecAlternative , "#falsePositive" )
405
- customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , logger )
428
+ customAnalyzer := gosec .NewAnalyzer (nosecIgnoreConfig , tests , false , false , 1 , logger )
406
429
customAnalyzer .LoadRules (rules .Generate (false , rules .NewRuleFilter (false , "G401" )).RulesInfo ())
407
430
408
431
nosecPackage := testutils .NewTestPackage ()
@@ -418,7 +441,7 @@ var _ = Describe("Analyzer", func() {
418
441
})
419
442
420
443
It ("should be able to analyze Go test package" , func () {
421
- customAnalyzer := gosec .NewAnalyzer (nil , true , false , false , logger )
444
+ customAnalyzer := gosec .NewAnalyzer (nil , true , false , false , 1 , logger )
422
445
customAnalyzer .LoadRules (rules .Generate (false ).RulesInfo ())
423
446
pkg := testutils .NewTestPackage ()
424
447
defer pkg .Close ()
@@ -443,7 +466,7 @@ var _ = Describe("Analyzer", func() {
443
466
Expect (issues ).Should (HaveLen (1 ))
444
467
})
445
468
It ("should be able to scan generated files if NOT excluded" , func () {
446
- customAnalyzer := gosec .NewAnalyzer (nil , true , false , false , logger )
469
+ customAnalyzer := gosec .NewAnalyzer (nil , true , false , false , 1 , logger )
447
470
customAnalyzer .LoadRules (rules .Generate (false ).RulesInfo ())
448
471
pkg := testutils .NewTestPackage ()
449
472
defer pkg .Close ()
@@ -464,7 +487,7 @@ var _ = Describe("Analyzer", func() {
464
487
Expect (issues ).Should (HaveLen (1 ))
465
488
})
466
489
It ("should be able to skip generated files if excluded" , func () {
467
- customAnalyzer := gosec .NewAnalyzer (nil , true , true , false , logger )
490
+ customAnalyzer := gosec .NewAnalyzer (nil , true , true , false , 1 , logger )
468
491
customAnalyzer .LoadRules (rules .Generate (false ).RulesInfo ())
469
492
pkg := testutils .NewTestPackage ()
470
493
defer pkg .Close ()
@@ -671,7 +694,7 @@ var _ = Describe("Analyzer", func() {
671
694
672
695
Context ("when tracking suppressions" , func () {
673
696
BeforeEach (func () {
674
- analyzer = gosec .NewAnalyzer (nil , tests , false , true , logger )
697
+ analyzer = gosec .NewAnalyzer (nil , tests , false , true , 1 , logger )
675
698
})
676
699
677
700
It ("should not report an error if the violation is suppressed" , func () {
0 commit comments