#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:          
---------------------------+------------------------------------------------
Description changed by hthomas:

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 (313 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
>
>  * misc/cython.py 37% (#11954): 38% (6 of 16), medium -- John Palmieri
>
>  * interfaces/psage.py (#12061):  85% (12 of 14), easy -- ppurka
>
> Claimed (127 functions to doctest):
>
>  * 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 -- ?

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 (325 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

  * misc/cython.py 37% (#11954): 38% (6 of 16), medium -- John Palmieri

  * interfaces/psage.py (#12061):  85% (12 of 14), easy -- ppurka

  * matrix/matrix0.pyx (#12585): 87% (73 of 87), easy -- Hugh Thomas

 Claimed (113 functions to doctest):

  * 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 -- ?

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12024#comment:48>
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.

Reply via email to