#16609: Warn about overly long doctests
-------------------------------------+-------------------------------------
       Reporter:  vbraun             |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.3
      Component:  doctest framework  |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Volker Braun       |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/vbraun/doctest_limits            |  483c6d1b9594c6171204170a35e0454eb2c1f318
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by ppurka):

 I tried this on a different machine. I was expecting a summary at the end
 of the modules that are taking too
 much time. Currently, the output has to be visually inspected.
 {{{
 ~/Installations/sage [t/16609/doctest] $ sage -tp --long src/sage/plot
 Running doctests with ID 2014-07-30-22-26-45-7bc2417c.
 Sorting sources by runtime so that slower doctests are run first....
 Doctesting 51 files using 24 threads.
 sage -t --long --warn-long 36.6 src/sage/plot/bezier_path.py
     [37 tests, 4.60 s]
 sage -t --long --warn-long 36.6 src/sage/plot/arc.py
     [39 tests, 5.52 s]
 sage -t --long --warn-long 36.6 src/sage/plot/misc.py
     [42 tests, 5.63 s]
 sage -t --long --warn-long 36.6 src/sage/plot/text.py
     [42 tests, 6.01 s]
 sage -t --long --warn-long 36.6
 src/sage/plot/plot3d/parametric_surface.pyx
     [85 tests, 6.65 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/base.pyx
     [269 tests, 7.20 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/plot_field3d.py
     [8 tests, 7.59 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/shapes2.py
     [109 tests, 7.70 s]
 sage -t --long --warn-long 36.6 src/sage/plot/density_plot.py
     [35 tests, 8.78 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/revolution_plot3d.py
     [20 tests, 3.57 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot_field.py
     [53 tests, 9.59 s]
 sage -t --long --warn-long 36.6 src/sage/plot/bar_chart.py
     [22 tests, 3.54 s]
 sage -t --long --warn-long 36.6 src/sage/plot/circle.py
     [54 tests, 10.13 s]
 sage -t --long --warn-long 36.6 src/sage/plot/arrow.py
     [66 tests, 10.21 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/parametric_plot3d.py
     [196 tests, 10.38 s]
 sage -t --long --warn-long 36.6 src/sage/plot/polygon.py
     [71 tests, 10.50 s]
 sage -t --long --warn-long 36.6 src/sage/plot/scatter_plot.py
     [19 tests, 2.79 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/tachyon.py
     [315 tests, 2.98 s]
 sage -t --long --warn-long 36.6 src/sage/plot/ellipse.py
     [35 tests, 5.79 s]
 sage -t --long --warn-long 36.6 src/sage/plot/disk.py
     [55 tests, 5.12 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/shapes.pyx
     [159 tests, 3.67 s]
 sage -t --long --warn-long 36.6 src/sage/plot/java3d.py
     [1 test, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/point_c.pxi
     [0 tests, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/examples.py
     [4 tests, 0.38 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/help.pyx
     [0 tests, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/index_face_set.pyx
     [48 tests, 0.44 s]
 sage -t --long --warn-long 36.6 src/sage/plot/__init__.py
     [0 tests, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/all.py
     [0 tests, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/all.py
     [0 tests, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/__init__.py
     [0 tests, 0.00 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/tri_plot.py
     [70 tests, 0.54 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/texture.py
     [61 tests, 0.29 s]
 sage -t --long --warn-long 36.6 src/sage/plot/colors.py
     [248 tests, 4.55 s]
 sage -t --long --warn-long 36.6 src/sage/plot/step.py
     [4 tests, 1.82 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/platonic.py
     [41 tests, 1.37 s]
 sage -t --long --warn-long 36.6 src/sage/plot/hyperbolic_triangle.py
     [8 tests, 1.20 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/list_plot3d.py
     [37 tests, 2.19 s]
 sage -t --long --warn-long 36.6 src/sage/plot/hyperbolic_arc.py
     [8 tests, 2.32 s]
 sage -t --long --warn-long 36.6 src/sage/plot/primitive.py
     [43 tests, 1.67 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/transform.pyx
     [25 tests, 3.27 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/implicit_surface.pyx
     [93 tests, 1.92 s]
 sage -t --long --warn-long 36.6 src/sage/plot/animate.py
     [99 tests, 12.60 s]
 sage -t --long --warn-long 36.6 src/sage/plot/point.py
     [81 tests, 14.69 s]
 sage -t --long --warn-long 36.6 src/sage/plot/complex_plot.pyx
     [31 tests, 15.37 s]
 sage -t --long --warn-long 36.6 src/sage/plot/matrix_plot.py
     [62 tests, 15.64 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/plot3d.py
     [227 tests, 17.53 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot3d/implicit_plot3d.py
     [57 tests, 19.67 s]
 sage -t --long --warn-long 36.6 src/sage/plot/line.py
     [79 tests, 20.96 s]
 sage -t --long --warn-long 36.6 src/sage/plot/contour_plot.py
     [124 tests, 43.19 s]
 sage -t --long --warn-long 36.6 src/sage/plot/graphics.py
     [411 tests, 80.43 s]
 sage -t --long --warn-long 36.6 src/sage/plot/plot.py
     [389 tests, 95.00 s]
 ----------------------------------------------------------------------
 All tests passed!
 ----------------------------------------------------------------------
 Total time for all tests: 95.2 seconds
     cpu time: 471.7 seconds
     cumulative wall time: 495.0 seconds
 }}}

 For the summary, I have something like this in mind (the output may be
 sorted or unsorted according to the highest time)
 {{{
 The following files took more than 36.6 s to doctest:
 [43.19 s] src/sage/plot/contour_plot.py
 [80.43 s] src/sage/plot/graphics.py
 [95.00 s] src/sage/plot/plot.py
 }}}
 I haven't had a close look at the code, so I am not sure if it is possible
 to provide a summary like this.

--
Ticket URL: <http://trac.sagemath.org/ticket/16609#comment:13>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to