Skip to content

Architectural Changes to Workload #162

@parthshah1

Description

@parthshah1

Current workload is a single binary with different cli flags that performs operations and/or check for invariants and assertions.
The workload tests and assertions are orchestrated via Antithesis test composer.

  1. It used crypto/rand and not antithesis rand which diverges from being deterministic.
  2. The tests are fire and forget with no real state management or weighted, which makes certain scripts run more than others. Also leading to false positives.
  3. Difficult to add more tests and test certain features because of the current setup. Example: if we want to just test a new feature, we need to remove all the existing driver code.

Solution:

  1. Use a monolithic fuzzer which runs an infinite loop and picks up test based on weights defined via docker-compose config.
  2. Uses rpc url and token path via env variables and remove existing config.json configuration.
  3. Use antithesis randomness to pick up tests with existing weights for reproducibility.

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions