1
2 #include "config.h"
3 #include "stdlib.h"
4 #include "sntptest.h"
5
6 #include "fileHandlingTest.h" /* required because of the h.in thingy */
7
8 #include <string.h>
9 #include <unistd.h>
10
11 const char *
CreatePath(const char * filename,enum DirectoryType argument)12 CreatePath(
13 const char * filename,
14 enum DirectoryType argument
15 )
16 {
17 const char srcdir[] = SRCDIR_DEF;//"@abs_srcdir@/data/";
18 size_t plen = sizeof(srcdir) + strlen(filename) + 1;
19 char * path = emalloc(plen);
20 ssize_t retc;
21
22 UNUSED_ARG(argument);
23
24 retc = snprintf(path, plen, "%s%s", srcdir, filename);
25 if (retc <= 0 || (size_t)retc >= plen)
26 exit(1);
27 return path;
28 }
29
30
31 void
DestroyPath(const char * pathname)32 DestroyPath(
33 const char * pathname
34 )
35 {
36 /* use a union to get terminally rid of the 'const' attribute */
37 union {
38 const char *ccp;
39 void *vp;
40 } any;
41
42 any.ccp = pathname;
43 free(any.vp);
44 }
45
46
47 int
GetFileSize(FILE * file)48 GetFileSize(
49 FILE * file
50 )
51 {
52 fseek(file, 0L, SEEK_END);
53 int length = ftell(file);
54 fseek(file, 0L, SEEK_SET);
55
56 return length;
57 }
58
59
60 bool
CompareFileContent(FILE * expected,FILE * actual)61 CompareFileContent(
62 FILE * expected,
63 FILE * actual
64 )
65 {
66 int currentLine = 1;
67
68 char actualLine[1024];
69 char expectedLine[1024];
70 size_t lenAct = sizeof actualLine;
71 size_t lenExp = sizeof expectedLine;
72
73 while ( ( (fgets(actualLine, lenAct, actual)) != NULL)
74 && ( (fgets(expectedLine, lenExp, expected)) != NULL )
75 ) {
76
77
78 if( strcmp(actualLine,expectedLine) !=0 ){
79 printf("Comparision failed on line %d",currentLine);
80 return FALSE;
81 }
82
83 currentLine++;
84 }
85
86 return TRUE;
87 }
88
89
90 void
ClearFile(const char * filename)91 ClearFile(
92 const char * filename
93 )
94 {
95 if (!truncate(filename, 0))
96 exit(1);
97 }
98