[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