Turns out that get_version and release.sh strategy do not agree
very well on this, which may end up as version comparison problem.
SemVer 2.0 says that pre-release versions go before the associated
versions, that is, 1.0.0-blah goes before 1.0.0, and at the same time
remove the compatibility guarantee. This means that if pre-releases
are needed, we will probably need to change both PRERELEASE and VERSION,
which is not what was expected when writing release.sh.
For now, the safe thing is to remove PRERELEASE altogether. If we ever
need to do a pre-release, we will re-verify if it works properly; until
then, build meta-data give us enough luxury.
The version based on config.mk has been finalized to include more
features:
* Build variables are now defined in config.ini.
* The ini system can self-reference other keys (up to several levels).
* Some config (namely `ENV` section) can be overrided by environment
variables.
* The installer is now more portable (ported to saturnin so far):
everything can be defined in config.ini
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.
Previously the framework was silent in cases such as when enumeration
fails (maybe due to enum functions not implemented), returns nothing,
or if regex in TF_FILTER_SUBTEST leaves nothing.
Now it bails out on errorneous or empty enumeration, and adds debug
message if TF_FILTER_SUBTEST is "too hungry".
Also, intermediary lists are saved to file and left for artifact
collection.
Most changes are in tf_do_subtest.
* Separated setup/cleanup logic from test data collecting and
execution/evaluation.
* Revamped the execution/evaluation logic in a new tool testflt,
allowing tester to use it as the need be.
* Code to compose actual test command removed, as testflt makes it
easy to write the code in one place (TF_RUN) and keep simple things
simple.
* Removed tf_parse_meta, as it's obsolered by above changes.
* Updated tests to reflect the new style.