Details
-
Type:
RFC
-
Status: Implemented
-
Resolution: Done
-
Component/s: DM
-
Labels:None
-
Location:this ticket
Description
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.
Attachments
Issue Links
- blocks
-
RFC-69 Refactor sconsUtils to enhance usability in CI
- Adopted
- is blocked by
-
DM-2769 sconsUtils has a hard dependency on EUPS for both tests and installation
- Done
-
DM-2774 Remove eups dependency from tests
- Invalid
-
DM-2772 datarel tests depend on EUPS
- Done
-
DM-2773 testing_endtoend tests depend on EUPS
- Done
- relates to
-
DM-2527 CameraMapper.getEupsProductName should be pure virtual
- Won't Fix
-
DM-2635 Provide a function to return the path to a package, given its name
- Done
-
DM-2636 Update code to use the function provided in DM-2635
- Done
-
DM-3153 meas_base still uses eups in tests
- Done
-
DM-3154 meas_astrom still using eups in tests
- Done
Dumb question, but do all our repos depend on the butler (and I don't mean in actual fact, I mean for architectural reasons). If not, surely creating a dependence on the butler replaces one problem with another?