#if defined(TEST1 && TEST2)
(中略)
#endif
をビルドしてみると
「"defined" の後ろの ')' が欠けています」
とエラーが出るのですが、わたしの環境だけでしょうか?
(gccです)
#if defined(TEST1) && defined(TEST2)
だとうまくいきます
http://www.kumei.ne.jp/c_lang/intro/no_37.htm