Allow different chain executables to be used during integration test #2003
Labels
A: low-priority
Admin: low priority / non urgent issue, expect longer wait time for PR reviews
O: tests
Objective: Test more aspect of the relayer
Milestone
Summary
We should be able to specify multiple chain executables, e.g.
gaia5
andgaia6
, and use them to initialize different chains in the binary and N-ary tests.Problem Definition
Currently the chain executable is
gaiad
by default, and can be overridden usingCHAIN_COMMAND_PATH
. However the integration test still allows only one executable to be used at a time.We should instead allow the chain executable to be customized in a plural form, e.g.
CHAIN_COMMAND_PATHS=gaiad5,gaiad6
. This would allow the integration test to run with one chain being Gaia v5, and the other chain being Gaia v6.Proposal
Modify the chain command path from a single
String
intoVec<String>
. If the vector is empty, usegaiad
as the executable by default. Otherwise for each chain position N, access the N-th position of the vector modulo the vector length.For example, the following arrays will use the executable at the N-th chain:
["gaiad"]
-gaiad
,gaiad
,gaiad
, ...["gaiad5", "gaiad6"]
-gaiad5
,gaiad6
,gaiad5
,gaiad6
, ...["gaiad5", "gaiad6", "gaiad7"]
-gaiad5
,gaiad6
,gaiad7
,gaiad5
,gaiad6
, ...This is mainly applicable for the N-ary test cases, where there can be more than 2 chains required.
Acceptance Criteria
Running the following should use
gaiad5
andgaiad6
intest_ibc_transfer
:CHAIN_COMMAND_PATHS=gaiad5,gaiad6 cargo test -p ibc-integration-test -- test_ibc_transfer
Running the following should use
gaiad5
,gaiad6
, andgaia7
intest_ternary_ibc_transfer
:CHAIN_COMMAND_PATHS=gaiad5,gaiad6,gaiad7 cargo test -p ibc-integration-test -- test_ternary_ibc_transfer
Note that if you are installing Gaia from Cosmos.nix, the current way to get multiple versions of Gaia is by getting the absolute path, i.e.:
We will figure out setting up Nix shells with multiple version of Gaia in Cosmos.nix in the future.
For Admin Use
The text was updated successfully, but these errors were encountered: