#12024: 90% doctest coverage thrust metaticket
---------------------------+------------------------------------------------
Reporter: was | Owner: mvngu
Type: enhancement | Status: new
Priority: blocker | Milestone: sage-5.0
Component: doctest | Keywords:
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
---------------------------+------------------------------------------------
Old description:
> After deleting the server directory (#11409) 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 (299 functions to doctest):
>
> * plot/plot.py 76% (53 of 69), easy (#12495) -- Karl-Dieter Crisman
>
> * plot/plot3d/three files 63% (17 of 27), easy (#12491) -- Karl-Dieter
> Crisman
>
> * databases/stein_watkins.py (#12092): 0% (0 of 15), easy -- Moritz
> Minzlaff
>
> * 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
>
> * rings/finite_rings/* (#12260, #12261, #12262): 77% (283 of 369),
> medium -- David Roe
>
> * categories/action.pyx (#12039): 0% (0 of 31), harder -- David Roe
>
> * rings/integer_ring.pyx: 77% (35 of 45), easy -- (#12496) Samuel
> Lelièvre
>
> Claimed (127 functions to doctest):
>
> * interfaces/psage.py (#12061): 0% (0 of 13), easy -- ppurka
>
> * rings/laurent_series_ring* (#12259): 50% (38 of 76), easy -- David Roe
>
> * rings/polynomial/polynomial_compiled.pyx (#12033): 0% (0 of 20),
> medium -- Tom Boothby
>
> * rings/pari_ring.py (#12550): 15% (3 of 20), easy -- Frithjof Schulze
>
> * matrix/matrix0.pyx (#12585): 87% (73 of 87), easy (though there are
> also cdef functions to document and test) -- Hugh Thomas
>
> * algebras/free_algebra_quotient.py (#12593): 6% (1 of 16), easy, there
> is a big example in there. Just use it to construct similar examples
> everywhere else in the file -- Javier López Peña
>
> Unclaimed (413 functions to doctest, 26 functions to remove):
>
> * misc/log.py: 0% (0 of 42), easy, just make object and call methods --
> ?
>
> * rings/complex*: 90% (352 of 393), easy, since most of the missing
> functions are arithmetic or simple -- ?
>
> * rings/homset.py: 10% (1 of 10), easy -- ?
>
> * rings/ideal.py: 67% (35 of 52), easy, since there's a good amount of
> documentation already and the remaining functions are mostly simple -- ?
>
> * rings/rational*: 87% (131 of 151), easy -- ?
>
> * 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 -- ?
>
> * 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 -- ?
>
> * rings/integer.pyx: 90% (124 of 137), medium, since you have to
> document and test functions related to the integer pool -- ?
>
> * rings/power_series*: 63% (66 of 104), medium -- ?
>
> * rings/polynomial/convolution.py: 46% (6 of 13), medium, since all
> functions are documented but coming up with good tests could be tricky --
> ?
>
> * rings/fast_arith.pyx: 12% (1 of 8), harder, since there are additional
> cdef functions to document and test and you need to worry about overflow
> in arithmetic with C ints -- ?
>
> * rings/qqbar.py: 45% (112 of 244), harder, there are a lot of functions
> to document -- ?
>
> * databases/db.py: 0% (0 of 21), delete: used for the conway polynomials
> database; I think we should remove ZODB anyways -- ?
>
> * rings/coerce_python.py: 0% (0 of 5), delete: this is not used -- ?
>
> Complete (9 functions doctested, 11 functions removed):
>
> * gsl/interpolation.pyx (#12036): 0% (0 of 9), easy -- William Stein
>
> * databases/bz2Pickle.py (#12067): 0% (0 of 4), delete -- R. Andrew
> Ohana
>
> * databases/gamma0wt2.py (#12066): 0% (0 of 7), delete -- R. Andrew
> Ohana
>
> * algebras/free_algebra_quotient* (#12044): 4% (1 of 28), easy --
> William Stein
>
> * matrix/benchmark.py (#12034): 0% (0 of 29), easy -- William Stein
>
> * monoids/monoid.py (#12025): 0% (0 of 3), easy -- William Stein
New description:
After deleting the server directory (#11409) 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 (299 functions to doctest):
* plot/plot.py 76% (53 of 69), easy (#12495) -- Karl-Dieter Crisman
* plot/plot3d/three files 63% (17 of 27), easy (#12491) -- Karl-Dieter
Crisman
* databases/stein_watkins.py (#12092): 0% (0 of 15), easy -- Moritz
Minzlaff
* 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
* rings/finite_rings/* (#12260, #12261, #12262): 77% (283 of 369),
medium -- David Roe
* categories/action.pyx (#12039): 0% (0 of 31), harder -- David Roe
* rings/integer_ring.pyx: 77% (35 of 45), easy -- (#12496) Samuel
Lelièvre
Claimed (127 functions to doctest):
* interfaces/psage.py (#12061): 0% (0 of 13), easy -- ppurka
* rings/laurent_series_ring* (#12259): 50% (38 of 76), easy -- David Roe
* rings/polynomial/polynomial_compiled.pyx (#12033): 0% (0 of 20),
medium -- Tom Boothby
* rings/pari_ring.py (#12550): 15% (3 of 20), easy -- Frithjof Schulze
* matrix/matrix0.pyx (#12585): 87% (73 of 87), easy (though there are
also cdef functions to document and test) -- Hugh Thomas
Unclaimed (413 functions to doctest, 26 functions to remove):
* misc/log.py: 0% (0 of 42), easy, just make object and call methods --
?
* rings/complex*: 90% (352 of 393), easy, since most of the missing
functions are arithmetic or simple -- ?
* rings/homset.py: 10% (1 of 10), easy -- ?
* rings/ideal.py: 67% (35 of 52), easy, since there's a good amount of
documentation already and the remaining functions are mostly simple -- ?
* rings/rational*: 87% (131 of 151), easy -- ?
* 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 -- ?
* 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 -- ?
* rings/integer.pyx: 90% (124 of 137), medium, since you have to document
and test functions related to the integer pool -- ?
* rings/power_series*: 63% (66 of 104), medium -- ?
* rings/polynomial/convolution.py: 46% (6 of 13), medium, since all
functions are documented but coming up with good tests could be tricky --
?
* rings/fast_arith.pyx: 12% (1 of 8), harder, since there are additional
cdef functions to document and test and you need to worry about overflow
in arithmetic with C ints -- ?
* rings/qqbar.py: 45% (112 of 244), harder, there are a lot of functions
to document -- ?
* databases/db.py: 0% (0 of 21), delete: used for the conway polynomials
database; I think we should remove ZODB anyways -- ?
* rings/coerce_python.py: 0% (0 of 5), delete: this is not used -- ?
Complete (9 functions doctested, 11 functions removed):
* gsl/interpolation.pyx (#12036): 0% (0 of 9), easy -- William Stein
* databases/bz2Pickle.py (#12067): 0% (0 of 4), delete -- R. Andrew Ohana
* databases/gamma0wt2.py (#12066): 0% (0 of 7), delete -- R. Andrew Ohana
* algebras/free_algebra_quotient* (#12044): 4% (1 of 28), easy --
William Stein
* matrix/benchmark.py (#12034): 0% (0 of 29), easy -- William Stein
* monoids/monoid.py (#12025): 0% (0 of 3), easy -- William Stein
* algebras/free_algebra_quotient.py (#12593): 6% (1 of 16), easy, there
is a big example in there. Just use it to construct similar examples
everywhere else in the file -- ?
--
Comment(by jlopez):
I tried to claim algebras/free_algebra_quotient.py just to find out that
it already has 100% doctest coverage in sage 5.0 beta 2.
Ticket #12593 can be closed as invalid.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12024#comment:45>
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.