#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:
---------------------------+------------------------------------------------
Description changed by roed:
Old description:
> 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.
>
> 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:
>
> * (William Stein, #12025 - needs review) monoids/monoid.py: 0% (0 of 3)
> -- easy
>
> * (William Stein, #12044 -- needs review)
> algebras/free_algebra_quotient*: (29 tests) -- easy
>
> * (Moritz Minzlaff, #12092 -- needs review) databases/stein_watkins.py:
> 0% (0 of 15) -- easy, since there are tons of examples at the top already
>
> * (William Stein, #12036, gsl/interpolation.pyx): 0% (0 of 9) -- easy,
> examples at top and easy math
>
> * (See #12061) interfaces/psage.py: (0% (0 of 13) -- easy, since lots of
> examples at top
>
> * (William Stein, #12034 -- needs review, 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
>
> * (Julian Rueth, #12192 -- needs review, misc/fpickle.pyx): 44% (4 of 9)
>
> * 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.
>
> * matrix/benchmark.py: 0% (0 of 29) John Pang (I will start on this
> early december after my semester exams, if its rushed someone else can
> help out too :) thanks! )
>
> Probably Medium:
>
> * (Fredrick and Harald, #8791 -- needs review):
> 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.
>
> * (Tom Boothby, #12033, 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:
>
> * (David Roe, #12039 -- needs review): categories/action.pyx: 0% (0 of
> 31)
>
> Delete from SAGE?!:
>
> * (R. Andrew Ohana, #12067 -- needs review) databases/bz2Pickle.py --
> looks stupid and not used anywhere!
>
> * databases/db.py: 0% (0 of 21) -- used for the conway polynomials
> database; I think we should remove ZODB anyways.
>
> * (R. Andrew Ohana, #12066 -- needs review) databases/gamma0wt2.py: 0%
> (0 of 7) -- delete
New description:
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.
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.
Need Review:
* monoids/monoid.py (#12025): 0% (0 of 3), easy -- William Stein
* algebras/free_algebra_quotient* (#12044): 4% (1 of 28), easy --
William Stein
* databases/stein_watkins.py (#12092): 0% (0 of 15), easy -- Moritz
Minzlaff
* gsl/interpolation.pyx (#12036): 0% (0 of 9), easy -- William Stein
* matrix/benchmark.py (#12034): 0% (0 of 29), easy -- William Stein
* misc/fpickle.pyx (#12192): 44% (4 of 9), easy -- Julian Rueth
* libs/mpmath/ext_main.pyx (#8791): 7% (8 of 111), medium -- Fredrick
and Harald
* categories/action.pyx (#12039): 0% (0 of 31), harder -- David Roe
Claimed:
* interfaces/psage.py (#12061): 0% (0 of 13), easy -- ppurka
* rings/polynomial/polynomial_compiled.pyx (#12033): 0% (0 of 20),
medium -- Tom Boothby
Unclaimed:
* misc/log.py: 0% (0 of 42) easy, just make object and call methods -- ?
* algebras/free_algebra_quotient.py: 6% (1 of 16) easy, there is a big
example in there. Just use it to construct similar examples everywhere
else in the file -- ?
* media/wav.py: 0% (0 of 25) medium, 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) medium, look at some code
elsewhere that uses this, and just go through examples -- ?
* matrix/matrix_window_modn_dense.pyx: 0% (0 of 11) medium -- ?
* databases/db.py: 0% (0 of 21), delete: used for the conway polynomials
database; I think we should remove ZODB anyways -- ?
Complete
* databases/bz2Pickle.py (#12067): 0% (0 of 4), delete -- R. Andrew Ohana
* databases/gamma0wt2.py (#12066): 0% (0 of 7), delete -- R. Andrew Ohana
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12024#comment:23>
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.