Skip to content

Commit b54c200

Browse files
split test suite and case into two
1 parent 02e5a59 commit b54c200

File tree

1 file changed

+59
-31
lines changed

1 file changed

+59
-31
lines changed

code/logic/fossil/test/unittest.h

Lines changed: 59 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -212,22 +212,6 @@ void fossil_test_print_stack_trace(stack_frame_t *stack_trace);
212212
#define _FOSSIL_TEST_ASSUME(condition, message) \
213213
fossil_test_assert_internal((condition), (message), __FILE__, __LINE__, __func__)
214214

215-
// Macro for defining a test case
216-
#define _FOSSIL_TEST_CASE(test_name) \
217-
void test_name##_test_func(void); \
218-
test_case_t test_name##_test_case = { \
219-
.name = #test_name, \
220-
.test_func = test_name##_test_func, \
221-
.setup_func = NULL, \
222-
.teardown_func = NULL, \
223-
.status = TEST_STATUS_PASS, \
224-
.failure_message = NULL, \
225-
.stack_trace = NULL, \
226-
.execution_time = 0.0, \
227-
.next = NULL \
228-
}; \
229-
void test_name##_test_func(void)
230-
231215
// Macro for defining test data structures
232216
#define _FOSSIL_TEST_DATA(name) \
233217
typedef struct name
@@ -240,19 +224,6 @@ void fossil_test_print_stack_trace(stack_frame_t *stack_trace);
240224
#define _FOSSIL_TEST_TEARDOWN(name) \
241225
void name##_teardown_func(void)
242226

243-
// Macro to create a test suite with setup and teardown hooks
244-
#define _FOSSIL_TEST_SUITE(suite_name) \
245-
void suite_name##_setup_func(void); \
246-
void suite_name##_teardown_func(void); \
247-
test_suite_t suite_name = { \
248-
.name = #suite_name, \
249-
.suite_setup_func = suite_name##_setup_func, \
250-
.suite_teardown_func = suite_name##_teardown_func, \
251-
.total_execution_time = 0.0, \
252-
.tests = NULL, \
253-
.next = NULL \
254-
}
255-
256227
// Macro to register a suite with the test environment
257228
#define _FOSSIL_TEST_REGISTER(suite) \
258229
fossil_test_register_suite(_env, &suite)
@@ -315,9 +286,66 @@ void fossil_test_print_stack_trace(stack_frame_t *stack_trace);
315286
#endif
316287

317288
#ifdef __cplusplus
318-
namespace fossil {
289+
// Macro for defining a test case
290+
#define _FOSSIL_TEST_CASE(test_name) \
291+
void test_name##_test_func(void); \
292+
test_case_t test_name##_test_case = { \
293+
.name = #test_name, \
294+
.test_func = test_name##_test_func, \
295+
.setup_func = nullptr, \
296+
.teardown_func = nullptr, \
297+
.status = TEST_STATUS_PASS, \
298+
.failure_message = nullptr, \
299+
.stack_trace = nullptr, \
300+
.execution_time = 0.0, \
301+
.next = nullptr \
302+
}; \
303+
void test_name##_test_func(void)
304+
305+
// Macro to create a test suite with setup and teardown hooks
306+
#define _FOSSIL_TEST_SUITE(suite_name) \
307+
void suite_name##_setup_func(void); \
308+
void suite_name##_teardown_func(void); \
309+
test_suite_t suite_name = { \
310+
.name = #suite_name, \
311+
.suite_setup_func = suite_name##_setup_func, \
312+
.suite_teardown_func = suite_name##_teardown_func, \
313+
.total_execution_time = 0.0, \
314+
.tests = nullptr, \
315+
.next = nullptr \
316+
}
317+
318+
#else
319+
320+
// Macro for defining a test case
321+
#define _FOSSIL_TEST_CASE(test_name) \
322+
void test_name##_test_func(void); \
323+
test_case_t test_name##_test_case = { \
324+
.name = #test_name, \
325+
.test_func = test_name##_test_func, \
326+
.setup_func = NULL, \
327+
.teardown_func = NULL, \
328+
.status = TEST_STATUS_PASS, \
329+
.failure_message = NULL, \
330+
.stack_trace = NULL, \
331+
.execution_time = 0.0, \
332+
.next = NULL \
333+
}; \
334+
void test_name##_test_func(void)
335+
336+
// Macro to create a test suite with setup and teardown hooks
337+
#define _FOSSIL_TEST_SUITE(suite_name) \
338+
void suite_name##_setup_func(void); \
339+
void suite_name##_teardown_func(void); \
340+
test_suite_t suite_name = { \
341+
.name = #suite_name, \
342+
.suite_setup_func = suite_name##_setup_func, \
343+
.suite_teardown_func = suite_name##_teardown_func, \
344+
.total_execution_time = 0.0, \
345+
.tests = NULL, \
346+
.next = NULL \
347+
}
319348

320-
}
321349
#endif
322350

323351
#endif

0 commit comments

Comments
 (0)