Skip to content
This repository has been archived by the owner on May 21, 2024. It is now read-only.

Setup and document proper XCM testing #59

Open
justinfrevert opened this issue Sep 14, 2022 · 13 comments
Open

Setup and document proper XCM testing #59

justinfrevert opened this issue Sep 14, 2022 · 13 comments

Comments

@justinfrevert
Copy link

We don't have a dedicated testing practice in this repo. Trappist will be XCM-heavy, so we should have a documented testing process that works well with XCM.

  • Compare methods/frameworks for testing XCM cross-chain
  • Implement the process and a few useful/demonstrative tests
@bernardoaraujor
Copy link
Contributor

bernardoaraujor commented Sep 14, 2022

As I work on #51 the competing strategies I have considered are:

I still haven't decided which route to go down.

@justinfrevert
Copy link
Author

justinfrevert commented Sep 14, 2022

Another one to consider(also for the work on this issue) might be Zombienet. It's actively maintained by Parity

@NachoPal
Copy link

NachoPal commented Sep 14, 2022

Another one to consider(also for the work on this issue) might be [Zombienet](I would also be curious about Zombienet. It's actively maintained by Parity

parachains-integration-tests is using zombienet (or polkadot-launch or any other testnet of your choice) as network deployment tool.

@bernardoaraujor

This comment was marked as outdated.

@NachoPal
Copy link

NachoPal commented Sep 14, 2022

I might be biased, but I think you'll be able to to write/update/maintain tests much faster and writing much less code using parachains-integration-tests. That was the main goal of the tool, to abstract testing from polkadot-js. Other one was to make it XCM testing friendly.

It is the tool we use for Common Good Parachains. You can find the tests here: https:/paritytech/cumulus/tree/master/parachains/integration-tests

@justinfrevert
Copy link
Author

justinfrevert commented Sep 14, 2022

I think parachains-integration-tests looks fine, especially if devs can crop down to a more granular syntax through it, if the yaml is limiting in some scenario. Maybe it's what Custom is for?

@NachoPal
Copy link

NachoPal commented Sep 14, 2022

I think parachains-integration-tests looks fine, especially if devs can crop down to a more granular syntax through it, if the yaml is limiting in some scenario. Maybe it's what Custom is for?

Right, you can always run any test providing a ts/js file.

@bernardoaraujor
Copy link
Contributor

@nukemandan just suggested that wathever strategies we come up here, it might be interesting to have some the learnings distilled into substrate-parachain-template so that the community can also benefit from the learning outcomes.

@stiiifff
Copy link
Contributor

Great idea ! It can also be a good topic for a presentation.

@bernardoaraujor
Copy link
Contributor

@Wiezzel a few ideas on this issue:

  • There's a small (and underdocumented) example on how to test the Asset Registry pallet on the integration-tests directory. It's just doing a one-hop reserve transfer (statemint/trappist), but a second test with a two-hop reserve transfer (statemint/trappist/3000) could be added.
  • Another idea I had was to test the ink! PoC that Hector added, which would be a cool way to showcase integration of ink! and parachains-integration-tests.
  • As part of the solution for XCM Config: Asset trap & claim system #52 I'll be adding another test based on the Asset Trap solution. I'll tag you for review once the PR is ready.

@Wiezzel
Copy link
Contributor

Wiezzel commented Oct 20, 2022

@bernardoaraujor Why did you close the issue?

@bernardoaraujor
Copy link
Contributor

@Wiezzel @stiiifff I must have clicked by mistake! I really didn't meant to close it.
My sincere apologies!

@stiiifff
Copy link
Contributor

Un-assigning @Wiezzel as he is currently busy with other tasks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants