Fixed bug #50685: single ::::+ does not work.

This commit is contained in:
Ole Tange 2017-04-01 04:04:47 +02:00
parent 1de0d2be9b
commit 70e29c7b5b
5 changed files with 588 additions and 4 deletions

View file

@ -1279,9 +1279,9 @@ sub parse_options {
# Default = {} # Default = {}
$opt::tagstring = $Global::parensleft.$Global::parensright; $opt::tagstring = $Global::parensleft.$Global::parensright;
} }
if(grep /^$Global::arg_sep$|^$Global::arg_file_sep$/o, @ARGV) { if(grep /^$Global::arg_sep\+?$|^$Global::arg_file_sep\+?$/o, @ARGV) {
# Deal with ::: and :::: # Deal with ::: :::+ :::: and ::::+
@ARGV=read_args_from_command_line(); @ARGV = read_args_from_command_line();
} }
parse_semaphore(); parse_semaphore();

View file

@ -896,9 +896,12 @@ signal, and command run.
For B<--pipe> bytes transferred and bytes returned are number of input For B<--pipe> bytes transferred and bytes returned are number of input
and output of bytes. and output of bytes.
If B<logfile> is prepended with '+' log lines will be appended to the
logfile.
To convert the times into ISO-8601 strict do: To convert the times into ISO-8601 strict do:
cat joblog | perl -a -F"\t" -ne \ cat logfile | perl -a -F"\t" -ne \
'chomp($F[2]=`date -d \@$F[2] +%FT%T`); print join("\t",@F)' 'chomp($F[2]=`date -d \@$F[2] +%FT%T`); print join("\t",@F)'
If the host is long, you can use B<column -t> to pretty print it: If the host is long, you can use B<column -t> to pretty print it:

View file

@ -683,6 +683,11 @@ par_tagstring_pipe() {
seq 3000 | parallel -j4 --pipe -N1000 -k --tagstring {%} LANG=C wc seq 3000 | parallel -j4 --pipe -N1000 -k --tagstring {%} LANG=C wc
} }
par_link_files_as_only_arg() {
echo 'bug #50685: single ::::+ does not work'
parallel echo ::::+ <(seq 10) <(seq 3) <(seq 4)
}
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort | compgen -A function | grep par_ | sort |
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1' parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'

View file

@ -1621,6 +1621,10 @@ par_file_ending_in_newline ### Hans found a bug giving unitialized variable
par_file_ending_in_newline gzip /tmp/parallel_f1 par_file_ending_in_newline gzip /tmp/parallel_f1
par_file_ending_in_newline gzip /tmp/parallel_f2' par_file_ending_in_newline gzip /tmp/parallel_f2'
par_file_ending_in_newline ' par_file_ending_in_newline '
par_link_files_as_only_arg bug #50685: single ::::+ does not work
par_link_files_as_only_arg 1 1 1
par_link_files_as_only_arg 2 2 2
par_link_files_as_only_arg 3 3 3
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
par_pipepart_block_bigger_2G 1 1 4 par_pipepart_block_bigger_2G 1 1 4
par_python_children ### bug #49970: Python child process dies if --env is used par_python_children ### bug #49970: Python child process dies if --env is used

View file

