Run `./t/interact.pl` and it will build a database from `t/tree` and
leave you in a shell so you can experiment. When you exit the shell,
the temporary repo and database will be cleaned up.
Also:
- TestEnvironment: add report() function to produce a human-readable
summary of the environment
- TestHelpers: turn on `strict` and `warnings` so the caller doesn't
have to manually `use strict` and `use warnings`.
- Create new class t/TestEnvironment.pm. A TestEnvironment instance
owns a temporary Git repo and a temporary Elixir database directory.
- Update t/100-basic.t to use TestEnvironment.
- Add constant MUST_SUCCEED so `run_produces_ok()` calls are more
self-documenting
- Added test helpers in t/TestHelpers.pm
- Added basic test of update.py and query.py in t/100-basic.t
- Updated README:
- Added automated-testing section
- Formatted identifiers (i.e., added backticks)
These files all carry SPDX GPL2+ indicators. Based on the information
available to me, I have a good-faith belief that they can be combined
into this AGPLv3 project and licensed AGPLv3.
This commit only touches t/tree. Therefore, if the test suite later
needs to be changed, it will be sufficient to revert this commit.
The files used are those involved in the x64 compilation of
drivers/i2c/i2c-core-base.c, filtered to remove any that aren't
tagged GPL2+.
Note that t/tree itself is not a Git repo or submodule. It is a
collection of files that test scripts can use to populate a Git repo.