Open bifurcation opened 1 year ago
One thing that might be helpful here is to leverage the Go type system more, for example by decoding script steps into typed values. Then you could have a bunch of RunFooStep(step FooStep)
methods that would presumably be easier to chain.
Right now, all the interesting logic in
test-runner.go
is in one bigswitch
statement inRunStep
. This makes it basically impossible for compound steps to call through to individual steps. For example,fullCommit
could in principle call through tocommit
,handlePendingCommit
,handleCommit
, andjoinGroup
, but instead it replicates all the logic of those methods.