tests: Use BaseAppTests for functional tests - part 3
- Use background fixture for each test.
- This changes the fixture scope from "class" to "every test".
- It allows the tests to be run in any order (even interleaved with tests of other apps).
- There is a slight extra time cost due to disabling the app after each test. Login/install are also repeated but not expected to have any significant impact.
- This is needed because pytest is running the inherited tests separate from the child class's tests. This can lead to having too many apps enabled at the same time, and the system freezing due to too much RAM used.
- Use BaseAppTests for bepasty, bind, calibre, datetime, deluge, ejabberd, gitweb, ikiwiki, mediawiki, mldonkey, openvpn, pagekite, radicale, samba, shadowsocks, transmission, tahoe, tor.
- Add diagnostics delay parameter (default is 0).
Tests:
- All tests run on stable with only 1 failure (Calibre). That failure is not related to these changes, it happens on master branch also.
- All tests run on testing, failures in Calibre and Wordpress (#2128 (closed)).
- Testing of mldonkey and tahoe apps were skipped since those apps are not installable.
Signed-off-by: James Valleroy jvalleroy@mailbox.org
Edited by James Valleroy