@@ -12,7 +12,6 @@ import (
1212
1313 "github.com/spf13/cobra"
1414
15- "magician/cov"
1615 "magician/exec"
1716 "magician/github"
1817 "magician/provider"
@@ -83,19 +82,6 @@ type recordReplay struct {
8382 BrowseLogBaseUrl string
8483}
8584
86- const (
87- covGCSPrefix = "gs://test-coverage-data"
88- )
89-
90- type runCovOpts struct {
91- repo * source.Repo
92- buildID string
93- commitSha string
94- covGCSPrefix string
95- testDirs []string
96- prNumber string
97- }
98-
9985var testTerraformVCRCmd = & cobra.Command {
10086 Use : "test-terraform-vcr" ,
10187 Short : "Run vcr tests for affected packages" ,
@@ -107,7 +93,7 @@ It expects the following arguments:
10793 3. Build ID
10894 4. Project ID where Cloud Builds are located
10995 5. Build step number
110-
96+
11197The following environment variables are required:
11298` + listTTVRequiredEnvironmentVariables (),
11399 RunE : func (cmd * cobra.Command , args []string ) error {
@@ -148,11 +134,6 @@ The following environment variables are required:
148134 }
149135 ctlr := source .NewController (env ["GOPATH" ], "modular-magician" , env ["GITHUB_TOKEN_DOWNSTREAMS" ], rnr )
150136
151- testCovMerger , err := cov .NewTestCovMerger (rnr , filepath .Join (os .TempDir (), "cov" ))
152- if err != nil {
153- return fmt .Errorf ("failed to create testCovMerger: %w" , err )
154- }
155-
156137 vt , err := vcr .NewTester (env , "ci-vcr-cassettes" , "ci-vcr-logs" , rnr )
157138 if err != nil {
158139 return fmt .Errorf ("error creating VCR tester: %w" , err )
@@ -162,7 +143,7 @@ The following environment variables are required:
162143 return fmt .Errorf ("wrong number of arguments %d, expected 5" , len (args ))
163144 }
164145
165- return execTestTerraformVCR (args [0 ], args [1 ], args [2 ], args [3 ], args [4 ], baseBranch , gh , rnr , ctlr , vt , testCovMerger )
146+ return execTestTerraformVCR (args [0 ], args [1 ], args [2 ], args [3 ], args [4 ], baseBranch , gh , rnr , ctlr , vt )
166147 },
167148}
168149
@@ -174,7 +155,7 @@ func listTTVRequiredEnvironmentVariables() string {
174155 return result
175156}
176157
177- func execTestTerraformVCR (prNumber , mmCommitSha , buildID , projectID , buildStep , baseBranch string , gh GithubClient , rnr ExecRunner , ctlr * source.Controller , vt * vcr.Tester , covMerger * cov. Merger ) error {
158+ func execTestTerraformVCR (prNumber , mmCommitSha , buildID , projectID , buildStep , baseBranch string , gh GithubClient , rnr ExecRunner , ctlr * source.Controller , vt * vcr.Tester ) error {
178159 newBranch := "auto-pr-" + prNumber
179160 oldBranch := newBranch + "-old"
180161
@@ -230,7 +211,7 @@ func execTestTerraformVCR(prNumber, mmCommitSha, buildID, projectID, buildStep,
230211 return fmt .Errorf ("error posting pending status: %w" , err )
231212 }
232213
233- replayingResult , testDirs , replayingErr := runReplaying (runFullVCR , provider .Beta , services , vt , true , covMerger . VcrTestCovDir )
214+ replayingResult , testDirs , replayingErr := runReplaying (runFullVCR , provider .Beta , services , vt )
234215 testState := "success"
235216 if replayingErr != nil {
236217 testState = "failure"
@@ -314,12 +295,10 @@ func execTestTerraformVCR(prNumber, mmCommitSha, buildID, projectID, buildStep,
314295 var replayingAfterRecordingErr error
315296 if len (recordingResult .PassedTests ) > 0 {
316297 replayingAfterRecordingResult , replayingAfterRecordingErr = vt .RunParallel (vcr.RunOptions {
317- Mode : vcr .Replaying ,
318- Version : provider .Beta ,
319- TestDirs : testDirs ,
320- Tests : recordingResult .PassedTests ,
321- EnableTestCoverage : true ,
322- TestCovDir : covMerger .VcrTestCovDir ,
298+ Mode : vcr .Replaying ,
299+ Version : provider .Beta ,
300+ TestDirs : testDirs ,
301+ Tests : recordingResult .PassedTests ,
323302 })
324303 if replayingAfterRecordingErr != nil {
325304 testState = "failure"
@@ -356,25 +335,6 @@ func execTestTerraformVCR(prNumber, mmCommitSha, buildID, projectID, buildStep,
356335 if err != nil {
357336 return fmt .Errorf ("error formatting record replay comment: %w" , err )
358337 }
359-
360- // run unit test and generate combined code coverage
361- if err := genCov (rnr , covMerger , gh , runCovOpts {
362- repo : tpgbRepo ,
363- buildID : buildID ,
364- commitSha : mmCommitSha ,
365- covGCSPrefix : covGCSPrefix ,
366- testDirs : testDirs ,
367- prNumber : prNumber ,
368- }); err != nil {
369- fmt .Printf ("Failed to generate coverage: %s\n " , err )
370- }
371-
372- out , err := covMerger .PackageCovComment ()
373- if err != nil {
374- fmt .Printf ("failed to get package coverage: %s\n " , err )
375- } else {
376- recordReplayComment += "\n \n " + out
377- }
378338 if err := gh .PostComment (prNumber , recordReplayComment ); err != nil {
379339 return fmt .Errorf ("error posting comment: %w" , err )
380340 }
@@ -490,17 +450,15 @@ func modifiedPackages(changedFiles []string, version provider.Version) (map[stri
490450 return services , runFullVCR
491451}
492452
493- func runReplaying (runFullVCR bool , version provider.Version , services map [string ]struct {}, vt * vcr.Tester , enableCov bool , covDir string ) (vcr.Result , []string , error ) {
453+ func runReplaying (runFullVCR bool , version provider.Version , services map [string ]struct {}, vt * vcr.Tester ) (vcr.Result , []string , error ) {
494454 result := vcr.Result {}
495455 var testDirs []string
496456 var replayingErr error
497457 if runFullVCR {
498458 fmt .Println ("runReplaying: full VCR tests" )
499459 result , replayingErr = vt .Run (vcr.RunOptions {
500- Mode : vcr .Replaying ,
501- Version : version ,
502- EnableTestCoverage : enableCov ,
503- TestCovDir : covDir ,
460+ Mode : vcr .Replaying ,
461+ Version : version ,
504462 })
505463 } else if len (services ) > 0 {
506464 fmt .Printf ("runReplaying: %d specific services: %v\n " , len (services ), services )
@@ -509,11 +467,9 @@ func runReplaying(runFullVCR bool, version provider.Version, services map[string
509467 testDirs = append (testDirs , servicePath )
510468 fmt .Println ("run VCR tests in " , service )
511469 serviceResult , serviceReplayingErr := vt .Run (vcr.RunOptions {
512- Mode : vcr .Replaying ,
513- Version : version ,
514- TestDirs : []string {servicePath },
515- EnableTestCoverage : enableCov ,
516- TestCovDir : covDir ,
470+ Mode : vcr .Replaying ,
471+ Version : version ,
472+ TestDirs : []string {servicePath },
517473 })
518474 replayingErr = errors .Join (replayingErr , serviceReplayingErr )
519475 result .PassedTests = append (result .PassedTests , serviceResult .PassedTests ... )
@@ -580,48 +536,3 @@ func formatRecordReplay(data recordReplay) (string, error) {
580536 data .BrowseLogBaseUrl = fmt .Sprintf ("https://console.cloud.google.com/storage/browser/%s" , logBasePath )
581537 return formatComment ("record_replay.tmpl" , recordReplayTmplText , data )
582538}
583-
584- func unitTest (rnr ExecRunner , repoPath , covDir string , testDirs []string ) error {
585- if err := rnr .PushDir (repoPath ); err != nil {
586- return fmt .Errorf ("error changing to tpgbRepo dir: %w" , err )
587- }
588-
589- if len (testDirs ) == 0 {
590- if allPackages , err := rnr .Run ("go" , []string {"list" , "./..." }, nil ); err != nil {
591- return err
592- } else {
593- for _ , dir := range strings .Split (allPackages , "\n " ) {
594- if ! strings .Contains (dir , "github.com/hashicorp/terraform-provider-google-beta/scripts" ) {
595- testDirs = append (testDirs , dir )
596- }
597- }
598- }
599- }
600-
601- args := []string {"test" , "-p" , "4" , "-cover" }
602- args = append (args , testDirs ... )
603- args = append (args , []string {"-args" , fmt .Sprintf ("-test.gocoverdir=%s" , covDir )}... )
604- _ , err := rnr .Run ("go" , args , nil )
605- if err != nil {
606- return fmt .Errorf ("unit test failed with error: %s" , err )
607- }
608- return nil
609- }
610-
611- func genCov (rnr ExecRunner , covMerger * cov.Merger , gh GithubClient , opts runCovOpts ) error {
612- fmt .Println ("Generating code coverage..." )
613- if err := unitTest (rnr , opts .repo .Path , covMerger .UnitTestCovDir , opts .testDirs ); err != nil {
614- fmt .Println ("unit test failed" )
615- }
616- if err := covMerger .Merge (); err != nil {
617- return fmt .Errorf ("failed to merge test coverage: %w" , err )
618- }
619- covURL , err := covMerger .UploadToGCS (opts .covGCSPrefix , opts .buildID )
620- if err != nil {
621- return fmt .Errorf ("failed to upload test coverage: %w" , err )
622- }
623- if err := gh .PostBuildStatus (opts .prNumber , "test-cov" , "success" , covURL , opts .commitSha ); err != nil {
624- return fmt .Errorf ("error posting pending status: %w" , err )
625- }
626- return nil
627- }
0 commit comments