#12024: 90% doctest coverage thrust metaticket
---------------------------+------------------------------------------------
Reporter: was | Owner: mvngu
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.8
Component: doctest | Keywords:
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
---------------------------+------------------------------------------------
After deleting the server directory we need to add doctests to about
588 more functions to get coverage to 90%, which is a major goal for
sage-5.0, which we've been working on getting to for over a year now.
I did an audit and came up with about 350 functions in 18 files for
which adding coverage will not be too hard. Some are disturbing,
e.g., where a *huge* patch was *recently* added to Sage with over 100
untested functions, due to sloppy refereeing and release management.
Just edit the ticket description and add your name after the * that
you will get coverage to 100% on that file. You an also create a
ticket with your tests (put #number) in. Then it will be easy to
referee all these doctest patches. Try to make different tickets
if/when you find bugs, and restrict your ticket to just doctests so it
is easy to referee. You can also add another file to the list.
Probably Easy:
* algebras/free_algebra_quotient_element.py: 0% (0 of 12)
* databases/stein_watkins.py: 0% (0 of 15) -- easy, since there are tons
of examples at the top already
* gsl/interpolation.pyx: 0% (0 of 9) -- easy, examples at top and easy
math
* interfaces/psage.py: 0% (0 of 13) -- easy, since lots of examples at
top
* matrix/benchmark.py: 0% (0 of 29) -- easy; just run each function and
paste into an EXAMPLES:: section. This would also provide some useful
additional testing. Maybe use non-default arguments so not too slow.
* misc/log.py: 0% (0 of 42) -- just make object and call methods; easy
* monoids/monoid.py: 0% (0 of 3) -- easy
* algebras/free_algebra_quotient.py: 6% (1 of 16) -- there is a big
example in there -- just use it to construct similar examples everywhere
else int he file.
Probably Medium:
* libs/mpmath/ext_main.pyx: 7% (8 of 111) -- How the *hell* did this get
into Sage with a coverage score of 7%?!!?? This was added several years
after we started a 100% doctest policy. This appeared in
http://trac.sagemath.org/sage_trac/ticket/8159 where the positive review
is from Harald Schilly: "That was easy, all tests pass ... green light
from me! I'm setting this to needs_review, and start with a positiv review
from me." Yes, it's easy for all tests to pass when there are only 7%
tests. Oops. It will be a lot of work to properly doctest this file,
but much of it is straightforward (e.g., examples for the mpnumber) class.
* rings/polynomial/polynomial_compiled.pyx: 0% (0 of 20) -- just a bunch
of little classes for working with "optimized" polynomials, which is
actually used somewhere, evidently. Not a single example. Either doctest
it completely, by following how it is used by polynomial_element.pyx, or
delete it because maybe fast_callable is better? But watch out for large
degree, since fast_callable segfaults if the degree is large, so this
polynomial_compiled.pyx might have some real value.
* media/wav.py: 0% (0 of 25) -- mostly just a bunch of functions to get
basic info about a wave file; what makes this harder is you have to get a
.wav file and put it somewhere in Sage to be used for testing. You can
probably generate an empty wave file by using the kwds constructor of the
class, save it to a temp file, and use it, but that is boring.
* matrix/matrix_window.pyx: 0% (0 of 26) -- look at some code elsewhere
that uses this, and just go through examples; probably not so hard
* matrix/matrix_window_modn_dense.pyx: 0% (0 of 11)
Probably Harder:
* categories/action.pyx: 0% (0 of 31)
Delete from SAGE?!:
* databases/bz2Pickle.py -- looks stupid and not used anywhere!
* databases/db.py: 0% (0 of 21) -- also maybe not used anywhere; I think
we shoudl remove ZODB anyways.
* databases/gamma0wt2.py: 0% (0 of 7) -- delete
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12024>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.