Repository navigation
Offline Maxima Tests
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- theconfig/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)
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.
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.
In order to try code snippets in jsfiddle,
- copy the code from the wiki page to the clipboard
- follow the link for the JSXGraph version you want to try
- 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)