Revamp to make use of specific sub-routine that does not throw errors if
the key does not exist (zero messages/asserts yet) and also makes it
easier to sum up (assert count = PASS+FAIL count).
Overview of changes:
* Fixed caseid merging
caseids were not working at all; now it's the "preview" stage.
* Re-introduced session id
In order to be able to re-run tests and avoid conflict without much
hassle, ids are re-introduced; in a bit cleaner way this time,
though.
* Made phase and session verdicts a bit smarter
Don't consider empty phases PASS, propagate ERROR or WARNING to
phase verdict...
* Added jat__die() suicide pill
Will finish test in a way that jattool report is still correct but
it should be clear that the test "panicked".
* Switched to non-deterministic by default
Non-deterministic is easier, and timestamps may be useful.
* Used 'assert' term in ANSI output
* Codebase maintenance
Overview of changes:
* Revamped event data model a bit
Removed lots of repetition and useless cruft, simplified events.
* Added support for multi-line log messages
Every argument to logging functions will now constitute one line of
the final message.
Thx @ester and @magda.
* jat__sfinish() will now return informative exit status
Roughly following TFKit convention
Case ids dynamically extend test ids from within the test, adding
further granularity, feature linkage and promise/delivery control.
* Added support for t., o., and r. prefixes for assert data
Allowed these prefixes in data key name to set convention where
relevancy to test, oracle or and result is made more clear.
* Added support for saving exit status into file
Useful in xcase when we need for the result to stay from one handler
than other. In that case local var cannot suffice but since context
is already driven by working directory, using file is safe---so it's
than a global variable.
* Made reloading more robust
Now jat__sinit() Won't reload session unless test id and version match
* Added support for case ids
* Fixed error when submitting without altname
* Added test id and version to stderr and log
* Codebase cleanups and maintenance
Since exit status of code-executing assert functions cannot be
guarranteed to match exit status of the code being executed, there is
now a way to get the latter in more reliable way. This should be also
useful in cases when there are further asserts on value of the status.