2.1 Functions and Variables for Bug Detection and Reporting

Run the Maxima test suite. Tests producing the desired answer are
considered "passes," as are tests that do not produce the desired
answer, but are marked as known bugs.

run_testsuite takes the following optional keyword arguments

display_all

Display all tests. Normally, the tests are not displayed, unless the test
fails. (Defaults to false).

display_known_bugs

Displays tests that are marked as known bugs. (Default is false).

tests

This is a single test or a list of tests that should be run. Each test can be specified by
either a string or a symbol. By default, all tests are run. The complete set
of tests is specified by testsuite_files.

time

Display time information. If true, the time taken for each
test file is displayed. If all, the time for each individual
test is shown if display_all is true. The default is
false, so no timing information is shown.

share_tests

Load additional tests for the share directory. If true,
these additional tests are run as a part of the testsuite. If
false, no tests from the share directory are run. If
only, only the tests from the share directory are run.
Of course, the actual set of test that are run can be controlled by
the tests option. The default is false.

For example run_testsuite(display_known_bugs = true, tests=[rtest5])
runs just test rtest5 and displays the test that are marked as
known bugs.

run_testsuite(display_all = true, tests=["rtest1", rtest1a]) will
run tests rtest1 and rtest2, and displays each test.

run_testsuite changes the Maxima environment.
Typically a test script executes kill to establish a known environment
(namely one without user-defined functions and variables)
and then defines functions and variables appropriate to the test.

testsuite_files is the set of tests to be run by
run_testsuite. It is a list of names of the files containing
the tests to run. If some of the tests in a file are known to fail,
then instead of listing the name of the file, a list containing the
file name and the test numbers that fail is used.

For example, this is a part of the default set of tests:

["rtest13s", ["rtest14", 57, 63]]

This specifies the testsuite consists of the files "rtest13s" and
"rtest14", but "rtest14" contains two tests that are known to fail: 57
and 63.

Returns a summary of the parameters of the Maxima build,
as a Maxima structure (defined by defstruct).
The fields of the structure are:
version, timestamp, host, lisp_name, and lisp_version.
When the pretty-printer is enabled (via display2d),
the structure is displayed as a short table.

In that case, Maxima was not build from a released sourcecode,
but directly from the GIT-checkout of the sourcecode.
In the example, the checkout is 331 commits after the latest GIT tag
(usually a Maxima (major) release (5.37 in our example)) and the
abbreviated commit hash of the last commit was "8322940".