Skip to content
This repository has been archived by the owner on Aug 11, 2023. It is now read-only.

Use pytest-astropy-header for test header #436

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions TEMPLATE_CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ be copied over manually if desired.

- Removed Appveyor CI option. Use ``os: windows`` in Travis CI. [#420]

- Use pytest-astropy-header for test header. [#436]

2.1 (unreleased)
----------------

Expand Down
1 change: 1 addition & 0 deletions {{ cookiecutter.package_name }}/setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ url = {{ cookiecutter.project_url }}
edit_on_github = {{ cookiecutter.edit_on_github_extension }}
github_project = {{ cookiecutter.github_project }}
python_requires = ">={{ cookiecutter.minimum_python_version }}"
tests_require = pytest; pytest-astropy; pytest-astropy-header
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should pytest-astropy be a strict dependency?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will be with this patch because I removed the if ... else ... check, which I think is more complicated than it's worth.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, but I think using pytest-astropy-header should just work for everything, isn't it (at least that was the reason I was pushing for having it as a separate plugin rather than shuffled into pytest-astropy)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. Theoretically it would work even if you have older astropy version, but that also makes it a compulsory dependency for tests. Or did I misunderstand your question?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no I think we're on the same page. But then we don't need to list pytest-astropy here, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yeah...


[options]
# install_requires should be formatted as a semicolon-separated list, e.g.:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,29 @@
import os

from astropy.version import version as astropy_version
if astropy_version < '3.0':
# With older versions of Astropy, we actually need to import the pytest
# plugins themselves in order to make them discoverable by pytest.
from astropy.tests.pytest_plugins import *
else:
# As of Astropy 3.0, the pytest plugins provided by Astropy are
# automatically made available when Astropy is installed. This means it's
# not necessary to import them here, but we still need to import global
# variables that are used for configuration.
from astropy.tests.plugins.display import (pytest_report_header,
PYTEST_HEADER_MODULES,
TESTED_VERSIONS)
from pytest_astropy_header.display import (PYTEST_HEADER_MODULES,
TESTED_VERSIONS)

from astropy.tests.helper import enable_deprecations_as_exceptions

## Uncomment the following line to treat all DeprecationWarnings as
## exceptions. For Astropy v2.0 or later, there are 2 additional keywords,
## as follow (although default should work for most cases).
## To ignore some packages that produce deprecation warnings on import
## (in addition to 'compiler', 'scipy', 'pygments', 'ipykernel', and
## 'setuptools'), add:
## modules_to_ignore_on_import=['module_1', 'module_2']
## To ignore some specific deprecation warning messages for Python version
## MAJOR.MINOR or later, add:
## warnings_to_ignore_by_pyver={(MAJOR, MINOR): ['Message to ignore']}
## exceptions. See API documentation for astropy.tests.helper module
## as the API might be different across several major releases.
# enable_deprecations_as_exceptions()


# Customize the following lines to add/remove entries from
# the list of packages for which version numbers are displayed when running
# the tests. Making it pass for KeyError is essential in some cases when
# the package uses other astropy affiliated packages.
try:
# the tests.
def pytest_configure(config):
config.option.astropy_header = True
PYTEST_HEADER_MODULES['Astropy'] = 'astropy'
del PYTEST_HEADER_MODULES['h5py']
except KeyError:
pass
PYTEST_HEADER_MODULES.pop('h5py', None)

# This is to figure out the package version, rather than
# using Astropy's
from .version import version, astropy_helpers_version
# This is to figure out the package version, rather than
# using Astropy's
from .version import version, astropy_helpers_version

packagename = os.path.basename(os.path.dirname(__file__))
TESTED_VERSIONS[packagename] = version
TESTED_VERSIONS['astropy_helpers'] = astropy_helpers_version
packagename = os.path.basename(os.path.dirname(__file__))
TESTED_VERSIONS[packagename] = version
TESTED_VERSIONS['astropy_helpers'] = astropy_helpers_version