[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