Skip to content

Commit

Permalink
fixed some integration tests with Namada
Browse files Browse the repository at this point in the history
  • Loading branch information
yito88 committed Jun 14, 2024
1 parent b20f474 commit baa36f3
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 21 deletions.
3 changes: 3 additions & 0 deletions tools/integration-test/src/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@ pub mod consensus_states;
pub mod denom_trace;
pub mod error_events;
pub mod execute_schedule;
#[cfg(not(feature = "namada"))]
pub mod handshake_on_start;
pub mod ics20_filter;
pub mod memo;
#[cfg(not(feature = "namada"))]
pub mod python;
pub mod query_packet;
#[cfg(not(feature = "namada"))]
pub mod supervisor;
pub mod tendermint;
#[cfg(not(any(feature = "celestia")))]
Expand Down
11 changes: 11 additions & 0 deletions tools/integration-test/src/tests/tendermint/sequential.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ const TOTAL_MESSAGES: usize = MESSAGES_PER_BATCH * TOTAL_TRANSACTIONS;
const BLOCK_TIME_MILLIS: u64 = 1000;
const BLOCK_TIME: Duration = Duration::from_millis(BLOCK_TIME_MILLIS);

// TODO: Need batching transactions
#[cfg(not(feature = "namada"))]
#[test]
fn test_sequential_commit() -> Result<(), Error> {
run_binary_channel_test(&SequentialCommitTest)
Expand All @@ -22,6 +24,15 @@ pub struct SequentialCommitTest;

impl TestOverrides for SequentialCommitTest {
fn modify_node_config(&self, config: &mut toml::Value) -> Result<(), Error> {
let config = if let Some(config) = config.get_mut("ledger") {
// Namada
config
.get_mut("cometbft")
.ok_or_else(|| eyre!("expect cometbft section"))?
} else {
config
};

config::cosmos::set_timeout_commit(config, BLOCK_TIME)?;
config::cosmos::set_timeout_propose(config, BLOCK_TIME)?;

Expand Down
2 changes: 1 addition & 1 deletion tools/integration-test/src/tests/ternary_transfer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest {
let channel_c_to_a = channels.channel_at::<2, 0>()?;

let denom_a_to_c_to_a = derive_ibc_denom(
&node_a.chain_driver().value().chain_type,
&node_b.chain_driver().value().chain_type,
&channel_c_to_a.port_b.as_ref(),
&channel_c_to_a.channel_id_b.as_ref(),
&denom_a_to_c.as_ref(),
Expand Down
10 changes: 7 additions & 3 deletions tools/test-framework/src/framework/nary/chain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ use crate::bootstrap::nary::chain::{
use crate::error::Error;
use crate::framework::base::{HasOverrides, TestConfigOverride};
use crate::framework::binary::chain::RelayerConfigOverride;
use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride};
use crate::framework::binary::node::{
NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride,
};
use crate::framework::nary::node::{run_nary_node_test, NaryNodeTest};
use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride};
use crate::relayer::driver::RelayerDriver;
Expand Down Expand Up @@ -48,7 +50,8 @@ where
+ NodeConfigOverride
+ NodeGenesisOverride
+ RelayerConfigOverride
+ SupervisorOverride,
+ SupervisorOverride
+ NamadaParametersOverride,
{
run_nary_node_test(&RunNaryChainTest::new(&RunWithSupervisor::new(test)))
}
Expand Down Expand Up @@ -77,7 +80,8 @@ where
+ NodeConfigOverride
+ NodeGenesisOverride
+ RelayerConfigOverride
+ SupervisorOverride,
+ SupervisorOverride
+ NamadaParametersOverride,
{
run_nary_node_test(&RunSelfConnectedNaryChainTest::new(
&RunWithSupervisor::new(test),
Expand Down
10 changes: 7 additions & 3 deletions tools/test-framework/src/framework/nary/channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ use crate::framework::base::{HasOverrides, TestConfigOverride};
use crate::framework::binary::chain::RelayerConfigOverride;
use crate::framework::binary::channel::{BinaryChannelTest, ChannelOrderOverride};
use crate::framework::binary::connection::ConnectionDelayOverride;
use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride};
use crate::framework::binary::node::{
NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride,
};
use crate::framework::nary::chain::RunNaryChainTest;
use crate::framework::nary::connection::{NaryConnectionTest, RunNaryConnectionTest};
use crate::framework::nary::node::run_nary_node_test;
Expand All @@ -38,7 +40,8 @@ where
+ SupervisorOverride
+ ConnectionDelayOverride
+ PortsOverride<SIZE>
+ ChannelOrderOverride,
+ ChannelOrderOverride
+ NamadaParametersOverride,
{
run_nary_node_test(&RunNaryChainTest::new(&RunNaryConnectionTest::new(
&RunNaryChannelTest::new(&RunWithSupervisor::new(test)),
Expand All @@ -56,7 +59,8 @@ where
+ SupervisorOverride
+ ConnectionDelayOverride
+ PortsOverride<2>
+ ChannelOrderOverride,
+ ChannelOrderOverride
+ NamadaParametersOverride,
{
run_nary_channel_test(&RunBinaryAsNaryChannelTest::new(test))
}
Expand Down
7 changes: 5 additions & 2 deletions tools/test-framework/src/framework/nary/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ use crate::error::Error;
use crate::framework::base::{HasOverrides, TestConfigOverride};
use crate::framework::binary::chain::RelayerConfigOverride;
use crate::framework::binary::connection::{BinaryConnectionTest, ConnectionDelayOverride};
use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride};
use crate::framework::binary::node::{
NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride,
};
use crate::framework::nary::chain::{NaryChainTest, RunNaryChainTest};
use crate::framework::nary::node::run_nary_node_test;
use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride};
Expand All @@ -34,7 +36,8 @@ where
+ NodeGenesisOverride
+ RelayerConfigOverride
+ SupervisorOverride
+ ConnectionDelayOverride,
+ ConnectionDelayOverride
+ NamadaParametersOverride,
{
run_nary_node_test(&RunNaryChainTest::new(&RunNaryConnectionTest::new(
&RunWithSupervisor::new(test),
Expand Down
42 changes: 31 additions & 11 deletions tools/test-framework/src/framework/nary/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@
running without setting up the relayer.
*/

use crate::bootstrap::namada::bootstrap_namada_node;
use crate::bootstrap::single::bootstrap_single_node;
use crate::chain::builder::ChainBuilder;
use crate::error::Error;
use crate::framework::base::HasOverrides;
use crate::framework::base::{run_basic_test, BasicTest, TestConfigOverride};
use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride};
use crate::framework::binary::node::{
NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride,
};
use crate::types::config::TestConfig;
use crate::types::single::node::FullNode;
use crate::util::array::try_into_array;
Expand All @@ -17,7 +20,8 @@ pub fn run_nary_node_test<Test, Overrides, const SIZE: usize>(test: &Test) -> Re
where
Test: NaryNodeTest<SIZE>,
Test: HasOverrides<Overrides = Overrides>,
Overrides: NodeConfigOverride + NodeGenesisOverride + TestConfigOverride,
Overrides:
NodeConfigOverride + NodeGenesisOverride + TestConfigOverride + NamadaParametersOverride,
{
run_basic_test(&RunNaryNodeTest { test })
}
Expand Down Expand Up @@ -49,21 +53,37 @@ impl<'a, Test, Overrides, const SIZE: usize> BasicTest for RunNaryNodeTest<'a, T
where
Test: NaryNodeTest<SIZE>,
Test: HasOverrides<Overrides = Overrides>,
Overrides: NodeConfigOverride + NodeGenesisOverride,
Overrides: NodeConfigOverride + NodeGenesisOverride + NamadaParametersOverride,
{
fn run(&self, config: &TestConfig, builder: &ChainBuilder) -> Result<(), Error> {
let mut nodes = Vec::new();
let mut node_processes = Vec::new();

for i in 0..SIZE {
let node = bootstrap_single_node(
builder,
&format!("{}", i + 1),
config.bootstrap_with_random_ids,
|config| self.test.get_overrides().modify_node_config(config),
|genesis| self.test.get_overrides().modify_genesis_file(genesis),
i,
)?;
let node = if builder.command_paths.contains(&"namada".to_string()) {
bootstrap_namada_node(
builder,
&format!("{}", i + 1),
config.bootstrap_with_random_ids,
|config| self.test.get_overrides().modify_node_config(config),
|genesis| self.test.get_overrides().modify_genesis_file(genesis),
|parameters| {
self.test
.get_overrides()
.namada_modify_parameter_file(parameters)
},
i,
)?
} else {
bootstrap_single_node(
builder,
&format!("{}", i + 1),
config.bootstrap_with_random_ids,
|config| self.test.get_overrides().modify_node_config(config),
|genesis| self.test.get_overrides().modify_genesis_file(genesis),
i,
)?
};

node_processes.push(node.process.clone());
nodes.push(node);
Expand Down
3 changes: 2 additions & 1 deletion tools/test-framework/src/ibc/denom.rs
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,8 @@ fn derive_namada_ibc_denom<ChainA, ChainB>(
}
Denom::Ibc { path, denom, .. } => {
let new_path = format!("{port_id}/{channel_id}/{path}");
let ibc_token_addr = namada_ibc::storage::ibc_token(format!("{new_path}/{denom}"));
let ibc_token_addr =
namada_ibc::storage::ibc_token(format!("{new_path}/{}", denom.hash_only()));

Ok(MonoTagged::new(Denom::Ibc {
path: new_path,
Expand Down

0 comments on commit baa36f3

Please sign in to comment.