import re
import scipy
import scipy.version
def test_valid_scipy_version():
# Verify that the SciPy version is a valid one (no .post suffix or other
# nonsense). See NumPy issue gh-6431 for an issue caused by an invalid
# version.
version_pattern = r"^[0-9]+\.[0-9]+\.[0-9]+(|a[0-9]|b[0-9]|rc[0-9])"
dev_suffix = r"((.dev0)|(\.dev0+\+git[0-9]{8}.[0-9a-f]{7}))"
if scipy.version.release:
res = re.match(version_pattern, scipy.__version__)
else:
res = re.match(version_pattern + dev_suffix, scipy.__version__)
assert res is not None
assert scipy.__version__
def test_version_submodule_members():
"""`scipy.version` may not be quite public, but we install it.
So check that we don't silently change its contents.
"""
for attr in ('version', 'full_version', 'short_version', 'git_revision', 'release'):
assert hasattr(scipy.version, attr)