aboutsummaryrefslogtreecommitdiff
path: root/contrib/ntp/sntp/tests/fileHandlingTest.h
blob: 38c3fa6391c47487661146b97f437adbb8f6ca19 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#ifndef FILE_HANDLING_TEST_H
#define FILE_HANDLING_TEST_H

#include "stdlib.h"
#include "sntptest.h"

#include <string.h>
#include <unistd.h>


enum DirectoryType {
	INPUT_DIR = 0,
	OUTPUT_DIR = 1
};

const char * CreatePath(const char* filename, enum DirectoryType argument) {
	
	 char * path = malloc (sizeof (char) * 256);

	/*
	if (m_params.size() >= argument + 1) {
		path = m_params[argument];
	}

	if (path[path.size()-1] != DIR_SEP && !path.empty()) {
		path.append(1, DIR_SEP);
	}
	*/
	//strcpy(path,filename);
	//path.append(filename);

	//return path;

	char cwd[1024];
	if (getcwd(cwd, sizeof(cwd)) != NULL)
		printf("Current working dir: %s\n", cwd);
	
	printf("builddir is   <.>\n");
	printf("abs_srcdir is </deacon/backroom/snaps/ntp-stable/sntp/tests>\n");
	strcpy(path,"/deacon/backroom/snaps/ntp-stable/sntp/tests/data/");

	//strcpy(path,"");
	strcat(path,filename);
	printf("PATH IS : %s\n",path);
	return path;
}

int GetFileSize(FILE *file) {

	fseek(file, 0L, SEEK_END);
	int length = ftell(file);
	fseek(file, 0L, SEEK_SET);
	
	//int initial = file.tellg();

	//file.seekg(0, ios::end);
	//int length = file.tellg();
	//file.seekg(initial);

	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 )
	      ) {

		//printf("%s",actualLine);
		//printf("%s",expectedLine);
	
		if( strcmp(actualLine,expectedLine) !=0 ){
			printf("Comparision failed on line %d",currentLine);
			return FALSE;
		}

		//I removed this and modified the test kodFile.c, because there shouldn't be any ASSERTs in .h files!
		//TEST_ASSERT_EQUAL_STRING(actualLine,expectedLine);//EXPECT_EQ(expectedLine, actualLine) << "Comparision failed on line " << currentLine;
		currentLine++;
	}

	return TRUE;
}

void ClearFile(const char * filename) {
	FILE * clear = fopen(filename, "w");//ios::trunc); //similar to truncate, I GUESS???!
	
	//I removed this because there shouldn't be any ASSERTs in .h files!
	//TEST_ASSERT_TRUE(clear != NULL);
	fclose(clear);
}


#endif // FILE_HANDLING_TEST_H