This allows the same function to be used with different commands.
Recent improvements to the parser stopped adding labels for bare words
"word" in the CLI schema, to reduce the chance of label conflicts, eg {
"get", "file", "<file>" }. Now a backslash-prepended word in the schema
"\word" will cause the matched argument to be labelled "word", just like
"[word]" does except "\word" is not optional.
Output is same format as "keyring add" command
Fixed minor bug in rolling a random DID -- last byte was not random
Some code improvements, including better support for sid_t
Replace explicit [<pin,pin...>] command-line arguments with --entry-pin=<pin>
options. Update test scripts accordlingly.
Add --keyring-pin=<pin> option (with one test case).
New rhizome_list_dump() reads a Rhizome list on standard input and formats the
output for easy reading in test logs, including only the columns named by its
arguments.
The assert_rhizome_list() function now sets the $rhizome_list_file_count global
variable.
New tfw_quieten() is similar to tfw_nolog(), but only silences the chatty log
output for asserts and other actions that succeed. Failures are still logged.
New tfw_multicolumn() encapsulates an awk(1) script to format a list into
columns that fit into $COLUMNS width.
Improve exit status handling for test ERROR and FAIL conditions.
Use new test framework fork() support to run several rhizome direct
push/pull/sync processes at once to a single server.
Speed up setup for Rhizome Transfer stress test.
Rename tests to start with "Stress" prefix
Refactor StressRhizomeAdd test to use conventional utilities and be more
readable. Remove trailing "sleep 10".
The non-deterministic bug of "job %N terminated without result" is now fixed.
The cause was that Bash job numbers are allocated as max(current job numbers) +
1, so if the most recent job exited was not harvested before the next job was
started, then the job number would get re-used, deleting the un-harvested job's
result file.
SIGINT (ctrl-C interrupt) handling has been improved for the -j (parallel) and
non-parallel cases.
Test case execution in the non-parallel case is faster, by fixing a bug that
waited for a one-second timeout before starting each test job.
Now that tests can be included from other scripts, there is a possibility of
test name collision, so the main loop logic now uses the test sequence number
instead of the name internally to identify the test.