7e1c943a

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Guard the ordering the per-change sqitch tests depend on

The per-change tests share one database and walk the plan in order, so
they are only correct while they run one at a time in definition order.
Nothing said so in a way that would fail: drop `sequential` or
`doNotRandomiseExecutionOrder` and the suite becomes nondeterministically
broken, with failures that point at a migration rather than at the
missing combinator.

So assert the shape directly: the per-change tests sit under a
`DoNotRandomiseExecutionOrder` node and a `Sequential` one. Removing
either combinator fails this test, and (confirmed by trying it) takes
the real sqitch tests down with it.

Also moves `SqitchDatabase` above the functions that use it, drops a
redundant lambda, and records the change in
`sydtest-sqitch-postgres-persistent`, whose spec declares these tests
too and whose test names therefore change as well.

Total

6m02s

Created Started Finished

Time to Start Worker time Duration Time to finish Idle
Config 59s 1s 1s 1m00s 59s
Eval 1m01s 1m48s 1m48s 2m50s 1s
Build 2m50s 57s 4m11s 7m02s 3m14s
Suite 59s 2m46s 6m02s 7m02s 4m15s

Timeline

Config Eval Build Compressed gap
0s1m1m20s1m40s2m2m20s2m40s6m20s6m40s7m