diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-03-24 13:39:14 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-03-24 13:39:14 +0100 |
commit | f42b105f73e69e05ea69c55d838a79555929731e (patch) | |
tree | 83596aa84c52bc217fa37bb803418ce641202c2e /test/main.h | |
parent | d27968eb7ef3d2c7f9db17184850cf2071403ced (diff) |
Add the possibility to make VERIFY* checks to output a warning instead of abording.
Diffstat (limited to 'test/main.h')
-rw-r--r-- | test/main.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/test/main.h b/test/main.h index ecf0c6924..3591b57a1 100644 --- a/test/main.h +++ b/test/main.h @@ -95,6 +95,9 @@ namespace Eigen { static std::vector<std::string> g_test_stack; + // level == 0 <=> abort if test fail + // level >= 1 <=> warning message to std::cerr if test fail + static int g_test_level = 0; static int g_repeat; static unsigned int g_seed; static bool g_has_set_repeat, g_has_set_seed; @@ -229,6 +232,8 @@ inline void verify_impl(bool condition, const char *testname, const char *file, { if (!condition) { + if(Eigen::g_test_level>0) + std::cerr << "WARNING: "; std::cerr << "Test " << testname << " failed in " << file << " (" << line << ")" << std::endl << " " << condition_as_string << std::endl; std::cerr << "Stack:\n"; @@ -236,7 +241,8 @@ inline void verify_impl(bool condition, const char *testname, const char *file, for(int i=test_stack_size-1; i>=0; --i) std::cerr << " - " << Eigen::g_test_stack[i] << "\n"; std::cerr << "\n"; - abort(); + if(Eigen::g_test_level==0) + abort(); } } |