Clean up DqnFile to be more C++ and minor fixes
This commit is contained in:
		
							parent
							
								
									ee4f8eca17
								
							
						
					
					
						commit
						18967312d6
					
				| @ -1395,7 +1395,7 @@ void DqnArray_TestRealDataInternal(DqnArray<char> *array) | |||||||
| { | { | ||||||
| #ifdef DQN_XPLATFORM_LAYER | #ifdef DQN_XPLATFORM_LAYER | ||||||
| 	size_t bufSize = 0; | 	size_t bufSize = 0; | ||||||
| 	u8 *buf        = DqnFile_ReadEntireFileSimple("tests/google-10000-english.txt", &bufSize); | 	u8 *buf        = DqnFile::ReadEntireFileSimple("tests/google-10000-english.txt", bufSize); | ||||||
| 	DQN_ASSERT(buf); | 	DQN_ASSERT(buf); | ||||||
| 
 | 
 | ||||||
| 	for (auto i = 0; i < bufSize; i++) | 	for (auto i = 0; i < bufSize; i++) | ||||||
| @ -1899,32 +1899,32 @@ void DqnFile_Test() | |||||||
| 			if (1) | 			if (1) | ||||||
| 			{ | 			{ | ||||||
| 				size_t size = 0; | 				size_t size = 0; | ||||||
| 				DQN_ASSERT_HARD(DqnFile_GetFileSize(FILE_TO_OPEN, &size)); | 				DQN_ASSERT_HARD(DqnFile::GetFileSize(FILE_TO_OPEN, size)); | ||||||
| 				DQN_ASSERT_HARD(size == expectedSize); | 				DQN_ASSERT_HARD(size == expectedSize); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			DqnFile file = {}; | 			DqnFile file = {}; | ||||||
| 			DQN_ASSERT(DqnFile_Open(".clang-format", &file, | 			DQN_ASSERT(file.Open(".clang-format", | ||||||
| 			                        (DqnFilePermissionFlag_Write | DqnFilePermissionFlag_Read), | 			                        (DqnFile::PermissionFlag::FileWrite | DqnFile::PermissionFlag::FileRead), | ||||||
| 			                        DqnFileAction_OpenOnly)); | 			                        DqnFile::Action::OpenOnly)); | ||||||
| 
 | 
 | ||||||
| 			DQN_ASSERT_MSG(file.size == expectedSize, | 			DQN_ASSERT_MSG(file.size == expectedSize, | ||||||
| 			               "DqnFileOpen() failed: file.size: %d, expected:%d\n", file.size, | 			               "DqnFileOpen() failed: file.size: %d, expected:%d\n", file.size, | ||||||
| 			               expectedSize); | 			               expectedSize); | ||||||
| 
 | 
 | ||||||
| 			u8 *buffer = (u8 *)calloc(1, (size_t)file.size * sizeof(u8)); | 			u8 *buffer = (u8 *)calloc(1, (size_t)file.size * sizeof(u8)); | ||||||
| 			DQN_ASSERT(DqnFile_Read(&file, buffer, (u32)file.size) == file.size); | 			DQN_ASSERT(file.Read(*buffer, (u32)file.size) == file.size); | ||||||
| 			free(buffer); | 			free(buffer); | ||||||
| 
 | 
 | ||||||
| 			DqnFile_Close(&file); | 			file.Close(); | ||||||
| 			DQN_ASSERT(!file.handle && file.size == 0 && file.permissionFlags == 0); | 			DQN_ASSERT(!file.handle && file.size == 0 && file.flags == 0); | ||||||
| 
 | 
 | ||||||
| 			if (1) | 			if (1) | ||||||
| 			{ | 			{ | ||||||
| 				DqnFile raiiFile = DqnFile(true); | 				DqnFile raiiFile = DqnFile(true); | ||||||
| 				if (raiiFile.Open(FILE_TO_OPEN, | 				if (raiiFile.Open(FILE_TO_OPEN, | ||||||
| 				                  DqnFilePermissionFlag_Write | DqnFilePermissionFlag_Read, | 				                  DqnFile::PermissionFlag::FileWrite | DqnFile::PermissionFlag::FileRead, | ||||||
| 				                  DqnFileAction_OpenOnly)) | 				                  DqnFile::Action::OpenOnly)) | ||||||
| 				{ | 				{ | ||||||
| 					i32 breakHereToTestRaii = 0; | 					i32 breakHereToTestRaii = 0; | ||||||
| 					(void)breakHereToTestRaii; | 					(void)breakHereToTestRaii; | ||||||
| @ -1938,11 +1938,11 @@ void DqnFile_Test() | |||||||
| 		if (1) | 		if (1) | ||||||
| 		{ | 		{ | ||||||
| 			DqnFile file = {}; | 			DqnFile file = {}; | ||||||
| 			DQN_ASSERT(!DqnFile_Open("asdljasdnel;kajdf", &file, | 			DQN_ASSERT(!file.Open("asdljasdnel;kajdf", (DqnFile::PermissionFlag::FileWrite | | ||||||
| 			                         (DqnFilePermissionFlag_Write | DqnFilePermissionFlag_Read), | 			                                            DqnFile::PermissionFlag::FileRead), | ||||||
| 			                         DqnFileAction_OpenOnly)); | 			                      DqnFile::Action::OpenOnly)); | ||||||
| 			DQN_ASSERT(file.size == 0); | 			DQN_ASSERT(file.size == 0); | ||||||
| 			DQN_ASSERT(file.permissionFlags == 0); | 			DQN_ASSERT(file.flags == 0); | ||||||
| 			DQN_ASSERT(!file.handle); | 			DQN_ASSERT(!file.handle); | ||||||
| 			LogSuccess("DqnFile(): Invalid file test"); | 			LogSuccess("DqnFile(): Invalid file test"); | ||||||
| 		} | 		} | ||||||
| @ -1960,19 +1960,20 @@ void DqnFile_Test() | |||||||
| 		// Write data out to some files
 | 		// Write data out to some files
 | ||||||
| 		for (u32 i = 0; i < DQN_ARRAY_COUNT(fileNames); i++) | 		for (u32 i = 0; i < DQN_ARRAY_COUNT(fileNames); i++) | ||||||
| 		{ | 		{ | ||||||
| 			u32 permissions = DqnFilePermissionFlag_Read | DqnFilePermissionFlag_Write; | 			u32 permissions = DqnFile::PermissionFlag::FileRead | DqnFile::PermissionFlag::FileWrite; | ||||||
| 			if (!DqnFile_Open(fileNames[i], files + i, permissions, DqnFileAction_ClearIfExist)) | 			DqnFile *file = files + i; | ||||||
|  | 			if (!file->Open(fileNames[i], permissions, DqnFile::Action::ClearIfExist)) | ||||||
| 			{ | 			{ | ||||||
| 				bool result = DqnFile_Open(fileNames[i], files + i, permissions, | 				bool result = | ||||||
| 				                           DqnFileAction_CreateIfNotExist); | 				    file->Open(fileNames[i], permissions, DqnFile::Action::CreateIfNotExist); | ||||||
| 				DQN_ASSERT(result); | 				DQN_ASSERT(result); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			size_t bytesToWrite = DqnStr_Len(writeData[i]); | 			size_t bytesToWrite = DqnStr_Len(writeData[i]); | ||||||
| 			u8 *dataToWrite     = (u8 *)(writeData[i]); | 			u8 *dataToWrite     = (u8 *)(writeData[i]); | ||||||
| 			size_t bytesWritten = DqnFile_Write(files + i, dataToWrite, bytesToWrite, 0); | 			size_t bytesWritten = file->Write(*dataToWrite, bytesToWrite, 0); | ||||||
| 			DQN_ASSERT(bytesWritten == bytesToWrite); | 			DQN_ASSERT(bytesWritten == bytesToWrite); | ||||||
| 			DqnFile_Close(&files[i]); | 			file->Close(); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		DqnMemStack memStack = {}; | 		DqnMemStack memStack = {}; | ||||||
| @ -1982,15 +1983,15 @@ void DqnFile_Test() | |||||||
| 		{ | 		{ | ||||||
| 			// Manual read the file contents
 | 			// Manual read the file contents
 | ||||||
| 			{ | 			{ | ||||||
| 				u32 permissions = DqnFilePermissionFlag_Read; | 				u32 permissions = DqnFile::PermissionFlag::FileRead; | ||||||
| 				DqnFile *file = files + i; | 				DqnFile *file = files + i; | ||||||
| 				bool result = DqnFile_Open(fileNames[i], file, permissions, DqnFileAction_OpenOnly); | 				bool result = file->Open(fileNames[i], permissions, DqnFile::Action::OpenOnly); | ||||||
| 				DQN_ASSERT(result); | 				DQN_ASSERT(result); | ||||||
| 
 | 
 | ||||||
| 				u8 *buffer = (u8 *)memStack.Push(file->size); | 				u8 *buffer = (u8 *)memStack.Push(file->size); | ||||||
| 				DQN_ASSERT(buffer); | 				DQN_ASSERT(buffer); | ||||||
| 
 | 
 | ||||||
| 				size_t bytesRead = DqnFile_Read(&files[i], buffer, file->size); | 				size_t bytesRead = file->Read(*buffer, file->size); | ||||||
| 				DQN_ASSERT(bytesRead == file->size); | 				DQN_ASSERT(bytesRead == file->size); | ||||||
| 
 | 
 | ||||||
| 				// Verify the data is the same as we wrote out
 | 				// Verify the data is the same as we wrote out
 | ||||||
| @ -1998,19 +1999,19 @@ void DqnFile_Test() | |||||||
| 
 | 
 | ||||||
| 				// Delete when we're done with it
 | 				// Delete when we're done with it
 | ||||||
| 				DQN_ASSERT(memStack.Pop(buffer, file->size)); | 				DQN_ASSERT(memStack.Pop(buffer, file->size)); | ||||||
| 				DqnFile_Close(file); | 				file->Close(); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			// Read using the ReadEntireFile api which doesn't need a file handle as an argument
 | 			// Read using the ReadEntireFile api which doesn't need a file handle as an argument
 | ||||||
| 			{ | 			{ | ||||||
| 				size_t reqSize = 0; | 				size_t reqSize = 0; | ||||||
| 				DQN_ASSERT(DqnFile_GetFileSize(fileNames[i], &reqSize)); | 				DQN_ASSERT(DqnFile::GetFileSize(fileNames[i], reqSize)); | ||||||
| 
 | 
 | ||||||
| 				u8 *buffer = (u8 *)memStack.Push(reqSize); | 				u8 *buffer = (u8 *)memStack.Push(reqSize); | ||||||
| 				DQN_ASSERT(buffer); | 				DQN_ASSERT(buffer); | ||||||
| 
 | 
 | ||||||
| 				size_t bytesRead = 0; | 				size_t bytesRead = 0; | ||||||
| 				DQN_ASSERT(DqnFile_ReadEntireFile(fileNames[i], buffer, reqSize, &bytesRead)); | 				DQN_ASSERT(DqnFile::ReadEntireFile(fileNames[i], *buffer, reqSize, bytesRead)); | ||||||
| 				DQN_ASSERT(bytesRead == reqSize); | 				DQN_ASSERT(bytesRead == reqSize); | ||||||
| 
 | 
 | ||||||
| 				// Verify the data is the same as we wrote out
 | 				// Verify the data is the same as we wrote out
 | ||||||
| @ -2018,16 +2019,15 @@ void DqnFile_Test() | |||||||
| 				DQN_ASSERT(memStack.Pop(buffer, reqSize)); | 				DQN_ASSERT(memStack.Pop(buffer, reqSize)); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			DQN_ASSERT(DqnFile_Delete(fileNames[i])); | 			DQN_ASSERT(DqnFile::Delete(fileNames[i])); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// Then check delete actually worked, files should not exist.
 | 		// Then check delete actually worked, files should not exist.
 | ||||||
| 		for (u32 i = 0; i < DQN_ARRAY_COUNT(fileNames); i++) | 		for (u32 i = 0; i < DQN_ARRAY_COUNT(fileNames); i++) | ||||||
| 		{ | 		{ | ||||||
| 			DqnFile dummy   = {}; | 			DqnFile dummy   = {}; | ||||||
| 			u32 permissions = DqnFilePermissionFlag_Read; | 			u32 permissions = DqnFile::PermissionFlag::FileRead; | ||||||
| 			bool fileExists = | 			bool fileExists = dummy.Open(fileNames[i], permissions, DqnFile::Action::OpenOnly); | ||||||
| 			    DqnFile_Open(fileNames[i], &dummy, permissions, DqnFileAction_OpenOnly); |  | ||||||
| 			DQN_ASSERT(!fileExists); | 			DQN_ASSERT(!fileExists); | ||||||
| 		} | 		} | ||||||
| 		memStack.Free(); | 		memStack.Free(); | ||||||
| @ -2040,18 +2040,18 @@ void DqnFile_Test() | |||||||
| 	////////////////////////////////////////////////////////////////////////////
 | 	////////////////////////////////////////////////////////////////////////////
 | ||||||
| 	if (1) | 	if (1) | ||||||
| 	{ | 	{ | ||||||
| 		u32 numFiles; | 		i32 numFiles; | ||||||
| #if defined(DQN_UNIX_IMPLEMENTATION) | #if defined(DQN_UNIX_IMPLEMENTATION) | ||||||
| 		char **filelist = DqnFile_ListDir(".", &numFiles); | 		char **filelist = DqnFile::ListDir(".", numFiles); | ||||||
| #elif defined(DQN_WIN32_IMPLEMENTATION) | #elif defined(DQN_WIN32_IMPLEMENTATION) | ||||||
| 		char **filelist = DqnFile_ListDir("*", &numFiles); | 		char **filelist = DqnFile::ListDir("*", numFiles); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| 		printf("DqnFile(): Display read files\n"); | 		printf("DqnFile(): Display read files\n"); | ||||||
| 		for (u32 i = 0; i < numFiles; i++) | 		for (auto i = 0; i < numFiles; i++) | ||||||
| 			printf("DqnFile(): DirRead: %s\n", filelist[i]); | 			printf("DqnFile(): DirRead: %s\n", filelist[i]); | ||||||
| 
 | 
 | ||||||
| 		DqnFile_ListDirFree(filelist, numFiles); | 		DqnFile::ListDirFree(filelist, numFiles); | ||||||
| 		LogSuccess("DqnFile(): List directory files"); | 		LogSuccess("DqnFile(): List directory files"); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user