diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2011-02-06 11:55:51 -0500 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2011-02-06 11:55:51 -0500 |
commit | 80500b693c8d23148cee91b10f49df6b3caadf98 (patch) | |
tree | ea9c4641847774de400f7e1a710160529c1f23a5 /failtest | |
parent | 7ea6ac79a3b0b6233ba576aa0b6827526b008cb2 (diff) |
add more failtests
Diffstat (limited to 'failtest')
-rw-r--r-- | failtest/CMakeLists.txt | 14 | ||||
-rw-r--r-- | failtest/block_on_const_type_actually_const_0.cpp | 16 | ||||
-rw-r--r-- | failtest/block_on_const_type_actually_const_1.cpp | 16 | ||||
-rw-r--r-- | failtest/diagonal_on_const_type_actually_const.cpp | 16 | ||||
-rw-r--r-- | failtest/map_nonconst_ctor_on_const_ptr_4.cpp | 15 | ||||
-rw-r--r-- | failtest/map_on_const_type_actually_const_0.cpp | 15 | ||||
-rw-r--r-- | failtest/map_on_const_type_actually_const_1.cpp | 15 | ||||
-rw-r--r-- | failtest/transpose_on_const_type_actually_const.cpp | 16 |
8 files changed, 120 insertions, 3 deletions
diff --git a/failtest/CMakeLists.txt b/failtest/CMakeLists.txt index b6e26d5a8..5afa2ac82 100644 --- a/failtest/CMakeLists.txt +++ b/failtest/CMakeLists.txt @@ -17,12 +17,20 @@ ei_add_failtest("map_nonconst_ctor_on_const_ptr_0") ei_add_failtest("map_nonconst_ctor_on_const_ptr_1") ei_add_failtest("map_nonconst_ctor_on_const_ptr_2") ei_add_failtest("map_nonconst_ctor_on_const_ptr_3") +ei_add_failtest("map_nonconst_ctor_on_const_ptr_4") +ei_add_failtest("map_on_const_type_actually_const_0") +ei_add_failtest("map_on_const_type_actually_const_1") +ei_add_failtest("block_on_const_type_actually_const_0") +ei_add_failtest("block_on_const_type_actually_const_1") +ei_add_failtest("transpose_on_const_type_actually_const") +ei_add_failtest("diagonal_on_const_type_actually_const") if (EIGEN_FAILTEST_FAILURE_COUNT) - message(FATAL_ERROR "${EIGEN_FAILTEST_FAILURE_COUNT} out of ${EIGEN_FAILTEST_COUNT} failtests FAILED. " - "Failtests succeed when they generate build errors. " - "To debug these failures, manually compile these programs in ${CMAKE_CURRENT_SOURCE_DIR}.") + message(FATAL_ERROR + "${EIGEN_FAILTEST_FAILURE_COUNT} out of ${EIGEN_FAILTEST_COUNT} failtests FAILED. " + "To debug these failures, manually compile these programs in ${CMAKE_CURRENT_SOURCE_DIR}, " + "with and without #define EIGEN_SHOULD_FAIL_TO_BUILD.") else() message(STATUS "Failtest SUCCESS: all ${EIGEN_FAILTEST_COUNT} failtests passed.") message(STATUS "") diff --git a/failtest/block_on_const_type_actually_const_0.cpp b/failtest/block_on_const_type_actually_const_0.cpp new file mode 100644 index 000000000..009bebece --- /dev/null +++ b/failtest/block_on_const_type_actually_const_0.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + Matrix3f m; + Block<CV_QUALIFIER Matrix3f>(m, 0, 0, 3, 3).coeffRef(0, 0) = 1.0f; +} + +int main() {} diff --git a/failtest/block_on_const_type_actually_const_1.cpp b/failtest/block_on_const_type_actually_const_1.cpp new file mode 100644 index 000000000..4c3e93ffe --- /dev/null +++ b/failtest/block_on_const_type_actually_const_1.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + MatrixXf m; + Block<CV_QUALIFIER MatrixXf, 3, 3>(m, 0, 0).coeffRef(0, 0) = 1.0f; +} + +int main() {} diff --git a/failtest/diagonal_on_const_type_actually_const.cpp b/failtest/diagonal_on_const_type_actually_const.cpp new file mode 100644 index 000000000..d4b2fd9b8 --- /dev/null +++ b/failtest/diagonal_on_const_type_actually_const.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + MatrixXf m; + Diagonal<CV_QUALIFIER MatrixXf>(m).coeffRef(0) = 1.0f; +} + +int main() {} diff --git a/failtest/map_nonconst_ctor_on_const_ptr_4.cpp b/failtest/map_nonconst_ctor_on_const_ptr_4.cpp new file mode 100644 index 000000000..c3e8c952c --- /dev/null +++ b/failtest/map_nonconst_ctor_on_const_ptr_4.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER +#else +#define CV_QUALIFIER const +#endif + +using namespace Eigen; + +void foo(const float *ptr, DenseIndex rows, DenseIndex cols){ + Map<CV_QUALIFIER MatrixXf, Unaligned, OuterStride<> > m(ptr, rows, cols, OuterStride<>(2)); +} + +int main() {} diff --git a/failtest/map_on_const_type_actually_const_0.cpp b/failtest/map_on_const_type_actually_const_0.cpp new file mode 100644 index 000000000..8cb6aa0cd --- /dev/null +++ b/failtest/map_on_const_type_actually_const_0.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(float *ptr){ + Map<CV_QUALIFIER MatrixXf>(ptr, 1, 1).coeffRef(0,0) = 1.0f; +} + +int main() {} diff --git a/failtest/map_on_const_type_actually_const_1.cpp b/failtest/map_on_const_type_actually_const_1.cpp new file mode 100644 index 000000000..04e067c34 --- /dev/null +++ b/failtest/map_on_const_type_actually_const_1.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(float *ptr){ + Map<CV_QUALIFIER Vector3f>(ptr).coeffRef(0) = 1.0f; +} + +int main() {} diff --git a/failtest/transpose_on_const_type_actually_const.cpp b/failtest/transpose_on_const_type_actually_const.cpp new file mode 100644 index 000000000..d0b7d0df6 --- /dev/null +++ b/failtest/transpose_on_const_type_actually_const.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + MatrixXf m; + Transpose<CV_QUALIFIER MatrixXf>(m).coeffRef(0, 0) = 1.0f; +} + +int main() {} |