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

pull/1484/head
Jared Mulconry 2017-10-08 23:42:28 +11:00
parent 8e8ed97750
commit 4a915653f5
2 changed files with 16 additions and 2 deletions

View File

@ -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);

View File

@ -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;