]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: fix kill problems
authorRuediger Meier <ruediger.meier@ga-group.nl>
Tue, 6 May 2014 17:16:53 +0000 (19:16 +0200)
committerRuediger Meier <ruediger.meier@ga-group.nl>
Tue, 6 May 2014 17:29:13 +0000 (19:29 +0200)
There were several failures (missing tmp files, missing pids) on travis
build farm which I couldn't track down completely. Here we fix some
possible issues:
 - mktemp -u is unsafe, maybe even in practice if there is a bad random
   generator
 - make sure that mktemp does not give us pure integer filnames which
   would not work for "kill by-name"
 - avoid using trap, could be that it removed tmp files on wrong signals

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests/ts/kill/all_processes
tests/ts/kill/name_to_number
tests/ts/kill/options
tests/ts/kill/print_pid

index af863d56ac7a895498a5745889c812f4ca707054..93f78ad60dff4fbd56a615103dbc271574b67369 100755 (executable)
@@ -25,9 +25,8 @@ ts_check_test_command "$TS_HELPER_SIGRECEIVE"
 
 . "$TS_SELF/kill_functions.sh"
 
-HELPER_SYMLINK="$TS_CWD/$(mktemp -u XXXXXXXXXXXXXXX)"
-ln -s "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
-trap "rm -f $HELPER_SYMLINK" 0
+HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/alXXXXXXXXXXXXX")"
+ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
 
 "$HELPER_SYMLINK" -s "$TS_TESTUSER" >> "$TS_OUTPUT" 2>&1 &
 TEST_PID=$!
@@ -53,4 +52,6 @@ fi
 
 sed -i "s/${HELPER_SYMLINK##*/}/${TS_HELPER_SIGRECEIVE##*/}/" "$TS_OUTPUT"
 
+rm -f "$HELPER_SYMLINK"
+
 ts_finalize
index a57ed852e94ed52892109c891efb64f98318118e..9a370bbcc4dafff20eb7779ef0252f40fd05c74a 100755 (executable)
@@ -24,8 +24,9 @@ ts_check_test_command "$TS_HELPER_SIGRECEIVE"
 . "$TS_SELF/kill_functions.sh"
 
 all_ok=true
-HELPER_SYMLINK="$TS_OUTDIR/$(mktemp -u XXXXXXXXXXXXXXX)"
-ln -s "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
+
+HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/naXXXXXXXXXXXXX")"
+ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
 
 for SIG in $($TS_CMD_KILL -L); do
        if [ "x${SIG//[0-9]/}" = "x" ]; then
@@ -56,7 +57,7 @@ for SIG in $($TS_CMD_KILL -L); do
 done
 
 if $all_ok; then
-       echo 'all ok' >> $TS_OUTPUT
+       echo 'all ok' >> "$TS_OUTPUT"
 fi
 rm -f "$HELPER_SYMLINK"
 
index 413037c2122611d7a4ca508da0756b667c5710d6..6cdaa24d4f597f73395d08b6a1056ac742928410 100755 (executable)
@@ -25,9 +25,8 @@ ts_check_test_command "$TS_HELPER_SIGRECEIVE"
 
 all_ok=true
 
-HELPER_SYMLINK="$TS_OUTDIR/$(mktemp -u XXXXXXXXXXXXXXX)"
-ln -s "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
-trap "rm -f $HELPER_SYMLINK" 0
+HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/opXXXXXXXXXXXXX")"
+ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
 
 try_option()
 {
@@ -61,5 +60,6 @@ try_option -SIGHUP
 if $all_ok; then
        echo 'all ok' >> "$TS_OUTPUT"
 fi
+rm -f "$HELPER_SYMLINK"
 
 ts_finalize
index 4da8b4509e020cfea39fc95cb0fb0b260f728c9c..1b3052bb8e7667baf6ce34a2c42813ee2a022fd5 100755 (executable)
@@ -25,9 +25,8 @@ ts_check_test_command "$TS_HELPER_SIGRECEIVE"
 
 all_ok=true
 
-HELPER_SYMLINK="$TS_OUTDIR/$(mktemp -u XXXXXXXXXXXXXXX)"
-ln -s "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
-trap "rm -f $HELPER_SYMLINK" 0
+HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/prXXXXXXXXXXXXX")"
+ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
 
 "$HELPER_SYMLINK" >> "$TS_OUTPUT" 2>&1 &
 TEST_PID=$!
@@ -54,5 +53,6 @@ fi
 if $all_ok; then
        echo 'all ok' >> "$TS_OUTPUT"
 fi
+rm -f "$HELPER_SYMLINK"
 
 ts_finalize