Move SHELLFU_DEBUG* and SHELLFU_VERBOSE to pretty where they belong
These variables are not specific to shellfu internals but in all ways
specific to pretty.sh module. The prefix is mostly historical cruft.
Let's clean that up.
We needed to improve TF_RUN for this to work properly:
* fixup wrapping so that shebang, which influences
detection of SHELLFU_COMPAT, comes first (if there is one),
* and call the test script directly for the shebang to matter
(i.e. do not force `bash` in Bash mode upon all).
Although normally we prefer to sat "result must look like oracle",
that is, have result on RHS, and oracle on LHS of a comparison, with
udiff this produces far more readable result, e.g.:
--- oracle/try_import_fn.new
+++ result/try_import_fn.new
-foo
if foo was expected but is missing,
--- oracle/try_import_fn.new
+++ result/try_import_fn.new
+bar
if bar came unexpected.
Once simple.sh has been cleaned up and simplified in previous ~10
commits, it turns out that all it does is manage subtests.
Reflect that in the name.
(Doc will be updated later.)
Restructure test folders to separate test/oracle/result
Support test folder structure where test, oracle and generated result
data are stored each in separate directory. This makes it easier to
ensure legible diff output without cluttering the filenames too much.
This new hierarchy makes it easier to work simultaneously on data and
the script, simplifies deployment to tempdir and makes the launching
script naming consistent with simple.sh.
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.
* Split into functions as appropriate;
* add docstrings;
* reduce redundancy;
* run everything in C locale (=> update oracles),
* add subtest boundaries to output.