X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Flite.h;h=36f873e8be6649649e1da6db33003306f830b5bc;hb=c3472bb8e7417a272f8c76c5a1316e3370adc941;hp=342be97d820bc85abcd244ba4a65cffeaee33987;hpb=b036e172e5839d530bce7c3831a8eaf36d68eca7;p=awesomized%2Flibmemcached diff --git a/libtest/lite.h b/libtest/lite.h index 342be97d..36f873e8 100644 --- a/libtest/lite.h +++ b/libtest/lite.h @@ -140,6 +140,34 @@ do \ } \ } while (0) +#define SKIP_UNLESS(__expression) \ +do \ +{ \ + if (! (__expression)) { \ + if (YATL_FULL) { \ + SKIP(#__expression); \ + } \ + fprintf(stdout, "\n%s:%d: %s SKIP '(%s)'\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, #__expression); \ + exit(EXIT_SKIP); \ + } \ +} while (0) + +#define SKIP_UNLESS_(__expression, ...) \ +do \ +{ \ + if (! (__expression)) { \ + size_t ask= snprintf(0, 0, __VA_ARGS__); \ + ask++; \ + char *buffer= (char*)alloca(sizeof(char) * ask); \ + snprintf(buffer, ask, __VA_ARGS__); \ + if (YATL_FULL) { \ + SKIP(#__expression, buffer); \ + } \ + fprintf(stdout, "\n%s:%d: %s SKIP '%s' [ %s ]\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, #__expression, buffer); \ + exit(EXIT_SKIP); \ + } \ +} while (0) + #define ASSERT_TRUE(__expression) \ do \ { \