Add sanitizer tests to CI
Currently, no sanitizer tests are run as part of any CI pipeline. I think two types make sense:
-
A "quick" run of Clang msan and asan using self_test.py --create
to quickly check a range of different modes. Could be done in the merge request pipeline if it does not increase runtime too much. -
Dedicated "long" sanitizer tests for single operating points running on main on a schedule which test all bitrates of a specific format. This needs some thoughts about setting up the schedule and maybe we need to use a dedicated runner for these. -
use longer testfiles once available, see #96 (closed) -
add UBsan to tests -> we may need a whitelist here, currently a thousand of alignment errors in structs pop up with it -
add valgrind to tests -> this takes considerably more time than the other sanitizers, maybe use a separate job for this
Edited by Jan Kiene