algorand / graviton

🧑‍🔬 verify your TEAL program by experiment and observation
MIT License
17 stars 8 forks source link

Enable Running Blackbox Testing using the Offline Version of Dryrun #6

Closed tzaffi closed 2 years ago

tzaffi commented 2 years ago

The goal clerk dryrun command (in opposition to the goal clerk dryrun-remote) is in theory capable of running dry runs without an actual node running. If we use this functionality, we could potentially save on most of the startup times of the C.I. in this repo (and pyteal as well). In theory, this would work as follows:

  1. add offline option to executions: e.g. DryRunExecutor.execute_one_dryrun(offline=True, ...)
  2. this delegates to an os-level process goal clerk dryrun ...
  3. the response should come back as a JSON
  4. the response's transactions are then consumed as usual by blackbox.DryRunInspctor
  5. inspections and assertions proceed as in the current approach
tzaffi commented 2 years ago

Closing as there isn't a clear path forward and #14 provides an alternate approach that may not be as performant as the approach suggested here, but cannot be too far behind given its 20 second bootstrap time.