]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Use timeout command on Linux to limit test run time.
authorMichael R Sweet <msweet@msweet.org>
Fri, 6 Jun 2025 13:31:57 +0000 (09:31 -0400)
committerMichael R Sweet <msweet@msweet.org>
Fri, 6 Jun 2025 13:31:57 +0000 (09:31 -0400)
test/run-stp-tests.sh

index 39b53c3e456a3d58a45132b6d2d6fda1d70eb764..6214e5c845607c8e0e3f0043179323aced42ad41 100755 (executable)
@@ -3,7 +3,7 @@
 # Perform the complete set of IPP compliance tests specified in the
 # CUPS Software Test Plan.
 #
-# Copyright © 2020-2023 by OpenPrinting
+# Copyright © 2020-2025 by OpenPrinting
 # Copyright © 2007-2021 by Apple Inc.
 # Copyright © 1997-2007 by Easy Software Products, all rights reserved.
 #
@@ -672,11 +672,33 @@ export LC_MESSAGES
 # Start the server; run as foreground daemon in the background...
 #
 
+if test "x$VALGRIND" != x; then
+       # Wrap cupsd with Valgrind
+       WRAPPER="$VALGRIND"
+elif test "x$testtype" = x0; then
+       # Don't limit run time...
+       WRAPPER=""
+elif test -x /usr/bin/timeout; then
+       # Limit run time to 5 minutes
+       echo "Limiting run time to 5 minutes..."
+       echo ""
+
+       WRAPPER="/usr/bin/timeout --foreground 5m"
+else
+       # No timeout command, just try limiting CPU time...
+       echo "Limiting CPU time to 5 minutes (300 seconds):"
+       echo "    limit -t 300"
+       echo ""
+
+       limit -t 300
+       WRAPPER=""
+fi
+
 echo "Starting scheduler:"
-echo "    $runcups $VALGRIND ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &"
+echo "    $runcups $WRAPPER ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &"
 echo ""
 
-$runcups $VALGRIND ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &
+$runcups $WRAPPER ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &
 
 cupsd=$!