Changeset 118:407c08a0eae9 in lemon for test/error_test.cc
- Timestamp:
- 04/11/08 16:20:54 (17 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
test/error_test.cc
r108 r118 40 40 } 41 41 42 void no_assertion_exception_disable() {43 LEMON_ASSERT(true, Exception());44 }45 46 42 void assertion_text_disable() { 47 43 LEMON_ASSERT(false, "This is a fault message"); 48 }49 50 void assertion_exception_disable() {51 LEMON_ASSERT(false, Exception());52 44 } 53 45 … … 58 50 void check_assertion_disable() { 59 51 no_assertion_text_disable(); 60 no_assertion_exception_disable();61 assertion_exception_disable();62 52 assertion_text_disable(); 63 53 fixme_disable(); 64 54 } 65 55 #undef LEMON_DISABLE_ASSERTS 66 67 68 #define LEMON_ASSERT_ERROR69 #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_ERROR113 114 #define LEMON_ASSERT_EXCEPTION115 #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_EXCEPTION165 166 #define LEMON_ASSERT_LOG167 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_LOG200 56 201 57 #define LEMON_ASSERT_CUSTOM … … 207 63 } 208 64 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 220 65 #define LEMON_CUSTOM_ASSERT_HANDLER my_assert_handler 221 66 #include <lemon/assert.h> … … 225 70 } 226 71 227 void no_assertion_exception_custom() {228 LEMON_ASSERT(true, Exception());229 }230 231 72 void assertion_text_custom() { 232 73 LEMON_ASSERT(false, "This is a fault message"); 233 }234 235 void assertion_exception_custom() {236 LEMON_ASSERT(false, Exception());237 74 } 238 75 … … 243 80 void check_assertion_custom() { 244 81 no_assertion_text_custom(); 245 no_assertion_exception_custom();246 assertion_exception_custom();247 82 assertion_text_custom(); 248 83 fixme_custom(); 249 check(cnt == 3, "The custom assert handler does not work");84 check(cnt == 2, "The custom assert handler does not work"); 250 85 } 251 86 … … 255 90 int main() { 256 91 check_assertion_disable(); 257 check_assertion_error();258 check_assertion_exception();259 check_assertion_log();260 92 check_assertion_custom(); 261 93
Note: See TracChangeset
for help on using the changeset viewer.