Skip to content

Commit

Permalink
Added cli option to enable genesis-transformation: disabled by default
Browse files Browse the repository at this point in the history
  • Loading branch information
bermuell committed Nov 29, 2023
1 parent c359fdb commit af0fdcc
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 9 deletions.
3 changes: 2 additions & 1 deletion tests/e2e/actions.go
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,8 @@ func (tr TestRun) startConsumerChain(
log.Fatal(err, "\n", string(bz))
}

if tr.consumerVersion != "" {
// only needed when consumer is running v3.2.x and later
if tr.transformGenesis {
log.Printf("@@@@ Transforming consumer genesis for a newer version: %s\n", tr.consumerVersion)
log.Printf("Original ccv genesis: %s\n", string(bz))

Expand Down
7 changes: 4 additions & 3 deletions tests/e2e/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,10 @@ type TestRun struct {
gaiaTag string

// consumer version the provider should be tested against
consumerVersion string
providerVersion string
name string
consumerVersion string
providerVersion string
transformGenesis bool
name string
}

func getDefaultValidators() map[validatorID]ValidatorConfig {
Expand Down
14 changes: 9 additions & 5 deletions tests/e2e/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ var (
var (
useConsumerVersion = flag.String("consumer-version", "", "ICS tag to specify the consumer version to test the provider against")
useProviderVersion = flag.String("provider-version", "", "ICS tag to specify the provider version to test the consumer against")
transformGenesis = flag.Bool("transform-genesis", false, "do consumer genesis transformation for newer clients. Needed when provider chain is on an older version")
)

// runs E2E tests
Expand All @@ -51,14 +52,14 @@ func main() {
if shortHappyPathOnly != nil && *shortHappyPathOnly {
fmt.Println("=============== running short happy path only ===============")
tr := DefaultTestRun()
tr.Run(shortHappyPathSteps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion)
tr.Run(shortHappyPathSteps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion, *transformGenesis)
return
}

if happyPathOnly != nil && *happyPathOnly {
fmt.Println("=============== running happy path only ===============")
tr := DefaultTestRun()
tr.Run(happyPathSteps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion)
tr.Run(happyPathSteps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion, *transformGenesis)
return
}

Expand All @@ -82,7 +83,7 @@ func main() {
go func(run testRunWithSteps) {
defer wg.Done()
tr := run.testRun
tr.Run(run.steps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion)
tr.Run(run.steps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion, *transformGenesis)
}(run)
}
wg.Wait()
Expand All @@ -92,18 +93,21 @@ func main() {

for _, run := range testRuns {
tr := run.testRun
tr.Run(run.steps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion)
tr.Run(run.steps, *localSdkPath, *useGaia, *gaiaTag, *useConsumerVersion, *useProviderVersion, *transformGenesis)
}
fmt.Printf("TOTAL TIME ELAPSED: %v\n", time.Since(start))
}

// Run sets up docker container and executes the steps in the test run.
// Docker containers are torn down after the test run is complete.
func (tr *TestRun) Run(steps []Step, localSdkPath string, useGaia bool, gaiaTag string, consumerVersion string, providerVersion string) {
func (tr *TestRun) Run(steps []Step, localSdkPath string, useGaia bool, gaiaTag string, consumerVersion string, providerVersion string, transformGenesis bool) {
tr.SetDockerConfig(localSdkPath, useGaia, gaiaTag, consumerVersion, providerVersion)
tr.SetCometMockConfig(*useCometmock)
tr.SetRelayerConfig(*useGorelayer)

// Hack to disable genesis transformation... do it smarter
tr.transformGenesis = transformGenesis

tr.validateStringLiterals()
tr.startDocker()
tr.executeSteps(steps)
Expand Down

0 comments on commit af0fdcc

Please sign in to comment.