95 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			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
 |