Subject: bug#71421: system info in test-suite.log

From: Karl Berry <[email-masked]>
Date: Mon, 17 Jun 2024 15:46:29 -0600

I've attached a patch that I think handles that 

Thanks Collin. I installed it (with minor wording tweaks).

    and the extra space you mentioned.

I had thought the extra space was useful rather than confusing,
indicating that a word had been omitted from the output. But I'm fine
with leaving it out. -k

-----------------------------------------------------------------------------
test: Improve output of system information in test-suite.log.

Fixes https://bugs.gnu.org/71421.

* lib/am/check.am ($(TEST_SUITE_LOG): Use $(AWK) instead of 'awk'.
Remove an extra space in uname output.  Start the line with
"System information", and other sections with "Distribution
information".
* NEWS: add reference to #71421.
diff --git a/NEWS b/NEWS
index e4699a569..b0268d268 100644
--- a/NEWS
+++ b/NEWS
@@ -46,7 +46,7 @@ New in 1.17:

   - test-suite.log now contains basic system information, and the
     console message about bug reporting on failure has a bit more detail.
-    (bug#68746)
+    (bug#68746, bug#71421)

   - When using the (default) "parallel" test driver, you can now omit the
     output of skipped tests from test-suite.log by defining the
diff --git a/lib/am/check.am b/lib/am/check.am
index 526b445d5..ab1411ac5 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -370,14 +370,26 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 ## Function to write some basic system info in the log.
 	output_system_information () \
 	{ \
-## Omit the hostname for privacy.  In practice it's a single word?
-          echo;                                    \
-	  (uname -a | awk '{$$2=""; print}') 2>&1; \
-	  if test -r /etc/os-release; then         \
-	    sed 8q /etc/os-release;                \
-	  elif test -r /etc/issue; then            \
-	    cat /etc/issue;                        \
-	  fi;                                      \
+## Omit the hostname for privacy.  Always a single word.
+## Start the line with a label for clarity, and so commands like
+## grep ^Linux don't get a false hit.
+          echo;                                     \
+	  { uname -a | $(AWK) '{                    \
+  printf "System information (uname -a):";          \
+  for (i = 1; i < NF; ++i)                          \
+    {                                               \
+      if (i != 2)                                   \
+        printf " %s", $$i;                          \
+    }                                               \
+  printf "\n";                                      \
+}'; } 2>&1;                                         \
+	  if test -r /etc/os-release; then          \
+	    echo "Distribution information (/etc/os-release):"; \
+	    sed 8q /etc/os-release;                 \
+	  elif test -r /etc/issue; then             \
+	    echo "Distribution information (/etc/issue):";      \
+	    cat /etc/issue;                         \
+	  fi;                                       \
 	}; \
 ##
 ## Function to output the "please report bugs" message.

compile finished at Mon Jun 17 14:44:28 2024