ttail/tests/ttail_search_file_sort.c

95 lines
2.8 KiB
C

#include <check.h>
#include <stdio.h>
#include <libgen.h>
#include "ttail_check.h"
#include "ttail.h"
#include "ttail_init.h"
#include "ttail_search.h"
START_TEST (test_file_sort1)
{
ttail_add_logfile(ttail, samples[0]);
ttail_add_logfile(ttail, samples[3]);
ttail_add_logfile(ttail, samples[5]);
ttail_search_files_init(ttail);
_ttail_search_closest_files(ttail);
ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
}
END_TEST
START_TEST (test_file_sort2)
{
ttail_add_logfile(ttail, samples[5]);
ttail_add_logfile(ttail, samples[3]);
ttail_add_logfile(ttail, samples[0]);
ttail_search_files_init(ttail);
_ttail_search_closest_files(ttail);
ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
}
END_TEST
START_TEST (test_file_sort3)
{
ttail_add_logfile(ttail, samples[5]);
ttail_add_logfile(ttail, samples[3]);
ttail_add_logfile(ttail, samples[0]);
ttail_search_files_init(ttail);
_ttail_search_closest_files(ttail);
ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
}
END_TEST
START_TEST (test_file_sort_invalid_file)
{
ttail_add_logfile(ttail, samples[5]);
ttail_add_logfile(ttail, samples[3]);
ttail_add_logfile(ttail, samples[0]);
ttail_add_logfile(ttail, samples[1]);
ttail->flag |= TTAIL_FLAG_PERMISSIVE;
ttail_search_files_init(ttail);
_ttail_search_closest_files(ttail);
ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
ck_assert_str_eq(ttail->logfile_name[1], samples[0]);
ck_assert_str_eq(ttail->logfile_name[2], samples[5]);
ck_assert_str_eq(ttail->logfile_name[3], samples[1]);
ck_assert_ptr_eq(ttail->logfile[3], NULL);
}
END_TEST
START_TEST (test_file_sort_invalid_files)
{
ttail_add_logfile(ttail, samples[5]);
ttail_add_logfile(ttail, samples[3]);
ttail_add_logfile(ttail, samples[2]);
ttail_add_logfile(ttail, samples[1]);
ttail->flag |= TTAIL_FLAG_PERMISSIVE;
ttail_search_files_init(ttail);
_ttail_search_closest_files(ttail);
ck_assert_str_eq(ttail->logfile_name[0], samples[3]);
ck_assert_str_eq(ttail->logfile_name[1], samples[5]);
ck_assert_str_eq(ttail->logfile_name[3], samples[2]);
ck_assert_ptr_eq(ttail->logfile[3], NULL);
ck_assert_str_eq(ttail->logfile_name[2], samples[1]);
ck_assert_ptr_eq(ttail->logfile[2], NULL);
}
END_TEST
TTAIL_CHECK_START("ttail sort_files checks", "_ttail_sort_file() checks")
TTAIL_SET_FIXTURE(setup_closest, teardown_closest);
TTAIL_ADD_TEST(test_file_sort1);
TTAIL_ADD_TEST(test_file_sort2);
TTAIL_ADD_TEST(test_file_sort3);
TTAIL_ADD_TEST(test_file_sort_invalid_file);
TTAIL_ADD_TEST(test_file_sort_invalid_files);
TTAIL_CHECK_END