Better dependency handling for test suite
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
IPython |
Confirmed
|
High
|
Unassigned |
Bug Description
This bug is a follow-up of:
https:/
which is now closed and split into several more specific reports. See the above for extra background.
The main point of this ticket is best summarized by Brian here:
It is still super easy for a single developer to break the test suite by making their new module depend on something (twisted, wx, etc.). For that dev, they always have the dep. installed, so they never see the failure, so all their new tests will run fine. This is particularly insidious (still) for twisted because iptest does not have a clean way of declaring test dependencies and run methods for individual files.
We are trying to do this by subpackage, but that is quite inflexible - what if only a single file in a subpackage depends on twisted - then the rest of the subpackage can't be tested using nose.
We need a simple, declarative API for "declaring" the testing related information on a per subpackage or per module basis. This includes:
* Dependencies
* Method of running the test (nose+iptest/trial)
* Thing like "test this subpackage this way, but these two modules are different" We run into this with frontend, which uses twisted in a few places, but not everywhere.