gaia icon indicating copy to clipboard operation
gaia copied to clipboard

Refactor and simplify e2e test traces loading and execution

Open MSalopek opened this issue 1 year ago • 0 comments

At present the gaia e2e testing uses hand-written tests to ensure normal operations are passing (happy path tests) and that no sources of non-determinisim exist.

The ICS e2e testing framework also uses hand-written test traces and executes them using the test runner.

All tests are performed in an isolated environment (docker container).

It would be beneficial to adopt a standardized trace format that comprises the following features:

  1. operation to perform
  2. system state before the operation
  3. system state after executing the operation

Adopting a standardized format would enable fast and reproducible test trace generation using MBT tooling (as opposed to writing tests traces manually), would help standardize the test output and enable meaningful and comprehensive test results.

In the first steps towards establishing e2e test trace generation it is important to maintain parity with the existing test frameworks. Existing test frameworks should be used as a benchmark for comparing all future work. The selected format should allow e2e testing framework refactoring with regards to ease of use and configuration.

Existing frameworks:

Existing trace formats:


### Tasks
- [ ] https://github.com/cosmos/interchain-security/issues/1240
- [ ] port ICS work on traces to Gaia repo

MSalopek avatar Apr 24 '23 08:04 MSalopek