echo '### bug #42089: --results with arg > 256 chars (should be 1 char shorter)' ### bug #42089: --results with arg > 256 chars (should be 1 char shorter) parallel --results parallel_test_dir echo ::: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456; ls parallel_test_dir/1/ 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 rm -rf parallel_test_dir echo '**' ** echo '### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834'; seq 1 3 | parallel -j1 "sleep 2; echo {}" | parallel -kj2 echo ### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834 1 2 3 echo '**' ** echo '### Are children killed if GNU Parallel receives TERM twice? There should be no sleep at the end' ### Are children killed if GNU Parallel receives TERM twice? There should be no sleep at the end parallel -q bash -c 'sleep 120 & pid=$!; wait $pid' ::: 1 & T=$!; sleep 5; pstree $$; kill -TERM $T; sleep 1; pstree $$; kill -TERM $T; sleep 1; pstree $$; echo '**' bash-+-perl---bash---sleep `-pstree bash-+-perl---bash---sleep `-pstree bash---pstree ** parallel: SIGTERM received. No new jobs will be started. parallel: Waiting for these 1 jobs to finish. Send SIGTERM again to stop now. parallel: bash -c sleep\ 120\ \&\ pid\=\$\!\;\ wait\ \$pid 1 echo '### Are children killed if GNU Parallel receives INT twice? There should be no sleep at the end' ### Are children killed if GNU Parallel receives INT twice? There should be no sleep at the end parallel -q bash -c 'sleep 120 & pid=$!; wait $pid' ::: 1 & T=$!; sleep 5; pstree $$; kill -INT $T; sleep 1; pstree $$; echo '**' bash-+-perl---bash---sleep `-pstree bash---pstree ** echo '### Do children receive --termseq signals' ### Do children receive --termseq signals show_signals() { perl -e 'for(keys %SIG) { $SIG{$_} = eval "sub { print STDERR \"Got $_\\n\"; }";} while(1){sleep 1}'; }; export -f show_signals; echo | stdout parallel --termseq TERM,200,TERM,100,TERM,50,KILL,25 -u --timeout 1 show_signals; echo | stdout parallel --termseq INT,200,TERM,100,KILL,25 -u --timeout 1 show_signals; sleep 3; echo '**' Got TERM Got TERM Got TERM Got INT Got TERM ** echo '### bug #47644: Wrong slot number replacement when resuming' ### bug #47644: Wrong slot number replacement when resuming seq 0 20 | parallel -kj 4 --delay .2 --joblog /tmp/parallel-bug-47558 'sleep 1; echo {%} {=$_==10 and exit =}'; seq 0 20 | parallel -kj 4 --resume --delay .2 --joblog /tmp/parallel-bug-47558 'sleep 1; echo {%} {=$_==110 and exit =}' 1 0 2 1 3 2 4 3 1 4 2 5 3 6 4 7 1 8 2 9 3 10 4 11 1 12 2 13 3 14 4 15 1 16 2 17 3 18 4 19 1 20