nm-test-helpers.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* NetworkManager -- Network link manager
  2. *
  3. * Dan Williams <dcbw@redhat.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License along
  16. * with this program; if not, write to the Free Software Foundation, Inc.,
  17. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  18. *
  19. * (C) Copyright 2008 Red Hat, Inc.
  20. */
  21. #ifndef NM_TEST_HELPERS_H
  22. #define NM_TEST_HELPERS_H
  23. #include <stdio.h>
  24. #include <unistd.h>
  25. #include <stdarg.h>
  26. static void
  27. FAIL(const char *test_name, const char *fmt, ...)
  28. {
  29. va_list args;
  30. char buf[500];
  31. snprintf (buf, 500, "FAIL: (%s) %s\n", test_name, fmt);
  32. va_start (args, fmt);
  33. vfprintf (stderr, buf, args);
  34. va_end (args);
  35. _exit (1);
  36. }
  37. #define ASSERT(x, test_name, fmt, ...) \
  38. { \
  39. if (!(x)) { \
  40. FAIL (test_name, fmt, ## __VA_ARGS__); \
  41. } \
  42. }
  43. #endif /* NM_TEST_HELPERS_H */