Open JimLarson opened 8 months ago
Note from 0.47 UPGRADE doc:
The simapp package should not be imported in your own app. Instead, you should import the runtime.AppI interface, that defines an App, and use the simtestutil package for application testing.
What is the Problem Being Solved?
Cosmos-sdk has a
simapp
application that sets up a minimal Cosmos application with no external interfaces for use in testing. It is used in unit tests and in whole-system simulation tests.In agoric-sdk, we do not use
simapp
, largely due to the difficulty in integration with the swingset side of the running system. But the work on split brain makes it more tractable to stub out the "bridge" connection to the node runtime and write a simapp, at least for the golang half ofagd
.We'd like to adapt or clone simapp for use in
agoric-sdk/golang/cosmos
, adapt our current verbose, ad-hoc, limited unit tests to be simpler and more accurate by using this simapp, and write some whole-system (or at least half-system) simulation tests to run in CI.Description of the Design
Security Considerations
N/A
Scaling Considerations
N/A
Test Plan
Upgrade Considerations
Relies on the split-brain work that's been merged into
master
, so to release work built upon this, we'd have to release the split-brain code too.