Splitting tests into unit and system tests
We have 80 tests (and that is without petsc/eigen). Also in the dirichlet branch I added some laplace tests for the CI testing that is too much. So we need to split tests up into tests run through the CI and tests run nightly.
My first thought is to move all the tests from dune/fem/test to the dune-fem-testing module and have them tested only nightly. We might need to move some back (putting them in a dune/fem/blah/test locations according to what they actually test). So some l2projection tests could be put into dune/fem/operator/test (or dune/fem/solver/test I don't care). At the end we would have no dune/fem/test directory any more. So the main question is: which tests in dune/fem/test are 'unit' and not 'system'.
Alternative: could we have the CI set up that all tests are run for a merge to master and only the ones not in dune/fem/test are run for branches? Or for a merge to master dune-fem-testing is also checked? That would give some more guarantee that the master remains functional.
I guess these are all the tests (taken from a CI output). The times shown here are not the relevant ones because the run time is not the problem (the compile time is).
Start 1: test-hybrid
1/80 Test #1: test-hybrid .................................. Passed 0.25 sec
Start 2: test_insertoperatorpass
2/80 Test #2: test_insertoperatorpass ...................... Passed 0.73 sec
Start 3: test_vectorialbasisfunctionset
3/80 Test #3: test_vectorialbasisfunctionset ............... Passed 0.14 sec
Start 4: test_defaultbasisfunctionset
4/80 Test #4: test_defaultbasisfunctionset ................. Passed 0.15 sec
Start 5: test_simplebasisfunctionset
5/80 Test #5: test_simplebasisfunctionset .................. Passed 0.13 sec
Start 6: test_tuplebasisfunctionset
6/80 Test #6: test_tuplebasisfunctionset ................... Passed 0.16 sec
Start 7: tester
7/80 Test #7: tester ....................................... Passed 0.14 sec
Start 8: generic
8/80 Test #8: generic ...................................... Passed 0.01 sec
Start 9: adapt
9/80 Test #9: adapt ........................................ Passed 0.15 sec
Start 10: combinedspacetest
10/80 Test #10: combinedspacetest ............................ Passed 0.14 sec
Start 11: functiontupleadapt
11/80 Test #11: functiontupleadapt ........................... Passed 0.00 sec
Start 12: hierarchicspace
12/80 Test #12: hierarchicspace .............................. Passed 0.26 sec
Start 13: interpolation
13/80 Test #13: interpolation ................................ Passed 0.23 sec
Start 14: l2projection
14/80 Test #14: l2projection ................................. Passed 0.14 sec
Start 15: lagrangeadapt
15/80 Test #15: lagrangeadapt ................................ Passed 0.00 sec
Start 16: lagrangeglobalrefine
16/80 Test #16: lagrangeglobalrefine ......................... Passed 0.23 sec
Start 17: lagrangeinterpolation
17/80 Test #17: lagrangeinterpolation ........................ Passed 0.15 sec
Start 18: legendretest
18/80 Test #18: legendretest ................................. Passed 0.13 sec
Start 19: localadapter
19/80 Test #19: localadapter ................................. Passed 0.13 sec
Start 20: padapt
20/80 Test #20: padapt ....................................... Passed 0.14 sec
Start 21: dgcomm
21/80 Test #21: dgcomm ....................................... Passed 0.00 sec
Start 22: dgcomm_cached
22/80 Test #22: dgcomm_cached ................................ Passed 0.00 sec
Start 23: adapt_combinedspace_pointbased
23/80 Test #23: adapt_combinedspace_pointbased ............... Passed 0.14 sec
Start 24: adapt_combinedspace_variablebased
24/80 Test #24: adapt_combinedspace_variablebased ............ Passed 0.14 sec
Start 25: test-localadaptation
25/80 Test #25: test-localadaptation ......................... Passed 0.14 sec
Start 26: test-globalrefine
26/80 Test #26: test-globalrefine ............................ Passed 0.14 sec
Start 27: test-balladapt
27/80 Test #27: test-balladapt ...............................**_Exception: Other 0.14 sec
Start 28: test-slavedofs
28/80 Test #28: test-slavedofs ............................... Passed 0.13 sec
Start 29: test-tupledgspace
29/80 Test #29: test-tupledgspace ............................ Passed 0.14 sec
Start 30: test-spaceinterpolation
30/80 Test #30: test-spaceinterpolation ...................... Passed 0.29 sec
Start 31: test_filtered_df
31/80 Test #31: test_filtered_df ............................. Passed 0.15 sec
Start 32: test_tuplediscretefunction
32/80 Test #32: test_tuplediscretefunction ................... Passed 0.18 sec
Start 33: test_df
33/80 Test #33: test_df ...................................... Passed 0.13 sec
Start 34: test-hierarchicalfunction
34/80 Test #34: test-hierarchicalfunction .................... Passed 0.14 sec
Start 35: test_gplagrangeinterpolation
35/80 Test #35: test_gplagrangeinterpolation ................. Passed 0.00 sec
Start 36: test_filteredgridpart
36/80 Test #36: test_filteredgridpart ........................ Passed 0.55 sec
Start 37: test_idgridpart
37/80 Test #37: test_idgridpart .............................. Passed 0.30 sec
Start 38: test_geogridpart
38/80 Test #38: test_geogridpart ............................. Passed 0.31 sec
Start 39: quad_tester
39/80 Test #39: quad_tester .................................. Passed 0.00 sec
Start 40: cachingquadrature
40/80 Test #40: cachingquadrature ............................ Passed 0.15 sec
Start 41: elementquadrature
41/80 Test #41: elementquadrature ............................ Passed 0.13 sec
Start 42: mappingtest
42/80 Test #42: mappingtest .................................. Passed 0.00 sec
Start 43: test_spmatrix
43/80 Test #43: test_spmatrix ................................ Passed 0.13 sec
Start 44: test_istlmatrix
44/80 Test #44: test_istlmatrix .............................. Passed 0.13 sec
Start 45: test-hierarchicallinearoperator
45/80 Test #45: test-hierarchicallinearoperator .............. Passed 0.14 sec
Start 46: unitrows
46/80 Test #46: unitrows ..................................... Passed 0.13 sec
Start 47: odetest
47/80 Test #47: odetest ...................................... Passed 0.14 sec
Start 48: test_timeprovider
48/80 Test #48: test_timeprovider ............................ Passed 0.13 sec
Start 49: newtontest
49/80 Test #49: newtontest ................................... Passed 0.13 sec
Start 50: inverseoperatortest
50/80 Test #50: inverseoperatortest .......................... Passed 1.10 sec
Start 51: dynamicarray
51/80 Test #51: dynamicarray ................................. Passed 0.00 sec
Start 52: persistencemanagertest
52/80 Test #52: persistencemanagertest ....................... Passed 0.14 sec
Start 53: dataoutputtest
53/80 Test #53: dataoutputtest ............................... Passed 0.71 sec
Start 54: test_streams
54/80 Test #54: test_streams ................................. Passed 0.15 sec
Start 55: parametertest
55/80 Test #55: parametertest ................................ Passed 1.17 sec
Start 56: lagrangeinterpolation_p1
56/80 Test #56: lagrangeinterpolation_p1 ..................... Passed 0.13 sec
Start 57: lagrangeinterpolation_p2
57/80 Test #57: lagrangeinterpolation_p2 ..................... Passed 0.13 sec
Start 58: lagrangeinterpolation_p3
58/80 Test #58: lagrangeinterpolation_p3 ..................... Passed 0.14 sec
Start 59: lagrangeinterpolation_p4
59/80 Test #59: lagrangeinterpolation_p4 ..................... Passed 0.14 sec
Start 60: lagrangeinterpolation_dynamic
60/80 Test #60: lagrangeinterpolation_dynamic ................ Passed 0.13 sec
Start 61: dgl2projection_adaptive
61/80 Test #61: dgl2projection_adaptive ...................... Passed 0.14 sec
Start 62: dgl2projection_blockvectorfunction
62/80 Test #62: dgl2projection_blockvectorfunction ........... Passed 0.14 sec
Start 63: dgl2projection_vectorfunction
63/80 Test #63: dgl2projection_vectorfunction ................ Passed 0.13 sec
Start 64: dgl2projection_blockvectordiscretefunction
64/80 Test #64: dgl2projection_blockvectordiscretefunction ... Passed 0.13 sec
Start 65: dgl2projection_vector_int
65/80 Test #65: dgl2projection_vector_int .................... Passed 0.13 sec
Start 66: dgl2projection_legendre
66/80 Test #66: dgl2projection_legendre ...................... Passed 0.13 sec
Start 67: dgl2projection_hierarchiclegendre
67/80 Test #67: dgl2projection_hierarchiclegendre ............ Passed 0.13 sec
Start 68: dgl2projection_fv
68/80 Test #68: dgl2projection_fv ............................ Passed 0.13 sec
Start 69: dgl2projection_filtered
69/80 Test #69: dgl2projection_filtered ...................... Passed 0.13 sec
Start 70: dgl2projection_idgridpart
70/80 Test #70: dgl2projection_idgridpart .................... Passed 0.13 sec
Start 71: vtxprojection_adaptive
71/80 Test #71: vtxprojection_adaptive ....................... Passed 0.13 sec
Start 72: combinedspaceadaptation
72/80 Test #72: combinedspaceadaptation ...................... Passed 0.00 sec
Start 73: adaptation
73/80 Test #73: adaptation ................................... Passed 0.00 sec
Start 74: l2projection_adaptive_umfpack
74/80 Test #74: l2projection_adaptive_umfpack ................ Passed 0.20 sec
Start 75: l2projection_adaptive
75/80 Test #75: l2projection_adaptive ........................ Passed 0.22 sec
Start 76: l2projection_istl
76/80 Test #76: l2projection_istl ............................ Passed 0.22 sec
Start 77: l2projection_istl_complex
77/80 Test #77: l2projection_istl_complex .................... Passed 0.21 sec
Start 78: test-tupleoperator
78/80 Test #78: test-tupleoperator ........................... Passed 0.14 sec
Start 79: test-intersectionindexset
79/80 Test #79: test-intersectionindexset ...................._**Exception: Other 0.14 sec