7e1c943a

Created Started Finished

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.