From 4fe0ad8e2c210d3e644da53b6d3c3bdea983836c Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 7 Feb 2026 22:45:45 -0600 Subject: [PATCH] GHA: Get diagnostics data from hanging check-context test --- .github/workflows/linux.yml | 21 +++++++++++++++++++++ tests/bin/test-lib.sh | 2 +- tests/gss/check-context.in | 2 ++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 30f96e3d8..6c8746067 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -108,6 +108,27 @@ jobs: make DESTDIR=/tmp/h5l install cd /tmp/h5l tar czf $HOME/heimdal-install-linux-${{ matrix.compiler }}.tgz . + - name: Interrupted/timed out test diagnostics + if: ${{ cancelled() || failure() }} + run: | + set -x + # Show any test-related processes still running + ps auxww | grep -E 'kdc|test_context|kinit|kadmin|check-' | grep -v grep || true + # Show who's on the test port + ss -tlnp sport = :49188 || true + # Show the newest .log file (the one likely interrupted) + newest=$(find build/tests -name '*.log' -newer build/tests/gss/Makefile -printf '%T@ %p\n' 2>/dev/null | sort -rn | head -1 | cut -d' ' -f2-) + if [ -n "$newest" ]; then + echo "=== Newest test log: $newest ===" + cat "$newest" + fi + # Also show KDC messages.log if any exist + for f in build/tests/gss/messages.log build/tests/kdc/messages.log; do + if [ -f "$f" ]; then + echo "=== $f ===" + tail -100 "$f" + fi + done - name: Core dump stacks if: ${{ always() }} run: | diff --git a/tests/bin/test-lib.sh b/tests/bin/test-lib.sh index 9c385d0c8..2b9dd9fe9 100644 --- a/tests/bin/test-lib.sh +++ b/tests/bin/test-lib.sh @@ -272,7 +272,7 @@ test_run_x() { # Run with tracing enabled ( - set -x + set -vx "$@" ) > "$cmd_out" 2>"$trace_out" rc=$? diff --git a/tests/gss/check-context.in b/tests/gss/check-context.in index a5416876a..49f1e3d3c 100644 --- a/tests/gss/check-context.in +++ b/tests/gss/check-context.in @@ -77,6 +77,8 @@ rm -f mkey.file* test_init +alias test_run=test_run_x + test_section "Creating database" # add both lucid and lucid.test.h5l.se to simulate aliases # XXX ext should ext aliases too