Ticket #9472 (closed: fixed)
investigate Sphinx doctest for usage documentation
Reported by: | Anders Markvardsen | Owned by: | Anders Markvardsen |
---|---|---|---|
Priority: | major | Milestone: | Release 3.2 |
Component: | Documentation | Keywords: | |
Cc: | martyn.gigg@… | Blocked By: | |
Blocking: | #8919 | Tester: | Peter Parker |
Description
Martyn identified Sphinx doctest, http://sphinx-doc.org/ext/doctest.html, as a possible candidate for creating usage documentation section for #8919
Here investigate if Sphinx doctest tick the boxes
Attachments
Change History
comment:2 Changed 6 years ago by Anders Markvardsen
The following rst code:
.. testsetup:: * from mantid.simpleapi import * Example 1: .. testcode:: Ex1 # create some workspace dataX = [0, 1] dataY = [0, 2] ws = CreateWorkspace(dataX, dataY) # do blah blah # print output for testing print ws.readY(0)[1] .. testcleanup:: Ex1 DeleteWorkspace(ws) .. testoutput:: Ex1 :hide: 2.0 Example 2: .. testcode:: Ex2 # create some workspace dataX = [0, 1] dataY = [0, 2] ws = CreateWorkspace(dataX, dataY) # do blah blah # print output for testing print ws.readY(0)[1] .. testcleanup:: Ex2 DeleteWorkspace(ws) .. testoutput:: Ex2 :hide: 3.0
Upon running 'make doctest' the above will generate the output:
CreateWorkspace-[Notice] CreateWorkspace started CreateWorkspace-[Notice] CreateWorkspace successful, Duration 0.00 seconds ********************************************************************** File "Algorithms\doc\Rebin.rst", line 69, in Ex2 Failed example: # create some workspace dataX = [0, 1] dataY = [0, 2] ws = CreateWorkspace(dataX, dataY) # do blah blah # print output for testing print ws.readY(0)[1] #print 2+2 # this will give output Expected: 3.0 Got: 2.0 DeleteWorkspace-[Notice] DeleteWorkspace started DeleteWorkspace-[Notice] DeleteWorkspace successful, Duration 0.00 seconds CreateWorkspace-[Notice] CreateWorkspace started CreateWorkspace-[Notice] CreateWorkspace successful, Duration 0.00 seconds DeleteWorkspace-[Notice] DeleteWorkspace started DeleteWorkspace-[Notice] DeleteWorkspace successful, Duration 0.00 seconds 1 items passed all tests: 1 tests in Ex1 ********************************************************************** 1 items had failures: 1 of 1 in Ex2 2 tests in 2 items. 1 passed and 1 failed. ***Test Failed*** 1 failures. 2 items passed all tests: 1 tests in Ex1 (cleanup code) 1 tests in Ex2 (cleanup code) 2 tests in 2 items. 2 passed and 0 failed. Test passed. Doctest summary =============== 2 tests 1 failure in tests 0 failures in setup code 0 failures in cleanup code build finished with problems.
and the output from running 'make html' is shown in the attached makeHTMLout.PNG
Changed 6 years ago by Anders Markvardsen
- Attachment makeHTMLout.PNG added
output from running 'make html'
comment:3 Changed 6 years ago by Anders Markvardsen
From the observation in Comment 2 sphinx doctest appear to tick the boxes:
- Can support multiple example
- Can display example as HTML
- Examples can be unit tested to a degree sufficient for this (not suppose to be full blown unit tests, this is done separately)
- provide option for setup and cleanup and hide output in html if this is found useful
comment:4 Changed 6 years ago by Anders Markvardsen
- Status changed from assigned to verify
- Resolution set to fixed
To tester:
Agree observations in Comments 2 and 3
comment:5 Changed 6 years ago by Anders Markvardsen
- Component changed from Framework to Documentation
comment:6 Changed 6 years ago by Peter Parker
- Status changed from verify to verifying
- Tester set to Peter Parker
Note: See
TracTickets for help on using
tickets.