xref: /freebsd/contrib/ntp/sntp/tests/fileHandlingTest.c (revision 9034852c84a13f0e3b5527e1c886ca94b2863b2b)
1*9034852cSGleb Smirnoff 
2*9034852cSGleb Smirnoff #include "config.h"
3*9034852cSGleb Smirnoff #include "stdlib.h"
4*9034852cSGleb Smirnoff #include "sntptest.h"
5*9034852cSGleb Smirnoff 
6*9034852cSGleb Smirnoff #include "fileHandlingTest.h" //required because of the h.in thingy
7*9034852cSGleb Smirnoff 
8*9034852cSGleb Smirnoff #include <string.h>
9*9034852cSGleb Smirnoff #include <unistd.h>
10*9034852cSGleb Smirnoff 
11*9034852cSGleb Smirnoff /*
12*9034852cSGleb Smirnoff enum DirectoryType {
13*9034852cSGleb Smirnoff 	INPUT_DIR = 0,
14*9034852cSGleb Smirnoff 	OUTPUT_DIR = 1
15*9034852cSGleb Smirnoff };
16*9034852cSGleb Smirnoff */
17*9034852cSGleb Smirnoff //extern const char srcdir[];
18*9034852cSGleb Smirnoff 
19*9034852cSGleb Smirnoff const char *
20*9034852cSGleb Smirnoff CreatePath(const char* filename, enum DirectoryType argument) {
21*9034852cSGleb Smirnoff 	const char srcdir[] = SRCDIR_DEF;//"@abs_srcdir@/data/";
22*9034852cSGleb Smirnoff 	char * path = emalloc (sizeof (char) * (strlen(srcdir) + 256));
23*9034852cSGleb Smirnoff 
24*9034852cSGleb Smirnoff 	//char cwd[1024];
25*9034852cSGleb Smirnoff 
26*9034852cSGleb Smirnoff 	strcpy(path, srcdir);
27*9034852cSGleb Smirnoff 	strcat(path, filename);
28*9034852cSGleb Smirnoff 
29*9034852cSGleb Smirnoff 	return path;
30*9034852cSGleb Smirnoff }
31*9034852cSGleb Smirnoff 
32*9034852cSGleb Smirnoff 
33*9034852cSGleb Smirnoff int
34*9034852cSGleb Smirnoff GetFileSize(FILE *file) {
35*9034852cSGleb Smirnoff 	fseek(file, 0L, SEEK_END);
36*9034852cSGleb Smirnoff 	int length = ftell(file);
37*9034852cSGleb Smirnoff 	fseek(file, 0L, SEEK_SET);
38*9034852cSGleb Smirnoff 
39*9034852cSGleb Smirnoff 	return length;
40*9034852cSGleb Smirnoff }
41*9034852cSGleb Smirnoff 
42*9034852cSGleb Smirnoff 
43*9034852cSGleb Smirnoff bool
44*9034852cSGleb Smirnoff CompareFileContent(FILE* expected, FILE* actual) {
45*9034852cSGleb Smirnoff 	int currentLine = 1;
46*9034852cSGleb Smirnoff 
47*9034852cSGleb Smirnoff 	char actualLine[1024];
48*9034852cSGleb Smirnoff 	char expectedLine[1024];
49*9034852cSGleb Smirnoff 	size_t lenAct = sizeof actualLine;
50*9034852cSGleb Smirnoff 	size_t lenExp = sizeof expectedLine;
51*9034852cSGleb Smirnoff 
52*9034852cSGleb Smirnoff 	while (  ( (fgets(actualLine, lenAct, actual)) != NULL)
53*9034852cSGleb Smirnoff 	      && ( (fgets(expectedLine, lenExp, expected)) != NULL )
54*9034852cSGleb Smirnoff 	      ) {
55*9034852cSGleb Smirnoff 
56*9034852cSGleb Smirnoff 
57*9034852cSGleb Smirnoff 		if( strcmp(actualLine,expectedLine) !=0 ){
58*9034852cSGleb Smirnoff 			printf("Comparision failed on line %d",currentLine);
59*9034852cSGleb Smirnoff 			return FALSE;
60*9034852cSGleb Smirnoff 		}
61*9034852cSGleb Smirnoff 
62*9034852cSGleb Smirnoff 		currentLine++;
63*9034852cSGleb Smirnoff 	}
64*9034852cSGleb Smirnoff 
65*9034852cSGleb Smirnoff 	return TRUE;
66*9034852cSGleb Smirnoff }
67*9034852cSGleb Smirnoff 
68*9034852cSGleb Smirnoff 
69*9034852cSGleb Smirnoff void
70*9034852cSGleb Smirnoff ClearFile(const char * filename) {
71*9034852cSGleb Smirnoff 	if (!truncate(filename, 0))
72*9034852cSGleb Smirnoff 		exit(1);
73*9034852cSGleb Smirnoff }
74*9034852cSGleb Smirnoff 
75