Skip to content

Offline Maxima Tests

mkraska edited this page Oct 7, 2026 · 1 revision

An offline regression test suite for meclib's Maxima-side feedback functions (fb_fbd.mac, and over time other fb_*.mac files) - no Moodle, STACK, or network connection needed. Lives in Maxima/tests/.

Run it: double-click run_tests.bat (Windows), or from that folder on any platform, maxima --very-quiet -b run_tests.mac.

For everything else - what each file does, the test/harness naming convention, how to add a new test, and the optional real-STACK-library sandbox - see the READMEs directly rather than this page, since those are kept current alongside the code they describe:

  • Maxima/tests/README.md - the test harness itself (harness.mac, run_tests.mac, test-file naming)
  • config/README.md - the config/stack/<version>/maxima/ sandbox that lets the tests use STACK's real library instead of the lightweight stub
  • config/jsxgraph/README.md - placeholder for the equivalent on the JSXGraph side (not built yet)

Why this exists

Feedback-function bugs were mostly being found by clicking through Moodle/STACK questions by hand - slow, and easy to miss a one-character formatting glitch (a missing space, comma, period, or line break) in the rendered text. This suite catches those offline, with exact string comparisons against the expected German/English feedback, before a question is ever tested in Moodle.

Where this is headed

This test runner is one building block toward a broader local test environment for meclib: eventually, a tool that also configures Maxima/JSXGraph to match a target STACK release and runs local tests of question variables and JSXGraph rendering/output, not just feedback text. The config/ directory above is the shared foundation for that - filled by hand for now, until a setup tool exists to populate it automatically.

See also: Feedback Overview. Test examples covers a different kind of "test" - jsfiddle tryouts for JSXGraph/meclib.js, not this offline Maxima suite.

Tryout Space

In order to try code snippets in jsfiddle,

  1. copy the code from the wiki page to the clipboard
  2. follow the link for the JSXGraph version you want to try
  3. Replace the code in the HTML section (contents of <p id="init">) with the content of the clipboard

The remaining jsfiddle pages don't seem to work any more (as of 04/26)

Clone this wiki locally