GeoIPS uses tests to make sure we don't break things by changing the code or succumbing to the battalion of progress (aka installing updates). Some of those tests are integration tests, which test more than just the code - they test how well (or not well) GeoIPS code integrates into an OS, with packages, with data, etc. They're a "real world test". Right now, they're all shell scripts that call geoips run. That's gross; also it's often OS dependant, and means we have to ship .sh files instead of pure python. It also means we can't test the tests, or use any of our python magic on them.
Goal
Introduce a new GeoIPS interface for integration tests.
:microscope: Scope
Define the boundaries of the project:
Don't remove old .sh tests
DO implement ONE basic test with the new interface
Everything should be python
:family: Related
Luke, #513 is your father
We got the paternity tests back, YOU are the father to this child: #515
❓ Alternative Solutions
If we do need to directly call the CLI as part of some unit tests, consider solutions other than calling subprocess if possible. If not, use subprocess as judiciously as possible.
:rainbow: Overview
GeoIPS uses tests to make sure we don't break things by changing the code or succumbing to the battalion of progress (aka installing updates). Some of those tests are integration tests, which test more than just the code - they test how well (or not well) GeoIPS code integrates into an OS, with packages, with data, etc. They're a "real world test". Right now, they're all shell scripts that call
geoips run
. That's gross; also it's often OS dependant, and means we have to ship.sh
files instead of pure python. It also means we can't test the tests, or use any of our python magic on them.Goal
Introduce a new GeoIPS interface for integration tests.
:microscope: Scope
Define the boundaries of the project:
.sh
tests:family: Related
❓ Alternative Solutions
If we do need to directly call the CLI as part of some unit tests, consider solutions other than calling
subprocess
if possible. If not, usesubprocess
as judiciously as possible.🥇 Defining Done
geoips test