[Box Backup-commit] COMMIT r1946 - box/chris/general/test/backupdiff

boxbackup-dev at fluffy.co.uk boxbackup-dev at fluffy.co.uk
Sat Dec 8 21:30:20 GMT 2007


Author: chris
Date: 2007-12-08 21:30:20 +0000 (Sat, 08 Dec 2007)
New Revision: 1946

Modified:
   box/chris/general/test/backupdiff/testbackupdiff.cpp
Log:
Improve debugging when failing to create the large file for diff speed
tests.


Modified: box/chris/general/test/backupdiff/testbackupdiff.cpp
===================================================================
--- box/chris/general/test/backupdiff/testbackupdiff.cpp	2007-12-08 21:29:51 UTC (rev 1945)
+++ box/chris/general/test/backupdiff/testbackupdiff.cpp	2007-12-08 21:30:20 UTC (rev 1946)
@@ -64,7 +64,7 @@
 	return true;
 }
 
-void make_file_of_zeros(const char *filename, size_t size)
+bool make_file_of_zeros(const char *filename, size_t size)
 {
 	#ifdef WIN32
 	HANDLE handle = openfile(filename, O_WRONLY | O_CREAT | O_EXCL, 0);
@@ -75,7 +75,9 @@
 	BOOL result = SetEndOfFile(handle);
 	if (result != TRUE)
 	{
-		printf("Error %u\n", GetLastError());
+		BOX_ERROR("Failed to create large file " << filename <<
+			" (" << (size >> 20) << " MB): " <<
+			GetErrorMessage(GetLastError()));
 	}
 	TEST_THAT(result == TRUE);
 	TEST_THAT(CloseHandle(handle) == TRUE);
@@ -87,7 +89,16 @@
 	TEST_THAT(close(fd) == 0);
 	#endif
 
-	TEST_THAT((size_t)TestGetFileSize(filename) == size);
+	bool correct_size = ((size_t)TestGetFileSize(filename) == size);
+	TEST_THAT(correct_size);
+	if (!correct_size)
+	{
+		BOX_ERROR("Failed to create large file " << filename <<
+			" (" << (size >> 20) << " MB): " <<
+			"got " << (TestGetFileSize(filename) >> 20) <<
+			" MB instead");
+	}
+	return correct_size;
 }
 
 
@@ -512,14 +523,21 @@
 	// found. Check this out!
 
 	#ifdef WIN32
-	::fprintf(stdout, "Testing diffing two large streams, "
-		"may take a while!\n");
-	::fflush(stdout);
+	BOX_WARNING("Testing diffing two large streams, may take a while!");
+	::fflush(stderr);
 	#endif
 
-	make_file_of_zeros("testfiles/zero.0", 20*1024*1024);
-	make_file_of_zeros("testfiles/zero.1", 200*1024*1024);
+	if (!make_file_of_zeros("testfiles/zero.0", 20*1024*1024))
+	{
+		return 1;
+	}
 
+	if (!make_file_of_zeros("testfiles/zero.1", 200*1024*1024))
+	{
+		remove("testfiles/zero.0");
+		return 1;
+	}
+
 	// Generate a first encoded file
 	{
 		BackupStoreFilenameClear f0name("zero.0");




More information about the Boxbackup-commit mailing list