Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a new interface for tests #81

Closed
1 of 8 tasks
jsolbrig opened this issue Jan 26, 2023 · 2 comments
Closed
1 of 8 tasks

Create a new interface for tests #81

jsolbrig opened this issue Jan 26, 2023 · 2 comments
Labels
testing Test datasets, scripts, and processes

Comments

@jsolbrig
Copy link
Contributor

jsolbrig commented Jan 26, 2023

Requested Update

Description

We should consider adding a new interface for integration tests called integration_tests and convert the current integration test repositories to be plugins for integration_tests.

Background and Motivation

Currently, we have a number of different integration test repositories. They contain data that is used for testing GeoIPS functionality and must be installed to a common directory that is referenced via the GEOIPS_TESTDATA_DIR environment variable.

Additionally, the test scripts that go with the test data are not housed with the test data. They are housed in the main GeoIPS repository. This makes it difficult to determine which test scripts go with which data.

Proposed Solution

I would like to create a new interface called integration_tests that would load plugins from the geoips.integration_tests entry point. Associated plugins would need to implement a Plugin module similar to other interfaces (see #78 for current configuration). The plugin module could perform the tests itself using Python or it could call an external script and examine its exit status.

We should also implement setup.py for the integration test repositories to allow it to be installable and discoverable as a GeoIPS plugin repository.

Note that this may need to wait until we have completed implementation of data file discovery for non-python files (#3). How the plugin itself is implemented may depend on the status of #75.

When implementing, we should also implement a CLI command for integration-tests or something similar that allows us to run installed integration tests at the command line.

Alternative Solutions

Status-quo?

Checklist for Completion

@jsolbrig jsolbrig added the testing Test datasets, scripts, and processes label Feb 1, 2024
@mindyls
Copy link
Contributor

mindyls commented Apr 4, 2024

Note we decided not to store the test scripts and test outputs with the test data because the test data is fairly static and does not require frequent updates (nor does it really need to be tracked).

We should think about it before we start storing files that we expect to periodically change with very large static datasets

@jsolbrig
Copy link
Contributor Author

jsolbrig commented May 2, 2024

This is superseded by #513, #514, and #515

@jsolbrig jsolbrig closed this as completed May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Test datasets, scripts, and processes
Projects
None yet
Development

No branches or pull requests

2 participants