Сначала я думаю, что ваша идея заключалась в том, чтобы получить в TEST_STRING объединение двух строк.В C это будет (конкатенация неявная):
#define TEST_STRING ("AA" "BB")
Во-вторых, этот тест будет успешным во многих случаях, когда он не должен: "A", "B" или "ABB", например.
В-третьих, заглавные буквы STRING2COMPARE часто означают, что это определение.Вы хотите использовать обычную переменную, не так ли?
В заключение, как насчет этой реализации?
#define TEST_STRING_1 "AA"
#define TEST_STRING_2 "BB"
if ( strcmp(str2compare, TEST_STRING_1) == 0
|| strcmp(str2compare, TEST_STRING_2) == 0 ) {
doSomething();
}