Add new default option EIGEN_SPLIT_LARGE_TESTS and cmake macro ei_add_test_multi.

When enabled, large tests are split into smaller executables.
This needs minimal changes in the unit tests.
Updated the LU test to use it.
This commit is contained in:
Benoit Jacob
2009-10-19 13:29:00 -04:00
parent 9a700c2974
commit 580672ea43
3 changed files with 111 additions and 50 deletions

View File

@@ -153,22 +153,28 @@ template<typename MatrixType> void lu_verify_assert()
void test_lu()
{
for(int i = 0; i < g_repeat; i++) {
#if defined EIGEN_TEST_PART_1
CALL_SUBTEST( lu_non_invertible<Matrix3f>() );
CALL_SUBTEST( lu_verify_assert<Matrix3f>() );
#elif defined EIGEN_TEST_PART_2
CALL_SUBTEST( (lu_non_invertible<Matrix<double, 4, 6> >()) );
CALL_SUBTEST( (lu_verify_assert<Matrix<double, 4, 6> >()) );
#elif defined EIGEN_TEST_PART_3
CALL_SUBTEST( lu_non_invertible<MatrixXf>() );
CALL_SUBTEST( lu_non_invertible<MatrixXd>() );
CALL_SUBTEST( lu_non_invertible<MatrixXcf>() );
CALL_SUBTEST( lu_non_invertible<MatrixXcd>() );
CALL_SUBTEST( lu_invertible<MatrixXf>() );
CALL_SUBTEST( lu_verify_assert<MatrixXf>() );
#elif defined EIGEN_TEST_PART_4
CALL_SUBTEST( lu_non_invertible<MatrixXd>() );
CALL_SUBTEST( lu_invertible<MatrixXd>() );
CALL_SUBTEST( lu_verify_assert<MatrixXd>() );
#elif defined EIGEN_TEST_PART_5
CALL_SUBTEST( lu_non_invertible<MatrixXcf>() );
CALL_SUBTEST( lu_invertible<MatrixXcf>() );
CALL_SUBTEST( lu_verify_assert<MatrixXcf>() );
#elif defined EIGEN_TEST_PART_6
CALL_SUBTEST( lu_non_invertible<MatrixXcd>() );
CALL_SUBTEST( lu_invertible<MatrixXcd>() );
CALL_SUBTEST( lu_verify_assert<MatrixXcd>() );
#endif
}
CALL_SUBTEST( lu_verify_assert<Matrix3f>() );
CALL_SUBTEST( lu_verify_assert<Matrix3d>() );
CALL_SUBTEST( lu_verify_assert<MatrixXf>() );
CALL_SUBTEST( lu_verify_assert<MatrixXd>() );
CALL_SUBTEST( lu_verify_assert<MatrixXcf>() );
CALL_SUBTEST( lu_verify_assert<MatrixXcd>() );
}