NCAS-CMS / cf-python

A CF-compliant Earth Science data analysis library
http://ncas-cms.github.io/cf-python
MIT License
125 stars 19 forks source link

Validate/run doctests when running the tests #4

Open kinow opened 5 years ago

kinow commented 5 years ago

I could run the tests with python run_tests.py, though a few failed. Looking at the doctests, some appear to be invalid or incomplete.

Would be nice to fix these, so they can also be used as tests for the code and API.

Here's an example output of running the current doctests:

$ python -m doctest cf/units.py 
**********************************************************************
File "cf/units.py", line 11, in units.Units
Failed example:
    help(cf.Units())
Exception raised:
    Traceback (most recent call last):
      File "/home/kinow/Development/python/anaconda3/lib/python3.7/doctest.py", line 1329, in __run
        compileflags, 1), test.globs)
      File "<doctest units.Units[0]>", line 1, in <module>
        help(cf.Units())
    NameError: name 'cf' is not defined
**********************************************************************
1 items had failures:
   1 of   1 in units.Units
***Test Failed*** 1 failures.
kinow commented 5 years ago

Here's an example that runs pytest (which is able to run unittest tests too) and also verifies the doctests: https://github.com/cylc/cylc-flow/blob/91bd2cf7958fcbfe982d3f260363ef13e731666e/pytest.ini#L19