Go to the first, previous, next, last section, table of contents.

# Bug Detection and Reporting

## Introduction to Bug Detection and Reporting

Like all large programs, Maxima contains both known and unknown bugs. This chapter describes the built-in facilities for running the Maxima test suite as well as reporting new bugs.

## Definitions for Bug Detection and Reporting

Function: run_testsuite ()
Function: run_testsuite (boolean)
Function: run_testsuite (boolean, boolean)
  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 ()` displays only tests that do not pass.

  `run_testsuite (true)` displays tests that are marked as known bugs, as well as failures.

  `run_testsuite (true, true)` displays all tests.

  `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.

  `run_testsuite` returns `done`.

Function: bug_report ()
  Prints out Maxima and Lisp version numbers, and gives a link to the Maxima project bug report web page. The version information is the same as reported by `build_info`.

  When a bug is reported, it is helpful to copy the Maxima and Lisp version information into the bug report.

  `bug_report` returns an empty string `""`.

Function: build_info ()
  Prints out a summary of the parameters of the Maxima build.

  `build_info` returns an empty string `""`.

Go to the first, previous, next, last section, table of contents.