jayvdb created this task.
jayvdb added a subscriber: jayvdb.
jayvdb added projects: pywikibot-core, Pywikibot-documentation, 
Google-Code-In-2015.
Herald added subscribers: pywikibot-bugs-list, Aklapper.
Herald added a project: Documentation.

TASK DESCRIPTION
  [[https://en.wikipedia.org/wiki/Doctest | doctest]] are pieces of text in 
[[https://en.wikipedia.org/wiki/Docstring|docstrings]] that look like 
interactive Python sessions.
  
  They are included in the generated documentation, such as 
https://doc.wikimedia.org/pywikibot/api_ref/pywikibot.data.html#pywikibot.data.api.Request
 , allowing quicker understanding of how to use a class or function.
  
  Pywikibot only has a few doctest.
  However Pywikibot has many unittests in 
[[https://github.com/wikimedia/pywikibot-core/tree/master/tests | `tests`]], 
which can be used as the basis of new doctest.
  
  doctest in patches uploaded into Gerrit are tested by Jenkins using the 
[[https://github.com/wikimedia/pywikibot-core/blob/master/tox.ini | `tox.ini` 
]] rules `nose` and `nose34`.
  However doctest will fail in Jenkins if they use network resources 
(https://gerrit.wikimedia.org/r/#/c/256212 will fix this).  If a doctest will 
use network resources, the module should be added to the `tox.ini` pattern 
`nose_skip`.
  
  Easy GCI task: amend the docstring for a class or generator function in 
`pywikibot/` to include a doctest with at least seven lines of python, and at 
least five lines of output.
  Many generator functions can be found in `pywikibot/pagegenerators.py`
  Do not create doctest for
  * `Exception` or `Warning` subclasses (i.e. everything in 
`pywikibot/exceptions.py`), 
  * Family classes (i.e. `pywikibot/families/*.py`),
  * private classes (i.e. name beginning with '_')
  * classes that are unused or only used by `scripts/script_wui.py` (e.g. 
`pywikibot/botirc.py:class IRCBot` is only used by `scripts/script_wui.py`)
  * 'base' classes that are only used as super classes and never used directly 
(e.g. 'Family`, `UI`, `BasePage`, `WikibasePage` and `BaseSite`)
  
  doctest for 'mixin' classes (they are usually named `..Mixin` such as 
`UnicodeMixin` and `ComparableMixin`) must define and use an example class.
  
  Mentor: @jayvdb

TASK DETAIL
  https://phabricator.wikimedia.org/T120024

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: jayvdb
Cc: Aklapper, jayvdb, pywikibot-bugs-list, Jay8g, Spage



_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to