mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-21 21:47:54 +00:00
parent
4c187c7729
commit
7f73c0fb2c
5
README
5
README
|
@ -125,9 +125,8 @@ publication please cite:
|
||||||
Tange, O. (2022, February 22). GNU Parallel 20220222 ('Donetsk Luhansk').
|
Tange, O. (2022, February 22). GNU Parallel 20220222 ('Donetsk Luhansk').
|
||||||
Zenodo. https://doi.org/10.5281/zenodo.6213471
|
Zenodo. https://doi.org/10.5281/zenodo.6213471
|
||||||
|
|
||||||
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
|
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
|
||||||
2016, 2017, 2018, 2019, 2020, 2021 Ole Tange, http://ole.tange.dk and
|
Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
|
|
||||||
= New versions =
|
= New versions =
|
||||||
|
|
|
@ -266,6 +266,8 @@ Quote of the month:
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
|
* --sshlogin user:password@host is now supported by using sshpass.
|
||||||
|
|
||||||
<<>>
|
<<>>
|
||||||
|
|
||||||
* Bug fixes and man page updates: Many options now have a 'See also' section.
|
* Bug fixes and man page updates: Many options now have a 'See also' section.
|
||||||
|
|
44
src/parallel
44
src/parallel
|
@ -2790,7 +2790,7 @@ sub open_json_csv() {
|
||||||
::die_bug("Can't >/dev/null in csv: $!");
|
::die_bug("Can't >/dev/null in csv: $!");
|
||||||
$Global::fh{1} = $fd;
|
$Global::fh{1} = $fd;
|
||||||
$Global::fh{2} = $fd;
|
$Global::fh{2} = $fd;
|
||||||
} elsif($Global::csvsep) {
|
} elsif($Global::csvsep or $Global::jsonout) {
|
||||||
if(not open($Global::csv_fh,">",$opt::results)) {
|
if(not open($Global::csv_fh,">",$opt::results)) {
|
||||||
::error("Cannot open results file `$opt::results': ".
|
::error("Cannot open results file `$opt::results': ".
|
||||||
"$!.");
|
"$!.");
|
||||||
|
@ -3545,7 +3545,7 @@ sub init_run_jobs() {
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if($sshlogin->too_fast_remote_login()) {
|
if($sshlogin->too_fast_remote_login()) {
|
||||||
# It has been too short since
|
# It has been too short since last login
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
debug("run", $sshlogin->string(),
|
debug("run", $sshlogin->string(),
|
||||||
|
@ -6473,7 +6473,13 @@ sub new($$) {
|
||||||
if($s =~ s/([^@]+)@//) {
|
if($s =~ s/([^@]+)@//) {
|
||||||
my $userpw = $1;
|
my $userpw = $1;
|
||||||
# user[:pass]
|
# user[:pass]
|
||||||
if($userpw =~ s/:(.*)//) { $password = $1; }
|
if($userpw =~ s/:(.*)//) {
|
||||||
|
$password = $1;
|
||||||
|
if(not ::which("sshpass")) {
|
||||||
|
::error("--sshlogin with password requires sshpass installed");
|
||||||
|
::wait_and_exit(255);
|
||||||
|
}
|
||||||
|
}
|
||||||
$user = $userpw;
|
$user = $userpw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6499,7 +6505,6 @@ sub new($$) {
|
||||||
} else {
|
} else {
|
||||||
$sshcommand ||= $opt::ssh || $ENV{'PARALLEL_SSH'} || "ssh";
|
$sshcommand ||= $opt::ssh || $ENV{'PARALLEL_SSH'} || "ssh";
|
||||||
}
|
}
|
||||||
|
|
||||||
# An SSHLogin is always in the hostgroup of its $string-name
|
# An SSHLogin is always in the hostgroup of its $string-name
|
||||||
$hostgroups{$string} = 1;
|
$hostgroups{$string} = 1;
|
||||||
@Global::hostgroups{keys %hostgroups} = values %hostgroups;
|
@Global::hostgroups{keys %hostgroups} = values %hostgroups;
|
||||||
|
@ -6566,6 +6571,32 @@ sub sshcmd($) {
|
||||||
if($self->{'port'}) { push @local, '-p',$self->{'port'}; }
|
if($self->{'port'}) { push @local, '-p',$self->{'port'}; }
|
||||||
# [-l user]
|
# [-l user]
|
||||||
if($self->{'user'}) { push @local, '-l',$self->{'user'}; }
|
if($self->{'user'}) { push @local, '-l',$self->{'user'}; }
|
||||||
|
if($opt::controlmaster) {
|
||||||
|
# Use control_path to make ssh faster
|
||||||
|
my $control_path = $self->control_path_dir()."/ssh-%r@%h:%p";
|
||||||
|
push @local, "-S", $control_path;
|
||||||
|
if(not $self->{'control_path'}{$control_path}++) {
|
||||||
|
# Master is not running for this control_path
|
||||||
|
# Start it
|
||||||
|
my $pid = fork();
|
||||||
|
if($pid) {
|
||||||
|
$Global::sshmaster{$pid} ||= 1;
|
||||||
|
} else {
|
||||||
|
$SIG{'TERM'} = undef;
|
||||||
|
# Run a sleep that outputs data, so it will discover
|
||||||
|
# if the ssh connection closes.
|
||||||
|
my $sleep = ::Q('$|=1;while(1){sleep 1;print "foo\n"}');
|
||||||
|
# Ignore the 'foo' being printed
|
||||||
|
open(STDOUT,">","/dev/null");
|
||||||
|
# STDERR >/dev/null to ignore
|
||||||
|
open(STDERR,">","/dev/null");
|
||||||
|
open(STDIN,"<","/dev/null");
|
||||||
|
exec(@local, "-MT", $self->{'host'}, "--",
|
||||||
|
"perl", "-e", $sleep);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return "@local";
|
return "@local";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8615,7 +8646,7 @@ sub openoutputfiles($) {
|
||||||
}
|
}
|
||||||
# Return immediately because we do not need setting filenames
|
# Return immediately because we do not need setting filenames
|
||||||
return;
|
return;
|
||||||
} elsif($opt::results and not $Global::csvsep) {
|
} elsif($opt::results and not $Global::csvsep and not $Global::jsonout) {
|
||||||
# If --results, but not --results *.csv/*.tsv
|
# If --results, but not --results *.csv/*.tsv
|
||||||
my $out = $self->{'commandline'}->results_out();
|
my $out = $self->{'commandline'}->results_out();
|
||||||
my $seqname;
|
my $seqname;
|
||||||
|
@ -10579,10 +10610,9 @@ sub print($) {
|
||||||
$self->starttime(), sprintf("%0.3f",$self->runtime()),
|
$self->starttime(), sprintf("%0.3f",$self->runtime()),
|
||||||
$self->transfersize(), $self->returnsize(),
|
$self->transfersize(), $self->returnsize(),
|
||||||
$self->exitstatus(), $self->exitsignal(), $cmd,
|
$self->exitstatus(), $self->exitsignal(), $cmd,
|
||||||
# \@$record_ref[1..$#$record_ref],
|
|
||||||
(join ",",
|
(join ",",
|
||||||
map { '"'.jsonquote($_).'"' } @$record_ref[1..$#$record_ref],
|
map { '"'.jsonquote($_).'"' } @$record_ref[1..$#$record_ref],
|
||||||
),
|
),
|
||||||
jsonquote($self->{'output'}{1}),
|
jsonquote($self->{'output'}{1}),
|
||||||
jsonquote($self->{'output'}{2})
|
jsonquote($self->{'output'}{2})
|
||||||
);
|
);
|
||||||
|
|
|
@ -3313,10 +3313,12 @@ See also: B<--no-run-if-empty> B<{}> B<--colsep>
|
||||||
|
|
||||||
=item B<-u>
|
=item B<-u>
|
||||||
|
|
||||||
Ungroup output. Output is printed as soon as possible and bypasses
|
Ungroup output.
|
||||||
GNU B<parallel> internal processing. This may cause output from
|
|
||||||
different commands to be mixed thus should only be used if you do not
|
Output is printed as soon as possible and bypasses GNU B<parallel>
|
||||||
care about the output. Compare these:
|
internal processing. This may cause output from different commands to
|
||||||
|
be mixed thus should only be used if you do not care about the
|
||||||
|
output. Compare these:
|
||||||
|
|
||||||
seq 4 | parallel -j0 \
|
seq 4 | parallel -j0 \
|
||||||
'sleep {};echo -n start{};sleep {};echo {}end'
|
'sleep {};echo -n start{};sleep {};echo {}end'
|
||||||
|
|
|
@ -855,6 +855,17 @@ par_results() {
|
||||||
rm -r $tmp "$tmp"-dir
|
rm -r $tmp "$tmp"-dir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
par_results_json() {
|
||||||
|
echo "### --results test.json"
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
parallel -k --results "$tmp"/foo.json seq ::: 2 3 ::: 4 5
|
||||||
|
cat "$tmp"/foo.json | perl -pe 's/\d+\.\d{3}/9.999/g'
|
||||||
|
rm -r $tmp
|
||||||
|
parallel -k --results -.json seq ::: 2 3 ::: 4 5 |
|
||||||
|
perl -pe 's/\d+\.\d{3}/9.999/g'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
par_testquote() {
|
par_testquote() {
|
||||||
testquote() {
|
testquote() {
|
||||||
printf '"#&/\n()*=?'"'" |
|
printf '"#&/\n()*=?'"'" |
|
||||||
|
|
|
@ -20,6 +20,41 @@ par_load_blocks() {
|
||||||
grep -Ev 'processes took|Consider adjusting -j'
|
grep -Ev 'processes took|Consider adjusting -j'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
par_round_robin_blocks() {
|
||||||
|
echo "bug #49664: --round-robin does not complete"
|
||||||
|
seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l
|
||||||
|
}
|
||||||
|
|
||||||
|
par_test_diff_roundrobin_k() {
|
||||||
|
echo '### test there is difference on -k'
|
||||||
|
. $(which env_parallel.bash)
|
||||||
|
mytest() {
|
||||||
|
K=$1
|
||||||
|
doit() {
|
||||||
|
# Sleep random time ever 1k line
|
||||||
|
# to mix up which process gets the next block
|
||||||
|
perl -ne '$t++ % 1000 or select(undef, undef, undef, rand()/10);print' |
|
||||||
|
md5sum
|
||||||
|
}
|
||||||
|
export -f doit
|
||||||
|
seq 1000000 |
|
||||||
|
parallel --block 65K --pipe $K --roundrobin doit |
|
||||||
|
sort
|
||||||
|
}
|
||||||
|
export -f mytest
|
||||||
|
parset a,b,c mytest ::: -k -k ''
|
||||||
|
# a == b and a != c or error
|
||||||
|
if [ "$a" == "$b" ]; then
|
||||||
|
if [ "$a" != "$c" ]; then
|
||||||
|
echo OK
|
||||||
|
else
|
||||||
|
echo error a c
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo error a b
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
par_compress_prg_fails() {
|
par_compress_prg_fails() {
|
||||||
echo '### bug #44546: If --compress-program fails: fail'
|
echo '### bug #44546: If --compress-program fails: fail'
|
||||||
doit() {
|
doit() {
|
||||||
|
|
|
@ -8,6 +8,40 @@
|
||||||
# Each should be taking 1-3s and be possible to run in parallel
|
# Each should be taking 1-3s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
|
|
||||||
|
|
||||||
|
par_commandline_with_newline() {
|
||||||
|
echo 'bug #51299: --retry-failed with command with newline'
|
||||||
|
echo 'The format must remain the same'
|
||||||
|
(
|
||||||
|
parallel --jl - 'false "command
|
||||||
|
with
|
||||||
|
newlines"' ::: a b | sort
|
||||||
|
|
||||||
|
echo resume
|
||||||
|
parallel --resume --jl - 'false "command
|
||||||
|
with
|
||||||
|
newlines"' ::: a b c | sort
|
||||||
|
|
||||||
|
echo resume-failed
|
||||||
|
parallel --resume-failed --jl - 'false "command
|
||||||
|
with
|
||||||
|
newlines"' ::: a b c d | sort
|
||||||
|
|
||||||
|
echo retry-failed
|
||||||
|
parallel --retry-failed --jl - 'false "command
|
||||||
|
with
|
||||||
|
newlines"' ::: a b c d e | sort
|
||||||
|
) | perl -pe 's/\0/<null>/g;s/\d+/./g'
|
||||||
|
}
|
||||||
|
|
||||||
|
par_compute_command_len() {
|
||||||
|
echo "### Computing length of command line"
|
||||||
|
seq 1 2 | parallel -k -N2 echo {1} {2}
|
||||||
|
parallel --xapply -k -a <(seq 11 12) -a <(seq 1 3) echo
|
||||||
|
parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
|
||||||
|
parallel -k -C %+ echo {4} ::: 'a% c %%b'
|
||||||
|
}
|
||||||
|
|
||||||
par_skip_first_line() {
|
par_skip_first_line() {
|
||||||
tmpdir=$(mktemp)
|
tmpdir=$(mktemp)
|
||||||
(echo `seq 10000`;echo MyHeader; seq 10) |
|
(echo `seq 10000`;echo MyHeader; seq 10) |
|
||||||
|
@ -29,14 +63,6 @@ par_long_input() {
|
||||||
parallel --colsep '\t' echo {-5} {-3//} {-2/.} '{=-1 s/.*\.// =}'
|
parallel --colsep '\t' echo {-5} {-3//} {-2/.} '{=-1 s/.*\.// =}'
|
||||||
}
|
}
|
||||||
|
|
||||||
par_plus_slot_replacement() {
|
|
||||||
echo '### show {slot} {0%} {0#}'
|
|
||||||
parallel -k --plus 'sleep 0.{%};echo {slot}=$PARALLEL_JOBSLOT={%}' ::: A B C
|
|
||||||
parallel -j15 -k --plus 'echo Seq: {0#} {#}' ::: {1..100} | sort
|
|
||||||
parallel -j15 -k --plus 'sleep 0.{}; echo Slot: {0%} {%}' ::: {1..100} |
|
|
||||||
sort -u
|
|
||||||
}
|
|
||||||
|
|
||||||
par_recend_recstart_hash() {
|
par_recend_recstart_hash() {
|
||||||
echo "### bug #59843: --regexp --recstart '#' fails"
|
echo "### bug #59843: --regexp --recstart '#' fails"
|
||||||
(echo '#rec1'; echo 'bar'; echo '#rec2') |
|
(echo '#rec1'; echo 'bar'; echo '#rec2') |
|
||||||
|
@ -50,7 +76,7 @@ par_recend_recstart_hash() {
|
||||||
}
|
}
|
||||||
|
|
||||||
par_sqlandworker_uninstalled_dbd() {
|
par_sqlandworker_uninstalled_dbd() {
|
||||||
echo 'bug #56096: dbi-csv no such column'
|
echo '### bug #56096: dbi-csv no such column'
|
||||||
mkdir -p /tmp/parallel-bug-56096
|
mkdir -p /tmp/parallel-bug-56096
|
||||||
sudo mv /usr/share/perl5/DBD/CSV.pm /usr/share/perl5/DBD/CSV.pm.gone
|
sudo mv /usr/share/perl5/DBD/CSV.pm /usr/share/perl5/DBD/CSV.pm.gone
|
||||||
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: must_fail
|
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: must_fail
|
||||||
|
@ -58,6 +84,14 @@ par_sqlandworker_uninstalled_dbd() {
|
||||||
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: works
|
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: works
|
||||||
}
|
}
|
||||||
|
|
||||||
|
par_uninstalled_sshpass() {
|
||||||
|
echo '### sshpass must be installed for --sshlogin user:pass@host'
|
||||||
|
sshpass=$(command -v sshpass)
|
||||||
|
sudo mv "$sshpass" "$sshpass".hidden
|
||||||
|
parallel -S user:pass@host echo ::: must fail
|
||||||
|
sudo mv "$sshpass".hidden "$sshpass"
|
||||||
|
}
|
||||||
|
|
||||||
par_results_compress() {
|
par_results_compress() {
|
||||||
tmpdir=$(mktemp)
|
tmpdir=$(mktemp)
|
||||||
rm -r "$tmpdir"
|
rm -r "$tmpdir"
|
||||||
|
|
|
@ -25,7 +25,7 @@ par_bin() {
|
||||||
parallel --pipe --colsep '\t' --bin 2 wc | sort
|
parallel --pipe --colsep '\t' --bin 2 wc | sort
|
||||||
}
|
}
|
||||||
|
|
||||||
par_shard_a() {
|
par_shard() {
|
||||||
echo '### --shard'
|
echo '### --shard'
|
||||||
# Each of the 5 lines should match:
|
# Each of the 5 lines should match:
|
||||||
# ##### ##### ######
|
# ##### ##### ######
|
||||||
|
@ -40,9 +40,7 @@ par_shard_a() {
|
||||||
}
|
}
|
||||||
shard_on_col 1
|
shard_on_col 1
|
||||||
shard_on_col 2
|
shard_on_col 2
|
||||||
}
|
|
||||||
|
|
||||||
par_shard_b() {
|
|
||||||
echo '### --shard'
|
echo '### --shard'
|
||||||
shard_on_col_name() {
|
shard_on_col_name() {
|
||||||
colname=$1
|
colname=$1
|
||||||
|
@ -53,9 +51,7 @@ par_shard_b() {
|
||||||
}
|
}
|
||||||
shard_on_col_name A 1
|
shard_on_col_name A 1
|
||||||
shard_on_col_name B 2
|
shard_on_col_name B 2
|
||||||
}
|
|
||||||
|
|
||||||
par_shard_c() {
|
|
||||||
echo '### --shard'
|
echo '### --shard'
|
||||||
shard_on_col_expr() {
|
shard_on_col_expr() {
|
||||||
colexpr="$1"
|
colexpr="$1"
|
||||||
|
@ -66,9 +62,7 @@ par_shard_c() {
|
||||||
}
|
}
|
||||||
shard_on_col_expr '1 $_%=3' 1
|
shard_on_col_expr '1 $_%=3' 1
|
||||||
shard_on_col_expr '2 $_%=3' 2
|
shard_on_col_expr '2 $_%=3' 2
|
||||||
}
|
|
||||||
|
|
||||||
par_shard_d() {
|
|
||||||
shard_on_col_name_expr() {
|
shard_on_col_name_expr() {
|
||||||
colexpr="$1"
|
colexpr="$1"
|
||||||
col=$2
|
col=$2
|
||||||
|
@ -88,36 +82,6 @@ par_shard_d() {
|
||||||
perl -pe 's/(.*\d{5,}){3}/OK/'
|
perl -pe 's/(.*\d{5,}){3}/OK/'
|
||||||
}
|
}
|
||||||
|
|
||||||
par_test_diff_roundrobin_k() {
|
|
||||||
echo '### test there is difference on -k'
|
|
||||||
. $(which env_parallel.bash)
|
|
||||||
mytest() {
|
|
||||||
K=$1
|
|
||||||
doit() {
|
|
||||||
# Sleep random time ever 1k line
|
|
||||||
# to mix up which process gets the next block
|
|
||||||
perl -ne '$t++ % 1000 or select(undef, undef, undef, rand()/10);print' |
|
|
||||||
md5sum
|
|
||||||
}
|
|
||||||
export -f doit
|
|
||||||
seq 1000000 |
|
|
||||||
parallel --block 65K --pipe $K --roundrobin doit |
|
|
||||||
sort
|
|
||||||
}
|
|
||||||
export -f mytest
|
|
||||||
parset a,b,c mytest ::: -k -k ''
|
|
||||||
# a == b and a != c or error
|
|
||||||
if [ "$a" == "$b" ]; then
|
|
||||||
if [ "$a" != "$c" ]; then
|
|
||||||
echo OK
|
|
||||||
else
|
|
||||||
echo error a c
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo error a b
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
par_load_from_PARALLEL() {
|
par_load_from_PARALLEL() {
|
||||||
echo "### Test reading load from PARALLEL"
|
echo "### Test reading load from PARALLEL"
|
||||||
export PARALLEL="--load 300%"
|
export PARALLEL="--load 300%"
|
||||||
|
@ -468,11 +432,6 @@ par_max_length_len_128k() {
|
||||||
) | perl -pe 's/(\d\d+)\d\d\d/${1}xxx/g'
|
) | perl -pe 's/(\d\d+)\d\d\d/${1}xxx/g'
|
||||||
}
|
}
|
||||||
|
|
||||||
par_round_robin_blocks() {
|
|
||||||
echo "bug #49664: --round-robin does not complete"
|
|
||||||
seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l
|
|
||||||
}
|
|
||||||
|
|
||||||
par_plus_dyn_repl() {
|
par_plus_dyn_repl() {
|
||||||
echo "Dynamic replacement strings defined by --plus"
|
echo "Dynamic replacement strings defined by --plus"
|
||||||
|
|
||||||
|
|
|
@ -232,12 +232,12 @@ par_sshdelay() {
|
||||||
perl -ne 'print($_ > 1.30 ? "OK\n" : "Not OK\n")'
|
perl -ne 'print($_ > 1.30 ? "OK\n" : "Not OK\n")'
|
||||||
}
|
}
|
||||||
|
|
||||||
par_compute_command_len() {
|
par_plus_slot_replacement() {
|
||||||
echo "### Computing length of command line"
|
echo '### show {slot} {0%} {0#}'
|
||||||
seq 1 2 | parallel -k -N2 echo {1} {2}
|
parallel -k --plus 'sleep 0.{%};echo {slot}=$PARALLEL_JOBSLOT={%}' ::: A B C
|
||||||
parallel --xapply -k -a <(seq 11 12) -a <(seq 1 3) echo
|
parallel -j15 -k --plus 'echo Seq: {0#} {#}' ::: {1..100} | sort
|
||||||
parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
|
parallel -j15 -k --plus 'sleep 0.{}; echo Slot: {0%} {%}' ::: {1..100} |
|
||||||
parallel -k -C %+ echo {4} ::: 'a% c %%b'
|
sort -u
|
||||||
}
|
}
|
||||||
|
|
||||||
par_replacement_slashslash() {
|
par_replacement_slashslash() {
|
||||||
|
@ -468,31 +468,6 @@ par_sqlworker_hostname() {
|
||||||
perl -pe "s/$hostname/<hostname>/g"
|
perl -pe "s/$hostname/<hostname>/g"
|
||||||
}
|
}
|
||||||
|
|
||||||
par_commandline_with_newline() {
|
|
||||||
echo 'bug #51299: --retry-failed with command with newline'
|
|
||||||
echo 'The format must remain the same'
|
|
||||||
(
|
|
||||||
parallel --jl - 'false "command
|
|
||||||
with
|
|
||||||
newlines"' ::: a b | sort
|
|
||||||
|
|
||||||
echo resume
|
|
||||||
parallel --resume --jl - 'false "command
|
|
||||||
with
|
|
||||||
newlines"' ::: a b c | sort
|
|
||||||
|
|
||||||
echo resume-failed
|
|
||||||
parallel --resume-failed --jl - 'false "command
|
|
||||||
with
|
|
||||||
newlines"' ::: a b c d | sort
|
|
||||||
|
|
||||||
echo retry-failed
|
|
||||||
parallel --retry-failed --jl - 'false "command
|
|
||||||
with
|
|
||||||
newlines"' ::: a b c d e | sort
|
|
||||||
) | perl -pe 's/\0/<null>/g;s/\d+/./g'
|
|
||||||
}
|
|
||||||
|
|
||||||
par_delay_human_readable() {
|
par_delay_human_readable() {
|
||||||
# Test that you can use d h m s in --delay
|
# Test that you can use d h m s in --delay
|
||||||
parallel --delay 0.1s echo ::: a b c
|
parallel --delay 0.1s echo ::: a b c
|
||||||
|
|
|
@ -160,8 +160,6 @@ par_big_var_func_name() {
|
||||||
perl -pe 's/\d{10,}.\d+ //g'
|
perl -pe 's/\d{10,}.\d+ //g'
|
||||||
}
|
}
|
||||||
|
|
||||||
#macsshlogin=ota@mac
|
|
||||||
#macsshlogin=macosx.p
|
|
||||||
macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p)
|
macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p)
|
||||||
|
|
||||||
scp /usr/local/bin/parallel $macsshlogin:bin/
|
scp /usr/local/bin/parallel $macsshlogin:bin/
|
||||||
|
@ -171,4 +169,5 @@ export -f $(compgen -A function | grep par_)
|
||||||
compgen -A function |
|
compgen -A function |
|
||||||
grep par_ |
|
grep par_ |
|
||||||
LC_ALL=C sort |
|
LC_ALL=C sort |
|
||||||
env_parallel --timeout 3000% --tag -k -S 6/$macsshlogin 'PATH=$HOME/bin:$PATH; {}'
|
env_parallel --timeout 3000% --tag -k -S 6/$macsshlogin 'PATH=$HOME/bin:$PATH; {}' |
|
||||||
|
perl -pe 's/(\d+)\d\d\d/${1}XXX/g'
|
||||||
|
|
|
@ -50,9 +50,10 @@ par_filter_hosts_no_ssh_nxserver() {
|
||||||
|
|
||||||
par_controlmaster_is_faster() {
|
par_controlmaster_is_faster() {
|
||||||
echo '### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host'
|
echo '### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host'
|
||||||
|
echo '-M should finish first - eventhough there are 2x jobs'
|
||||||
(parallel -S $SSHLOGIN1 true ::: {1..20};
|
(parallel -S $SSHLOGIN1 true ::: {1..20};
|
||||||
echo No --controlmaster - finish last) &
|
echo No --controlmaster - finish last) &
|
||||||
(parallel -M -S $SSHLOGIN1 true ::: {1..20};
|
(parallel -M -S $SSHLOGIN1 true ::: {1..40};
|
||||||
echo With --controlmaster - finish first) &
|
echo With --controlmaster - finish first) &
|
||||||
wait
|
wait
|
||||||
}
|
}
|
||||||
|
|
|
@ -902,6 +902,15 @@ par_results c
|
||||||
par_results_arg_256 ### bug #42089: --results with arg > 256 chars (should be 1 char shorter)
|
par_results_arg_256 ### bug #42089: --results with arg > 256 chars (should be 1 char shorter)
|
||||||
par_results_arg_256 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
|
par_results_arg_256 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
|
||||||
par_results_arg_256 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
|
par_results_arg_256 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
|
||||||
|
par_results_json ### --results test.json
|
||||||
|
par_results_json { "Seq": 1, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 2 4", "V": [ "2","4" ], "Stdout": "2\u000a3\u000a4\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 2, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 8, "Exitval": 0, "Signal": 0, "Command": "seq 2 5", "V": [ "2","5" ], "Stdout": "2\u000a3\u000a4\u000a5\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 3, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 4, "Exitval": 0, "Signal": 0, "Command": "seq 3 4", "V": [ "3","4" ], "Stdout": "3\u000a4\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 4, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 3 5", "V": [ "3","5" ], "Stdout": "3\u000a4\u000a5\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 1, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 2 4", "V": [ "2","4" ], "Stdout": "2\u000a3\u000a4\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 2, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 8, "Exitval": 0, "Signal": 0, "Command": "seq 2 5", "V": [ "2","5" ], "Stdout": "2\u000a3\u000a4\u000a5\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 3, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 4, "Exitval": 0, "Signal": 0, "Command": "seq 3 4", "V": [ "3","4" ], "Stdout": "3\u000a4\u000a", "Stderr": "" }
|
||||||
|
par_results_json { "Seq": 4, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 3 5", "V": [ "3","5" ], "Stdout": "3\u000a4\u000a5\u000a", "Stderr": "" }
|
||||||
par_resume_k ### --resume -k
|
par_resume_k ### --resume -k
|
||||||
par_resume_k job0id
|
par_resume_k job0id
|
||||||
par_resume_k job1id
|
par_resume_k job1id
|
||||||
|
|
|
@ -901,6 +901,8 @@ par_retries_all_fail 5
|
||||||
par_retries_all_fail 6
|
par_retries_all_fail 6
|
||||||
par_retries_all_fail 7
|
par_retries_all_fail 7
|
||||||
par_retries_all_fail 8
|
par_retries_all_fail 8
|
||||||
|
par_round_robin_blocks bug #49664: --round-robin does not complete
|
||||||
|
par_round_robin_blocks 8
|
||||||
par_sem_2jobs ### Test semaphore 2 jobs running simultaneously
|
par_sem_2jobs ### Test semaphore 2 jobs running simultaneously
|
||||||
par_sem_2jobs job1a 1
|
par_sem_2jobs job1a 1
|
||||||
par_sem_2jobs job2a 2
|
par_sem_2jobs job2a 2
|
||||||
|
@ -967,6 +969,8 @@ par_sockets_cores_threads ### Test --use-sockets-instead-of-threads
|
||||||
par_sockets_cores_threads threads done
|
par_sockets_cores_threads threads done
|
||||||
par_sockets_cores_threads sockets done
|
par_sockets_cores_threads sockets done
|
||||||
par_sockets_cores_threads Threads should complete first on machines with less than 8 sockets
|
par_sockets_cores_threads Threads should complete first on machines with less than 8 sockets
|
||||||
|
par_test_diff_roundrobin_k ### test there is difference on -k
|
||||||
|
par_test_diff_roundrobin_k OK
|
||||||
par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this
|
par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this
|
||||||
par_tmp_full parallel: Error: Output is incomplete.
|
par_tmp_full parallel: Error: Output is incomplete.
|
||||||
par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel.
|
par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel.
|
||||||
|
|
|
@ -86,6 +86,37 @@ par_bug37042 ### Bug introduce by fixing bug #37042
|
||||||
par_bug37042 abc
|
par_bug37042 abc
|
||||||
par_bug43654 bug #43654: --bar with command not using {} - only last output line
|
par_bug43654 bug #43654: --bar with command not using {} - only last output line
|
||||||
par_bug43654
par_bug43654 [7m100% 1:0=0s 1 [0m[0m
|
par_bug43654
par_bug43654 [7m100% 1:0=0s 1 [0m[0m
|
||||||
|
par_commandline_with_newline bug #51299: --retry-failed with command with newline
|
||||||
|
par_commandline_with_newline The format must remain the same
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
||||||
|
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
|
par_commandline_with_newline resume
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
|
||||||
|
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
|
par_commandline_with_newline resume-failed
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
|
||||||
|
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
|
par_commandline_with_newline retry-failed
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
|
||||||
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" e
|
||||||
|
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
|
par_compute_command_len ### Computing length of command line
|
||||||
|
par_compute_command_len 1 2
|
||||||
|
par_compute_command_len 11 1
|
||||||
|
par_compute_command_len 12 2
|
||||||
|
par_compute_command_len 11 3
|
||||||
|
par_compute_command_len a_b_c_
|
||||||
|
par_compute_command_len a_b_c_d
|
||||||
|
par_compute_command_len
|
||||||
par_empty_string_command_line ### Test of ignore-empty string on :::
|
par_empty_string_command_line ### Test of ignore-empty string on :::
|
||||||
par_empty_string_command_line foo
|
par_empty_string_command_line foo
|
||||||
par_empty_string_command_line ole
|
par_empty_string_command_line ole
|
||||||
|
@ -377,125 +408,6 @@ par_pipepart_block 17-20
|
||||||
par_pipepart_block 18-20
|
par_pipepart_block 18-20
|
||||||
par_pipepart_block 19-20
|
par_pipepart_block 19-20
|
||||||
par_pipepart_block 20-20
|
par_pipepart_block 20-20
|
||||||
par_plus_slot_replacement ### show {slot} {0%} {0#}
|
|
||||||
par_plus_slot_replacement 1=1=1
|
|
||||||
par_plus_slot_replacement 2=2=2
|
|
||||||
par_plus_slot_replacement 3=3=3
|
|
||||||
par_plus_slot_replacement Seq: 001 1
|
|
||||||
par_plus_slot_replacement Seq: 002 2
|
|
||||||
par_plus_slot_replacement Seq: 003 3
|
|
||||||
par_plus_slot_replacement Seq: 004 4
|
|
||||||
par_plus_slot_replacement Seq: 005 5
|
|
||||||
par_plus_slot_replacement Seq: 006 6
|
|
||||||
par_plus_slot_replacement Seq: 007 7
|
|
||||||
par_plus_slot_replacement Seq: 008 8
|
|
||||||
par_plus_slot_replacement Seq: 009 9
|
|
||||||
par_plus_slot_replacement Seq: 010 10
|
|
||||||
par_plus_slot_replacement Seq: 011 11
|
|
||||||
par_plus_slot_replacement Seq: 012 12
|
|
||||||
par_plus_slot_replacement Seq: 013 13
|
|
||||||
par_plus_slot_replacement Seq: 014 14
|
|
||||||
par_plus_slot_replacement Seq: 015 15
|
|
||||||
par_plus_slot_replacement Seq: 016 16
|
|
||||||
par_plus_slot_replacement Seq: 017 17
|
|
||||||
par_plus_slot_replacement Seq: 018 18
|
|
||||||
par_plus_slot_replacement Seq: 019 19
|
|
||||||
par_plus_slot_replacement Seq: 020 20
|
|
||||||
par_plus_slot_replacement Seq: 021 21
|
|
||||||
par_plus_slot_replacement Seq: 022 22
|
|
||||||
par_plus_slot_replacement Seq: 023 23
|
|
||||||
par_plus_slot_replacement Seq: 024 24
|
|
||||||
par_plus_slot_replacement Seq: 025 25
|
|
||||||
par_plus_slot_replacement Seq: 026 26
|
|
||||||
par_plus_slot_replacement Seq: 027 27
|
|
||||||
par_plus_slot_replacement Seq: 028 28
|
|
||||||
par_plus_slot_replacement Seq: 029 29
|
|
||||||
par_plus_slot_replacement Seq: 030 30
|
|
||||||
par_plus_slot_replacement Seq: 031 31
|
|
||||||
par_plus_slot_replacement Seq: 032 32
|
|
||||||
par_plus_slot_replacement Seq: 033 33
|
|
||||||
par_plus_slot_replacement Seq: 034 34
|
|
||||||
par_plus_slot_replacement Seq: 035 35
|
|
||||||
par_plus_slot_replacement Seq: 036 36
|
|
||||||
par_plus_slot_replacement Seq: 037 37
|
|
||||||
par_plus_slot_replacement Seq: 038 38
|
|
||||||
par_plus_slot_replacement Seq: 039 39
|
|
||||||
par_plus_slot_replacement Seq: 040 40
|
|
||||||
par_plus_slot_replacement Seq: 041 41
|
|
||||||
par_plus_slot_replacement Seq: 042 42
|
|
||||||
par_plus_slot_replacement Seq: 043 43
|
|
||||||
par_plus_slot_replacement Seq: 044 44
|
|
||||||
par_plus_slot_replacement Seq: 045 45
|
|
||||||
par_plus_slot_replacement Seq: 046 46
|
|
||||||
par_plus_slot_replacement Seq: 047 47
|
|
||||||
par_plus_slot_replacement Seq: 048 48
|
|
||||||
par_plus_slot_replacement Seq: 049 49
|
|
||||||
par_plus_slot_replacement Seq: 050 50
|
|
||||||
par_plus_slot_replacement Seq: 051 51
|
|
||||||
par_plus_slot_replacement Seq: 052 52
|
|
||||||
par_plus_slot_replacement Seq: 053 53
|
|
||||||
par_plus_slot_replacement Seq: 054 54
|
|
||||||
par_plus_slot_replacement Seq: 055 55
|
|
||||||
par_plus_slot_replacement Seq: 056 56
|
|
||||||
par_plus_slot_replacement Seq: 057 57
|
|
||||||
par_plus_slot_replacement Seq: 058 58
|
|
||||||
par_plus_slot_replacement Seq: 059 59
|
|
||||||
par_plus_slot_replacement Seq: 060 60
|
|
||||||
par_plus_slot_replacement Seq: 061 61
|
|
||||||
par_plus_slot_replacement Seq: 062 62
|
|
||||||
par_plus_slot_replacement Seq: 063 63
|
|
||||||
par_plus_slot_replacement Seq: 064 64
|
|
||||||
par_plus_slot_replacement Seq: 065 65
|
|
||||||
par_plus_slot_replacement Seq: 066 66
|
|
||||||
par_plus_slot_replacement Seq: 067 67
|
|
||||||
par_plus_slot_replacement Seq: 068 68
|
|
||||||
par_plus_slot_replacement Seq: 069 69
|
|
||||||
par_plus_slot_replacement Seq: 070 70
|
|
||||||
par_plus_slot_replacement Seq: 071 71
|
|
||||||
par_plus_slot_replacement Seq: 072 72
|
|
||||||
par_plus_slot_replacement Seq: 073 73
|
|
||||||
par_plus_slot_replacement Seq: 074 74
|
|
||||||
par_plus_slot_replacement Seq: 075 75
|
|
||||||
par_plus_slot_replacement Seq: 076 76
|
|
||||||
par_plus_slot_replacement Seq: 077 77
|
|
||||||
par_plus_slot_replacement Seq: 078 78
|
|
||||||
par_plus_slot_replacement Seq: 079 79
|
|
||||||
par_plus_slot_replacement Seq: 080 80
|
|
||||||
par_plus_slot_replacement Seq: 081 81
|
|
||||||
par_plus_slot_replacement Seq: 082 82
|
|
||||||
par_plus_slot_replacement Seq: 083 83
|
|
||||||
par_plus_slot_replacement Seq: 084 84
|
|
||||||
par_plus_slot_replacement Seq: 085 85
|
|
||||||
par_plus_slot_replacement Seq: 086 86
|
|
||||||
par_plus_slot_replacement Seq: 087 87
|
|
||||||
par_plus_slot_replacement Seq: 088 88
|
|
||||||
par_plus_slot_replacement Seq: 089 89
|
|
||||||
par_plus_slot_replacement Seq: 090 90
|
|
||||||
par_plus_slot_replacement Seq: 091 91
|
|
||||||
par_plus_slot_replacement Seq: 092 92
|
|
||||||
par_plus_slot_replacement Seq: 093 93
|
|
||||||
par_plus_slot_replacement Seq: 094 94
|
|
||||||
par_plus_slot_replacement Seq: 095 95
|
|
||||||
par_plus_slot_replacement Seq: 096 96
|
|
||||||
par_plus_slot_replacement Seq: 097 97
|
|
||||||
par_plus_slot_replacement Seq: 098 98
|
|
||||||
par_plus_slot_replacement Seq: 099 99
|
|
||||||
par_plus_slot_replacement Seq: 100 100
|
|
||||||
par_plus_slot_replacement Slot: 01 1
|
|
||||||
par_plus_slot_replacement Slot: 02 2
|
|
||||||
par_plus_slot_replacement Slot: 03 3
|
|
||||||
par_plus_slot_replacement Slot: 04 4
|
|
||||||
par_plus_slot_replacement Slot: 05 5
|
|
||||||
par_plus_slot_replacement Slot: 06 6
|
|
||||||
par_plus_slot_replacement Slot: 07 7
|
|
||||||
par_plus_slot_replacement Slot: 08 8
|
|
||||||
par_plus_slot_replacement Slot: 09 9
|
|
||||||
par_plus_slot_replacement Slot: 10 10
|
|
||||||
par_plus_slot_replacement Slot: 11 11
|
|
||||||
par_plus_slot_replacement Slot: 12 12
|
|
||||||
par_plus_slot_replacement Slot: 13 13
|
|
||||||
par_plus_slot_replacement Slot: 14 14
|
|
||||||
par_plus_slot_replacement Slot: 15 15
|
|
||||||
par_profiles_with_space ### bug #42902: profiles containing arguments with space
|
par_profiles_with_space ### bug #42902: profiles containing arguments with space
|
||||||
par_profiles_with_space /bin/bash=/bin/bash
|
par_profiles_with_space /bin/bash=/bin/bash
|
||||||
par_profiles_with_space echo '/bin/bash=/bin/bash'
|
par_profiles_with_space echo '/bin/bash=/bin/bash'
|
||||||
|
@ -894,7 +806,7 @@ par_sql_colsep b B 1 11 b B 2 22 b B 3 33
|
||||||
par_sql_colsep b B 4 44 b B 5 55 b B 6 66
|
par_sql_colsep b B 4 44 b B 5 55 b B 6 66
|
||||||
par_sql_colsep c C 1 11 c C 2 22 c C 3 33
|
par_sql_colsep c C 1 11 c C 2 22 c C 3 33
|
||||||
par_sql_colsep c C 4 44 c C 5 55 c C 6 66
|
par_sql_colsep c C 4 44 c C 5 55 c C 6 66
|
||||||
par_sqlandworker_uninstalled_dbd bug #56096: dbi-csv no such column
|
par_sqlandworker_uninstalled_dbd ### bug #56096: dbi-csv no such column
|
||||||
par_sqlandworker_uninstalled_dbd parallel: Error: CSV not supported. Are you missing a perl DBD::CSV module?
|
par_sqlandworker_uninstalled_dbd parallel: Error: CSV not supported. Are you missing a perl DBD::CSV module?
|
||||||
par_sqlandworker_uninstalled_dbd works
|
par_sqlandworker_uninstalled_dbd works
|
||||||
par_test_E ### Test -E
|
par_test_E ### Test -E
|
||||||
|
@ -1086,3 +998,5 @@ par_trailing_space_line_continuation ### Test of trailing space continuation wit
|
||||||
par_trailing_space_line_continuation foo ole
|
par_trailing_space_line_continuation foo ole
|
||||||
par_trailing_space_line_continuation foo ole
|
par_trailing_space_line_continuation foo ole
|
||||||
par_trailing_space_line_continuation foo ole
|
par_trailing_space_line_continuation foo ole
|
||||||
|
par_uninstalled_sshpass ### sshpass must be installed for --sshlogin user:pass@host
|
||||||
|
par_uninstalled_sshpass parallel: Error: --sshlogin with password requires sshpass installed
|
||||||
|
|
|
@ -1674,99 +1674,97 @@ par_race_condition1 7
|
||||||
par_race_condition1 8
|
par_race_condition1 8
|
||||||
par_race_condition1 9
|
par_race_condition1 9
|
||||||
par_race_condition1 10
|
par_race_condition1 10
|
||||||
par_round_robin_blocks bug #49664: --round-robin does not complete
|
par_shard ### --shard
|
||||||
par_round_robin_blocks 8
|
par_shard OK
|
||||||
par_shard_a ### --shard
|
par_shard OK
|
||||||
par_shard_a OK
|
par_shard OK
|
||||||
par_shard_a OK
|
par_shard OK
|
||||||
par_shard_a OK
|
par_shard OK
|
||||||
par_shard_a OK
|
par_shard 10 1
|
||||||
par_shard_a OK
|
par_shard 10 2
|
||||||
par_shard_a 10 1
|
par_shard 10 3
|
||||||
par_shard_a 10 2
|
par_shard 10 4
|
||||||
par_shard_a 10 3
|
par_shard 10 5
|
||||||
par_shard_a 10 4
|
par_shard 10 6
|
||||||
par_shard_a 10 5
|
par_shard 10 7
|
||||||
par_shard_a 10 6
|
par_shard 10 8
|
||||||
par_shard_a 10 7
|
par_shard 10 9
|
||||||
par_shard_a 10 8
|
par_shard 9 0
|
||||||
par_shard_a 10 9
|
par_shard 9 1
|
||||||
par_shard_a 9 0
|
par_shard 9 2
|
||||||
par_shard_a 9 1
|
par_shard 9 3
|
||||||
par_shard_a 9 2
|
par_shard 9 4
|
||||||
par_shard_a 9 3
|
par_shard 9 5
|
||||||
par_shard_a 9 4
|
par_shard 9 6
|
||||||
par_shard_a 9 5
|
par_shard 9 7
|
||||||
par_shard_a 9 6
|
par_shard 9 8
|
||||||
par_shard_a 9 7
|
par_shard 9 9
|
||||||
par_shard_a 9 8
|
par_shard ### --shard
|
||||||
par_shard_a 9 9
|
par_shard 10 1
|
||||||
par_shard_b ### --shard
|
par_shard 10 2
|
||||||
par_shard_b 10 1
|
par_shard 10 3
|
||||||
par_shard_b 10 2
|
par_shard 10 4
|
||||||
par_shard_b 10 3
|
par_shard 10 5
|
||||||
par_shard_b 10 4
|
par_shard 10 6
|
||||||
par_shard_b 10 5
|
par_shard 10 7
|
||||||
par_shard_b 10 6
|
par_shard 10 8
|
||||||
par_shard_b 10 7
|
par_shard 10 9
|
||||||
par_shard_b 10 8
|
par_shard 9 0
|
||||||
par_shard_b 10 9
|
par_shard 9 1
|
||||||
par_shard_b 9 0
|
par_shard 9 2
|
||||||
par_shard_b 9 1
|
par_shard 9 3
|
||||||
par_shard_b 9 2
|
par_shard 9 4
|
||||||
par_shard_b 9 3
|
par_shard 9 5
|
||||||
par_shard_b 9 4
|
par_shard 9 6
|
||||||
par_shard_b 9 5
|
par_shard 9 7
|
||||||
par_shard_b 9 6
|
par_shard 9 8
|
||||||
par_shard_b 9 7
|
par_shard 9 9
|
||||||
par_shard_b 9 8
|
par_shard ### --shard
|
||||||
par_shard_b 9 9
|
par_shard 10 1
|
||||||
par_shard_c ### --shard
|
par_shard 10 2
|
||||||
par_shard_c 10 1
|
par_shard 10 3
|
||||||
par_shard_c 10 2
|
par_shard 10 4
|
||||||
par_shard_c 10 3
|
par_shard 10 5
|
||||||
par_shard_c 10 4
|
par_shard 10 6
|
||||||
par_shard_c 10 5
|
par_shard 10 7
|
||||||
par_shard_c 10 6
|
par_shard 10 8
|
||||||
par_shard_c 10 7
|
par_shard 10 9
|
||||||
par_shard_c 10 8
|
par_shard 2 c1
|
||||||
par_shard_c 10 9
|
par_shard 9 0
|
||||||
par_shard_c 2 c1
|
par_shard 9 1
|
||||||
par_shard_c 9 0
|
par_shard 9 2
|
||||||
par_shard_c 9 1
|
par_shard 9 3
|
||||||
par_shard_c 9 2
|
par_shard 9 4
|
||||||
par_shard_c 9 3
|
par_shard 9 5
|
||||||
par_shard_c 9 4
|
par_shard 9 6
|
||||||
par_shard_c 9 5
|
par_shard 9 7
|
||||||
par_shard_c 9 6
|
par_shard 9 8
|
||||||
par_shard_c 9 7
|
par_shard 9 9
|
||||||
par_shard_c 9 8
|
par_shard 2 c2
|
||||||
par_shard_c 9 9
|
par_shard 10 1
|
||||||
par_shard_c 2 c2
|
par_shard 10 2
|
||||||
par_shard_d 10 1
|
par_shard 10 3
|
||||||
par_shard_d 10 2
|
par_shard 10 4
|
||||||
par_shard_d 10 3
|
par_shard 10 5
|
||||||
par_shard_d 10 4
|
par_shard 10 6
|
||||||
par_shard_d 10 5
|
par_shard 10 7
|
||||||
par_shard_d 10 6
|
par_shard 10 8
|
||||||
par_shard_d 10 7
|
par_shard 10 9
|
||||||
par_shard_d 10 8
|
par_shard 2 c1
|
||||||
par_shard_d 10 9
|
par_shard 9 0
|
||||||
par_shard_d 2 c1
|
par_shard 9 1
|
||||||
par_shard_d 9 0
|
par_shard 9 2
|
||||||
par_shard_d 9 1
|
par_shard 9 3
|
||||||
par_shard_d 9 2
|
par_shard 9 4
|
||||||
par_shard_d 9 3
|
par_shard 9 5
|
||||||
par_shard_d 9 4
|
par_shard 9 6
|
||||||
par_shard_d 9 5
|
par_shard 9 7
|
||||||
par_shard_d 9 6
|
par_shard 9 8
|
||||||
par_shard_d 9 7
|
par_shard 9 9
|
||||||
par_shard_d 9 8
|
par_shard 2 c2
|
||||||
par_shard_d 9 9
|
par_shard *** broken
|
||||||
par_shard_d 2 c2
|
par_shard parallel: Error: --shard requires --jobs to be higher than the number of
|
||||||
par_shard_d *** broken
|
par_shard parallel: Error: arguments. Increase --jobs.
|
||||||
par_shard_d parallel: Error: --shard requires --jobs to be higher than the number of
|
|
||||||
par_shard_d parallel: Error: arguments. Increase --jobs.
|
|
||||||
par_sighup ### Test SIGHUP
|
par_sighup ### Test SIGHUP
|
||||||
par_sighup 1
|
par_sighup 1
|
||||||
par_sighup 10
|
par_sighup 10
|
||||||
|
@ -1845,5 +1843,3 @@ par_test_detected_shell test_known_shell_pipe static-sh Global::shell /usr/bin/s
|
||||||
par_test_detected_shell test_known_shell_pipe tcsh Global::shell /usr/bin/tcsh
|
par_test_detected_shell test_known_shell_pipe tcsh Global::shell /usr/bin/tcsh
|
||||||
par_test_detected_shell test_known_shell_pipe yash Global::shell /usr/bin/yash
|
par_test_detected_shell test_known_shell_pipe yash Global::shell /usr/bin/yash
|
||||||
par_test_detected_shell test_known_shell_pipe zsh Global::shell /usr/bin/zsh
|
par_test_detected_shell test_known_shell_pipe zsh Global::shell /usr/bin/zsh
|
||||||
par_test_diff_roundrobin_k ### test there is difference on -k
|
|
||||||
par_test_diff_roundrobin_k OK
|
|
||||||
|
|
|
@ -22,37 +22,6 @@ par_children_receive_sig parallel: Warning: This job was killed because it timed
|
||||||
par_children_receive_sig parallel: Warning: show_signals ''
|
par_children_receive_sig parallel: Warning: show_signals ''
|
||||||
par_children_receive_sig Got INT
|
par_children_receive_sig Got INT
|
||||||
par_children_receive_sig Got TERM
|
par_children_receive_sig Got TERM
|
||||||
par_commandline_with_newline bug #51299: --retry-failed with command with newline
|
|
||||||
par_commandline_with_newline The format must remain the same
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
|
||||||
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
|
||||||
par_commandline_with_newline resume
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
|
|
||||||
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
|
||||||
par_commandline_with_newline resume-failed
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
|
|
||||||
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
|
||||||
par_commandline_with_newline retry-failed
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
|
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" e
|
|
||||||
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
|
||||||
par_compute_command_len ### Computing length of command line
|
|
||||||
par_compute_command_len 1 2
|
|
||||||
par_compute_command_len 11 1
|
|
||||||
par_compute_command_len 12 2
|
|
||||||
par_compute_command_len 11 3
|
|
||||||
par_compute_command_len a_b_c_
|
|
||||||
par_compute_command_len a_b_c_d
|
|
||||||
par_compute_command_len
|
|
||||||
par_delay ### Test --delay
|
par_delay ### Test --delay
|
||||||
par_delay More than 3.3 secs: OK
|
par_delay More than 3.3 secs: OK
|
||||||
par_delay_halt_soon bug #59893: --halt soon doesn't work with --delay
|
par_delay_halt_soon bug #59893: --halt soon doesn't work with --delay
|
||||||
|
@ -401,6 +370,125 @@ par_pipe_regexp_non_quoted Start
|
||||||
par_pipe_regexp_non_quoted Start this line is a false Start line
|
par_pipe_regexp_non_quoted Start this line is a false Start line
|
||||||
par_pipe_regexp_non_quoted End this line is a false End line
|
par_pipe_regexp_non_quoted End this line is a false End line
|
||||||
par_pipe_regexp_non_quoted End
|
par_pipe_regexp_non_quoted End
|
||||||
|
par_plus_slot_replacement ### show {slot} {0%} {0#}
|
||||||
|
par_plus_slot_replacement 1=1=1
|
||||||
|
par_plus_slot_replacement 2=2=2
|
||||||
|
par_plus_slot_replacement 3=3=3
|
||||||
|
par_plus_slot_replacement Seq: 001 1
|
||||||
|
par_plus_slot_replacement Seq: 002 2
|
||||||
|
par_plus_slot_replacement Seq: 003 3
|
||||||
|
par_plus_slot_replacement Seq: 004 4
|
||||||
|
par_plus_slot_replacement Seq: 005 5
|
||||||
|
par_plus_slot_replacement Seq: 006 6
|
||||||
|
par_plus_slot_replacement Seq: 007 7
|
||||||
|
par_plus_slot_replacement Seq: 008 8
|
||||||
|
par_plus_slot_replacement Seq: 009 9
|
||||||
|
par_plus_slot_replacement Seq: 010 10
|
||||||
|
par_plus_slot_replacement Seq: 011 11
|
||||||
|
par_plus_slot_replacement Seq: 012 12
|
||||||
|
par_plus_slot_replacement Seq: 013 13
|
||||||
|
par_plus_slot_replacement Seq: 014 14
|
||||||
|
par_plus_slot_replacement Seq: 015 15
|
||||||
|
par_plus_slot_replacement Seq: 016 16
|
||||||
|
par_plus_slot_replacement Seq: 017 17
|
||||||
|
par_plus_slot_replacement Seq: 018 18
|
||||||
|
par_plus_slot_replacement Seq: 019 19
|
||||||
|
par_plus_slot_replacement Seq: 020 20
|
||||||
|
par_plus_slot_replacement Seq: 021 21
|
||||||
|
par_plus_slot_replacement Seq: 022 22
|
||||||
|
par_plus_slot_replacement Seq: 023 23
|
||||||
|
par_plus_slot_replacement Seq: 024 24
|
||||||
|
par_plus_slot_replacement Seq: 025 25
|
||||||
|
par_plus_slot_replacement Seq: 026 26
|
||||||
|
par_plus_slot_replacement Seq: 027 27
|
||||||
|
par_plus_slot_replacement Seq: 028 28
|
||||||
|
par_plus_slot_replacement Seq: 029 29
|
||||||
|
par_plus_slot_replacement Seq: 030 30
|
||||||
|
par_plus_slot_replacement Seq: 031 31
|
||||||
|
par_plus_slot_replacement Seq: 032 32
|
||||||
|
par_plus_slot_replacement Seq: 033 33
|
||||||
|
par_plus_slot_replacement Seq: 034 34
|
||||||
|
par_plus_slot_replacement Seq: 035 35
|
||||||
|
par_plus_slot_replacement Seq: 036 36
|
||||||
|
par_plus_slot_replacement Seq: 037 37
|
||||||
|
par_plus_slot_replacement Seq: 038 38
|
||||||
|
par_plus_slot_replacement Seq: 039 39
|
||||||
|
par_plus_slot_replacement Seq: 040 40
|
||||||
|
par_plus_slot_replacement Seq: 041 41
|
||||||
|
par_plus_slot_replacement Seq: 042 42
|
||||||
|
par_plus_slot_replacement Seq: 043 43
|
||||||
|
par_plus_slot_replacement Seq: 044 44
|
||||||
|
par_plus_slot_replacement Seq: 045 45
|
||||||
|
par_plus_slot_replacement Seq: 046 46
|
||||||
|
par_plus_slot_replacement Seq: 047 47
|
||||||
|
par_plus_slot_replacement Seq: 048 48
|
||||||
|
par_plus_slot_replacement Seq: 049 49
|
||||||
|
par_plus_slot_replacement Seq: 050 50
|
||||||
|
par_plus_slot_replacement Seq: 051 51
|
||||||
|
par_plus_slot_replacement Seq: 052 52
|
||||||
|
par_plus_slot_replacement Seq: 053 53
|
||||||
|
par_plus_slot_replacement Seq: 054 54
|
||||||
|
par_plus_slot_replacement Seq: 055 55
|
||||||
|
par_plus_slot_replacement Seq: 056 56
|
||||||
|
par_plus_slot_replacement Seq: 057 57
|
||||||
|
par_plus_slot_replacement Seq: 058 58
|
||||||
|
par_plus_slot_replacement Seq: 059 59
|
||||||
|
par_plus_slot_replacement Seq: 060 60
|
||||||
|
par_plus_slot_replacement Seq: 061 61
|
||||||
|
par_plus_slot_replacement Seq: 062 62
|
||||||
|
par_plus_slot_replacement Seq: 063 63
|
||||||
|
par_plus_slot_replacement Seq: 064 64
|
||||||
|
par_plus_slot_replacement Seq: 065 65
|
||||||
|
par_plus_slot_replacement Seq: 066 66
|
||||||
|
par_plus_slot_replacement Seq: 067 67
|
||||||
|
par_plus_slot_replacement Seq: 068 68
|
||||||
|
par_plus_slot_replacement Seq: 069 69
|
||||||
|
par_plus_slot_replacement Seq: 070 70
|
||||||
|
par_plus_slot_replacement Seq: 071 71
|
||||||
|
par_plus_slot_replacement Seq: 072 72
|
||||||
|
par_plus_slot_replacement Seq: 073 73
|
||||||
|
par_plus_slot_replacement Seq: 074 74
|
||||||
|
par_plus_slot_replacement Seq: 075 75
|
||||||
|
par_plus_slot_replacement Seq: 076 76
|
||||||
|
par_plus_slot_replacement Seq: 077 77
|
||||||
|
par_plus_slot_replacement Seq: 078 78
|
||||||
|
par_plus_slot_replacement Seq: 079 79
|
||||||
|
par_plus_slot_replacement Seq: 080 80
|
||||||
|
par_plus_slot_replacement Seq: 081 81
|
||||||
|
par_plus_slot_replacement Seq: 082 82
|
||||||
|
par_plus_slot_replacement Seq: 083 83
|
||||||
|
par_plus_slot_replacement Seq: 084 84
|
||||||
|
par_plus_slot_replacement Seq: 085 85
|
||||||
|
par_plus_slot_replacement Seq: 086 86
|
||||||
|
par_plus_slot_replacement Seq: 087 87
|
||||||
|
par_plus_slot_replacement Seq: 088 88
|
||||||
|
par_plus_slot_replacement Seq: 089 89
|
||||||
|
par_plus_slot_replacement Seq: 090 90
|
||||||
|
par_plus_slot_replacement Seq: 091 91
|
||||||
|
par_plus_slot_replacement Seq: 092 92
|
||||||
|
par_plus_slot_replacement Seq: 093 93
|
||||||
|
par_plus_slot_replacement Seq: 094 94
|
||||||
|
par_plus_slot_replacement Seq: 095 95
|
||||||
|
par_plus_slot_replacement Seq: 096 96
|
||||||
|
par_plus_slot_replacement Seq: 097 97
|
||||||
|
par_plus_slot_replacement Seq: 098 98
|
||||||
|
par_plus_slot_replacement Seq: 099 99
|
||||||
|
par_plus_slot_replacement Seq: 100 100
|
||||||
|
par_plus_slot_replacement Slot: 01 1
|
||||||
|
par_plus_slot_replacement Slot: 02 2
|
||||||
|
par_plus_slot_replacement Slot: 03 3
|
||||||
|
par_plus_slot_replacement Slot: 04 4
|
||||||
|
par_plus_slot_replacement Slot: 05 5
|
||||||
|
par_plus_slot_replacement Slot: 06 6
|
||||||
|
par_plus_slot_replacement Slot: 07 7
|
||||||
|
par_plus_slot_replacement Slot: 08 8
|
||||||
|
par_plus_slot_replacement Slot: 09 9
|
||||||
|
par_plus_slot_replacement Slot: 10 10
|
||||||
|
par_plus_slot_replacement Slot: 11 11
|
||||||
|
par_plus_slot_replacement Slot: 12 12
|
||||||
|
par_plus_slot_replacement Slot: 13 13
|
||||||
|
par_plus_slot_replacement Slot: 14 14
|
||||||
|
par_plus_slot_replacement Slot: 15 15
|
||||||
par_prefix_for_L_n_N_s Must give xxx000 args
|
par_prefix_for_L_n_N_s Must give xxx000 args
|
||||||
par_prefix_for_L_n_N_s 1000
|
par_prefix_for_L_n_N_s 1000
|
||||||
par_prefix_for_L_n_N_s 1000
|
par_prefix_for_L_n_N_s 1000
|
||||||
|
|
|
@ -1,100 +1,100 @@
|
||||||
par_big_func 1 3824 91776
|
par_big_func 1 3XXX 91XXX
|
||||||
par_big_func 1 3824 91776
|
par_big_func 1 3XXX 91XXX
|
||||||
par_big_func 1 3824 91776
|
par_big_func 1 3XXX 91XXX
|
||||||
par_big_func 1 1864 44676
|
par_big_func 1 1XXX 44XXX
|
||||||
par_big_func_name 1 820 19680
|
par_big_func_name 1 820 19XXX
|
||||||
par_big_func_name 1 820 19680
|
par_big_func_name 1 820 19XXX
|
||||||
par_big_func_name 1 820 19680
|
par_big_func_name 1 820 19XXX
|
||||||
par_big_func_name 1 820 19680
|
par_big_func_name 1 820 19XXX
|
||||||
par_big_func_name 1 820 19680
|
par_big_func_name 1 820 19XXX
|
||||||
par_big_func_name 1 820 19680
|
par_big_func_name 1 820 19XXX
|
||||||
par_big_func_name 1 80 1920
|
par_big_func_name 1 80 1XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 816 19584
|
par_big_var_func_name 1 816 19XXX
|
||||||
par_big_var_func_name 1 280 6660
|
par_big_var_func_name 1 280 6XXX
|
||||||
par_many_args 1 3148 6296
|
par_many_args 1 3XXX 6XXX
|
||||||
par_many_args 1 3148 6296
|
par_many_args 1 3XXX 6XXX
|
||||||
par_many_args 1 3148 6296
|
par_many_args 1 3XXX 6XXX
|
||||||
par_many_args 1 3148 6296
|
par_many_args 1 3XXX 6XXX
|
||||||
par_many_args 1 3148 6296
|
par_many_args 1 3XXX 6XXX
|
||||||
par_many_args 1 3148 6296
|
par_many_args 1 3XXX 6XXX
|
||||||
par_many_args 1 1112 2224
|
par_many_args 1 1XXX 2XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 232 5568
|
par_many_func 1 232 5XXX
|
||||||
par_many_func 1 172 4100
|
par_many_func 1 172 4XXX
|
||||||
par_many_var 1 980 23520
|
par_many_var 1 980 23XXX
|
||||||
par_many_var 1 980 23520
|
par_many_var 1 980 23XXX
|
||||||
par_many_var 1 980 23520
|
par_many_var 1 980 23XXX
|
||||||
par_many_var 1 980 23520
|
par_many_var 1 980 23XXX
|
||||||
par_many_var 1 980 23520
|
par_many_var 1 980 23XXX
|
||||||
par_many_var 1 980 23520
|
par_many_var 1 980 23XXX
|
||||||
par_many_var 1 788 18884
|
par_many_var 1 788 18XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 264 6336
|
par_many_var_big_func 1 264 6XXX
|
||||||
par_many_var_big_func 1 68 1604
|
par_many_var_big_func 1 68 1XXX
|
||||||
par_many_var_func 1 2480 59520
|
par_many_var_func 1 2XXX 59XXX
|
||||||
par_many_var_func 1 2480 59520
|
par_many_var_func 1 2XXX 59XXX
|
||||||
par_many_var_func 1 1708 40964
|
par_many_var_func 1 1XXX 40XXX
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
par_controlmaster_is_faster ### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host
|
par_controlmaster_is_faster ### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host
|
||||||
|
par_controlmaster_is_faster -M should finish first - eventhough there are 2x jobs
|
||||||
par_controlmaster_is_faster With --controlmaster - finish first
|
par_controlmaster_is_faster With --controlmaster - finish first
|
||||||
par_controlmaster_is_faster No --controlmaster - finish last
|
par_controlmaster_is_faster No --controlmaster - finish last
|
||||||
par_filter_hosts_different_errors ### --filter-hosts - OK, non-such-user, connection refused, wrong host
|
par_filter_hosts_different_errors ### --filter-hosts - OK, non-such-user, connection refused, wrong host
|
||||||
|
|
Loading…
Reference in a new issue