krb5 commit: Collect failed command trace logs in k5test

ghudson at mit.edu ghudson at mit.edu
Tue Sep 30 17:06:04 EDT 2025


https://github.com/krb5/krb5/commit/d908e4b505ccf038602bf8e4bb1540fd1826fc84
commit d908e4b505ccf038602bf8e4bb1540fd1826fc84
Author: Greg Hudson <ghudson at mit.edu>
Date:   Sat Sep 27 02:32:58 2025 -0400

    Collect failed command trace logs in k5test
    
    In _run_cmd(), read the trace file and copy it into the log before
    checking the return code and expected output message.

 src/util/k5test.py | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/util/k5test.py b/src/util/k5test.py
index 5659fed1c..bef645dd0 100644
--- a/src/util/k5test.py
+++ b/src/util/k5test.py
@@ -776,20 +776,24 @@ def _run_cmd(args, env, input=None, expected_code=0, expected_msg=None,
     _stop_or_shell(_stop_after, _shell_after, env, _cmd_index)
     _cmd_index += 1
 
-    # Check the return code and return the output.
+    # Copy trace output into the log if we collected it.
+    if tracefile is not None:
+        with open(tracefile, 'r') as f:
+            trace = f.read()
+        output('*** Trace output for previous command:\n')
+        output(trace)
+
+    # Check the return code.
     if code != expected_code:
         fail('%s failed with code %d.' % (args[0], code))
 
+    # Check for the expected message if given.
     if expected_msg is not None and expected_msg not in outdata:
         fail('Expected string not found in command output: ' + expected_msg)
 
-    if tracefile is not None:
-        with open(tracefile, 'r') as f:
-            trace = f.read()
-        output('*** Trace output for previous command:\n')
-        output(trace)
-        if expected_trace is not None:
-            _check_trace(trace, expected_trace)
+    # Check for expected trace log messages if given.
+    if expected_trace is not None:
+        _check_trace(trace, expected_trace)
 
     return (outdata, trace) if return_trace else outdata
 


More information about the cvs-krb5 mailing list