[waffle] [PATCH 00/29] Rework the functionality test(s)
Emil Velikov
emil.l.velikov at gmail.com
Wed Jan 6 13:27:26 PST 2016
Hi all,
Recently I had the chance to finish a lenghty series started some months
ago. Namely - rework gl_basic_tests and kick waffle_test out the door.
It starts with a couple of symbol fixes (maint material afaict), caught
while experimenting with Travis-CI.
Patch 3 adds a trivial --platform param and wires up the build (make
check-func) to generate and use all possible combinations.
Patches 06 through 14 add a bunch of macros, which minimise the
duplication, and make things substantially easier/shorter add new
platform (patch 28, platform gbm).
We might want patches 15, 16 and 17 squashed, although I chose to keep
the "import latest cmoka", "make sure it builds" and "fix the build
warning" (this one is on the cmocka ML), separate to ease review.
With patch 18, the existing cmocka user is updated - things build even
without it, but we no longer use the deprecated API.
With 20, we disable the functionality tests as we cannot convert the
whole file at once. Immediatelly after (21) we nuke waffle_test.
Patch 22, introduce a handy macro (not perfect due to cmocka API
shortage), that makes the "add new platform" a ~10 line diff :-)
The remaining patches convert the remaining platforms, one at a time, to
top up with a small cleanup.
The lot can be found in branch for-upstream/rework-tests over at
https://github.com/evelikov/waffle/
TL;DR - update cmocka, and use it over waffle_test. Cut gl_basic_test.c
from ~1.2k to 0.9 loc, while adding GBM support and platform selection
;-) No more memory leaks with valgrind-check-func (barring driver ones).
NOTE: I'll gladly rework any formatting and macro names. If possible,
let's avoid rebase chaos (i.e. if thinking about the test... macros) and
do them on top ?
Thanks
Emil
More information about the waffle
mailing list