timed tail for logfiles. Display loglines given a minimum date and/or a maximum date.
c
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ttail_argparse_re_prefix.c 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #include <check.h>
  2. #include <errno.h>
  3. #include <stdio.h>
  4. #include <unistd.h>
  5. #include "ttail_check.h"
  6. #include "ttail.h"
  7. #include "ttail_init.h"
  8. START_TEST (test_argparse_reprefix_short)
  9. {
  10. ttail_t *t;
  11. char *args[] = {"foo", "-r", "^[^ ]+ "};
  12. t = ttail_init(3, args);
  13. ck_assert(t != NULL);
  14. ck_assert((t->flag & TTAIL_FLAG_PREFIX) == TTAIL_FLAG_PREFIX);
  15. }
  16. END_TEST
  17. START_TEST (test_argparse_reprefix_long)
  18. {
  19. ttail_t *t;
  20. char *args[] = {"foo", "--re-prefix", "^[^ ]+ "};
  21. t = ttail_init(3, args);
  22. ck_assert(t != NULL);
  23. ck_assert((t->flag & TTAIL_FLAG_PREFIX) == TTAIL_FLAG_PREFIX);
  24. }
  25. END_TEST
  26. START_TEST (test_argparse_prefixlen_short)
  27. {
  28. ttail_t *t;
  29. char *args[] = {"foo", "-p", "10"};
  30. t = ttail_init(3, args);
  31. ck_assert(t != NULL);
  32. ck_assert((t->flag & TTAIL_FLAG_PREFIX) == TTAIL_FLAG_PREFIX);
  33. ck_assert_int_eq(t->prefix_sz, 10);
  34. }
  35. END_TEST
  36. START_TEST (test_argparse_prefixlen_long)
  37. {
  38. ttail_t *t;
  39. char *args[] = {"foo", "--prefix-len", "42"};
  40. t = ttail_init(3, args);
  41. ck_assert(t != NULL);
  42. ck_assert((t->flag & TTAIL_FLAG_PREFIX) == TTAIL_FLAG_PREFIX);
  43. ck_assert_int_eq(t->prefix_sz, 42);
  44. }
  45. END_TEST
  46. START_TEST (test_argparse_prefix_multiple)
  47. {
  48. ttail_t *t;
  49. char *args[] = {"foo", "--re-prefix", "^[^ ]+ ", "-p", "20"};
  50. t = ttail_init(5, args);
  51. ck_assert(t == NULL);
  52. }
  53. END_TEST
  54. Suite * ttail_init_suite(void)
  55. {
  56. Suite *s;
  57. TCase *tc_argparse_prefix;
  58. s = suite_create("ttail argument parsing checks");
  59. tc_argparse_prefix = tcase_create("re-prefix arguments parsing");
  60. tcase_add_test(tc_argparse_prefix, test_argparse_reprefix_short);
  61. tcase_add_test(tc_argparse_prefix, test_argparse_reprefix_long);
  62. tcase_add_test(tc_argparse_prefix, test_argparse_prefixlen_short);
  63. tcase_add_test(tc_argparse_prefix, test_argparse_prefixlen_long);
  64. tcase_add_test(tc_argparse_prefix, test_argparse_prefix_multiple);
  65. suite_add_tcase(s, tc_argparse_prefix);
  66. return s;
  67. }
  68. TTAIL_CHECK_MAIN(ttail_init_suite)