From 983d6c6674f96fb1ce441ede549f08eccfbfcc24 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Wed, 19 Mar 2025 14:30:56 -0400 Subject: [PATCH 1/2] TST: Move full conftest.py back to package level because otherwise pytest cannot find it if run on installed code but we still need root level for tox pytest header --- astroquery/conftest.py | 62 ++++++++++++++++++++++++++++++++++++++++++ conftest.py | 34 +---------------------- 2 files changed, 63 insertions(+), 33 deletions(-) create mode 100644 astroquery/conftest.py diff --git a/astroquery/conftest.py b/astroquery/conftest.py new file mode 100644 index 0000000000..423303ba96 --- /dev/null +++ b/astroquery/conftest.py @@ -0,0 +1,62 @@ +# Licensed under a 3-clause BSD style license - see LICENSE.rst + +import os +from pathlib import Path + +from astropy.utils import minversion +import numpy as np +import pytest +from pytest_astropy_header.display import (PYTEST_HEADER_MODULES, + TESTED_VERSIONS) + + +# Keep this until we require numpy to be >=2.0 +if minversion(np, "2.0.0.dev0+git20230726"): + np.set_printoptions(legacy="1.25") + + +def pytest_configure(config): + config.option.astropy_header = True + + PYTEST_HEADER_MODULES['Astropy'] = 'astropy' + PYTEST_HEADER_MODULES['regions'] = 'regions' + PYTEST_HEADER_MODULES['pyVO'] = 'pyvo' + PYTEST_HEADER_MODULES['mocpy'] = 'mocpy' + PYTEST_HEADER_MODULES['astropy-healpix'] = 'astropy_healpix' + PYTEST_HEADER_MODULES['vamdclib'] = 'vamdclib' + + del PYTEST_HEADER_MODULES['h5py'] + del PYTEST_HEADER_MODULES['Scipy'] + del PYTEST_HEADER_MODULES['Pandas'] + + # keyring doesn't provide __version__ any more + # PYTEST_HEADER_MODULES['keyring'] = 'keyring' + + # add '_testrun' to the version name so that the user-agent indicates that + # it's being run in a test + from astroquery import version + version.version += '_testrun' + + TESTED_VERSIONS['astroquery'] = version.version + TESTED_VERSIONS['astropy_helpers'] = version.astropy_helpers_version + + +def pytest_addoption(parser): + parser.addoption( + '--alma-site', + action='store', + default='almascience.eso.org', + help='ALMA site (almascience.nrao.edu, almascience.eso.org or ' + 'almascience.nao.ac.jp for example)' + ) + + +@pytest.fixture(scope='function') +def tmp_cwd(tmp_path): + """Perform test in a pristine temporary working directory.""" + old_dir = Path.cwd() + os.chdir(tmp_path) + try: + yield tmp_path + finally: + os.chdir(old_dir) diff --git a/conftest.py b/conftest.py index 423303ba96..bbb646e8dd 100644 --- a/conftest.py +++ b/conftest.py @@ -1,20 +1,9 @@ -# Licensed under a 3-clause BSD style license - see LICENSE.rst +# Duplicate pytest header config here for tox. -import os -from pathlib import Path - -from astropy.utils import minversion -import numpy as np -import pytest from pytest_astropy_header.display import (PYTEST_HEADER_MODULES, TESTED_VERSIONS) -# Keep this until we require numpy to be >=2.0 -if minversion(np, "2.0.0.dev0+git20230726"): - np.set_printoptions(legacy="1.25") - - def pytest_configure(config): config.option.astropy_header = True @@ -39,24 +28,3 @@ def pytest_configure(config): TESTED_VERSIONS['astroquery'] = version.version TESTED_VERSIONS['astropy_helpers'] = version.astropy_helpers_version - - -def pytest_addoption(parser): - parser.addoption( - '--alma-site', - action='store', - default='almascience.eso.org', - help='ALMA site (almascience.nrao.edu, almascience.eso.org or ' - 'almascience.nao.ac.jp for example)' - ) - - -@pytest.fixture(scope='function') -def tmp_cwd(tmp_path): - """Perform test in a pristine temporary working directory.""" - old_dir = Path.cwd() - os.chdir(tmp_path) - try: - yield tmp_path - finally: - os.chdir(old_dir) From 0167cf2570716c58382aea8669a3990f6261b66c Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Wed, 19 Mar 2025 14:39:16 -0400 Subject: [PATCH 2/2] pop instead of del --- astroquery/conftest.py | 6 +++--- conftest.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/astroquery/conftest.py b/astroquery/conftest.py index 423303ba96..51793f18db 100644 --- a/astroquery/conftest.py +++ b/astroquery/conftest.py @@ -25,9 +25,9 @@ def pytest_configure(config): PYTEST_HEADER_MODULES['astropy-healpix'] = 'astropy_healpix' PYTEST_HEADER_MODULES['vamdclib'] = 'vamdclib' - del PYTEST_HEADER_MODULES['h5py'] - del PYTEST_HEADER_MODULES['Scipy'] - del PYTEST_HEADER_MODULES['Pandas'] + PYTEST_HEADER_MODULES.pop('h5py', None) + PYTEST_HEADER_MODULES.pop('Scipy', None) + PYTEST_HEADER_MODULES.pop('Pandas', None) # keyring doesn't provide __version__ any more # PYTEST_HEADER_MODULES['keyring'] = 'keyring' diff --git a/conftest.py b/conftest.py index bbb646e8dd..85abaee4d1 100644 --- a/conftest.py +++ b/conftest.py @@ -14,9 +14,9 @@ def pytest_configure(config): PYTEST_HEADER_MODULES['astropy-healpix'] = 'astropy_healpix' PYTEST_HEADER_MODULES['vamdclib'] = 'vamdclib' - del PYTEST_HEADER_MODULES['h5py'] - del PYTEST_HEADER_MODULES['Scipy'] - del PYTEST_HEADER_MODULES['Pandas'] + PYTEST_HEADER_MODULES.pop('h5py', None) + PYTEST_HEADER_MODULES.pop('Scipy', None) + PYTEST_HEADER_MODULES.pop('Pandas', None) # keyring doesn't provide __version__ any more # PYTEST_HEADER_MODULES['keyring'] = 'keyring'