From 05957f9d85b70b48e235170614a2603502e14fbe Mon Sep 17 00:00:00 2001
From: Joscha Schmiedt <joscha@schmiedt.dev>
Date: Fri, 13 Sep 2024 21:55:21 +0200
Subject: [PATCH] Make FileWriter test robust agains buffers not written to
 disk

- add scopes to enforce destruction of FileWriter, i.e. close file
- only check file size after writing the complete file
---
 test/test_file_transmission.cpp | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/test/test_file_transmission.cpp b/test/test_file_transmission.cpp
index b91918c..b337a24 100644
--- a/test/test_file_transmission.cpp
+++ b/test/test_file_transmission.cpp
@@ -43,18 +43,22 @@ protected:
 TEST_F(test_file_transmission, test_file_writer_reader) {
   ASSERT_FALSE(fs::exists(test_file_name));
 
-  FileWriter writer(test_file_name);
-  std::string buffer_out(1024, 'c');
-  for (int i = 0; i < 8; i++) {
-    writer.write(buffer_out);
-    EXPECT_EQ(fs::file_size(test_file_name), 1024 * (i + 1));
+  {
+    FileWriter writer(test_file_name);
+    std::string buffer_out(1024, 'c');
+    for (int i = 0; i < 8; i++) {
+      writer.write(buffer_out);      
+    }
   }
-
-  FileReader reader(test_file_name);
-  std::string buffer_in(1024, '\0');
-  for (int i = 0; i < 8; i++) {
-    reader.read(buffer_in);
-    EXPECT_EQ(buffer_in, std::string(1024, 'c'));
+  EXPECT_EQ(fs::file_size(test_file_name), 1024 * 8);
+  
+  {
+    FileReader reader(test_file_name);
+    std::string buffer_in(1024, '\0');
+    for (int i = 0; i < 8; i++) {
+      reader.read(buffer_in);
+      EXPECT_EQ(buffer_in, std::string(1024, 'c'));
+    }
   }
 }
 
-- 
GitLab