From d23e0390e49292c5a82fde8e9a3f64434e67d0bb Mon Sep 17 00:00:00 2001 From: Bernd Mueller Date: Wed, 29 Nov 2023 18:56:46 +0100 Subject: [PATCH] Added cli option to enable genesis-transformation: disabled by default --- tests/e2e/actions.go | 7 +++---- tests/e2e/config.go | 7 ++++--- tests/e2e/main.go | 14 +++++++++----- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/tests/e2e/actions.go b/tests/e2e/actions.go index 788a924f36..d99392827d 100644 --- a/tests/e2e/actions.go +++ b/tests/e2e/actions.go @@ -576,10 +576,9 @@ func (tr *TestRun) startConsumerChain( log.Fatal(err, "\n", string(bz)) } - // Hack to deal with deprecated consumer genesis exports - // TODO: needs better case identification - if tr.consumerVersion != "" { - log.Printf("Transforming consumer genesis for a newer version: %s\n", 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)) file, err := os.Create("consumer_genesis.json") diff --git a/tests/e2e/config.go b/tests/e2e/config.go index b9decb16e5..65efbbcb93 100644 --- a/tests/e2e/config.go +++ b/tests/e2e/config.go @@ -82,9 +82,10 @@ type TestRun struct { timeOffset time.Duration // consumer version the provider should be tested against - consumerVersion string - providerVersion string - name string + consumerVersion string + providerVersion string + transformGenesis bool + name string } // Initialize initializes the TestRun instance by setting the runningChains field to an empty map. diff --git a/tests/e2e/main.go b/tests/e2e/main.go index e59f70b59c..eb9a769ccf 100644 --- a/tests/e2e/main.go +++ b/tests/e2e/main.go @@ -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 @@ -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 } @@ -86,7 +87,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() @@ -96,18 +97,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)