be able to add fixtures once and for all for all tests, instead of loading
them again and again for each test, if running on a database that supports
transaction rollbacks. In this case, fixtures specified in the perma_fixtures
class attribute will be loaded permanently, and not re-loaded. Fixtures
specifice as before, in a fixtures class attribute, will be treated as
before.
The downside of this is that as fixtures are loaded and not unloaded, they
can conflict with each other. The requirements on consistency becomes much
greater. The effect of this has been to require quite a bit of changes to
the simplified creations of various objects in make_test_data() in cases
where identically named objects occur in fixtures. Where completely
fictitious objects are created, no conflicts appear.
Also re-wrote parts of test_runner.py to permit global fixtures, loaded
before any tests are run and shared by all.
- Legacy-Id: 6318