2
0
Эх сурвалжийг харах

Fixed IOStream reporting a file size of 0 for files that have been written, but not yet been flushed to disk.

Jared Mulconry 7 жил өмнө
parent
commit
4a915653f5

+ 5 - 0
test/unit/utDefaultIOStream.cpp

@@ -69,6 +69,11 @@ TEST_F( utDefaultIOStream, FileSizeTest ) {
         auto vflush = std::fflush( fs );
         ASSERT_EQ(vflush, 0);
 
+		std::fclose(fs);
+		fs = std::fopen(fpath, "r");
+
+		ASSERT_NE(nullptr, fs);
+
         TestDefaultIOStream myStream( fs, fpath);
         size_t size = myStream.FileSize();
         EXPECT_EQ( size, dataSize);

+ 11 - 2
test/unit/utIOStreamBuffer.cpp

@@ -90,7 +90,11 @@ TEST_F( IOStreamBufferTest, open_close_Test ) {
     
     auto written = std::fwrite( data, sizeof(*data), dataCount, fs );
     EXPECT_NE( 0U, written );
-    std::fflush( fs );
+    auto flushResult = std::fflush( fs );
+	ASSERT_EQ(0, flushResult);
+	std::fclose( fs );
+	fs = std::fopen(fname, "r");
+	ASSERT_NE(nullptr, fs);
     {
         TestDefaultIOStream myStream( fs, fname );
 
@@ -112,7 +116,12 @@ TEST_F( IOStreamBufferTest, readlineTest ) {
 
     auto written = std::fwrite( data, sizeof(*data), dataCount, fs );
     EXPECT_NE( 0U, written );
-    std::fflush( fs );
+
+	auto flushResult = std::fflush(fs);
+	ASSERT_EQ(0, flushResult);
+	std::fclose(fs);
+	fs = std::fopen(fname, "r");
+	ASSERT_NE(nullptr, fs);
 
     const auto tCacheSize = 26u;