usnistgov / mass

Microcalorimeter pulse-analysis software
MIT License
6 stars 0 forks source link

Master branch is failing tests #251

Closed joefowler closed 1 year ago

joefowler commented 1 year ago

Original report by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).


I forced a run of the tests on master, you can see the failure here: joe_fowler/mass

This is the last time master passed tests: joe_fowler/mass

The tests still pass on python 3.8, but fail on python 3.11.

I’m guessing its a dependency version, but it could also be a bug in python?

joefowler commented 1 year ago

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).


I wrote a script to compare the installed dependency versions, see script below and output.

broken_str = """Successfully installed asteval-0.9.31 contourpy-1.1.0 cycler-0.11.0 deprecated-1.2.14 dill-0.3.7 fastdtw-0.3.4 fonttools-4.42.1 future-0.18.3 greenlet-2.0.2 h5py-3.9.0 iniconfig-2.0.0 joblib-1.3.2 kiwisolver-1.4.5 lmfit-1.2.2 mass-0.8.0 matplotlib-3.7.2 numpy-1.25.2 packaging-23.1 palettable-3.3.3 pandas-2.1.0 patsy-0.5.3 pillow-10.0.0 pluggy-1.3.0 progress-1.6 pyparsing-3.0.9 pytest-7.4.0 python-dateutil-2.8.2 pytz-2023.3 scikit-learn-1.3.0 scipy-1.11.2 six-1.16.0 sqlalchemy-2.0.20 statsmodels-0.14.0 threadpoolctl-3.2.0 typing-extensions-4.7.1 tzdata-2023.3 uncertainties-3.1.7 wrapt-1.15.0 xraydb-4.5.1"""
working_str = """Successfully installed asteval-0.9.31 contourpy-1.1.0 cycler-0.11.0 deprecated-1.2.14 dill-0.3.7 fastdtw-0.3.4 fonttools-4.42.0 future-0.18.3 greenlet-2.0.2 h5py-3.9.0 iniconfig-2.0.0 joblib-1.3.2 kiwisolver-1.4.4 lmfit-1.2.2 mass-0.8.0 matplotlib-3.7.2 numpy-1.25.2 packaging-23.1 palettable-3.3.3 pandas-2.0.3 patsy-0.5.3 pillow-10.0.0 pluggy-1.2.0 progress-1.6 pyparsing-3.0.9 pytest-7.4.0 python-dateutil-2.8.2 pytz-2023.3 scikit-learn-1.3.0 scipy-1.11.1 six-1.16.0 sqlalchemy-2.0.20 statsmodels-0.14.0 threadpoolctl-3.2.0 typing-extensions-4.7.1 tzdata-2023.3 uncertainties-3.1.7 wrapt-1.15.0 xraydb-4.5.1"""

import collections

broken = set(broken_str.split(" "))
working = set(working_str.split(" "))

print(f"broken has these extra \n{broken-working}")
print(f"working has these extra \n{working-broken}")

output:

broken has these extra
{'fonttools-4.42.1', 'kiwisolver-1.4.5', 'scipy-1.11.2', 'pluggy-1.3.0', 'pandas-2.1.0'}
working has these extra
{'fonttools-4.42.0', 'pluggy-1.2.0', 'pandas-2.0.3', 'kiwisolver-1.4.4', 'scipy-1.11.1'}

joefowler commented 1 year ago

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).


On my windows pc I updated all things installed by pip using pip-review, then the tests started failing. Then I reverted scipy from 1.11.2 with pip install scipy==1.11.1 and the tests pass.

joefowler commented 1 year ago

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).


fixed by PR #228