The discussion in
DM-2527 demonstrated that test code uses EUPS to determine where things are located. This has two problems:
- Calling EUPS in a loop resulted in slow downs of the tests as the EUPS database was repeatedly read.
- This makes it impossible to run the tests standalone and burns-in a particular packaging implementation that is not relevant for the tests.
This RFC proposes that EUPS be removed from tests and an alternative scheme be used for locating supporting infrastructure. Some tests still need to locate other packages (in particular afwdata) so any replacement scheme must support some form of package location.
Some options for locating afwdata:
- Provide a test utility function for locating a package which can use an environment variable to find afwdata.
- Add afwdata as a git submodule in the test directory. This could result in multiple checkouts of the repository.
This RFC invites further discussion on whether EUPS should be removed from the tests. Comments on replacement functionality are welcomed to demonstrate feasibility.