Skip to content

Improve Testing For Action Developers #1686

@samliok

Description

@samliok

Goal

Allow action developers to thoroughly test all parts of their VM.

Assumptions

  • Users want to sanity check their VM with an e2e testing suite that tests their TXs in a VM
  • Users want a way to build their own procedural style workloads to test their VM in the context of a different test network
  • Users want to run load tests on their VM to get baseline throughput capabilities

Components

1. Actions Unit Test

  • ActionTest wrapper allows action developers to unit test the actions Execute function
  • Improving the ease of use for developers to decouple and test individual components of their action will greatly improve developer experience
  • TODO: Allow for a sequence of actions that can share/reuse access to state

2. E2E/Integration Suite Integration

  • Allow Action Developers to pass generic transactions into the hypersdk e2e/integration suite
  • This suite currently tests the Hypersdk but will also act as a sanity check for action developers

3. Procedural Testing

  • Allow the user to then create procedural style tests which can be tested across multiple different network configurations
  • This gives Action developers more fine grained control over their e2e/integration tests
  • TODO: Continue to work on procedural style tests(support procedural test style for VM-defined workloads #1667)

4. Simplification

  • Reduce boilerplate that is required to run e2e and integration tests
  • TODO: Remove the run scripts completely or write them into code. Further decouple testing from cmd package.

5. Load Testing

  • Extend the throughput package to give users more control of load testing
  • TODO: Modify Spam Script/helper to test load with custom actions
    • Potentially use the workload package

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions