Skip to content

DUNE_BUILD_TESTS_ON_MAKE_ALL not working as expected

There are a few issues here and I should maybe start by listing the ones that have already been addressed but that I didn't file a proper bug report for.

  1. Tests marked as EXPECT_COMPILE_FAIL were not excluded from the list of tests to compile. I originally left a comment on 6d49f917, to which @dominic responded and later came up with a fix (yay!), see also !53 (merged).

  2. I would expect now that instead of having to run make build_tests && ctest, I could run make && ctest, in particular allowing me to run dunecontrol all and then ctest inside each module. This works for a few modules such as dune-common. For some modules, however, it does not, because some tests are not built so that ctest will tell you the test executable is missing. Modules for which this happens include dune-geometry, dune-istl, and dune-functions.

To be more precise, this is the list of targets that are built if I run make in dune-istl:

basearraytest
bcrsassigntest
bcrsbuild
bcrsimplicitbuild
bcrsnormtest
bvectortest
complexmatrixtest
complexrhstest
dotproducttest
example
fieldvectortest
inverseoperator2prectest
iotest
ldltest
matrixiteratortest
matrixmarkettest
matrixnormtest
matrixredisttest
matrixtest
matrixutilstest
mmtest
multitypeblockmatrixtest
multitypeblockvectortest
mv
overlappingschwarztest
poweriterationtest
scaledidmatrixtest
spqrtest
superluctest
superlustest
superlutest
superluztest
test_pardiso
umfpacktest
vbvectortest
vectorcommtest

This is the list of tests that ctest tries to run on my machine:

amgtestamgtest
basearraytestgtest
bcrsassigntest
bcrsbuild
bcrsimplicitbuild
bcrsnormtest
bvectortest
complexmatrixtest
complexrhstest
dotproducttest
fastamg
fieldvectortest
galerkintest
graphtest
hierarchytest
inverseoperator2prectest
iotest
kamgtest
ldltest
matrixiteratortest
matrixmarkettest
matrixnormtest
matrixredisttest
matrixtest
matrixutilstest
mmtest
multitypeblockmatrixtest
multitypeblockvectortest
mv
overlappingschwarztest
pamg_comm_repart_test
pamgtest
poweriterationtest
pthreadamgtest
pthreaddirectamgtest
pthreaddirectfastamgtest
pthreaddirecttwoleveltest
pthreadfastamgtest
pthreadtwoleveltest
scaledidmatrixtest
spqrtest
superluctest
superlustest
superlutest
superluztest
test_pardiso
transfertest
twolevelmethodschwarztest
twolevelmethodtest
umfpackamgtest
umfpackfastamgtest
umfpacktest
vbvectortest
vectorcommtest

The second list of course does not contain the target example, but it also contains the following entries that are not part of the first list:

amgtest
fastamg
galerkintest
graphtest
hierarchytest
kamgtest
pamg_comm_repart_test
pamgtest
pthreadamgtest
pthreaddirectamgtest
pthreaddirectfastamgtest
pthreaddirecttwoleveltest
pthreadfastamgtest
pthreadtwoleveltest
transfertest
twolevelmethodschwarztest
twolevelmethodtest
umfpackamgtest
umfpackfastamgtest

Each one of these will lead to a "Not run" test failure.