@ -0,0 +1,572 @@
par_print_before_halt_on_error ### What is printed before the jobs are killed
par_print_before_halt_on_error -2 exit code 0
par_print_before_halt_on_error -2 0 0
par_print_before_halt_on_error -2 parallel: This job succeeded:
par_print_before_halt_on_error -2 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -2\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 1
par_print_before_halt_on_error -1 exit code 0
par_print_before_halt_on_error -1 0 0
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 1
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 8 jobs to finish.
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 2
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 7 jobs to finish.
par_print_before_halt_on_error -1 3 3
par_print_before_halt_on_error -1 0 0
par_print_before_halt_on_error -1 1 1
par_print_before_halt_on_error -1 2 2
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 3
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 6 jobs to finish.
par_print_before_halt_on_error -1 3 3
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 3
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 5 jobs to finish.
par_print_before_halt_on_error -1 4 4
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 4
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 4 jobs to finish.
par_print_before_halt_on_error -1 5 5
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 5
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_print_before_halt_on_error -1 6 6
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 6
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_print_before_halt_on_error -1 7 7
par_print_before_halt_on_error -1 0 0
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 7
par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_print_before_halt_on_error -1 8 8
par_print_before_halt_on_error -1 parallel: This job succeeded:
par_print_before_halt_on_error -1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ -1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 8
par_print_before_halt_on_error 0 exit code 3
par_print_before_halt_on_error 0 0 0
par_print_before_halt_on_error 0 3 3
par_print_before_halt_on_error 0 0 0
par_print_before_halt_on_error 0 1 1
par_print_before_halt_on_error 0 2 2
par_print_before_halt_on_error 0 3 3
par_print_before_halt_on_error 0 4 4
par_print_before_halt_on_error 0 5 5
par_print_before_halt_on_error 0 6 6
par_print_before_halt_on_error 0 7 7
par_print_before_halt_on_error 0 0 0
par_print_before_halt_on_error 0 8 8
par_print_before_halt_on_error 1 exit code 1
par_print_before_halt_on_error 1 0 0
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 1
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 8 jobs to finish.
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 2
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 7 jobs to finish.
par_print_before_halt_on_error 1 3 3
par_print_before_halt_on_error 1 0 0
par_print_before_halt_on_error 1 1 1
par_print_before_halt_on_error 1 2 2
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 3
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 6 jobs to finish.
par_print_before_halt_on_error 1 3 3
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 3
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 5 jobs to finish.
par_print_before_halt_on_error 1 4 4
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 4
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 4 jobs to finish.
par_print_before_halt_on_error 1 5 5
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 5
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_print_before_halt_on_error 1 6 6
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 6
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_print_before_halt_on_error 1 7 7
par_print_before_halt_on_error 1 0 0
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 7
par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_print_before_halt_on_error 1 8 8
par_print_before_halt_on_error 1 parallel: This job failed:
par_print_before_halt_on_error 1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 1\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 8
par_print_before_halt_on_error 2 exit code 1
par_print_before_halt_on_error 2 0 0
par_print_before_halt_on_error 2 parallel: This job failed:
par_print_before_halt_on_error 2 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ 2\ \>\ 0\ \?\ exit\ shift\ :\ exit\ not\ shift\; 1
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt 0
par_testhalt ### testhalt --halt now,fail=0
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt 0
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt 1
par_testhalt ### testhalt --halt now,fail=1
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt 1
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt 2
par_testhalt ### testhalt --halt now,fail=2
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt 2
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 3.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 6
par_testhalt 30
par_testhalt ### testhalt --halt now,fail=30%
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 6.9; exit 6
par_testhalt 30
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 3.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 6
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 7
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 8
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 9
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 10
par_testhalt 50
par_testhalt ### testhalt --halt now,fail=70%
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 6.9; exit 6
par_testhalt parallel: This job failed:
par_testhalt sleep 7.5; exit 7
par_testhalt parallel: This job failed:
par_testhalt sleep 8.1; exit 8
par_testhalt parallel: This job failed:
par_testhalt sleep 8.7; exit 9
par_testhalt parallel: This job failed:
par_testhalt sleep 9.3; exit 10
par_testhalt 50
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt now,success=0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt now,success=1
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt now,success=2
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.1; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt now,success=30%
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.1; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.1; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.4; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.7; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 6.3; exit 0
par_testhalt 50
par_testhalt ### testhalt --halt now,success=70%
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.1; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.4; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.7; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.3; exit 0
par_testhalt 50
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt 0
par_testhalt ### testhalt --halt soon,fail=0
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt 0
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt 1
par_testhalt ### testhalt --halt soon,fail=1
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt 1
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 3.3; exit 5
par_testhalt 2
par_testhalt ### testhalt --halt soon,fail=2
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 5
par_testhalt 2
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 3.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 6
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 7
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 8
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 9
par_testhalt 30
par_testhalt ### testhalt --halt soon,fail=30%
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 6.9; exit 6
par_testhalt parallel: This job failed:
par_testhalt sleep 7.5; exit 7
par_testhalt parallel: This job failed:
par_testhalt sleep 8.1; exit 8
par_testhalt parallel: This job failed:
par_testhalt sleep 8.7; exit 9
par_testhalt 30
par_testhalt parallel: This job failed:
par_testhalt sleep 0.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 1.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 2.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 2.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 3.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 6
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 7
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 8
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 9
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 10
par_testhalt 50
par_testhalt ### testhalt --halt soon,fail=70%
par_testhalt parallel: This job failed:
par_testhalt sleep 3.9; exit 1
par_testhalt parallel: This job failed:
par_testhalt sleep 4.5; exit 2
par_testhalt parallel: This job failed:
par_testhalt sleep 5.1; exit 3
par_testhalt parallel: This job failed:
par_testhalt sleep 5.7; exit 4
par_testhalt parallel: This job failed:
par_testhalt sleep 6.3; exit 5
par_testhalt parallel: This job failed:
par_testhalt sleep 6.9; exit 6
par_testhalt parallel: This job failed:
par_testhalt sleep 7.5; exit 7
par_testhalt parallel: This job failed:
par_testhalt sleep 8.1; exit 8
par_testhalt parallel: This job failed:
par_testhalt sleep 8.7; exit 9
par_testhalt parallel: This job failed:
par_testhalt sleep 9.3; exit 10
par_testhalt 50
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt soon,success=0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt soon,success=1
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.8; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt soon,success=2
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.8; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.1; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.4; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.7; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 6; exit 0
par_testhalt 0
par_testhalt ### testhalt --halt soon,success=30%
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.1; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.4; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.7; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3; exit 0
par_testhalt 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 4.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.1; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.4; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 5.7; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 6.3; exit 0
par_testhalt 50
par_testhalt ### testhalt --halt soon,success=70%
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.6; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 0.9; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.2; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.5; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 1.8; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.1; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.4; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 2.7; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3; exit 0
par_testhalt parallel: This job succeeded:
par_testhalt sleep 3.3; exit 0
par_testhalt 50