Getting to 100 % succedding tests (for 2.9), or, simply dropping them all?

Friedrich W. H. Kossebau kossebau at kde.org
Thu Feb 5 21:59:45 GMT 2015


Am Donnerstag, 5. Februar 2015, 09:31:15 schrieb Friedrich W. H. Kossebau:
> Am Donnerstag, 5. Februar 2015, 11:12:37 schrieb Dmitry Kazakov:
> > 4) Is it possible to add some tagging to unittests? Like in cmake:
> > 
> > kde4_add_unit_test(KisDummiesFacadeTest
> > TESTNAME krita-ui-KisDummiesFacadeTest
> > TESTSSET integration # <----------------------------special tag
> > ${kis_dummies_facade_test_SRCS})
> > 
> > kde4_add_unit_test(KisZoomAndPanTest
> > TESTNAME krita-ui-KisZoomAndPanTest
> > TESTSSET extended # <----------------------------special tag
> > ${kis_zoom_and_pan_test_SRCS})
> > 
> > So that we could have several sets of tests:
> > 
> > make test
> > make test integration
> > make test extended
> 
> Will investigate, nothing I know about yet.

Seems "make" only takes targets as normal parameters. Passing somehow 
additional arguments from the commandline to the actual build/test run might 
be only possible by environment vars.
The other option would be additional targets for each set, like 
"test_integration" and "test_extended" (which could be set as deps to the 
"test" target), so the calls would be
make test
make test_integration
make test_extended

That would need a custom copy of KDE4_ADD_UNIT_TEST macro or a dedicated 
wrapper, which might be okay. Possibly the test definition usage would be 
otherwise like you proposed,

calligra_add_unit_test(KisBrushTest
	TESTSET integration
	TESTNAME krita-libbrush-KisBrushTest
	${kis_brush_test_SRCS})

and would create additional make targets test_${TESTSET} on the fly if not yet 
defined (or to catch typos those additional set targets would be predefined 
initially and unknown set names result in an error).

... Ah, pity. Seems that in the end to trigger test run behaviour with cmake 
"add_test" has to be called somewhere on an executable, which at configuration 
time then decides which tests are going to be run and which not. So for 
telling the buildsystem only at runtime which set of tests to run I could not 
find a trick so far.

Something to ask the cmake experts...

Cheers
Friedrich



More information about the calligra-devel mailing list