Allow overwriting test's report stdout text from inside test code

Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049
diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py
index 66e8656..be6e8da 100644
--- a/src/osmo_gsm_tester/test.py
+++ b/src/osmo_gsm_tester/test.py
@@ -43,6 +43,7 @@
         self.fail_type = None
         self.fail_message = None
         self.log_target = None
+        self._report_stdout = None
 
     def get_run_dir(self):
         if self._run_dir is None:
@@ -118,9 +119,19 @@
         self.status = Test.SKIP
         self.duration = 0
 
-    def log_file_path(self):
-        if self.log_target is None:
-            return None
-        return self.log_target.log_file_path()
+    def set_report_stdout(self, text):
+        'Overwrite stdout text stored in report from inside a test'
+        self._report_stdout = text
+
+    def report_stdout(self):
+        # If test overwrote the text, provide it:
+        if self._report_stdout is not None:
+            return self._report_stdout
+        # Otherwise vy default provide the entire test log:
+        if self.log_target is not None and self.log_target.log_file_path() is not None:
+            with open(self.log_target.log_file_path(), 'r') as myfile:
+                return myfile.read()
+        else:
+            return 'test log file not available'
 
 # vim: expandtab tabstop=4 shiftwidth=4