-
Notifications
You must be signed in to change notification settings - Fork 745
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chopsticks tests for XCM #6712
Comments
cc @bkchr @acatangiu |
I also prefer option 3. Maybe a PR with new tests, and we can have some special comment in the PR to make the CI run the tests with wasm override fetched from some location specified in the PR description and another bot comment to trigger test run.
and a comment of and when such feature is live, we can merge the PR |
Yeah option 3 sounds sensible. The upstreaming then could probably be mainly automated. @xlc i don't get your comment on why we need the remote override? |
to specify which wasm to run the tests. the other two options will be included the wasm in PR, which is tedious to update, or use naming conventions to find it somewhere, which is error-prone |
These tests would be run as part of the CI and we build the runtimes directly in CI, so not sure why we want to test some extra runtime? |
I may have misunderstood how exactly options 3 is proposing. does the local setup means coping the testing framework in this repo? what I was suggesting is fork the polkadot-ecosystem-tests and write tests there and because the tests and the runtimes are not in a same place, we need some mechanism to specify the runtime |
I would have thought we continue to use |
My original idea was more in line with what Basti said. We create tests in My idea is the following:
|
I see. One thing to keep in mind: polkadot-ecosystem-tests are expecting live chains, and the live runtimes are live on the fellowship runtimes repo. We can add some tests for westend networks and then it should work. |
Right now, most XCM tests are using the xcm-emulator, a tool that does the job but lacks a couple of good features:
A tool that has both of this is chopsticks.
We want to add tests with chopsticks to use real on-chain data.
There's already a repo aimed at having chopsticks tests for XCM interactions between all chains in the ecosystem: https://github.com/open-web3-stack/polkadot-ecosystem-tests exists.
Should we do this tests on that other repo? Or here on polkadot-sdk?
Option 1: We do everything in polkadot-ecosystem-tests
The benefit of this approach is that we don't need to invest in creating our own test setup and we contribute our tests back to the ecosystem for them to be used by everyone.
The downside is that adding the tests to CI is more complicated, since we're dealing with another repository owned by a different organization.
The development flow might look like this:
This reminds me of the "companion pr" system we had before moving to the monorepo.
Option 2: We do everything locally
The downside of this approach is we have to create our own setup and we don't contribute to the overall ecosystem (although tests are still all open source).
The good thing is now the development flow can look like this:
Option 3: We have a local setup but also contribute to polkadot-ecosystem-tests
This option implies keeping local tests which means having a local setup and a better development flow, but also contributing to polkadot-ecosystem-tests.
What tests would we contribute? All tests of features that have already been released.
This marks a clear distinction between local setup for development but polkadot-ecosystem-tests for ecosystem-wide regression tests.
When there's a release, we could remove the local tests of that release and migrate them to polkadot-ecosystem-tests.
I think we should go for option 3 but wanted to have more discussion and ideas around the topic.
The text was updated successfully, but these errors were encountered: