As a followup to last revamp:
* Use more extensible test definition format,
* separate testing framework from setup script and split to includes,
* update test scripts as well as data,
* consolidate test output,
* and make some small improvements/fixes on the way.
* Enable running all tests via make,
* simplify tests (lay off data/tmpdir manipulation to framework),
* set rules for naming, exit statuses, etc,
* remove beakerlib dependency.
A library can now have init function to allow for more dynamic behavior.
The function's name must be __ffoo_NAME__init, where NAME is the library
name.
Note that the init exit status is used as exit status of the `ffoo
import NAME` call (or `ffoo try_import NAME`) and overrides exit
status of the sourcing (which must always be zero anyway).
* Split into functions as appropriate;
* add docstrings;
* reduce redundancy;
* run everything in C locale (=> update oracles),
* add subtest boundaries to output.
Add ability to include code examples from "real" files
Now we can keep examples as a "real" shell scripts, taking advantage
of ability to test them or edit them with proper syntax HL.
Setup will now automatically insert them and indent properly as code.
Small drawback is that we cannot build manpages separately, but since
all building is to be trivial this is not a big deal.
It's not specifed yet which is to be picked, but as FFOO_INI_PATH is now
respected properly, it's more intuitive to pick the last--the last item
on FFOO_INI_PATH wins, which is similar to how PATH works.