From c9f9ac1c1af2f90d05b63ab5c6a24ff904a3c3f9 Mon Sep 17 00:00:00 2001
From: Matthieu Imbert <matthieu.imbert@inria.fr>
Date: Fri, 22 Mar 2024 08:58:47 +0100
Subject: [PATCH] [execo] ExpectOutputHandler: improve debug logging

---
 src/execo/process.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/execo/process.py b/src/execo/process.py
index 6eff553..13b1b62 100644
--- a/src/execo/process.py
+++ b/src/execo/process.py
@@ -287,14 +287,16 @@ class ExpectOutputHandler(ProcessOutputHandler):
             elif self.backtrack_size != None:
                 self.last_pos[k] = max(self.last_pos[k], len(streamdata) - len(string) - self.backtrack_size)
             logger.debug("ExpectOuputHandler: scan stream %s at position %s of process %s" % (stream, self.last_pos[k], process))
+            logger.iodebug("ExpectOuputHandler: stream from this position is: %r" % (streamdata[self.last_pos[k]:],))
             for re_index, r in enumerate(self.regexes):
                 mo = r.search(streamdata, self.last_pos[k])
                 if mo != None:
                     self.last_pos[k] = mo.end()
-                    logger.debug("ExpectOuputHandler: match found for %r in stream %s at position %s in %s" % (
+                    logger.debug("ExpectOuputHandler: match found for %r in stream %s at position %s: %r in %s" % (
                         r.pattern,
                         stream,
                         mo.span(),
+                        streamdata[mo.span()[0]:mo.span()[1]],
                         process))
                     break
             if mo == None: re_index = None
-- 
GitLab