Replies: 2 comments 4 replies
-
Let's go for this. You can always define a method and then trivial wrap it in something with a #[test] macro elsewhere. |
Beta Was this translation helpful? Give feedback.
-
I agree that Effectively, e2e test, need to have a pre started environment. Whereas the actual way to do, this environment that is started using a setup, depends on the e2e test or protocol to test. So this setup should be defined with the test and not as it's currently done with the subcomponent (suzuka node, mcr, executor). The e2e crate should provide some way to reuse this setup routine. I agree with @l-monninger, the 4th option, use a binary is the most open way to define e2e test. e2e test workflow is run build, run the e2e test setup, start the environment to test, run the e2e test. |
Beta Was this translation helpful? Give feedback.
-
We need a consistent suite of e2e tests that are run by the CI.
Workspace organization
Expectation: The e2e tests should be cleanly separated from other tests (unit or "light/minimal integration" for library crates) and have a prominent location in the workspace.
Current state: The e2e tests that have been merged to
main
are found as module and binary grafts on the (possibly misnamed)suzuka-client
crate.If the crate currently serves no other purpose (the only other code there is a re-export of
aptos-sdk
), rename it tosuzuka-e2e-tests
.Organization of the test suite
The tests should be organized under a uniform structure, preferably plugging into the
cargo test
harness: either integration-style test binaries under./tests
, or modules under./src/
. The test suite should not be a hodgepodge of non-enumerable binaries in./bin
,./src/bin
, etc. and unit tests.The load and soak test cases should be grouped so as to be easily invoked as the respective group. Alternatives:
load::*
andsoak::*
../tests/load-tests
and./tests/soak-tests
.Run time requirements
The e2e tests for Movement are expected to be run in an environment that has access to DA and Eth testnets, and has the services built from the same workspace running and available on the virtual network.
The Rust crate hosting the tests is not responsible for setting up the test environment. By the time
cargo test -p suzuka-e2e-tests
is run, all services should be provisioned into containers and deployed by docker-compose.Technical details of the test suite
Decide how we want to run the e2e tests:
#[test]
cases.#[test]
fns.#[test]
support, tedious.Test scenarios
Beta Was this translation helpful? Give feedback.
All reactions