droid server kit
================

The tests for the Server track, to run on your own machine. The platform does
not grade this track: its sandbox has no network, so this kit is the grader.
It needs Python 3 and nothing else.

    python3 run.py --list
    python3 run.py --stage server-listen --bin ../c-droid/build/c-db
    python3 run.py --stage pool-session --bin ./c-db --pool ./droid-pool

--stage runs every stage of the track up to and including the one named,
without the cases those stages retire; add --only to run that stage alone and
--case <name> to run one case. A passing case prints one line; a failing one
prints what was sent, what was expected, what came back and why it failed.

Your program is started once per case as

    <bin> --server --port 0 --db <a temporary directory>/test.db [more flags]

and must print `[SERVER] listening on 127.0.0.1:<port>` on stdout when it is
ready to accept connections. From pool-session on, the kit then starts your
pooler in front of it as

    <pool> --port 0 --server-port <the server's port> [more flags]

and it must print `[POOL] listening on 127.0.0.1:<port>` the same way. The output contract on the tutorial site says
everything else it must do.

From pg-simple-query on, `python3 smoke_psql.py --bin ./c-db` runs a few
statements through the real psql, if you have it installed: not a test, a
look at your server through a real client.

Version: 7f2e0cf
