Test frameworks and utilities for Polkadot and friends

As our ecosystem grows and many teams have needs for testing their work that often overlap (at least partially), I am interested in compiling a list of tools, utilities and frameworks that either already exist, or are actively being developed that can be used for performing testing and QA of runtimes, clients, and everything else!

If you are working on, or know of, any tools and projects not mentioned below please comment with a link to the tool and ideally a short description, so I can add them to the list. It can be focusing on a single project, or a more generic tool. Anything goes!

1 Like

For XCM tests

1 Like

As I’ve mentioned in my latest smoldot treasury proposal, feel free to open issues/discussions in the smoldot repository if you need some specialized tools.

Examples that I have in mind: a tool that prints the runtime spec of a runtime blob, a DHT crawler (that enumerates all nodes on the network), a tool that prints the list of all validators that register themselves with authority-discovery, a tool that prints the PeerId and version of a node given an IP+port, a tool that prints the IP+port of a PeerId, etc.
Some of these examples would require a lot of efforts though, but they’re all theoretically feasible.

Given that smoldot has been designed to run in the browser, there’s the possibility to create a web page that proposes these tools, which is generally a better UX compared to having to compile some Rust source code.

However, since it’s efforts, I’d prefer to work on this only if there’s an actual demand, and not create these tools only for them to not be used.