diff options
-rw-r--r-- | test/main.h | 4 | ||||
-rw-r--r-- | unsupported/test/CMakeLists.txt | 2 | ||||
-rw-r--r-- | unsupported/test/cxx11_eventcount.cpp | 1 | ||||
-rw-r--r-- | unsupported/test/cxx11_runqueue.cpp | 8 |
4 files changed, 11 insertions, 4 deletions
diff --git a/test/main.h b/test/main.h index dbb496b89..b0e3b7818 100644 --- a/test/main.h +++ b/test/main.h @@ -275,6 +275,10 @@ inline void verify_impl(bool condition, const char *testname, const char *file, #define VERIFY(a) ::verify_impl(a, g_test_stack.back().c_str(), __FILE__, __LINE__, EI_PP_MAKE_STRING(a)) +#define VERIFY_GE(a, b) ::verify_impl(a >= b, g_test_stack.back().c_str(), __FILE__, __LINE__, EI_PP_MAKE_STRING(a >= b)) +#define VERIFY_LE(a, b) ::verify_impl(a <= b, g_test_stack.back().c_str(), __FILE__, __LINE__, EI_PP_MAKE_STRING(a <= b)) + + #define VERIFY_IS_EQUAL(a, b) VERIFY(test_is_equal(a, b)) #define VERIFY_IS_NOT_EQUAL(a, b) VERIFY(!test_is_equal(a, b)) #define VERIFY_IS_APPROX(a, b) VERIFY(verifyIsApprox(a, b)) diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt index c088df1c1..b9e1b34bf 100644 --- a/unsupported/test/CMakeLists.txt +++ b/unsupported/test/CMakeLists.txt @@ -116,6 +116,8 @@ if(EIGEN_TEST_CXX11) set(CMAKE_CXX_STANDARD 11) ei_add_test(cxx11_float16) + ei_add_test(cxx11_eventcount "-pthread" "${CMAKE_THREAD_LIBS_INIT}") + ei_add_test(cxx11_runqueue "-pthread" "${CMAKE_THREAD_LIBS_INIT}") ei_add_test(cxx11_meta) ei_add_test(cxx11_tensor_simple) # ei_add_test(cxx11_tensor_symmetry) diff --git a/unsupported/test/cxx11_eventcount.cpp b/unsupported/test/cxx11_eventcount.cpp index a58c21a30..271e0f66d 100644 --- a/unsupported/test/cxx11_eventcount.cpp +++ b/unsupported/test/cxx11_eventcount.cpp @@ -8,6 +8,7 @@ // Public License v. 2.0. If a copy of the MPL was not distributed // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. +#define EIGEN_USE_THREADS #include "main.h" #include <Eigen/CXX11/ThreadPool> diff --git a/unsupported/test/cxx11_runqueue.cpp b/unsupported/test/cxx11_runqueue.cpp index 5a0a13103..f1217a01b 100644 --- a/unsupported/test/cxx11_runqueue.cpp +++ b/unsupported/test/cxx11_runqueue.cpp @@ -8,11 +8,11 @@ // Public License v. 2.0. If a copy of the MPL was not distributed // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. +#define EIGEN_USE_THREADS #include "main.h" - #include <Eigen/CXX11/ThreadPool> -static void test_basic_runqueue() +void test_basic_runqueue() { RunQueue<int, 4> q; // Check empty state. @@ -96,7 +96,7 @@ static void test_basic_runqueue() // 1 element (either front or back at random). So queue always contains at least // 1 element, but otherwise changes chaotically. Another thread constantly tests // that the queue is not claimed to be empty. -static void test_empty_runqueue() +void test_empty_runqueue() { RunQueue<int, 4> q; q.PushFront(1); @@ -136,7 +136,7 @@ static void test_empty_runqueue() // Stress is a chaotic random test. // One thread (owner) calls PushFront/PopFront, other threads call PushBack/ // PopBack. Ensure that we don't crash, deadlock, and all sanity checks pass. -static void test_stress_runqueue() +void test_stress_runqueue() { const int kEvents = 1 << 18; RunQueue<int, 8> q; |