On 08/11/2023 17.23, Sebastian Mitterle wrote:
Currently, a successful test run finishes silently with exit code 0.
The last message on the console is "starting image" which can leave
the user wondering if they executed the commands correctly.

Thanks for the patch, I think this is a good idea - it also initially puzzled me a couple of times due to the missing feedback.

Now add a summary of the number of executed instructions in case
of success. Don't add that message when printing the trace to
stdout (`-t -`).

Tested:
a) master/apprentice mode
b) trace mode to file
c) trace mode to stdout

Suggested-by: Thomas Huth <th...@redhat.com>
Signed-off-by: Sebastian Mitterle <smitt...@redhat.com>
---
  risu.c | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/risu.c b/risu.c
index 36fc82a..740663a 100644
--- a/risu.c
+++ b/risu.c
@@ -551,6 +551,7 @@ int main(int argc, char **argv)
      struct option *longopts;
      char *shortopts;
      stack_t ss;
+    int ret;
longopts = setup_options(&shortopts); @@ -635,8 +636,15 @@ int main(int argc, char **argv)
      arch_init();
if (ismaster) {
-        return master();
+        ret = master();
      } else {
-        return apprentice();
+        ret = apprentice();
      }
+
+    if (ret == EXIT_SUCCESS && (!trace || (trace  && strcmp(trace_fn, "-") != 
0))) {

There's a superfluous white space here ------------^

Apart from that, I wonder whether the check for trace-to-stdout is really necessary, since you print the message to stderr below instead?

+        fprintf(stderr, "No mismatches found. Executed %zd checkpoints.\n",
+                signal_count);
+    }
+
+    return ret;
  }

 Thomas


Reply via email to