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_search_file_sort.c 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #include <check.h>
  2. #include <stdio.h>
  3. #include <libgen.h>
  4. #include "ttail_check.h"
  5. #include "ttail.h"
  6. #include "ttail_init.h"
  7. #include "ttail_search.h"
  8. START_TEST (test_file_sort1)
  9. {
  10. ttail_add_logfile(ttail, samples[0]);
  11. ttail_add_logfile(ttail, samples[3]);
  12. ttail_add_logfile(ttail, samples[5]);
  13. ttail_search_files_init(ttail);
  14. _ttail_search_closest_files(ttail);
  15. ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
  16. ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
  17. ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
  18. }
  19. END_TEST
  20. START_TEST (test_file_sort2)
  21. {
  22. ttail_add_logfile(ttail, samples[5]);
  23. ttail_add_logfile(ttail, samples[3]);
  24. ttail_add_logfile(ttail, samples[0]);
  25. ttail_search_files_init(ttail);
  26. _ttail_search_closest_files(ttail);
  27. ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
  28. ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
  29. ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
  30. }
  31. END_TEST
  32. START_TEST (test_file_sort3)
  33. {
  34. ttail_add_logfile(ttail, samples[5]);
  35. ttail_add_logfile(ttail, samples[3]);
  36. ttail_add_logfile(ttail, samples[0]);
  37. ttail_search_files_init(ttail);
  38. _ttail_search_closest_files(ttail);
  39. ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
  40. ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
  41. ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
  42. }
  43. END_TEST
  44. START_TEST (test_file_sort_invalid_file)
  45. {
  46. ttail_add_logfile(ttail, samples[5]);
  47. ttail_add_logfile(ttail, samples[3]);
  48. ttail_add_logfile(ttail, samples[0]);
  49. ttail_add_logfile(ttail, samples[1]);
  50. ttail->flag |= TTAIL_FLAG_PERMISSIVE;
  51. ttail_search_files_init(ttail);
  52. _ttail_search_closest_files(ttail);
  53. ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
  54. ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
  55. ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
  56. ck_assert_str_eq(ttail->logfile_name[3], samples[1]);
  57. ck_assert_ptr_eq(ttail->logfile[3], NULL);
  58. }
  59. END_TEST
  60. START_TEST (test_file_sort_invalid_files)
  61. {
  62. ttail_add_logfile(ttail, samples[5]);
  63. ttail_add_logfile(ttail, samples[3]);
  64. ttail_add_logfile(ttail, samples[2]);
  65. ttail_add_logfile(ttail, samples[1]);
  66. ttail->flag |= TTAIL_FLAG_PERMISSIVE;
  67. ttail_search_files_init(ttail);
  68. _ttail_search_closest_files(ttail);
  69. ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
  70. ck_assert_str_eq(ttail->logfile_name[1], samples[5]);
  71. ck_assert_str_eq(ttail->logfile_name[3], samples[2]);
  72. ck_assert_ptr_eq(ttail->logfile[3], NULL);
  73. ck_assert_str_eq(ttail->logfile_name[2], samples[1]);
  74. ck_assert_ptr_eq(ttail->logfile[2], NULL);
  75. }
  76. END_TEST
  77. TTAIL_CHECK_START("ttail sort_files checks", "_ttail_sort_file() checks")
  78. TTAIL_SET_FIXTURE(setup_closest, teardown_closest);
  79. TTAIL_ADD_TEST(test_file_sort1);
  80. TTAIL_ADD_TEST(test_file_sort2);
  81. TTAIL_ADD_TEST(test_file_sort3);
  82. TTAIL_ADD_TEST(test_file_sort_invalid_file);
  83. TTAIL_ADD_TEST(test_file_sort_invalid_files);
  84. TTAIL_CHECK_END