-
Notifications
You must be signed in to change notification settings - Fork 14
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work @evilrobot-01, this is a super valuable addition to the repo.
Can you add instructions in the README on how to run the tests ?
Also, as you mentioned it, it would be nice to run these as part of a CI task.
Updated the PR description with a crude way to run the tests. Will update the readme and add a separate GH action for now, which can always be incorporated into the main CI flow as/when required. |
b5c3134
to
fb40c50
Compare
Co-authored-by: bernardo <bernardo@parity.io>
Co-authored-by: bernardo <bernardo@parity.io>
Tests are run in parallel by default, resulting in mixing of logging output in console
Updated the readme, thanks to additional information from @bernardoaraujor 🙌, and then also added a separate CI workflow which outputs the test results as an artifact. I had hoped to also include the PS - |
@evilrobot-01 Super cool, I love the test report. Should we add a badge to the README with the latest "XCM tests" status ? |
Sure, any preference on location? Could add one for the build at the same time. |
Adds a
xcm-simulator
, based on the example within the Polkadot repository, with Trappist-specific use cases as tests. Each closure scope in each test can be thought of as a block on the corresponding chain, with messages being dispatched to target chains via the mock message queue as it goes out of scope.It effectively translates the integration tests in #76 into Rust with the following main benefits:
The tests can simply be run from the command line as follows, assuming one is in the root folder of the project, but the real value is running the tests with a debugger and breakpoints to explore how the instructions are handled by the
xcm-executor
. Note also that the crate is excluded from the workspace, effectively making it 'opt-in'.Potential next steps:
Any other suggestions for improvement welcome!