parallel: SIGPIPE must be handled differently if printing to --pipe.

parallel: --keep-dirlinks is not supported on Centos3/Redhat9.
This commit is contained in:
Ole Tange 2017-07-21 21:43:34 +02:00
parent 1176f9a058
commit 9179a80bd3
20 changed files with 386 additions and 489 deletions

View file

@ -3726,7 +3726,7 @@ sub onall {
sub __SIGNAL_HANDLING__ {}
sub tstp {
sub sigtstp {
# Send TSTP signal (Ctrl-Z) to all children process groups
# Uses:
# %SIG
@ -3749,13 +3749,13 @@ sub signal_children {
# %SIG
# Returns: N/A
my $signal = shift;
debug("run", "Sending $signal ");
kill $signal, map { -$_ } keys %Global::running;
# Use default signal handler for GNU Parallel itself
$SIG{$signal} = undef;
kill $signal, $$;
}
sub save_original_signal_handler {
# Remember the original signal handler
# Uses:
@ -3773,11 +3773,11 @@ sub save_original_signal_handler {
$SIG{TERM} = sub {}; # Dummy until jobs really start
$SIG{ALRM} = 'IGNORE';
# Allow Ctrl-Z to suspend and `fg` to continue
$SIG{TSTP} = \&tstp;
$SIG{TSTP} = \&sigtstp;
$SIG{PIPE} = \&sigpipe;
$SIG{CONT} = sub {
# Set $SIG{TSTP} again (it is undef'ed in tstp() )
$SIG{TSTP} = \&tstp;
# Set $SIG{TSTP} again (it is undef'ed in sigtstp() )
$SIG{TSTP} = \&sigtstp;
# Send continue signal to all children process groups
kill "CONT", map { -$_ } keys %Global::running;
};
@ -6438,7 +6438,7 @@ sub rsync_transfer_cmd {
}
$file = ::shell_quote_file($file);
my $sshcmd = $self->sshcommand();
my $rsync_opt = "-KrlDzR -e" . ::shell_quote_scalar($sshcmd);
my $rsync_opt = "-rlDzR -e" . ::shell_quote_scalar($sshcmd);
my $serverlogin = $self->serverlogin();
# Make dir if it does not exist
return "$sshcmd $serverlogin -- mkdir -p $rsync_destdir && " .
@ -6980,6 +6980,10 @@ sub write {
# syswrite may not write all in one go,
# so make sure everything is written.
my $written;
# If writing is to a closed pipe:
# Do not call signal handler, but let nothing be written
local $SIG{PIPE} = undef;
while($written = syswrite($stdin_fh,$$remaining_ref)){
substr($$remaining_ref,0,$written) = "";
}

View file

@ -174,17 +174,6 @@ echo 'bug #46016: --joblog should not log when --dryrun'
echo '**'
echo 'bug #45993: --wd ... should also work when run locally'
parallel --wd /bi 'pwd; echo $OLDPWD; echo' ::: fail
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
echo '**'
echo 'bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken'
parallel --bar -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
@ -552,13 +541,6 @@ echo '### bug #36260: {n} expansion in --colsep files fails for empty fields if
echo A,B,, | parallel --colsep , echo {1}{3}{2}
echo '**'
echo '### bug #34422: parallel -X --eta crashes with div by zero'
# We do not care how long it took
seq 2 | stdout parallel -X --eta echo | grep -E -v 'ETA:.*AVG'
echo '**'
bash -O extglob -c '. `which env_parallel.bash`;
@ -724,6 +706,28 @@ par_newline_in_command() {
" ::: O ::: K
}
par_wd_3dot_local() {
echo 'bug #45993: --wd ... should also work when run locally'
parallel --wd /bi 'pwd; echo $OLDPWD; echo' ::: fail
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK |
perl -pe 's:/mnt/4tb::; s/'`hostname`'/hostname/g' |
perl -pe 's/\d+/0/g'
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
}
par_X_eta_div_zero() {
echo '### bug #34422: parallel -X --eta crashes with div by zero'
# We do not care how long it took
seq 2 | stdout parallel -X --eta echo |
grep -E -v 'ETA:.*AVG' |
perl -pe 's/\d+/0/g'
}
export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort |
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'

View file

@ -31,25 +31,29 @@ par_over_4GB() {
}
measure() {
par_mem_leak() {
echo "### test for mem leak"
no_mem_leak() {
measure() {
# Input:
# $1 = iterations
# $2 = sleep 1 sec for every $2
seq $1 | ramusage parallel -u sleep '{= $_=$_%'$2'?0:1 =}'
}
export -f measure
}
export -f measure
no_mem_leak() {
# Return false if leaking
max1000=$(parallel measure {} 100000 ::: 1000 1000 1000 1000 1000 1000 1000 1000 |
sort -n | tail -n 1)
min30000=$(parallel measure {} 100000 ::: 30000 30000 30000 |
min30000=$(parallel measure {} 100000 ::: 3000 3000 3000 |
sort -n | head -n 1)
if [ $max1000 -gt $min30000 ] ; then
# Make sure there are a few sleeps
max1000=$(parallel measure {} 100 ::: 1000 1000 1000 1000 1000 1000 1000 1000 |
sort -n | tail -n 1)
min30000=$(parallel measure {} 100 ::: 30000 30000 30000 |
min30000=$(parallel measure {} 100 ::: 3000 3000 3000 |
sort -n | head -n 1)
if [ $max1000 -gt $min30000 ] ; then
echo $max1000 -gt $min30000 = no leak
@ -62,11 +66,9 @@ no_mem_leak() {
echo not $max1000 -gt $min30000 = possible leak
return 1
fi
}
export -f no_mem_leak
}
par_mem_leak() {
echo "### test for mem leak"
renice -n 3 $$ 2>/dev/null >/dev/null
if no_mem_leak >/dev/null ; then
echo no mem leak detected
else
@ -82,6 +84,28 @@ par_timeout() {
perl -ne '10 < $_ and $_ < 100 and print "OK\n"'
}
par_halt_on_error() {
mytest() {
HALT=$1
BOOL1=$2
BOOL2=$3
(echo "sleep 1;$BOOL1";
echo "sleep 2;$BOOL2";
echo "sleep 3;$BOOL1") |
parallel -j10 --halt-on-error $HALT
echo $?
(echo "sleep 1;$BOOL1";
echo "sleep 2;$BOOL2";
echo "sleep 3;$BOOL1";
echo "sleep 4;non_exist";
) |
parallel -j10 --halt-on-error $HALT
echo $?
}
export -f mytest
parallel -j1 -k --tag mytest ::: -2 -1 0 1 2 ::: true false ::: true false
}
export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort | parallel -vj0 -k --tag --joblog /tmp/jl-`basename $0` '{} 2>&1'

View file

@ -98,52 +98,6 @@ par_k() {
echo "echo end") | stdout nice parallel -k -j0
}
par_halt_on_error() {
mytest() {
HALT=$1
BOOL1=$2
BOOL2=$3
(echo "sleep 1;$BOOL1";
echo "sleep 2;$BOOL2";
echo "sleep 3;$BOOL1") |
parallel -j10 --halt-on-error $HALT
echo $?
(echo "sleep 1;$BOOL1";
echo "sleep 2;$BOOL2";
echo "sleep 3;$BOOL1";
echo "sleep 4;non_exist";
) |
parallel -j10 --halt-on-error $HALT
echo $?
}
export -f mytest
parallel -j0 -k --tag mytest ::: -2 -1 0 1 2 ::: true false ::: true false
}
par_first_print_halt_on_error_1() {
echo '### Test first dying print --halt-on-error 1';
(echo 0; echo 3; seq 0 7;echo 0; echo 8) | parallel -j10 -kq --halt 1 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit shift';
echo exit code $?
}
par_first_print_halt_on_error_2() {
echo '### Test last dying print --halt-on-error 2';
(echo 0; echo 3; seq 0 7;echo 0; echo 8) | parallel -j10 -kq --halt 2 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit shift';
echo exit code $?
}
par_first_print_halt_on_error_minus_1() {
echo '### Test last dying print --halt-on-error -1';
(echo 0; echo 3; seq 0 7;echo 0; echo 8) | parallel -j10 -kq --halt -1 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit not shift';
echo exit code $?
}
par_first_print_halt_on_error_minus_2() {
echo '### Test last dying print --halt-on-error -2';
(echo 0; echo 3; seq 0 7;echo 0; echo 8) | parallel -j10 -kq --halt -2 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit not shift';
echo exit code $?
}
par_k_linebuffer() {
echo '### bug #47750: -k --line-buffer should give current job up to now'

View file

@ -26,18 +26,24 @@ par_test_onall_u() {
par_test_nonall() {
echo '### Test --nonall'
parallel --nonall -k -S $SSHLOGIN1,$SSHLOGIN2 pwd |
perl -pe 's:/mnt/4tb::g' |
sort
}
par_test_nonall_u() {
echo '### Test --nonall -u - should be interleaved x y x y'
parallel --nonall -S $SSHLOGIN1,$SSHLOGIN2 -u 'pwd|grep -q csh && sleep 3; pwd;sleep 12;pwd;'
parallel --nonall -S $SSHLOGIN1,$SSHLOGIN2 -u 'pwd|grep -q csh && sleep 3; pwd;sleep 12;pwd;' |
perl -pe 's:/mnt/4tb::g'
}
par_read_sshloginfile_from_stdin() {
echo '### Test read sshloginfile from STDIN'
echo $SSHLOGIN1,$SSHLOGIN2 | parallel -S - -k --nonall pwd
echo $SSHLOGIN1,$SSHLOGIN2 | parallel --sshloginfile - -k --onall pwd\; echo ::: foo
echo $SSHLOGIN1,$SSHLOGIN2 |
parallel -S - -k --nonall pwd |
perl -pe 's:/mnt/4tb::g'
echo $SSHLOGIN1,$SSHLOGIN2 |
parallel --sshloginfile - -k --onall pwd\; echo ::: foo |
perl -pe 's:/mnt/4tb::g'
}
par_nonall_basefile() {
@ -77,7 +83,8 @@ par_workdir_dot() {
ssh $SSHLOGIN1 mkdir -p mydir
mkdir -p $HOME/mydir
cd $HOME/mydir
parallel --workdir . -S $SSHLOGIN1 ::: pwd
parallel --workdir . -S $SSHLOGIN1 ::: pwd |
perl -pe 's:/mnt/4tb::g'
}
par_wd_dot() {
@ -85,7 +92,8 @@ par_wd_dot() {
ssh $SSHLOGIN2 mkdir -p mydir
mkdir -p $HOME/mydir
cd $HOME/mydir
parallel --workdir . -S $SSHLOGIN2 ::: pwd
parallel --workdir . -S $SSHLOGIN2 ::: pwd |
perl -pe 's:/mnt/4tb::g'
}
par_wd_braces() {

View file

@ -945,16 +945,13 @@ par_bash_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.bash`;
bigvar="$(yes | head -c 119k)"
env_parallel echo ::: OK
env_parallel -S lo echo ::: OK
bigvar="$(yes \"| head -c 79k)"
bigvar="$(yes \"| head -c 76k)"
env_parallel echo ::: OK
env_parallel -S lo echo ::: OK
bigvar=u
eval 'bigfunc() { a="'"$(yes a| head -c 120k)"'"; };'
eval 'bigfunc() { a="'"$(yes a| head -c 115k)"'"; };'
env_parallel echo ::: OK
env_parallel -S lo echo ::: OK

View file

@ -7,7 +7,7 @@ par_path_remote_bash() {
rm -rf /tmp/parallel
cp /usr/local/bin/parallel /tmp
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://' | uniq
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'updates are security updates|packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://|^$' | uniq
echo BASH Path before: $PATH with no parallel
parallel echo ::: 1
# Race condition stderr/stdout
@ -28,7 +28,7 @@ par_path_remote_csh() {
rm -rf /tmp/parallel
cp /usr/local/bin/parallel /tmp
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://' | uniq
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'updates are security updates|packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://' | uniq
echo CSH Path before: $PATH with no parallel
which parallel >& /dev/stdout
echo '^^^^^^^^ Not found is OK'

View file

@ -275,32 +275,6 @@ bug #46016: --joblog should not log when --dryrun
echo Only_this
echo '**'
**
echo 'bug #45993: --wd ... should also work when run locally'
bug #45993: --wd ... should also work when run locally
parallel --wd /bi 'pwd; echo $OLDPWD; echo' ::: fail
parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
/bin
~/privat/parallel/testsuite
OK
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
/
~/privat/parallel/testsuite
OK
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
/tmp
~/privat/parallel/testsuite
OK
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
~/.parallel/tmp/hk-0-0
~/privat/parallel/testsuite
OK
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
~/privat/parallel/testsuite
~/privat/parallel/testsuite
OK
echo '**'
**
echo 'bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken'
bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken
parallel --bar -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
@ -1472,17 +1446,6 @@ echo '### bug #36260: {n} expansion in --colsep files fails for empty fields if
echo A,B,, | parallel --colsep , echo {1}{3}{2}
AB
echo '**'
**
echo '### bug #34422: parallel -X --eta crashes with div by zero'
### bug #34422: parallel -X --eta crashes with div by zero
# We do not care how long it took
seq 2 | stdout parallel -X --eta echo | grep -E -v 'ETA:.*AVG'
Computers / CPU cores / Max jobs to run
1:local / 2 / 2
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
echo '**'
**
bash -O extglob -c '. `which env_parallel.bash`; _longopt () { case "$prev" in --+([-a-z0-9_])) echo foo;; esac; }; env_parallel echo ::: env_parallel 2>&1 '
env_parallel
@ -1592,6 +1555,12 @@ echo '**'
**
### 1 .par file from --files expected
10
par_X_eta_div_zero ### bug #34422: parallel -X --eta crashes with div by zero
par_X_eta_div_zero
par_X_eta_div_zero Computers / CPU cores / Max jobs to run
par_X_eta_div_zero 0:local / 0 / 0
par_X_eta_div_zero
par_X_eta_div_zero Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_append_joblog ### can you append to a joblog using +
par_append_joblog 1
par_append_joblog 1
@ -1683,3 +1652,20 @@ par_tee 4 -l 122853
par_tee 4 -c 815290
par_tee 5 -l 122853
par_tee 5 -c 815290
par_wd_3dot_local bug #45993: --wd ... should also work when run locally
par_wd_3dot_local parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
par_wd_3dot_local /bin
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /tmp
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /home/tange/.parallel/tmp/hostname-0-0
par_wd_3dot_local /home/tange/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK

View file

@ -1,3 +1,160 @@
par_halt_on_error 2>&1
par_halt_on_error -2 true true 0
par_halt_on_error -2 true true 0
par_halt_on_error -2 true true parallel: This job succeeded:
par_halt_on_error -2 true true sleep 1;true
par_halt_on_error -2 true true parallel: This job succeeded:
par_halt_on_error -2 true true sleep 1;true
par_halt_on_error -2 true false 0
par_halt_on_error -2 true false 0
par_halt_on_error -2 true false parallel: This job succeeded:
par_halt_on_error -2 true false sleep 1;true
par_halt_on_error -2 true false parallel: This job succeeded:
par_halt_on_error -2 true false sleep 1;true
par_halt_on_error -2 false true 0
par_halt_on_error -2 false true 0
par_halt_on_error -2 false true parallel: This job succeeded:
par_halt_on_error -2 false true sleep 2;true
par_halt_on_error -2 false true parallel: This job succeeded:
par_halt_on_error -2 false true sleep 2;true
par_halt_on_error -2 false false 3
par_halt_on_error -2 false false 4
par_halt_on_error -2 false false /bin/bash: non_exist: command not found
par_halt_on_error -1 true true 0
par_halt_on_error -1 true true 0
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 1;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 2;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 3;true
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 1;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 2;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 3;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true true /bin/bash: non_exist: command not found
par_halt_on_error -1 true false 0
par_halt_on_error -1 true false 0
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 1;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 3;true
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 1;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 3;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true false /bin/bash: non_exist: command not found
par_halt_on_error -1 false true 0
par_halt_on_error -1 false true 0
par_halt_on_error -1 false true parallel: This job succeeded:
par_halt_on_error -1 false true sleep 2;true
par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 false true parallel: This job succeeded:
par_halt_on_error -1 false true sleep 2;true
par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 false true /bin/bash: non_exist: command not found
par_halt_on_error -1 false false 3
par_halt_on_error -1 false false 4
par_halt_on_error -1 false false /bin/bash: non_exist: command not found
par_halt_on_error 0 true true 0
par_halt_on_error 0 true true 1
par_halt_on_error 0 true true /bin/bash: non_exist: command not found
par_halt_on_error 0 true false 1
par_halt_on_error 0 true false 2
par_halt_on_error 0 true false /bin/bash: non_exist: command not found
par_halt_on_error 0 false true 2
par_halt_on_error 0 false true 3
par_halt_on_error 0 false true /bin/bash: non_exist: command not found
par_halt_on_error 0 false false 3
par_halt_on_error 0 false false 4
par_halt_on_error 0 false false /bin/bash: non_exist: command not found
par_halt_on_error 1 true true 0
par_halt_on_error 1 true true 127
par_halt_on_error 1 true true /bin/bash: non_exist: command not found
par_halt_on_error 1 true true parallel: This job failed:
par_halt_on_error 1 true true sleep 4;non_exist
par_halt_on_error 1 true false 1
par_halt_on_error 1 true false 1
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 2;false
par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 2;false
par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 true false /bin/bash: non_exist: command not found
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 4;non_exist
par_halt_on_error 1 false true 1
par_halt_on_error 1 false true 1
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 1;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 3;false
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 1;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 3;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false true /bin/bash: non_exist: command not found
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 4;non_exist
par_halt_on_error 1 false false 1
par_halt_on_error 1 false false 1
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 1;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 2;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 3;false
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 1;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 2;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 3;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false false /bin/bash: non_exist: command not found
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 4;non_exist
par_halt_on_error 2 true true 0
par_halt_on_error 2 true true 127
par_halt_on_error 2 true true /bin/bash: non_exist: command not found
par_halt_on_error 2 true true parallel: This job failed:
par_halt_on_error 2 true true sleep 4;non_exist
par_halt_on_error 2 true false 1
par_halt_on_error 2 true false 1
par_halt_on_error 2 true false parallel: This job failed:
par_halt_on_error 2 true false sleep 2;false
par_halt_on_error 2 true false parallel: This job failed:
par_halt_on_error 2 true false sleep 2;false
par_halt_on_error 2 false true 1
par_halt_on_error 2 false true 1
par_halt_on_error 2 false true parallel: This job failed:
par_halt_on_error 2 false true sleep 1;false
par_halt_on_error 2 false true parallel: This job failed:
par_halt_on_error 2 false true sleep 1;false
par_halt_on_error 2 false false 1
par_halt_on_error 2 false false 1
par_halt_on_error 2 false false parallel: This job failed:
par_halt_on_error 2 false false sleep 1;false
par_halt_on_error 2 false false parallel: This job failed:
par_halt_on_error 2 false false sleep 1;false
par_mem_leak 2>&1
par_mem_leak ### test for mem leak
par_mem_leak no mem leak detected

View file

@ -7,259 +7,13 @@ par__pipe_tee bug #45479: --pipe/--pipepart --tee
par__pipe_tee --pipe --tee
par__pipe_tee 3221225472
par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
par__pipepart_spawn 1:local / 2 / 999
par__pipepart_spawn 1:local / 8 / 999
par__pipepart_tee bug #45479: --pipe/--pipepart --tee
par__pipepart_tee --pipepart --tee
par__pipepart_tee 3221225472
par_compress_fail ### bug #41609: --compress fails
par_compress_fail 24812dd0f24a26d08a780f988b9d5ad2 -
par_compress_fail 24812dd0f24a26d08a780f988b9d5ad2 -
par_first_print_halt_on_error_1 ### Test first dying print --halt-on-error 1
par_first_print_halt_on_error_1 0
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 1
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 8 jobs to finish.
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 2
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 7 jobs to finish.
par_first_print_halt_on_error_1 3
par_first_print_halt_on_error_1 0
par_first_print_halt_on_error_1 1
par_first_print_halt_on_error_1 2
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 3
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 6 jobs to finish.
par_first_print_halt_on_error_1 3
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 3
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 5 jobs to finish.
par_first_print_halt_on_error_1 4
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 4
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 4 jobs to finish.
par_first_print_halt_on_error_1 5
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 5
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_first_print_halt_on_error_1 6
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 6
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_first_print_halt_on_error_1 7
par_first_print_halt_on_error_1 0
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 7
par_first_print_halt_on_error_1 parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_first_print_halt_on_error_1 8
par_first_print_halt_on_error_1 parallel: This job failed:
par_first_print_halt_on_error_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 8
par_first_print_halt_on_error_1 exit code 1
par_first_print_halt_on_error_2 ### Test last dying print --halt-on-error 2
par_first_print_halt_on_error_2 0
par_first_print_halt_on_error_2 parallel: This job failed:
par_first_print_halt_on_error_2 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 1
par_first_print_halt_on_error_2 exit code 1
par_first_print_halt_on_error_minus_1 ### Test last dying print --halt-on-error -1
par_first_print_halt_on_error_minus_1 0
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 1
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 8 jobs to finish.
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 2
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 7 jobs to finish.
par_first_print_halt_on_error_minus_1 3
par_first_print_halt_on_error_minus_1 0
par_first_print_halt_on_error_minus_1 1
par_first_print_halt_on_error_minus_1 2
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 3
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 6 jobs to finish.
par_first_print_halt_on_error_minus_1 3
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 3
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 5 jobs to finish.
par_first_print_halt_on_error_minus_1 4
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 4
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 4 jobs to finish.
par_first_print_halt_on_error_minus_1 5
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 5
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_first_print_halt_on_error_minus_1 6
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 6
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_first_print_halt_on_error_minus_1 7
par_first_print_halt_on_error_minus_1 0
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 7
par_first_print_halt_on_error_minus_1 parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_first_print_halt_on_error_minus_1 8
par_first_print_halt_on_error_minus_1 parallel: This job succeeded:
par_first_print_halt_on_error_minus_1 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 8
par_first_print_halt_on_error_minus_1 exit code 0
par_first_print_halt_on_error_minus_2 ### Test last dying print --halt-on-error -2
par_first_print_halt_on_error_minus_2 0
par_first_print_halt_on_error_minus_2 parallel: This job succeeded:
par_first_print_halt_on_error_minus_2 perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ not\ shift 1
par_first_print_halt_on_error_minus_2 exit code 0
par_halt_on_error -2 true true 0
par_halt_on_error -2 true true 0
par_halt_on_error -2 true true parallel: This job succeeded:
par_halt_on_error -2 true true sleep 1;true
par_halt_on_error -2 true true parallel: This job succeeded:
par_halt_on_error -2 true true sleep 1;true
par_halt_on_error -2 true false 0
par_halt_on_error -2 true false 0
par_halt_on_error -2 true false parallel: This job succeeded:
par_halt_on_error -2 true false sleep 1;true
par_halt_on_error -2 true false parallel: This job succeeded:
par_halt_on_error -2 true false sleep 1;true
par_halt_on_error -2 false true 0
par_halt_on_error -2 false true 0
par_halt_on_error -2 false true parallel: This job succeeded:
par_halt_on_error -2 false true sleep 2;true
par_halt_on_error -2 false true parallel: This job succeeded:
par_halt_on_error -2 false true sleep 2;true
par_halt_on_error -2 false false 3
par_halt_on_error -2 false false 4
par_halt_on_error -2 false false /bin/bash: non_exist: command not found
par_halt_on_error -1 true true 0
par_halt_on_error -1 true true 0
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 1;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 2;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 3;true
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 1;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 2;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 3;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true true /bin/bash: non_exist: command not found
par_halt_on_error -1 true false 0
par_halt_on_error -1 true false 0
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 1;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 3;true
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 1;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 3;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true false /bin/bash: non_exist: command not found
par_halt_on_error -1 false true 0
par_halt_on_error -1 false true 0
par_halt_on_error -1 false true parallel: This job succeeded:
par_halt_on_error -1 false true sleep 2;true
par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 false true parallel: This job succeeded:
par_halt_on_error -1 false true sleep 2;true
par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 false true /bin/bash: non_exist: command not found
par_halt_on_error -1 false false 3
par_halt_on_error -1 false false 4
par_halt_on_error -1 false false /bin/bash: non_exist: command not found
par_halt_on_error 0 true true 0
par_halt_on_error 0 true true 1
par_halt_on_error 0 true true /bin/bash: non_exist: command not found
par_halt_on_error 0 true false 1
par_halt_on_error 0 true false 2
par_halt_on_error 0 true false /bin/bash: non_exist: command not found
par_halt_on_error 0 false true 2
par_halt_on_error 0 false true 3
par_halt_on_error 0 false true /bin/bash: non_exist: command not found
par_halt_on_error 0 false false 3
par_halt_on_error 0 false false 4
par_halt_on_error 0 false false /bin/bash: non_exist: command not found
par_halt_on_error 1 true true 0
par_halt_on_error 1 true true 127
par_halt_on_error 1 true true /bin/bash: non_exist: command not found
par_halt_on_error 1 true true parallel: This job failed:
par_halt_on_error 1 true true sleep 4;non_exist
par_halt_on_error 1 true false 1
par_halt_on_error 1 true false 1
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 2;false
par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 2;false
par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 true false /bin/bash: non_exist: command not found
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 4;non_exist
par_halt_on_error 1 false true 1
par_halt_on_error 1 false true 1
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 1;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 3;false
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 1;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 3;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false true /bin/bash: non_exist: command not found
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 4;non_exist
par_halt_on_error 1 false false 1
par_halt_on_error 1 false false 1
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 1;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 2;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 3;false
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 1;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 3 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 2;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 3;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false false /bin/bash: non_exist: command not found
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 4;non_exist
par_halt_on_error 2 true true 0
par_halt_on_error 2 true true 127
par_halt_on_error 2 true true /bin/bash: non_exist: command not found
par_halt_on_error 2 true true parallel: This job failed:
par_halt_on_error 2 true true sleep 4;non_exist
par_halt_on_error 2 true false 1
par_halt_on_error 2 true false 1
par_halt_on_error 2 true false parallel: This job failed:
par_halt_on_error 2 true false sleep 2;false
par_halt_on_error 2 true false parallel: This job failed:
par_halt_on_error 2 true false sleep 2;false
par_halt_on_error 2 false true 1
par_halt_on_error 2 false true 1
par_halt_on_error 2 false true parallel: This job failed:
par_halt_on_error 2 false true sleep 1;false
par_halt_on_error 2 false true parallel: This job failed:
par_halt_on_error 2 false true sleep 1;false
par_halt_on_error 2 false false 1
par_halt_on_error 2 false false 1
par_halt_on_error 2 false false parallel: This job failed:
par_halt_on_error 2 false false sleep 1;false
par_halt_on_error 2 false false parallel: This job failed:
par_halt_on_error 2 false false sleep 1;false
par_interactive ### Test -p --interactive
par_interactive opt--interactive 1
par_interactive opt--interactive 3
@ -273,10 +27,12 @@ par_interactive sleep 0.1; echo opt-p 2 ?...n
par_interactive sleep 0.1; echo opt-p 3 ?...y
par_interactive spawn /tmp/parallel-script-for-expect
par_k ### Test -k
par_k parallel: Warning: Only enough file handles to run 8 jobs in parallel.
par_k parallel: Warning: Running 'parallel -j0 -N 8 --pipe parallel -j0' or
par_k parallel: Warning: Only enough file handles to run 9 jobs in parallel.
par_k parallel: Warning: Running 'parallel -j0 -N 9 --pipe parallel -j0' or
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
par_k parallel: Warning: No more file handles.
par_k parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help.
par_k begin
par_k 1
par_k 2
@ -556,10 +312,10 @@ par_results_compress 0
par_results_compress 1
par_results_csv bug #: --results csv
par_results_csv --header : --tag --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --tag --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --tag --lb --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --lb --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
@ -584,10 +340,10 @@ par_results_csv --header : --tag --lb ",
par_results_csv --header : --tag --lb 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
par_results_csv --header : --tag --lb ",
par_results_csv --header : --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --tag --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --header : --tag --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
@ -612,10 +368,10 @@ par_results_csv --header : --tag ",
par_results_csv --header : --tag 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
par_results_csv --header : --tag ",
par_results_csv --header : --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --lb --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --lb --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
@ -640,10 +396,10 @@ par_results_csv --header : --lb ",
par_results_csv --header : --lb 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
par_results_csv --header : --lb ",
par_results_csv --header : --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --header : --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
@ -668,15 +424,15 @@ par_results_csv --header : ",
par_results_csv --header : 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
par_results_csv --header : ",
par_results_csv --tag --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --tag --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --tag --lb --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --lb --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
@ -726,15 +482,15 @@ par_results_csv --tag --lb ",
par_results_csv --tag --lb 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
par_results_csv --tag --lb ",
par_results_csv --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --tag --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
par_results_csv --tag --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
@ -784,15 +540,15 @@ par_results_csv --tag ",
par_results_csv --tag 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
par_results_csv --tag ",
par_results_csv --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --lb --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --lb --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
@ -842,15 +598,15 @@ par_results_csv --lb ",
par_results_csv --lb 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
par_results_csv --lb ",
par_results_csv --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
par_results_csv --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
par_results_csv --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,

View file

@ -1,6 +1,4 @@
par_linebuffer_matters_compress ### (--linebuffer) --compress should give different output
par_linebuffer_matters_compress environment: line 8: warning: command substitution: ignored null byte in input
par_linebuffer_matters_compress environment: line 11: warning: command substitution: ignored null byte in input
par_linebuffer_matters_compress OK: --linebuffer makes a difference
par_linebuffer_matters_compress_tag ### (--linebuffer) --compress --tag should give different output
par_linebuffer_matters_compress_tag OK: --linebuffer makes a difference

View file

@ -2,14 +2,14 @@ bug #46120: Suspend should suspend (at least local) children
it should burn 1.9 CPU seconds, but no more than that
The 5 second sleep will make it be killed by timeout when it fgs
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | grep --color=auto -q CPUTIME=1
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | grep -q CPUTIME=1
Zero=OK 0
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | grep --color=auto -q CPUTIME=1
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | grep -q CPUTIME=1
Zero=OK 0
Control case: Burn for 2.9 seconds
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | grep --color=auto -q CPUTIME=1
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | grep -q CPUTIME=1
1=OK 1
par_hostgroup ### --hostgroup force ncpu
par_hostgroup parallel
@ -23,7 +23,7 @@ par_hostgroup tange
par_hostgroup ### --hostgroup two group arg
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup tange
par_hostgroup tange
par_hostgroup tange
par_hostgroup tange
@ -41,7 +41,7 @@ par_hostgroup tange
par_hostgroup ### --hostgroup multiple group arg + unused group
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup tange
par_hostgroup tange
par_hostgroup tange
par_hostgroup tange
@ -62,21 +62,21 @@ par_hostgroup implicit_group
par_hostgroup ### --hostgroup -S @group
par_hostgroup tange
par_hostgroup tange
par_hostgroup tcsh
par_hostgroup tange
par_hostgroup tcsh
par_hostgroup tcsh
par_hostgroup tcsh
par_hostgroup ### --hostgroup -S @group1 -Sgrp2
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup tange
par_hostgroup tange
par_hostgroup tcsh
par_hostgroup tcsh
par_hostgroup ### --hostgroup -S @group1+grp2
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup parallel
par_hostgroup tange
par_hostgroup tange
par_hostgroup tcsh
par_hostgroup tcsh
@ -1196,9 +1196,6 @@ par_testhalt soon done 0 false echo job 2; sleep 0.9; exit 0
par_testhalt soon done 0 false job 3
par_testhalt soon done 0 false parallel: This job finished:
par_testhalt soon done 0 false echo job 3; sleep 1.2; exit 0
par_testhalt soon done 0 false job 4
par_testhalt soon done 0 false parallel: This job finished:
par_testhalt soon done 0 false echo job 4; sleep 1.5; exit 0
par_testhalt soon done 0 false 0
par_testhalt soon done 1 true ### testhalt --halt soon,done=1
par_testhalt soon done 1 true job 1
@ -1224,9 +1221,6 @@ par_testhalt soon done 1 false echo job 2; sleep 0.9; exit 0
par_testhalt soon done 1 false job 3
par_testhalt soon done 1 false parallel: This job finished:
par_testhalt soon done 1 false echo job 3; sleep 1.2; exit 0
par_testhalt soon done 1 false job 4
par_testhalt soon done 1 false parallel: This job finished:
par_testhalt soon done 1 false echo job 4; sleep 1.5; exit 0
par_testhalt soon done 1 false 0
par_testhalt soon done 2 true ### testhalt --halt soon,done=2
par_testhalt soon done 2 true job 1

View file

@ -34,7 +34,7 @@ Environment variables are:
stderr
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=3.1.2]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
/usr/lib/autossh/autossh: invalid option -- '-'
usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
@ -66,7 +66,7 @@ Environment variables are:
stderr
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.2]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]
echo '### bug #46520: --basefile cleans up without --cleanup'
### bug #46520: --basefile cleans up without --cleanup
touch bug_46520; parallel -S parallel@lo --bf bug_46520 ls ::: bug_46520; ssh parallel@lo ls bug_46520; parallel -S parallel@lo --cleanup --bf bug_46520 ls ::: bug_46520; stdout ssh parallel@lo ls bug_46520 # should not exist

View file

@ -40,8 +40,6 @@ par_bash_environment_too_big OK
par_bash_environment_too_big OK
par_bash_environment_too_big OK
par_bash_environment_too_big OK
par_bash_environment_too_big OK
par_bash_environment_too_big OK
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 168: /usr/bin/which: Argument list too long
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
@ -79,11 +77,13 @@ par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_funky
par_bash_funky
par_bash_funky
par_bash_funky \\\\\\\\
par_bash_funky 
par_bash_funky 
par_bash_funky -funkymultiline
par_bash_funky -funkymultiline
par_bash_funky
par_bash_funky
par_bash_funky space 6
par_bash_funky space 6
par_bash_funky 3 arg alias_works
@ -100,6 +100,8 @@ par_bash_funky function_works
par_bash_funky function_works_over_ssh
par_bash_funky myvar works
par_bash_funky myvar works
par_bash_funky -funkymultiline
par_bash_funky -funkymultiline
par_bash_man ### bash
par_bash_man ### From man env_parallel
par_bash_man aliases work
@ -137,21 +139,21 @@ par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore variables in aliases in and arrays in functions work
par_bash_underscore /bin/bash: line 57: not_copied_alias: command not found
par_bash_underscore /bin/bash: line 57: not_copied_func: command not found
par_bash_underscore /bin/bash: line 56: not_copied_alias: command not found
par_bash_underscore /bin/bash: line 56: not_copied_func: command not found
par_bash_underscore error=OK
par_bash_underscore error=OK
par_bash_underscore aliases in and arrays in functions work
par_bash_underscore aliases in and arrays in functions work
par_bash_underscore aliases in functions work
par_bash_underscore aliases in functions work
par_bash_underscore environment: line 51: myecho: command not found
par_bash_underscore /bin/bash: line 49: myecho: command not found
par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
par_bash_underscore environment: line 51: myecho: command not found
par_bash_underscore /bin/bash: line 49: myecho: command not found
par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
par_bash_underscore /bin/bash: line 50: myfunc: command not found
par_bash_underscore /bin/bash: line 49: myfunc: command not found
par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
par_bash_underscore /bin/bash: line 50: myfunc: command not found
par_bash_underscore /bin/bash: line 49: myfunc: command not found
par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
par_csh_env_parallel_fifo bug #50435: Remote fifo broke in 20150522
par_csh_env_parallel_fifo data from stdin
@ -540,7 +542,7 @@ par_tcsh_funky
par_tcsh_funky 3 arg alias_works
par_tcsh_funky 3 arg alias_works_over_ssh
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7F>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funky alias_var_works
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funky alias_var_works_over_ssh
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<EFBFBD><EFBFBD><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-funky alias_var_works_over_ssh
par_tcsh_funky \\\\\\\\ \ \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_tcsh_funky func_echo: Command not found.
par_tcsh_funky func_echo: Command not found.

View file

@ -9,7 +9,6 @@ par_keeporder job2
par_load_csh ### Gave Word too long.
par_load_csh a
par_path_remote_bash bug #47695: How to set $PATH on remote? Bash
par_path_remote_bash
par_path_remote_bash BASH Path before: /bin:/usr/bin with no parallel
par_path_remote_bash -bash: line 2: parallel: command not found
par_path_remote_bash ^^^^^^^^ Not found is OK

View file

@ -35,7 +35,7 @@ If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence this citation notice: run 'parallel --citation'.
10 files to edit
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"file1" [New File]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?12l[?25h[?25lE173: 9 more files to edit[?12l[?25h[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"file1" [New File]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?12l[?25h[?25lE173: 9 more files to edit[?12l[?25h[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
If you use programs that use GNU Parallel to process data for an article in a
scientific publication, please cite:

View file

@ -146,8 +146,8 @@ echo '### Test make .deb package'; cd ~/privat/parallel/packager/debian; std
To install the GNU Parallel Debian package, run:
echo '### Test of segfaulting issue'
### Test of segfaulting issue
echo 'This gave ~/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1'; echo 'before adding wait() before exit'; seq 1 300 | stdout parallel ./trysegfault
This gave ~/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1
echo 'This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1'; echo 'before adding wait() before exit'; seq 1 300 | stdout parallel ./trysegfault
This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1
before adding wait() before exit
echo '### Test basic --arg-sep'
### Test basic --arg-sep

View file

@ -7,8 +7,6 @@ par_env_newline_backslash_bash 8
par_env_newline_backslash_csh ### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
par_env_newline_backslash_csh 2 2\ \92V2=\ \92
par_env_newline_backslash_csh 2 2\\ \92V2=\\ \92
par_env_newline_backslash_csh 2 Unmatched ".
par_env_newline_backslash_csh 2 Unmatched '"'.
par_env_newline_backslash_onall_bash ### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
par_env_newline_backslash_onall_bash 16
par_env_newline_backslash_onall_bash 16
@ -17,6 +15,7 @@ par_env_newline_backslash_onall_bash 8 10
par_env_newline_backslash_onall_bash 8 10V2=
par_env_newline_backslash_onall_bash 8 2\\ \92V2=\\ \92
par_env_newline_backslash_onall_csh ### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
par_env_newline_backslash_onall_csh 8 Unmatched ".
par_space ### Test --env - https://savannah.gnu.org/bugs/?37351
par_space a 2 spaces b 1
par_space a 2 spaces b 1

View file

@ -63,7 +63,7 @@ echo '### Test --number-of-cpus'; stdout $NICEPAR --number-of-cpus
1
echo '### Test --number-of-cores'; stdout $NICEPAR --number-of-cores
### Test --number-of-cores
2
8
echo '### Test --use-cpus-instead-of-cores'; (seq 1 8 | stdout parallel --use-cpus-instead-of-cores -j100% sleep) && echo CPUs done & (seq 1 8 | stdout parallel -j100% sleep) && echo cores done & echo 'Cores should complete first on machines with less than 8 physical CPUs'; wait
### Test --use-cpus-instead-of-cores
Cores should complete first on machines with less than 8 physical CPUs

View file

@ -979,6 +979,21 @@ For details: see man env_parallel
parallel -vv --workdir ... --nice 17 --env _ --trc {}.out \
-S $SERVER1 my_func3 {} ::: abc-file
ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -essh\ -l\ parallel ./abc-file lo:./.TMPWORKDIR;ssh -l parallel lo -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$chld\\\=\\\$SIG\\\{CHLD\\\}\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\$chld\\\;eval\\\$eval\\\; BASE64;_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 --rsync-path=cd\ ./.TMPWORKDIR/./.\;\ rsync -rlDzR -essh\ -l\ parallel lo:./abc-file.out ./.;ssh -l parallel lo -- rm\ -f\ ./.TMPWORKDIR/abc-file\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;;ssh -l parallel lo -- rm\ -f\ ./.TMPWORKDIR/abc-file.out\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;;ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status;
parset myvar1,myvar2 echo ::: a b
echo $myvar1
echo $myvar2
/bin/bash: parset: command not found
parset myarray seq {} 5 ::: 1 2 3
echo "${myarray[1]}"
/bin/bash: parset: command not found
cmd=("echo '<<joe \"double space\" cartoon>>'" "pwd")
parset data ::: "${cmd[@]}"
echo "${data[0]}"
echo "${data[1]}"
/bin/bash: line 1: parset: command not found
parallel --sqlandworker csv:////%2Ftmp%2Flog.csv \
seq ::: 10 ::: 12 13 14
cat /tmp/log.csv
@ -1298,8 +1313,8 @@ With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} =
See 'man parallel' for details
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
If you use programs that use GNU Parallel to process data for an article in a
scientific publication, please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
@ -1325,8 +1340,8 @@ VERSION
Your version is at least VERSION.
parallel --citation
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
If you use programs that use GNU Parallel to process data for an article in a
scientific publication, please cite:
@article{Tange2011a,
title = {GNU Parallel - The Command-Line Power Tool},