diff --git a/docs/envOptions.md b/docs/envOptions.md index 533ab9317..5c31f2e61 100644 --- a/docs/envOptions.md +++ b/docs/envOptions.md @@ -8,8 +8,6 @@ - `ICTEST_HOME`: The folder to use as the home / working directory. -- `ICTEST_RELAYER_LOOP_DURATION`: Override the default 50ms relayer loop check duration. Input is in time format (20ms, 1s, etc.). Extremely fast chains may require as low as 5-10ms. - - `ICTEST_SKIP_FAILURE_CLEANUP`: skip cleanup of the temporary directory on a test failure. - `KEEP_CONTAINERS`: Prevents testnet cleanup after completion. diff --git a/relayer/rly/cosmos_relayer.go b/relayer/rly/cosmos_relayer.go index cfcc0f3b2..c0e804c30 100644 --- a/relayer/rly/cosmos_relayer.go +++ b/relayer/rly/cosmos_relayer.go @@ -10,7 +10,6 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/docker/docker/client" - "github.com/strangelove-ventures/interchaintest/v8/dockerutil" "github.com/strangelove-ventures/interchaintest/v8/ibc" "github.com/strangelove-ventures/interchaintest/v8/relayer" "go.uber.org/zap" @@ -83,6 +82,23 @@ func ChainConfigToCosmosRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { chainType = "substrate" } + + var err error + var loopDuration = time.Millisecond * 50 + for _, env := range chainConfig.Env { + if strings.Contains(env, "ICTEST_RELAYER_LOOP_DURATION") { + e := strings.Split(env, "=") + if len(e) != 2 { + panic(fmt.Sprintf("BUG: failed to parse %s", env)) + } + + loopDuration, err = time.ParseDuration(e[1]) + if err != nil { + panic(fmt.Sprintf("BUG: failed to parse %s: %s", e[1], err)) + } + } + } + return CosmosRelayerChainConfig{ Type: chainType, Value: CosmosRelayerChainConfigValue{ @@ -98,7 +114,7 @@ func ChainConfigToCosmosRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, Timeout: "10s", OutputFormat: "json", SignMode: "direct", - MinLoopDuration: dockerutil.GetTimeFromEnv("ICTEST_RELAYER_LOOP_DURATION", time.Millisecond*50), + MinLoopDuration: loopDuration, }, } }