1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
import doctest
import importlib
from distutils.version import LooseVersion
import pytest
import numpy as np
module_names = """\
ase.atoms
ase.build.tools
ase.cell
ase.collections.collection
ase.dft.kpoints
ase.eos
ase.formula
ase.geometry.cell
ase.geometry.geometry
ase.io.ulm
ase.lattice
ase.phasediagram
ase.spacegroup.spacegroup
ase.spacegroup.xtal
ase.symbols
""".split()
# Fixme: The phasediagram module specifies unknown solver options
@pytest.mark.filterwarnings('ignore:Unknown solver options')
@pytest.mark.parametrize('modname', module_names)
def test_doctest(modname):
# Older numpies format arrays differently.
# We use the printoptions contextmanager from numpy 1.15:
# https://docs.scipy.org/doc/numpy/release.html#id45
if LooseVersion(np.__version__) < '1.15':
pytest.skip('need numpy >= 1.15')
mod = importlib.import_module(modname)
with np.printoptions(legacy='1.13'):
doctest.testmod(mod, raise_on_error=True, verbose=True)
|