This is one of those messages that tries to 'raise Awareness'.

To run all of the optional doctests, regardless of their modifiers, we
can use

sage -t -only-optional

Most machines do not have all of the optional packages installed, so
it may be more useful to target a particular package:

sage -t --only-optional=xyz

But this could still skip some xyz-only tests, if their doctesting
directives contain unnecessary modifiers.

I did a search for doctests with '#optional' tags:

cd  /path/to/sage-4.5.3.alpha1/devel/sage
grep "sage:" `find doc sage -name \*.px\* -o -name \*.py\* -o -name
\*.rst -o -name \*.sage` | grep "#" | cut -d '#' -f 2- | sed 's/^[
\t]*//' | sed 's/[ \t]*$//' | grep optional | sort | uniq -c | sort -nr

    599 optional
    523 optional - magma
    176 optional - qepcad
    111 optional - axiom
    110 optional - maple
     96 optional - scilab
     94 optional -- kash
     88 optional - gap3
     74 optional - mathematica
     53 optional -- requires Octave
     51 optional - mupad
     49 optional - fricas
     31 requires optional database_gap
     27 optional - CHomP
     25 optional - mupad-Combinat
     23 optional - stein_watkins_database
     20 requires optional GAP package Guava
     19 optional - database_cremona_ellcurve
     18 optional - internet
     16 optional -- requires maple
     16 optional -- requires LiE
     15 optional -- souvigner
     14 optional - jones_database
     14 optional - gap_packages
     13 requires optional gap package 'design'
     13 optional requires database_symbolic_data
     13 optional - database_gap
     12 optional -- requires convert command
     12 optional -- internet
     12 optional -- gcc
     11 optional - macaulay2
      9 optional -- magma
      7 random, optional - magma
      7 optional: needs polymake
      7 optional - dot2tex, graphviz
      7 optional - database_cremona_ellcurves
      6 requires optional package
      6 requires optional database
      6 optional - sloane_database
      5 random; optional -- internet
      4 requires internet, optional
      4 optional -- rgraphics
      4 optional -- requires mathematica
      4 optional  -- requires mathematica
      4 optional - requires maple
      4 optional -- requires internet
      4 optional - latex
      4 optional -- fortran
      4 optional database_gap
      3 random output                     # optional
      3 random, optional - qepcad
      3 optional - requires matlab
      3 optional  -- requires maple
      3 optional - requires internet
      3 optional - requires GLPK or COIN-OR/CBC
      3 optional - requires dot2tex and graphviz
      3 optional, needs lrs package installed
      3 optional - matlab
      2 requires the optional nauty package
      2 requires optional octave
      2 requires optional database_gap package
      2 requires optional database_gap # long time
      2 requires optional database_gap # indirect doctest
      2 random; optional - maple
      2 optional - scilab and not tested
      2 optional -- requires Octave; random output
      2 optional -- requires Maple
      2 optional -- requires lie package
      2 optional requires dot2tex
      2 optional - requires dot2tex
      2 optional -- pops up a window.
      2 optional matlab package
      2 optional - kash
      2 optional (indirect doctest)
      2 optional - gap_design
      2 optional - gap3chevie
      2 optional - cunningham
      2 optional - CPLEX
      2 optional - CBC
      2 nécessite le paquet facultatif database_gap (optional)
      2 long time # optional - CHomP
      2 long time and requires optional GAP package Guava
      2 indirect doctest; optional - magma
      2 implicit doctest; optional - magma
      2 brackets are optional
      1 We remove the file for doctesting; optional -- rgraphics
      1 We remove the file for doctesting, not needed in notebook;
