У меня есть следующая пара макросов препроцессора C для создания тестовых функций:
// Defines a test function in the active suite
#define test(name)\
void test_##name();\
SuiteAppender test_##name##_appender(TestSuite::active(), test_##name);\
void test_##name()
, который используется так:
test(TestName) {
// Test code here
}
и
// Defines a test function in the specified suite
#define testInSuite(name, suite)\
void test_##name();\
SuiteAppender test_##name##_appender(suite, test_##name);\
void test_##name()
который используется так:
test(TestName, TestSuiteName) {
// Test code here
}
Как убрать дублирование между двумя макросами?