Skip to content
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

Improve Testing For Action Developers #1686

Open
samliok opened this issue Oct 24, 2024 · 2 comments
Open

Improve Testing For Action Developers #1686

samliok opened this issue Oct 24, 2024 · 2 comments
Assignees
Labels

Comments

@samliok
Copy link
Contributor

samliok commented Oct 24, 2024

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
@samliok
Copy link
Contributor Author

samliok commented Oct 25, 2024

TODO: Allow for a sequence of actions that can share/reuse access to state

regarding this TODO, the actiontest suite is already has a state.Mutable field that can be shared so I don't think this is necessary

@samliok
Copy link
Contributor Author

samliok commented Oct 29, 2024

  • TODO: Allow for a sequence of actions that can share/reuse access to state

no need for this, but created an example #1700

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

No branches or pull requests

2 participants