optional -- rgraphics
      1 uses the sieve    (optional: time doesn't work on cygwin)
      1 use sets to ignore order #optional
      1 This saves to filename, but is not viewable from command line;
optional -- rgraphics
      1 ten thousand character string.       # optional - magma
      1 Steiner surface   optional - surf
      1 somewhat randomly ordered output; optional - maple
      1 somewhat random and optional - kash
      1 solves linear equation: a*c = b  # optional -- requires Octave;
random output
      1 sets foo to 0 in magma; optional - magma
      1 same magma object, now prints as x; optional - magma
      1 same code, from a different angle  optional - surf
      1 #             sage: X = kash.help('IntegerRing')   # needs
optional kash package
      1 #         sage: upper                   # optional
      1 #         sage: text                    # optional
      1 sage: R(h)                              # optional
      1 sage: R(h^20) == f^20                   # optional
      1 sage: macaulay2(R)                      # optional, requires M2
      1 #         sage: lower, upper, text = linear_code_bound(7, 32, 8)
    # optional -- needs internet
      1 #         sage: lower                   # optional
      1 #         sage: linear_code_bound(9, 32, 200)          #
optional -- needs internet
      1 sage: h = f._macaulay2_()               # optional
      1 sage: C.minimum_distance_why()     # optional (net connection)
      1 sage: C.minimum_distance_why()          # optional (net connection)
      1 sage: C.minimum_distance_upper_bound()  # optional (net connection)
      1 sage: C.minimum_distance_upper_bound()   # optional (net connection)
      1 sage1 below somewhat random; optional -- kash
      1 # requires optional octave
      1 requires optional matlab
      1 requires optional GAP database package
      1 requires optional database_gap#
      1 random output     (optional -- requires time command)
      1 random, optional -- requires MuPAD
      1 random optional matlab package
      1 random; optional - magma
      1 random; optional - internet
      1 random, optional - gap3
      1 random                 #optional - gap3
      1 random                  #optional - gap3
      1 random                          #optional - gap3
      1 random                               #optional - gap3
      1 random, optional
      1 random and optional
      1 plot should appear; optional -- rgraphics
      1 output somewhat random; optional -- kash
      1 optional -- you must have phc install
      1 optional -- to reset maple.
      1 optional - scilab; random output
      1 optional - scilab (indirect doctest)
      1 optional -- requires time command
      1 optional -- requires the internet
      1 optional requires the Hmisc R package
      1 optional -- requires precomputing "sympow('-new_data 2')"
      1 optional - requires precomputing "sympow('-new_data 2')"
      1 optional -- requires precomputations
      1 optional -- requires Octave; random output depending on version
      1 optional -- requires Octave (and output is slightly random in
low order bits)
      1 optional -- requires Octave; and output is random
      1 optional -- requires Octave, < 1/100th of a second
      1 optional -- requires MuPAD
      1 optional requires maple
      1 optional, requires M2
      1 optional requires internet connection
      1 optional requires internet
      1 optional -- requires gnuplot  (not tested, since something pops up).
      1 optional -- requires Gap optional databases
      1 optional requires database_hohel
      1 optional requires database_gap
      1 optional -- requires database
      1 optional -- requires Axiom
      1 optional; random output
      1 optional random
      1 optional  - qepcad
      1 optional octave required
      1 optional (normally use plot here)
      1 optional - mupad # note: the order of the result seems to depend
on the version of MuPAD / MuPAD-Combinat
      1 optional -- mupad
      1 optional magma required
      1 optional - magma, database_gap
      1 optional - magma, , database_gap
      1 optional: magma
      1 optional- macaulay2
      1 optional  - macaulay2
      1 optional Kohel database required
      1 optional (internet connection)
      1 optional, indirect doctest
      1 optional fricas
      1 optional - cremona
      1 optional --- conductor is greater than 10000
      1 optional  - axiom
      1 optional axiom
      1 optional and randomly growing.
      1 optional and not tested
      1 Note the double quotes in single quotes!; optional -- rgraphics
      1 new magma session; optional - magma
      1 name sage34 below random; optional -- kash
      1 name sage32 below random; optional -- kash
      1 name sage2 below somewhat random; optional -- kash
      1 name sage14 random; optional -- kash
      1 name sage14 below random; optional -- kash
      1 magma >= v2.12; optional - magma
      1 long (10 seconds); optional - magma
      1 indirect doctest # requires optional database_gap
      1 indirect doctest # optional - mupad
      1 (indirect doctest) optional - magma
      1 indirect doctest; optional - macaulay2
      1 indirect doctest, optional - CHomP
      1 For doctesting, we remove the file; optional -- rgraphics
      1 filename not needed in notebook, used for doctesting; optional
-- rgraphics
      1 a cone         optional - surf


According to the doctesting conventions section of the developer's guide
[1],

"""
Any text after 'optional' is interpreted as a package name. Therefore if
the doctest is marked 'optional: requires chomp', then 'requires' is viewed
as a package name, so the test would only be run by either 'sage -t
--optional f.py' or 'sage -t --only-optional=requires,chomp f.py'.
"""

[1]
http://www.sagemath.org/doc/developer/conventions.html#further-conventions-for-automated-testing-of-examples

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to