test_utils.h (1406B)
1 #ifndef GOUT_TEST_UTILS_H_ 2 #define GOUT_TEST_UTILS_H_ 3 4 #include <string.h> 5 #include "utest.h" 6 7 #define EXPECT_STR_SEQUENCE(buf, ...) \ 8 do { \ 9 const char* _seq[] = {__VA_ARGS__}; \ 10 const char* _p = (buf); \ 11 for (size_t _i = 0; _i < sizeof(_seq) / sizeof(_seq[0]); _i++) { \ 12 _p = strstr(_p, _seq[_i]); \ 13 if (_p == NULL) { \ 14 EXPECT_NE(NULL, _p); \ 15 break; \ 16 } \ 17 } \ 18 } while (0) 19 20 #define EXPECT_STR_COUNT(buf, str, expected) \ 21 do { \ 22 int _count = 0; \ 23 const char* _p = (buf); \ 24 size_t _len = strlen(str); \ 25 while ((_p = strstr(_p, str)) != NULL) { \ 26 _count++; \ 27 _p += _len; \ 28 } \ 29 EXPECT_EQ((int)(expected), _count); \ 30 } while (0) 31 32 #endif // GOUT_TEST_UTILS_H_