[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Re: [fricas-devel] Re: regression tests
From: |
root |
Subject: |
Re: [Axiom-developer] Re: [fricas-devel] Re: regression tests |
Date: |
Sun, 16 Dec 2007 14:34:58 -0500 |
Martin,
There are a few "design points" about the regression test facility
that you might need to know if you plan to redesign it.
o) The tests are independent chunks
This allows them to be arranged logically in the pamphlet files
o) The comment markers are easily stripped
This allows the original output to be displayed
o) It does not impact the current )input mechanism
This leads to the design choice of using prefix comments
so that the input files are standard input files
o) It was designed to integrate into the algebra
Some of the regression test files live in the algebra pamphlets
rather than the src/input directory. They are automatically
extracted from the pamphlets at build time. (I've released
this to silver)
I've been working on writing function-by-function test cases
(not yet released to silver) in the algebra pamphlets. These
are automatically collected up into a regression test file
which is tested at runtime.
o) It was designed to document the algebra.
The chunks can live just above the function they document
so the explanations and tests are next to the code.
o) It will be the basis of the )example facility
Recently I recreated the )help facility. The sources for the )help
live in the algebra pamphlets and explain the domains.
The next step (not yet released to silver) is the )example
facility which will show how to invoke a function in a domain.
So rather than the current foo: D -> D where D is....
output you can see actual examples.
o) It will be the basis of the )browse examples
On friday I released the new )browse and firefox facility to
silver. This is planned to replace hyperdoc with system-independent
code. One of the top-level hyperlinks is "examples". The regression
test files will be the basis of these pages.
Tim