Description
Context:
The current structure for the tests based on xcm-emulator
under the parachains/integration-tests/emulated/
directory,
./common
- setup for all networks (polkadot, kusama, etc) hence imports all runtimes
./%parachain%
- tests crate per parachain which imports common
Problem:
- every tests imports all the runtimes which results a long compilation process while developing locally
- one common for all networks setup results long names and inconvenient navigation through the xcm-emulator setup
Proposal 1
Per crate per network with all tests cases structured via modules, the xcm-emulator setup located in crate's lib.rs, something like parachains/integration-tests/emulated/
:
./polakdot
./polakdot/src/lib.rs
- xcm-emulator setup moved from common
, only the part concerning Polkadot network
./polakdot/src/assethub
- parachain based module
./polakdot/src/treasury
- feature based module
...
./kusama
...
Proposal 2
Split parachains/integration-tests/emulated/common
into parachains/integration-tests/emulated/network/[polkadot|kusama|...]
.