@@ -2181,6 +2181,44 @@ static void missingHeader4()
21812181 ASSERT_EQUALS (" file0,1,syntax_error,No header in #include\n " , toString (outputList));
21822182}
21832183
2184+ #ifndef _WIN32
2185+ static void missingHeader5 ()
2186+ {
2187+ // this is a directory
2188+ const char code[] = " #include \" /\"\n " ;
2189+ simplecpp::OutputList outputList;
2190+ ASSERT_EQUALS (" " , preprocess (code, &outputList));
2191+ ASSERT_EQUALS (" file0,1,missing_header,Header not found: \" /\"\n " , toString (outputList));
2192+ }
2193+
2194+ static void missingHeader6 ()
2195+ {
2196+ // this is a directory
2197+ const char code[] = " #include \" /usr\"\n " ;
2198+ simplecpp::OutputList outputList;
2199+ ASSERT_EQUALS (" " , preprocess (code, &outputList));
2200+ ASSERT_EQUALS (" file0,1,missing_header,Header not found: \" /usr\"\n " , toString (outputList));
2201+ }
2202+
2203+ static void missingHeader7 ()
2204+ {
2205+ // this is a directory
2206+ const char code[] = " #include </>\n " ;
2207+ simplecpp::OutputList outputList;
2208+ ASSERT_EQUALS (" " , preprocess (code, &outputList));
2209+ ASSERT_EQUALS (" file0,1,missing_header,Header not found: </>\n " , toString (outputList));
2210+ }
2211+
2212+ static void missingHeader8 ()
2213+ {
2214+ // this is a directory
2215+ const char code[] = " #include </usr>\n " ;
2216+ simplecpp::OutputList outputList;
2217+ ASSERT_EQUALS (" " , preprocess (code, &outputList));
2218+ ASSERT_EQUALS (" file0,1,missing_header,Header not found: </usr>\n " , toString (outputList));
2219+ }
2220+ #endif
2221+
21842222static void nestedInclude ()
21852223{
21862224 const char code[] = " #include \" test.h\"\n " ;
@@ -3475,6 +3513,14 @@ static void leak()
34753513 " #define e\n " ;
34763514 (void )preprocess (code, simplecpp::DUI ());
34773515 }
3516+ {
3517+ const char code[] = " #include</\\\\ >\n "
3518+ " #include</\\\\ >\n " ;
3519+ simplecpp::OutputList outputList;
3520+ ASSERT_EQUALS (" " , preprocess (code, &outputList));
3521+ ASSERT_EQUALS (" file0,1,missing_header,Header not found: </\\\\ >\n "
3522+ " file0,2,missing_header,Header not found: </\\\\ >\n " , toString (outputList));
3523+ }
34783524}
34793525
34803526int main (int argc, char **argv)
@@ -3657,6 +3703,12 @@ int main(int argc, char **argv)
36573703 TEST_CASE (missingHeader2);
36583704 TEST_CASE (missingHeader3);
36593705 TEST_CASE (missingHeader4);
3706+ #ifndef _WIN32
3707+ TEST_CASE (missingHeader5);
3708+ TEST_CASE (missingHeader6);
3709+ TEST_CASE (missingHeader7);
3710+ TEST_CASE (missingHeader8);
3711+ #endif
36603712 TEST_CASE (nestedInclude);
36613713 TEST_CASE (systemInclude);
36623714 TEST_CASE (circularInclude);
0 commit comments