@@ -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