metno / pyaerocom

Python tools for climate and air quality model evaluation
https://pyaerocom.readthedocs.io/
GNU General Public License v3.0
26 stars 15 forks source link

tests with lustre-access fail #1037

Closed heikoklein closed 8 months ago

heikoklein commented 8 months ago

Describe the bug Please provide a clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Run tox or pytest on PPI or laptop with mounted /lustre

Expected behavior All unit-tests should pass.

avaldebe commented 8 months ago

alas, the PR did not addresses all the problems with local tests

FAILED tests/io/test_readungridded.py::test_supported - AssertionError: assert {'AeronetInvV...2.daily', ...} <= {'AeronetInvV...2.daily', ...}
FAILED tests/plugins/test_entry_points.py::test_gridded - AssertionError: no entry points found
FAILED tests/plugins/test_entry_points.py::test_ungridded - AssertionError: no entry points found

these errors are a direct result of the entry points not been registered properly

FAILED tests/test_colocation_auto.py::test_colocator_instantiate_gridded_reader - NotImplementedError: Reader ReadMscwCtm is not supported: 'ReadMscwCtm'
FAILED tests/test_colocation_auto.py::test_colocator_instantiate_gridded_reader_model_data_dir - NotImplementedError: Reader ReadMscwCtm is not supported: 'ReadMscwCtm'
FAILED tests/test_colocation_auto.py::test_colocator__get_gridded_reader_class - NotImplementedError: Reader ReadMscwCtm is not supported: 'ReadMscwCtm'
FAILED tests/test_colocation_auto.py::test_colocation_pyaro - KeyError: 'concso4'
FAILED tests/test_colocation_auto.py::test_colocation_pyaro_change_obs_id - KeyError: 'concso4'

these are a side effect of the missing readers (which were defined as entry points)

FAILED tests/test_geodesy.py::test_etopo_altitude - FileNotFoundError: [Errno 2] No such file or directory: '/home/lewisb/.geonum/ETOPO1_Ice_g_gmt4.grd'

some of the test on this module are broken/unreliable, see #1050 for a follow up.

I plan to deal with the broken entry points on a separate PR, so I'll mark this PR as a draft until that is fixed.

Originally posted by @avaldebe in https://github.com/metno/pyaerocom/issues/1041#issuecomment-1996953597

heikoklein commented 8 months ago

@avaldebe Can we close this again now that the #1050 is a issue of it's own and #1051 fixed the entry-points?

avaldebe commented 8 months ago

spoke too soon, tests/test_config.py::test_Config_read_config are broken on a local machine with access to /lustre/storeA and /lustre/storeB

$ python -m pytest tests/test_config.py
Test session starts (platform: linux, Python 3.10.12, pytest 8.1.1, pytest-sugar 1.0.0)
rootdir: /home/alvarov/Python/pyaerocom
configfile: pyproject.toml
plugins: xdist-3.5.0, dependency-0.6.0, cov-4.1.0, sugar-1.0.0
...
tests/test_config.py:134: AssertionError
----------------------------------------------------- Captured log call ------------------------------------------------------
INFO     pyaerocom.config:config.py:275 Checking access to: /home/alvarov
INFO     pyaerocom.config:config.py:275 Checking access to: /lustre/storeB/project
INFO     pyaerocom.config:config.py:275 Checking access to: /home/alvarov/aerocom/aerocom1
INFO     pyaerocom.config:config.py:275 Checking access to: /lustre/storeB/project/aerocom/aerocom1
INFO     pyaerocom.config:config.py:275 Checking access to: /home/alvarov/aerocom
INFO     pyaerocom.config:config.py:275 Checking access to: /lustre/storeB/project/aerocom

 tests/test_config.py ⨯✓✓✓✓✓✓✓✓✓✓s✓✓✓s                                                                         100% ██████████
================================================== short test summary info ===================================================
FAILED tests/test_config.py::test_Config_read_config[metno-None-False-False-0] - AssertionError
FAILED tests/test_config.py::test_Config_read_config[metno-None-True-False-0] - AssertionError
FAILED tests/test_config.py::test_Config_read_config[metno-None-True-True-0] - AssertionError
FAILED tests/test_config.py::test_Config_read_config[metno-/home/alvarov-True-True-2] - AssertionError

Results (0.12s):
      13 passed
       4 failed
         - tests/test_config.py:115 test_Config_read_config[metno-None-False-False-0]
         - tests/test_config.py:115 test_Config_read_config[metno-None-True-False-0]
         - tests/test_config.py:115 test_Config_read_config[metno-None-True-True-0]
         - tests/test_config.py:115 test_Config_read_config[metno-/home/alvarov-True-True-2]
       2 skipped
avaldebe commented 8 months ago

spoke too soon, tests/test_config.py::test_Config_read_config are broken on a local machine with access to /lustre/storeA and /lustre/storeB

In all the failed tests len(cfg.DATA_SEARCH_DIRS) is 30. The tests expect 0, 0, 0 and 2 respectively.

avaldebe commented 8 months ago

moved to its own issue #1054