4ccc66ba

By: Michael Lynch <git@mtlynch.io>

Make command runners return startup errors

Move command setup into directly testable Main.Run methods and make SQLite and
handler construction return errors. Close databases on every ordinary failure
path while preserving Litestream's successful signal-shutdown behavior.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 11s 5s 5s 16s 11s
Eval 33s 1m22s 1m22s 1m56s 17s
Build 1m47s 1m33s - - 2m09s
Suite 11s 3m01s - - 1h13m12s

Timeline

0s40s50s1m1m10s1m20s1m30s1m40s1m50s4m10s4m20s