Pytest enhancements
Adds
- A pytest marker
generatethat marks a test as generating test data. These tests will only be run when the--generateflag is given, and all other tests won't be run in this case. This prevents accidentally overwriting test data. - A pytest fixture
compare_noisewhich checks whether all noises in a budget are the same as in another budget. A list of noises passing, failing, or skipped is printed and an assertion error is raised if any traces are different.
The unit tests test_save_budgets and test_check_noise are added to test/budgets/test_budgets.py making use of the new fixture and marker. The compare_noise fixture is useful because it quickly checks if noises are the same and fails if any are different. So you can have pytest both continuously plotting a budget and quickly checking if any noises have changed by doing for example
ptw -- test/budgets/test_budgets.py -s -k test_check_noise
ptw -- test/budgets/test_budgets.py -s -k test_load[Aplus]