Test harness re-design, step 2: asserts, checks, and runners
The following discussion from !287 (merged) should be addressed:
-
@pq started a discussion: (+1 comment) Since we are running all tests of one program without forking, any test that fails an
assert()
or such will cause the whole program to quit, meaning that following tests in the program will not be run.
The question about what to replace asserts with is part of a bigger question if we should be using a ready-made test framework. Evaluate Check, gtest, whatever C test frameworks there are, and also the ZUC framework that exists already in Weston but is underused. Some evaluation criteria are:
- allows us to not
fork()
- does not need environment variable setup or special command line options
- makes tests easier to write
- makes tests more clear to read
- if it replaces the Meson test runner, it provides reports suitable for Gitlab consumption
Most of the above are goals from #289 (closed) and !287 (merged).