You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Action items
The Ginkgo test framework has already been implemented in other tickets, for example #94. Much of the discussion in the following sections have already been resolved and implemented, but I'll leave the text there for context.
The main remaining action item to close this ticket out is to port the existing bash integration tests to our Ginkgo framework. Below are the test cases we need to port.
Discussion and alternatives Ginkgo is a test framework written in Go that performs very similar steps to our current setup, but in a much more user friendly and less error prone way. Ginkgo:
handles container setup and teardown
is easier to avoid bugs when authoring tests due to Go's static typing
produces much more readable tests with clearly defined expected behavior
is under active development
To convert our bash-based integration tests to Ginkgo, the following development strategy is proposed:
Port awm-relayer E2E tests written in Ginkgo to teleporter. The high-level changes here are:
a. Implement basic send and receive integration test.
b. Modify message relaying to either build and run awm-relayer directly, or manually aggregate signatures and deliver the message from within the E2E test. subnet-evm Warp E2E tests take the latter approach.
Consolidate awm-relayer and teleporter E2E tests to reduce code duplication.
Iteratively expand teleporter Ginkgo E2E test suite to achieve parity with the existing bash integration tests.
Remove bash integration test CI jobs, and optionally remove all docker and bash code.
Open questions
One nice feature of the docker setup is that we can start up the system, but not execute tests, (see run.sh) allowing the user to open a shell inside one of the containers and interact with the system in real time. Is this possible with Ginkgo?
The text was updated successfully, but these errors were encountered:
Action items
The Ginkgo test framework has already been implemented in other tickets, for example #94. Much of the discussion in the following sections have already been resolved and implemented, but I'll leave the text there for context.
The main remaining action item to close this ticket out is to port the existing bash integration tests to our Ginkgo framework. Below are the test cases we need to port.
Context and scope
The current integration test setup consists of a set of docker containers that:
awm-relayer
instanceThese steps are performed within the containers using a set of bash scripts. For example, https://github.com/ava-labs/teleporter/blob/main/docker/run_setup.sh starts the networks, and https://github.com/ava-labs/teleporter/blob/main/scripts/local/test.sh runs the integration tests.
Discussion and alternatives
Ginkgo is a test framework written in Go that performs very similar steps to our current setup, but in a much more user friendly and less error prone way. Ginkgo:
To convert our bash-based integration tests to Ginkgo, the following development strategy is proposed:
awm-relayer
E2E tests written in Ginkgo toteleporter
. The high-level changes here are:a. Implement basic send and receive integration test.
b. Modify message relaying to either build and run
awm-relayer
directly, or manually aggregate signatures and deliver the message from within the E2E test.subnet-evm
Warp E2E tests take the latter approach.awm-relayer
andteleporter
E2E tests to reduce code duplication.teleporter
Ginkgo E2E test suite to achieve parity with the existing bash integration tests.Open questions
The text was updated successfully, but these errors were encountered: