Reliably kill test processes
It seems command -v also includes built-ins so checking for kill is useless because it finds the built-in and those machines or environments that have no /bin/kill fail at the check stage. Oh and then TCL exec doesn't spawn a shell. After reading way too many TCL websites, I believe this should fix the problem. TCL quoting is... different to say the least but it works reliably here. The script now even picked up a typo elsewhere which was nice. This change should stop the intermittent FTBFS bugs from the Debian pbuilders, I hope! You'd think kill $var wouldn't be this difficult.
This commit is contained in:
@ -16,12 +16,6 @@ set test "pkill with no arguments"
|
||||
spawn $pkill
|
||||
expect_pass "$test" "^\(lt-\)\?pkill: no matching criteria specified\\s*"
|
||||
|
||||
# Tests that don't need the test process go above here
|
||||
if { [ catch { exec sh -c "command -v kill" } kill_path] } {
|
||||
untested { kill path not found }
|
||||
return
|
||||
}
|
||||
|
||||
make_testproc
|
||||
set testproc_len [ string length $testproc_comm ]
|
||||
set testproc_trim [ string range $testproc_comm 0 [ expr { $testproc_len - 2 } ] ]
|
||||
@ -132,6 +126,4 @@ untested "$test"
|
||||
|
||||
|
||||
# Cleanup
|
||||
eval exec "$kill_path $testproc1_pid"
|
||||
eval exec "$kill_path $testproc2_pid"
|
||||
exec rm $testproc_path
|
||||
kill_testproc
|
||||
|
Reference in New Issue
Block a user