[Box Backup-dev] COMMIT r430 - box/chris/win32/vc2005-compile-fixes/test/win32

boxbackup-dev@fluffy.co.uk boxbackup-dev@fluffy.co.uk
Sat, 11 Feb 2006 23:54:40 +0000 (GMT)


Author: chris
Date: 2006-02-11 23:54:36 +0000 (Sat, 11 Feb 2006)
New Revision: 430

Added:
   box/chris/win32/vc2005-compile-fixes/test/win32/Makefile
   box/chris/win32/vc2005-compile-fixes/test/win32/timezone.cpp
Log:
* win32/timezone.cpp, win32/Makefile
- Added a little test utility for timezone handling in Box


Added: box/chris/win32/vc2005-compile-fixes/test/win32/Makefile
===================================================================
--- box/chris/win32/vc2005-compile-fixes/test/win32/Makefile	2006-02-11 22:15:17 UTC (rev 429)
+++ box/chris/win32/vc2005-compile-fixes/test/win32/Makefile	2006-02-11 23:54:36 UTC (rev 430)
@@ -0,0 +1,2 @@
+timezone.exe: timezone.cpp Makefile
+	g++ -g -O0 -mno-cygwin -I../../lib/win32 -o timezone.exe timezone.cpp 

Added: box/chris/win32/vc2005-compile-fixes/test/win32/timezone.cpp
===================================================================
--- box/chris/win32/vc2005-compile-fixes/test/win32/timezone.cpp	2006-02-11 22:15:17 UTC (rev 429)
+++ box/chris/win32/vc2005-compile-fixes/test/win32/timezone.cpp	2006-02-11 23:54:36 UTC (rev 430)
@@ -0,0 +1,74 @@
+#include <time.h>
+#include <windows.h>
+
+typedef int uid_t;
+typedef int gid_t;
+typedef int u_int32_t;
+
+#include "emu.h"
+
+int main(int argc, char** argv)
+{
+	int time_now = time(NULL);
+	printf("Time now is %d\n", time_now);
+
+	char testfile[80];
+	snprintf(testfile, sizeof(testfile), "test.%d", time_now);
+	printf("Test file is: %s\n", testfile);
+
+	_unlink(testfile);
+
+	/*
+	int fd = open(testfile, O_RDWR | O_CREAT | O_EXCL);
+	if (fd < 0)
+	{
+		perror("open");
+		exit(1);
+	}
+	close(fd);
+	*/
+
+	HANDLE fh = CreateFileA(testfile, FILE_READ_ATTRIBUTES,
+		FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, CREATE_ALWAYS, 
+		FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE, NULL);
+
+	if (!fh)
+	{
+		fprintf(stderr, "Failed to open file '%s': error %d\n",
+			testfile, GetLastError());
+		exit(1);
+	}
+
+	BY_HANDLE_FILE_INFORMATION fi;
+
+	if (!GetFileInformationByHandle(fh, &fi))
+	{
+		fprintf(stderr, "Failed to get file information for '%s': "
+			"error %d\n", testfile, GetLastError());
+		exit(1);
+	}
+
+	if (!CloseHandle(fh))
+	{
+		fprintf(stderr, "Failed to close file: error %d\n",
+			GetLastError());
+		exit(1);
+	}
+
+	time_t created_time = ConvertFileTimeToTime_t(&fi.ftCreationTime);
+	printf("File created time: %d\n", created_time);
+
+	printf("Difference is: %d\n", created_time - time_now);
+
+	/*
+	sleep(1);
+
+	if (_unlink(testfile) != 0)
+	{
+		perror("Failed to delete test file");
+		exit(1);
+	}
+	*/
+
+	exit(0);
+}