Changes in test/error_test.cc [118:407c08a0eae9:108:889d0c289d19] in lemon-1.2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
test/error_test.cc
r118 r108 40 40 } 41 41 42 void no_assertion_exception_disable() { 43 LEMON_ASSERT(true, Exception()); 44 } 45 42 46 void assertion_text_disable() { 43 47 LEMON_ASSERT(false, "This is a fault message"); 48 } 49 50 void assertion_exception_disable() { 51 LEMON_ASSERT(false, Exception()); 44 52 } 45 53 … … 50 58 void check_assertion_disable() { 51 59 no_assertion_text_disable(); 60 no_assertion_exception_disable(); 61 assertion_exception_disable(); 52 62 assertion_text_disable(); 53 63 fixme_disable(); 54 64 } 55 65 #undef LEMON_DISABLE_ASSERTS 66 67 68 #define LEMON_ASSERT_ERROR 69 #include <lemon/assert.h> 70 71 void no_assertion_text_error() { 72 LEMON_ASSERT(true, "This is a fault message"); 73 } 74 75 void no_assertion_exception_error() { 76 LEMON_ASSERT(true, Exception()); 77 } 78 79 void assertion_text_error() { 80 LEMON_ASSERT(false, "This is a fault message"); 81 } 82 83 void assertion_exception_error() { 84 LEMON_ASSERT(false, Exception()); 85 } 86 87 void fixme_error() { 88 LEMON_FIXME("fixme_error() is fixme!"); 89 } 90 91 void check_assertion_error() { 92 no_assertion_text_error(); 93 no_assertion_exception_error(); 94 try { 95 assertion_exception_error(); 96 check(false, "Assertion error"); 97 } catch (const AssertionFailedError& e) { 98 } 99 100 try { 101 assertion_text_error(); 102 check(false, "Assertion error"); 103 } catch (const AssertionFailedError& e) { 104 } 105 106 try { 107 fixme_error(); 108 check(false, "Assertion error"); 109 } catch (const AssertionFailedError& e) { 110 } 111 } 112 #undef LEMON_ASSERT_ERROR 113 114 #define LEMON_ASSERT_EXCEPTION 115 #include <lemon/assert.h> 116 117 void no_assertion_text_exception() { 118 LEMON_ASSERT(true, "This is a fault message"); 119 } 120 121 void no_assertion_exception_exception() { 122 LEMON_ASSERT(true, Exception()); 123 } 124 125 void assertion_text_exception() { 126 LEMON_ASSERT(false, "This is a fault message"); 127 } 128 129 void assertion_exception_exception() { 130 LEMON_ASSERT(false, Exception()); 131 } 132 133 void fixme_exception() { 134 LEMON_FIXME("fixme_exception() is fixme!"); 135 } 136 137 void check_assertion_exception() { 138 no_assertion_text_exception(); 139 no_assertion_exception_exception(); 140 try { 141 assertion_exception_exception(); 142 check(false, "Assertion error"); 143 } catch (const Exception& e) { 144 } 145 146 try { 147 assertion_text_exception(); 148 check(false, "Assertion error"); 149 } catch (const AssertionFailedError& e) { 150 } 151 152 try { 153 assertion_text_exception(); 154 check(false, "Assertion error"); 155 } catch (const AssertionFailedError& e) { 156 } 157 158 try { 159 fixme_exception(); 160 check(false, "Assertion error"); 161 } catch (const AssertionFailedError& e) { 162 } 163 } 164 #undef LEMON_ASSERT_EXCEPTION 165 166 #define LEMON_ASSERT_LOG 167 168 #include <lemon/assert.h> 169 170 void no_assertion_text_log() { 171 LEMON_ASSERT(true, "This is a fault message"); 172 } 173 174 void no_assertion_exception_log() { 175 LEMON_ASSERT(true, Exception()); 176 } 177 178 void assertion_text_log() { 179 LEMON_ASSERT(false, "This is a fault message"); 180 } 181 182 void assertion_exception_log() { 183 LEMON_ASSERT(false, Exception()); 184 } 185 186 void fixme_log() { 187 LEMON_FIXME("fixme_log() is fixme!"); 188 } 189 190 void check_assertion_log() { 191 no_assertion_text_log(); 192 no_assertion_exception_log(); 193 std::cerr << "The next 3 failure messages are expected: " << std::endl; 194 assertion_exception_log(); 195 assertion_text_log(); 196 fixme_log(); 197 std::cerr << "End of expected error messages" << std::endl; 198 } 199 #undef LEMON_ASSERT_LOG 56 200 57 201 #define LEMON_ASSERT_CUSTOM … … 63 207 } 64 208 209 void my_assert_handler(const char*, int, const char*, 210 const std::exception&, const char*) { 211 ++cnt; 212 } 213 214 void my_assert_handler(const char*, int, const char*, 215 const std::string&, const char*) { 216 ++cnt; 217 } 218 219 65 220 #define LEMON_CUSTOM_ASSERT_HANDLER my_assert_handler 66 221 #include <lemon/assert.h> … … 70 225 } 71 226 227 void no_assertion_exception_custom() { 228 LEMON_ASSERT(true, Exception()); 229 } 230 72 231 void assertion_text_custom() { 73 232 LEMON_ASSERT(false, "This is a fault message"); 233 } 234 235 void assertion_exception_custom() { 236 LEMON_ASSERT(false, Exception()); 74 237 } 75 238 … … 80 243 void check_assertion_custom() { 81 244 no_assertion_text_custom(); 245 no_assertion_exception_custom(); 246 assertion_exception_custom(); 82 247 assertion_text_custom(); 83 248 fixme_custom(); 84 check(cnt == 2, "The custom assert handler does not work");249 check(cnt == 3, "The custom assert handler does not work"); 85 250 } 86 251 … … 90 255 int main() { 91 256 check_assertion_disable(); 257 check_assertion_error(); 258 check_assertion_exception(); 259 check_assertion_log(); 92 260 check_assertion_custom(); 93 261
Note: See TracChangeset
for help on using the changeset viewer.