aboutsummaryrefslogtreecommitdiff
path: root/contrib/ntp/sntp/tests/fileHandlingTest.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ntp/sntp/tests/fileHandlingTest.c')
-rw-r--r--contrib/ntp/sntp/tests/fileHandlingTest.c97
1 files changed, 97 insertions, 0 deletions
diff --git a/contrib/ntp/sntp/tests/fileHandlingTest.c b/contrib/ntp/sntp/tests/fileHandlingTest.c
new file mode 100644
index 000000000000..8acad5498f8b
--- /dev/null
+++ b/contrib/ntp/sntp/tests/fileHandlingTest.c
@@ -0,0 +1,97 @@
+
+#include "config.h"
+#include "stdlib.h"
+#include "sntptest.h"
+
+#include "fileHandlingTest.h" /* required because of the h.in thingy */
+
+#include <string.h>
+#include <unistd.h>
+
+const char *
+CreatePath(
+ const char * filename,
+ enum DirectoryType argument
+ )
+{
+ const char srcdir[] = SRCDIR_DEF;//"@abs_srcdir@/data/";
+ size_t plen = sizeof(srcdir) + strlen(filename) + 1;
+ char * path = emalloc(plen);
+ ssize_t retc;
+
+ UNUSED_ARG(argument);
+
+ retc = snprintf(path, plen, "%s%s", srcdir, filename);
+ if (retc <= 0 || (size_t)retc >= plen)
+ exit(1);
+ return path;
+}
+
+
+void
+DestroyPath(
+ const char * pathname
+ )
+{
+ /* use a union to get terminally rid of the 'const' attribute */
+ union {
+ const char *ccp;
+ void *vp;
+ } any;
+
+ any.ccp = pathname;
+ free(any.vp);
+}
+
+
+int
+GetFileSize(
+ FILE * file
+ )
+{
+ fseek(file, 0L, SEEK_END);
+ int length = ftell(file);
+ fseek(file, 0L, SEEK_SET);
+
+ return length;
+}
+
+
+bool
+CompareFileContent(
+ FILE * expected,
+ FILE * actual
+ )
+{
+ int currentLine = 1;
+
+ char actualLine[1024];
+ char expectedLine[1024];
+ size_t lenAct = sizeof actualLine;
+ size_t lenExp = sizeof expectedLine;
+
+ while ( ( (fgets(actualLine, lenAct, actual)) != NULL)
+ && ( (fgets(expectedLine, lenExp, expected)) != NULL )
+ ) {
+
+
+ if( strcmp(actualLine,expectedLine) !=0 ){
+ printf("Comparision failed on line %d",currentLine);
+ return FALSE;
+ }
+
+ currentLine++;
+ }
+
+ return TRUE;
+}
+
+
+void
+ClearFile(
+ const char * filename
+ )
+{
+ if (!truncate(filename, 0))
+ exit(1);
+}