This reduces the imports done by the client, as well as adds caching of the test collection. Effectively what was done:
Imports not used by the client are done on-demand rather than top-of-module
Jurigged modifications are also moved so the client isn't doing them
Add caching of the pytest collection. This is based on the config's arguments, which as it turns out are the list of files to care about. For many projects, this is a very trivial improvement, but for some larger projects this can be a big savings. The cache is a TTL Cache so it expires shortly, but should be helpful for people frequently rerunning the same test.
This also addresses an issue where the system exit was preventing cProfile from working. Instead of directly exiting the process, this is returning the status code back to pytest
Addresses #14
This reduces the imports done by the client, as well as adds caching of the test collection. Effectively what was done:
This also addresses an issue where the system exit was preventing cProfile from working. Instead of directly exiting the process, this is returning the status code back to pytest