From 96a79c1fe1ff994beb34f831314e7af19c7f68b8 Mon Sep 17 00:00:00 2001 From: bdchatham Date: Mon, 6 Jul 2026 20:02:58 -0700 Subject: [PATCH 1/2] feat(inprocess): migrate tokenfactory/oracle/bank-multisig/bank-simulation suites Adds in-process wrappers for the tractable query/tx suites: tokenfactory (create/mint/burn/change-admin), oracle (set-feeder + penalty counts), bank multisig (2-of-3), and bank simulation (dry-run). All run against the shared network, no docker. Documents the fixture-coupled candidates as skips with reasons (matching Mint/Authz): startup (docker 4-validator topology), seidb state_store (300-contract docker fixture), wasm (pre-deployed gringotts fixture), flatkv_evm (EVM fixture). Shared in-process package now: 7 suites pass + 6 documented skips, ~153s (one network, one seid build). Co-Authored-By: Claude Opus 4.8 --- .../runner/runner_inprocess_test.go | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/integration_test/runner/runner_inprocess_test.go b/integration_test/runner/runner_inprocess_test.go index 64be83ab8e..6c99e7d0f1 100644 --- a/integration_test/runner/runner_inprocess_test.go +++ b/integration_test/runner/runner_inprocess_test.go @@ -133,6 +133,62 @@ func TestInProcessStakingModule(t *testing.T) { runner.RunFile(t, "../staking_module/staking_test.yaml", runner.WithInProcessNetwork(sharedNet)) } +// TestInProcessStartupModule is skipped in-process: startup_test.yaml asserts the +// docker localnode's fixed 4-validator topology (`tendermint-validator-set` count +// == 4), but the shared harness network runs N=3. +func TestInProcessStartupModule(t *testing.T) { + t.Skip("startup asserts the docker localnode's fixed 4-validator topology; harness runs N=3") +} + +// TestInProcessTokenfactoryModule creates/mints/burns/changes-admin on a +// tokenfactory denom as admin (a fresh new_admin_addr key, so no keyring collision). +func TestInProcessTokenfactoryModule(t *testing.T) { + runner.RunFile(t, "../tokenfactory_module/create_tokenfactory_test.yaml", runner.WithInProcessNetwork(sharedNet)) +} + +// TestInProcessOracleModule sets a feeder for node_admin's valoper and verifies +// oracle penalty counts. +func TestInProcessOracleModule(t *testing.T) { + runner.RunFile(t, "../oracle_module/set_feeder_test.yaml", runner.WithInProcessNetwork(sharedNet)) + runner.RunFile(t, "../oracle_module/verify_penalty_counts.yaml", runner.WithInProcessNetwork(sharedNet)) +} + +// TestInProcessSeiDBModule is skipped in-process: state_store_test.yaml asserts a +// docker fixture — 300 wasm contracts stored across block heights tracked in +// integration_test/contracts/wasm_*_block_height.txt — which the shared harness +// network doesn't build, so every historical list-code query returns empty. +func TestInProcessSeiDBModule(t *testing.T) { + t.Skip("seidb state_store asserts a docker fixture (300 wasm contracts at tracked heights)") +} + +// TestInProcessBankMultiSig builds a 2-of-3 multisig (fresh wallet1/2/3 keys) and +// sends through it. +func TestInProcessBankMultiSig(t *testing.T) { + runner.RunFile(t, "../bank_module/multi_sig_send_test.yaml", runner.WithInProcessNetwork(sharedNet)) +} + +// TestInProcessBankSimulation dry-run-simulates a bank send (fresh simulation-test +// key). +func TestInProcessBankSimulation(t *testing.T) { + runner.RunFile(t, "../bank_module/simulation_tx.yaml", runner.WithInProcessNetwork(sharedNet)) +} + +// TestInProcessWasmModule is skipped in-process: the timelocked-token suites execute +// against a docker-fixture contract — a pre-deployed gringotts instance whose address +// (and the admin1 signer) come from integration_test/contracts/gringotts-contract-addr.txt, +// which the shared harness network doesn't build. Migrating it needs that contract +// deployed + its address seeded in-process. +func TestInProcessWasmModule(t *testing.T) { + t.Skip("wasm timelocked suites assert a docker fixture (pre-deployed gringotts contract + admin1)") +} + +// TestInProcessFlatKVEvmModule is skipped in-process: flatkv_evm_test.yaml asserts a +// docker fixture — a pre-deployed EVM contract with recorded balances/heights read +// from integration_test/contracts/flatkv_evm_*.txt — not built by the shared network. +func TestInProcessFlatKVEvmModule(t *testing.T) { + t.Skip("seidb flatkv_evm asserts a docker fixture (pre-deployed EVM contract + recorded balances/heights)") +} + // TestInProcessAuthzModule is skipped in-process: the staking/generic YAMLs // re-`keys add grantee` (a name the send suite already created) and feed // `printf "\ny\n"` to answer docker's passphrase-then-overwrite prompts. The From 963756099876647f9eb0f3c9465b88119f6d0e6c Mon Sep 17 00:00:00 2001 From: bdchatham Date: Mon, 6 Jul 2026 20:19:39 -0700 Subject: [PATCH 2/2] test(inprocess): document gov as a skip (docker-localnode-coupled) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Probed gov migration: the param-change plumbing works with a shortened voting period (proposals submit/vote/pass in-process), but the gov YAML files bundle cases coupled to the docker localnode — a rejected-burn case asserting the fixed genesis supply (5e21, the mint coupling) + expedited proposals whose 0.667 quorum the suite's 2-of-N vote pattern doesn't clear at N=3. Documented as a skip; migrating needs the localnode genesis (supply) replicated + expedited reconciled. --- integration_test/runner/runner_inprocess_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/integration_test/runner/runner_inprocess_test.go b/integration_test/runner/runner_inprocess_test.go index 6c99e7d0f1..ea35effcda 100644 --- a/integration_test/runner/runner_inprocess_test.go +++ b/integration_test/runner/runner_inprocess_test.go @@ -133,6 +133,18 @@ func TestInProcessStakingModule(t *testing.T) { runner.RunFile(t, "../staking_module/staking_test.yaml", runner.WithInProcessNetwork(sharedNet)) } +// TestInProcessGovModule is skipped in-process: the param-change plumbing works with +// a shortened voting period (proposals submit, vote, and pass), but the gov YAML +// files bundle cases coupled to the docker localnode. gov_proposal_test.yaml asserts +// the localnode's fixed total supply in its rejected-burn case (== 5e21, the mint +// coupling) and tunes an expedited case to the localnode's expedited window; +// staking_proposal_test.yaml uses an expedited proposal whose 0.667 quorum the +// suite's 2-of-N vote pattern doesn't clear at N=3. Migrating needs the localnode +// genesis (supply) replicated + the expedited quorum/timing reconciled. +func TestInProcessGovModule(t *testing.T) { + t.Skip("gov YAMLs bundle docker-localnode-coupled cases (fixed supply burn + expedited quorum/timing)") +} + // TestInProcessStartupModule is skipped in-process: startup_test.yaml asserts the // docker localnode's fixed 4-validator topology (`tendermint-validator-set` count // == 4), but the shared harness network runs N=3.