[med-svn] [Git][med-team/staden][master] update autopkgtest to process cleanup logic

harish chavre (@Harish1) gitlab at salsa.debian.org
Thu Jul 10 11:36:41 BST 2025



harish chavre pushed to branch master at Debian Med / staden


Commits:
14695cfe by Harish chavre at 2025-07-10T10:35:28+00:00
update autopkgtest to process cleanup logic

- - - - -


2 changed files:

- debian/tests/control
- debian/tests/run-unit-test


Changes:

=====================================
debian/tests/control
=====================================
@@ -1,3 +1,3 @@
 Tests: run-unit-test
-Depends: @, staden, xvfb ,xauth
+Depends: @, staden, xvfb ,xauth, procps
 Restrictions: allow-stderr


=====================================
debian/tests/run-unit-test
=====================================
@@ -2,57 +2,88 @@
 set -e
 
 pkg=staden
-CUR_DIR=$(pwd)
-
 export PATH="/usr/share/staden/scripts:/usr/lib/staden/bin:$PATH"
+
+
 if [ -z "$AUTOPKGTEST_TMP" ]; then
   AUTOPKGTEST_TMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
-  trap "rm -rf ${AUTOPKGTEST_TMP}" EXIT INT QUIT ABRT PIPE TERM
+  trap "rm -rf ${AUTOPKGTEST_TMP}" EXIT INT TERM
 fi
 
 cp -a "$(dirname "$0")/data/"* "${AUTOPKGTEST_TMP}/"
 cd "${AUTOPKGTEST_TMP}"
 
-#CLI Test
+
+echo "Running CLI test (fasta-split)..."
 fasta-split input.fa
-split_count=$(ls -1 seq* 2>/dev/null | wc -l)
-if [ "$split_count" -ge 3 ]; then
-  echo "fasta-split created "
+if [ "$(ls -1 seq* 2>/dev/null | wc -l)" -ge 3 ]; then
+  echo "fasta-split successful"
 else
+  echo "fasta-split failed"
   exit 1
 fi
 
-#GUI Test
-bin1="gap4"
-bin2="pregap4"
-
-check_n_cleanup () {
-    local gap_pids="$(
-        ps aux | awk "/^$USER"'.*'"$bin1"'/ {print $2}' | xargs
-    )"
-    [ -n "$gap_pids" ] && kill $gap_pids || true
-
-    local pregap_pids="$(
-        ps aux | awk "/^$USER"'.*'"$bin2"'/ {print $2}' | xargs
-    )"
-    [ -n "$pregap_pids" ] && kill $pregap_pids || true
-
-    local xvfb_pids="$(
-        ps aux | awk -vORS=' ' "/^$USER"'.*[X]vfb/ {print $2}' | xargs
-    )"
-    [ -n "$xvfb_pids" ] && kill $xvfb_pids || true
+
+pre_test_cleanup() {
+  for pname in gap4 pregap4 gap.tcl tclsh Xvfb; do
+    pids=$(pgrep -f "$pname") || true
+    if [ -n "$pids" ]; then
+      echo "Killing leftover $pname processes: $pids"
+      for pid in $pids; do
+        if kill -0 "$pid" 2>/dev/null; then
+          kill "$pid" || echo "Warning: could not kill $pname PID $pid"
+        fi
+      done
+    fi
+  done
 }
 
-cd "$AUTOPKGTEST_TMP"
 
-set -v
+check_n_cleanup() {
 
-echo "Launching gap4..."
-xvfb-run --auto-servernum "$bin1" &
-sleep 10
+  gui_pids=$(ps aux | awk '/[g]ap4|[p]regap4/ {print $2}' | xargs)
+  if [ -z "$gui_pids" ]; then
+    echo "Error: GUI applications crashed before check"
+    exit 1
+  fi
 
-echo "Launching pregap4..."
-xvfb-run --auto-servernum "$bin2" &
-sleep 10
+  echo "Found GUI processes: $gui_pids"
+  for pid in $gui_pids; do
+    if kill -0 "$pid" 2>/dev/null; then
+      kill "$pid" || {
+        echo "Error: Failed to kill GUI process $pid"
+        exit 1
+      }
+    fi
+  done
 
+  tcl_pids=$(ps aux | awk '/[g]ap.tcl|[t]clsh/ {print $2}' | xargs)
+  if [ -n "$tcl_pids" ]; then
+    echo "Cleaning up leftover gap.tcl/tclsh: $tcl_pids"
+    for pid in $tcl_pids; do
+      if kill -0 "$pid" 2>/dev/null; then
+        kill "$pid" || echo "Warning: Could not kill tclsh/gap.tcl PID $pid"
+      fi
+    done
+  fi
+
+  xvfb_pids=$(ps aux | awk '/[X]vfb/ {print $2}' | xargs)
+  if [ -n "$xvfb_pids" ]; then
+    echo "Cleaning up leftover Xvfb: $xvfb_pids"
+    for pid in $xvfb_pids; do
+      if kill -0 "$pid" 2>/dev/null; then
+        kill "$pid" || echo "Warning: Could not kill Xvfb PID $pid"
+      fi
+    done
+  fi
+}
+
+pre_test_cleanup
+
+echo "Launching gap4 and pregap4 "
+xvfb-run --auto-servernum gap4 > /dev/null 2>&1 &
+xvfb-run --auto-servernum pregap4 > /dev/null 2>&1 &
+
+sleep 10
 check_n_cleanup
+exit 0



View it on GitLab: https://salsa.debian.org/med-team/staden/-/commit/14695cfeca1517ab088466ee71fa8a2568f34d88

-- 
View it on GitLab: https://salsa.debian.org/med-team/staden/-/commit/14695cfeca1517ab088466ee71fa8a2568f34d88
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20250710/51117058/attachment-0001.htm>


More information about the debian-med-commit mailing list