aboutsummaryrefslogtreecommitdiffhomepage
path: root/failtest
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2011-02-06 11:55:51 -0500
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2011-02-06 11:55:51 -0500
commit80500b693c8d23148cee91b10f49df6b3caadf98 (patch)
treeea9c4641847774de400f7e1a710160529c1f23a5 /failtest
parent7ea6ac79a3b0b6233ba576aa0b6827526b008cb2 (diff)
add more failtests
Diffstat (limited to 'failtest')
-rw-r--r--failtest/CMakeLists.txt14
-rw-r--r--failtest/block_on_const_type_actually_const_0.cpp16
-rw-r--r--failtest/block_on_const_type_actually_const_1.cpp16
-rw-r--r--failtest/diagonal_on_const_type_actually_const.cpp16
-rw-r--r--failtest/map_nonconst_ctor_on_const_ptr_4.cpp15
-rw-r--r--failtest/map_on_const_type_actually_const_0.cpp15
-rw-r--r--failtest/map_on_const_type_actually_const_1.cpp15
-rw-r--r--failtest/transpose_on_const_type_actually_const.cpp16
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() {}