Make test suite more resilient.

This commit is contained in:
Ole Tange 2023-07-21 04:33:22 +02:00
parent d8c419dbeb
commit 84a44e4435
69 changed files with 1367 additions and 1098 deletions

22
NEWS
View file

@ -1,3 +1,25 @@
20230722
New in this release:
* Time functions (e.g. yyyymmdd($secs) ) can now take secs since epoch as argument.
* Bug fixes and man page updates.
20230622
New in this release:
* Bug fixes and man page updates.
News about GNU Parallel:
* Run faster in the terminal with Gnu Parallel https://www.youtube.com/watch?v=fSYVYsKXWP0
* Building an (Evil) Android Phone Bot Army http://blog.faucher.net/2023/05/building-evil-android-phone-bot-army.html
20230522 20230522
New in this release: New in this release:

View file

@ -4,6 +4,8 @@
Quote of the month: Quote of the month:
GNU parallel ftw
-- hostux.social/@rmpr @_paulmairo@twitter
Love to make a dual processor workstation absolutely whir running dozens of analysis scripts at once Love to make a dual processor workstation absolutely whir running dozens of analysis scripts at once
-- Best Catboy Key Grip @alamogordoglass@twitter -- Best Catboy Key Grip @alamogordoglass@twitter
@ -225,6 +227,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used === === Used ===
GNU parallel is the greatest productivity hack of all time.
-- ashpool @solanobahn@twitter
gnu parallel is actually like. really easy gnu parallel is actually like. really easy
-- tom (era) @slimefiend@twitter -- tom (era) @slimefiend@twitter

View file

@ -264,23 +264,22 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20230722 ('French Riot/Nanterre/Приго́жин') released [stable] Subject: GNU Parallel 20230722 ('Приго́жин') released [stable]
GNU Parallel 20230722 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20230722 ('Приго́жин') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month: Quote of the month:
gnu parallel is actually like. really easy GNU parallel is the greatest productivity hack of all time.
-- tom (era) @slimefiend@twitter -- ashpool @solanobahn@twitter
New in this release: New in this release:
* Time functions (e.g. yyyymmdd($secs) ) can now take secs since epoch as argument.
* Bug fixes and man page updates. * Bug fixes and man page updates.
News about GNU Parallel:
* Building an (Evil) Android Phone Bot Army http://blog.faucher.net/2023/05/building-evil-android-phone-bot-army.html
GNU Parallel - For people who live life in the parallel lane. GNU Parallel - For people who live life in the parallel lane.
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it. If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.

View file

@ -5126,6 +5126,8 @@ sub parse_host_filtering() {
/\tWarning: / /\tWarning: /
or or
/\t(Host key fingerprint is|\+-.*-\+|\|.*\|)/ /\t(Host key fingerprint is|\+-.*-\+|\|.*\|)/
or
/\t\S+: Undefined variable./
) { ) {
# Skip these (from perl): # Skip these (from perl):
# perl: warning: Setting locale failed. # perl: warning: Setting locale failed.
@ -5145,6 +5147,9 @@ sub parse_host_filtering() {
# +--[ED25519 256]--+ # +--[ED25519 256]--+
# | o | # | o |
# +----[SHA256]-----+ # +----[SHA256]-----+
#
# Skip these (from csh):
# MANPATH: Undefined variable.
} elsif(not defined $nsockets{$col[0]}) { } elsif(not defined $nsockets{$col[0]}) {
$nsockets{$col[0]} = $col[1]; $nsockets{$col[0]} = $col[1];
} elsif(not defined $ncores{$col[0]}) { } elsif(not defined $ncores{$col[0]}) {
@ -13482,7 +13487,7 @@ sub find_max($) {
do { do {
if($len > $upper) { return $len }; if($len > $upper) { return $len };
$lower = $len; $lower = $len;
$len *= 16; $len *= 4;
::debug("init", "Maxlen: $lower<$len<$upper(".($upper-$lower)."): "); ::debug("init", "Maxlen: $lower<$len<$upper(".($upper-$lower)."): ");
} while (is_acceptable_command_line_length($len,$string)); } while (is_acceptable_command_line_length($len,$string));
# Then search for the actual max length between # Then search for the actual max length between
@ -13534,7 +13539,12 @@ sub binary_find_max($$$) {
} }
# Force using non-built-in command # Force using non-built-in command
$prg ||= ::which("echo"); $prg ||= ::which("echo");
::qqx("$prg ".${string}x(($len-1-length $prg)/length $string)); my $l = length ::qqx("$prg ".${string}x(($len-1-length $prg)/length $string));
if($l < $len/2) {
# The command returned OK, but did not output $len chars
# => this failed (Centos3 does this craziness)
return 0
}
::debug("init", "$len=$?\n"); ::debug("init", "$len=$?\n");
return not $?; return not $?;
} }

View file

@ -1050,11 +1050,22 @@ Only run jobs where I<filter> is true.
I<filter> can contain replacement strings and Perl code. Example: I<filter> can contain replacement strings and Perl code. Example:
parallel --filter '{1} < {2}+1' echo ::: {1..3} ::: {1..3} parallel --filter '{1}+{2}+{3} < 10' echo {1},{2},{3} \
::: {1..10} ::: {3..8} ::: {3..10}
Outputs: 1,1 1,2 1,3 2,2 2,3 3,3 Outputs: 1,3,3 1,3,4 1,3,5 1,4,3 1,4,4 1,5,3 2,3,3 2,3,4 2,4,3 3,3,3
See also: B<skip()> B<--no-run-if-empty> parallel --filter '{1} < {2}*{2}' echo {1},{2} \
::: {1..10} ::: {1..3}
Outputs: 1,2 1,3 2,2 2,3 3,2 3,3 4,3 5,3 6,3 7,3 8,3
parallel --filter '{choose_k}' --plus echo {1},{2},{3} \
::: {1..5} ::: {1..5} ::: {1..5}
Outputs: 1,2,3 1,2,4 1,2,5 1,3,4 1,3,5 1,4,5 2,3,4 2,3,5 2,4,5 3,4,5
See also: B<skip()> B<--no-run-if-empty> B<{choose_k}>
=item B<--filter-hosts> =item B<--filter-hosts>

View file

@ -4123,9 +4123,12 @@ Short lines from different jobs do not mix, but long lines do:
fun() { fun() {
perl -e '$a="'$1'"x1000000; for(1..'$2') { print $a };'; perl -e '$a="'$1'"x1000000; for(1..'$2') { print $a };';
echo;
} }
export -f fun export -f fun
(echo fun a 100;echo fun b 100) | ./parallel | tr -s abcdef (echo fun a 100;echo fun b 100) | korovkin-parallel | tr -s abcdef
# Compare to:
(echo fun a 100;echo fun b 100) | parallel | tr -s abcdef
There should be only one line of a's and one line of b's. There should be only one line of a's and one line of b's.

View file

@ -120,9 +120,9 @@ stop=(stdout ping -w 1 -c 1 {} && \
grep -Ev "${ignore}" grep -Ev "${ignore}"
startvm: startvm:
parallel --tag -k '${start}' ::: centos8 freebsd11 freebsd12 rhel8 centos3 & parallel -j0 --tag -k '${start}' ::: centos8 freebsd13 freebsd12 rhel8 centos3 &
stopvm: stopvm:
parallel --tag -k '${stop}' ::: centos8 freebsd11 freebsd12 rhel8 centos3 || true parallel -j0 --tag -k '${stop}' ::: centos8 freebsd13 freebsd12 rhel8 centos3 || true
startdb: startdb:
true TODO should start Oracle in vagrant true TODO should start Oracle in vagrant

View file

@ -317,6 +317,21 @@ lsh_setup() {
ssh -l $1 lo 'cat >>.ssh/authorized_keys' ssh -l $1 lo 'cat >>.ssh/authorized_keys'
} }
export -f export_key_to_local_users export -f export_key_to_local_users
# lsh: Protocol error: No common key exchange method.
# It seems
# $ lsh --list-algorithms
# Supported hostkey algorithms: ssh-dss, spki, none
#
# $ nmap --script ssh2-enum-algos -sV -p 22 lo
# | server_host_key_algorithms: (4)
# | rsa-sha2-512
# | rsa-sha2-256
# | ecdsa-sha2-nistp256
# | ssh-ed25519
# |
#
# There is no longer an overlap: LSH is unsupported until there is
# a common algorithm again
shellsplus | parallel --bar --timeout 5 export_key_to_local_users shellsplus | parallel --bar --timeout 5 export_key_to_local_users
shellsplus | parallel --bar --timeout 5 'lsh -l {} lo true || export_key_to_local_users {}' shellsplus | parallel --bar --timeout 5 'lsh -l {} lo true || export_key_to_local_users {}'
shellsplus | parallel --bar --timeout 5 'lsh -l {} lo true || echo Fail {}' shellsplus | parallel --bar --timeout 5 'lsh -l {} lo true || echo Fail {}'
@ -413,6 +428,7 @@ rsync_versions() {
s/AC_DEFINE.HAVE_FNMATCH.,/AC_DEFINE(HAVE_FNMATCH,[1],[dummy]),/;' configure.in s/AC_DEFINE.HAVE_FNMATCH.,/AC_DEFINE(HAVE_FNMATCH,[1],[dummy]),/;' configure.in
autoreconf --install -W gnu autoreconf --install -W gnu
# Make "lib/addrinfo.h" ? # Make "lib/addrinfo.h" ?
touch lib/addrinfo.h
LDFLAGS=-static ./configure && LDFLAGS=-static ./configure &&
(make proto; make -j2) && (make proto; make -j2) &&
sudo cp rsync /usr/local/bin/rsync-$1 sudo cp rsync /usr/local/bin/rsync-$1

View file

@ -19,10 +19,16 @@ perl -e '$|=1;while($t++<3){sleep(1);print "."}' &
# It should be suspended so it at least takes 5 seconds # It should be suspended so it at least takes 5 seconds
stdout /usr/bin/time -f %e niceload -l 8 -p $! | perl -ne '$_ >= 5 and print "OK\n"' stdout /usr/bin/time -f %e niceload -l 8 -p $! | perl -ne '$_ >= 5 and print "OK\n"'
echo "### Test --sensor -l negative" par_sensor_-l_negative() {
# When the size is bigger, then run echo "### Test --sensor -l negative"
SIZET=/tmp/parallel_sizetest # When the size is bigger, then run
rm -f $SIZET TMPDIR=/tmp
tmux new-session -d -n 10 "seq 10000 | pv -qL 1000 > $SIZET" sizet=$(mktemp)
niceload -t .01 --sensor "stat -c %b $SIZET" -l -10 "stat -c %b $SIZET" rm -f "$sizet"
rm $SIZET tmux new-session -d -n 10 "seq 10000 | pv -qL 1000 > $sizet"
niceload -t .01 --sensor "stat -c %b $sizet" -l -10 "stat -c %b $sizet" |
perl -ne 'print (($_ >= 10) ? "OK\n" : "Fail: $_\n" )'
rm "$sizet"
}
par_sensor_-l_negative

View file

@ -14,6 +14,8 @@ echo 'vagrant@centos3'
# user vagrant # user vagrant
# add this to: /etc/ssh/sshd_config on 172.27.27.1 # add this to: /etc/ssh/sshd_config on 172.27.27.1
# KexAlgorithms +diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
# Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
# HostKeyAlgorithms +ssh-rsa # HostKeyAlgorithms +ssh-rsa
# and: # and:
# systemctl restart sshd # systemctl restart sshd
@ -57,13 +59,12 @@ start_centos3
testsuitedir=${testsuitedir:-$pwd} testsuitedir=${testsuitedir:-$pwd}
cd $testsuitedir cd $testsuitedir
# Copy binaries to server # Copy binaries to server
cd testsuite/vagrant/tange/centos3/ 2>/dev/null cd testsuite/ 2>/dev/null
cd vagrant/tange/centos3/ 2>/dev/null cd ..
cd ../vagrant/tange/centos3/ 2>/dev/null
cd ../../../..
ssh $SSHLOGIN1 'mkdir -p .parallel bin; touch .parallel/will-cite' ssh $SSHLOGIN1 'mkdir -p .parallel bin; touch .parallel/will-cite'
scp -q .*/src/{parallel,sem,sql,niceload,env_parallel*} $SSHLOGIN1:bin/ scp -q .*/src/{parallel,sem,sql,niceload,env_parallel*} $SSHLOGIN1:bin/
ssh $SSHLOGIN1 'echo PATH=\$PATH:\$HOME/bin >> .bashrc' ssh $SSHLOGIN1 'echo PATH=\$PATH:\$HOME/bin >> .bashrc'
ssh $SSHLOGIN1 '[ -e .ssh/id_rsa.pub ] || ssh-keygen -t rsa -P "" -f .ssh/id_rsa'
# Allow login from centos3 to $SSHLOGIN2 (that is shellshock hardened) # Allow login from centos3 to $SSHLOGIN2 (that is shellshock hardened)
ssh $SSHLOGIN1 cat .ssh/id_rsa.pub | ssh $SSHLOGIN2 'cat >>.ssh/authorized_keys' ssh $SSHLOGIN1 cat .ssh/id_rsa.pub | ssh $SSHLOGIN2 'cat >>.ssh/authorized_keys'
ssh $SSHLOGIN1 'cat .ssh/id_rsa.pub >>.ssh/authorized_keys; chmod 600 .ssh/authorized_keys' ssh $SSHLOGIN1 'cat .ssh/id_rsa.pub >>.ssh/authorized_keys; chmod 600 .ssh/authorized_keys'

View file

@ -8,6 +8,17 @@
# Each should be taking 10-30s and be possible to run in parallel # Each should be taking 10-30s and be possible to run in parallel
# I.e.: No race conditions, no logins # I.e.: No race conditions, no logins
par_tee_too_many_args() {
echo '### Fail if there are more arguments than --jobs'
seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
tmp=`mktemp`
seq 11 | parallel -k --tag --pipe -j0 --tee grep {} ::: {1..10000} 2> "$tmp"
cat "$tmp" | perl -pe 's/\d+/999/g' |
grep -v 'Warning: Starting' |
grep -v 'Warning: Consider'
rm "$tmp"
}
par_retries_0() { par_retries_0() {
echo '--retries 0 = inf' echo '--retries 0 = inf'
echo this wraps at 256 and should retry until it wraps echo this wraps at 256 and should retry until it wraps
@ -44,36 +55,6 @@ par__print_in_blocks() {
median median
} }
par__keeporder_roundrobin() {
echo 'bug #50081: --keep-order --round-robin should give predictable results'
. `which env_parallel.bash`
run_roundrobin() {
random1G() {
< /dev/zero openssl enc -aes-128-ctr -K 1234 -iv 1234 2>/dev/null |
head -c 1G;
}
random1G |
parallel $1 -j13 --block 1m --pipe --roundrobin 'echo {#} $(md5sum)' |
sort
}
env_parset a,b,c run_roundrobin ::: -k -k ''
if [ "$a" == "$b" ] ; then
# Good: -k should be == -k
if [ "$a" == "$c" ] ; then
# Bad: without -k the command should give different output
echo 'Broken: a == c'
printf "$a\n$b\n$c\n"
else
echo OK
fi
else
echo 'Broken: a <> b'
printf "$a\n$b\n$c\n"
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%"
@ -88,6 +69,7 @@ par__load_from_PARALLEL() {
par_quote_special_results() { par_quote_special_results() {
echo "### Test --results on file systems with limited UTF8 support" echo "### Test --results on file systems with limited UTF8 support"
export LC_ALL=C
doit() { doit() {
mkfs=$1 mkfs=$1
img=$(mktemp /dev/shm/par-test-loop-XXXX.img) img=$(mktemp /dev/shm/par-test-loop-XXXX.img)
@ -115,12 +97,12 @@ par_quote_special_results() {
rm "$img" rm "$img"
} }
export -f doit export -f doit
stdout parallel -k --tag --plus doit ::: \ stdout parallel --timeout 1000% -k --tag --plus doit ::: \
mkfs.btrfs mkfs.exfat mkfs.ext2 mkfs.ext3 mkfs.ext4 \ mkfs.btrfs mkfs.exfat mkfs.ext2 mkfs.ext3 mkfs.ext4 \
"mkfs.reiserfs -fq" "mkfs.ntfs -F" "mkfs.xfs -f" mkfs.minix \ "mkfs.reiserfs -fq" "mkfs.ntfs -F" "mkfs.xfs -f" mkfs.minix \
mkfs.fat mkfs.vfat mkfs.msdos mkfs.f2fs | mkfs.fat mkfs.vfat mkfs.msdos mkfs.f2fs |
perl -pe 's:(/dev/loop|par-test-loop)\S+:$1:g;s/ +/ /g' | perl -pe 's:(/dev/loop|par-test-loop)\S+:$1:g;s/ +/ /g' |
G --v MB/s GB/s UUID Binutils G -v MB/s -v GB/s -v UUID -v Binutils -v 150000
# Skip: # Skip:
# mkfs.bfs - ro # mkfs.bfs - ro
# mkfs.cramfs - ro # mkfs.cramfs - ro
@ -159,23 +141,6 @@ par_ll_color_long_line() {
/\S/ && print'| sort -u /\S/ && print'| sort -u
} }
par_reload_slf_every_second() {
echo "### --slf should reload every second"
tmp=$(mktemp)
echo 1/lo >"$tmp"
(
sleep 3
(echo 1/localhost
echo 1/127.0.0.1) >>"$tmp"
) &
# This used to take 20 seconds (version 20220322) because the
# updated --slf would only read after first job finished
seq 3 |
stdout /usr/bin/time -f %e parallel --slf "$tmp" 'true {};sleep 10' |
perl -ne '$_ < 20 and print "OK\n"'
rm "$tmp"
}
par_load_blocks() { par_load_blocks() {
echo "### Test if --load blocks. Bug."; echo "### Test if --load blocks. Bug.";
export PARALLEL="--load 300%" export PARALLEL="--load 300%"
@ -354,30 +319,6 @@ par_fifo_under_csh() {
doit doit
} }
par_perlexpr_repl() {
echo '### {= and =} in different groups separated by space'
parallel echo {= s/a/b/ =} ::: a
parallel echo {= s/a/b/=} ::: a
parallel echo {= s/a/b/=}{= s/a/b/=} ::: a
parallel echo {= s/a/b/=}{=s/a/b/=} ::: a
parallel echo {= s/a/b/=}{= {= s/a/b/=} ::: a
parallel echo {= s/a/b/=}{={=s/a/b/=} ::: a
parallel echo {= s/a/b/ =} {={==} ::: a
parallel echo {={= =} ::: a
parallel echo {= {= =} ::: a
parallel echo {= {= =} =} ::: a
echo '### bug #45842: Do not evaluate {= =} twice'
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004}
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004}
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004} ::: {a..c}
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004} ::: {a..c}
echo '### bug #45939: {2} in {= =} fails'
parallel echo '{= s/O{2}//=}' ::: OOOK
parallel echo '{2}-{=1 s/O{2}//=}' ::: OOOK ::: OK
}
par_END() { par_END() {
echo '### Test -i and --replace: Replace with argument' echo '### Test -i and --replace: Replace with argument'
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce (echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce

View file

@ -8,6 +8,53 @@
# Each should be taking 30-100s and be possible to run in parallel # Each should be taking 30-100s and be possible to run in parallel
# I.e.: No race conditions, no logins # I.e.: No race conditions, no logins
par__keeporder_roundrobin() {
echo 'bug #50081: --keep-order --round-robin should give predictable results'
. `which env_parallel.bash`
run_roundrobin() {
random1G() {
< /dev/zero openssl enc -aes-128-ctr -K 1234 -iv 1234 2>/dev/null |
head -c 1G;
}
random1G |
parallel $1 -j13 --block 1m --pipe --roundrobin 'echo {#} $(md5sum)' |
sort
}
env_parset a,b,c run_roundrobin ::: -k -k ''
if [ "$a" == "$b" ] ; then
# Good: -k should be == -k
if [ "$a" == "$c" ] ; then
# Bad: without -k the command should give different output
echo 'Broken: a == c'
printf "$a\n$b\n$c\n"
else
echo OK
fi
else
echo 'Broken: a <> b'
printf "$a\n$b\n$c\n"
fi
}
par_reload_slf_every_second() {
echo "### --slf should reload every second"
tmp=$(mktemp)
echo 1/lo >"$tmp"
(
sleep 3
(echo 1/localhost
echo 1/127.0.0.1) >>"$tmp"
) &
# This used to take 40 seconds (version 20220322) because the
# updated --slf would only read after first job finished
seq 3 |
stdout /usr/bin/time -f %e parallel --slf "$tmp" 'true {};sleep 20' |
perl -ne 'print(($_ < 40) ? "OK\n" : "Too slow: $_\n")'
rm "$tmp"
}
par__groupby_big() { par__groupby_big() {
echo "### test --group-by on file bigger than block" echo "### test --group-by on file bigger than block"
groupcol() { groupcol() {
@ -24,11 +71,11 @@ par__groupby_big() {
_pipe() { headtail; } _pipe() { headtail; }
export -f _pipe export -f _pipe
pipepart() { pipepart() {
parallel $n -k --groupby $groupcol --colsep ' ' -v \ parallel -j8 $n -k --groupby $groupcol --colsep ' ' -v \
--pipepart -a "$sorted" _ppart --pipepart -a "$sorted" _ppart
} }
pipe() { pipe() {
parallel $n -k --groupby $groupcol --colsep ' ' -v \ parallel -j8 $n -k --groupby $groupcol --colsep ' ' -v \
< "$sorted" _pipe < "$sorted" _pipe
} }
export -f pipepart pipe export -f pipepart pipe
@ -93,9 +140,34 @@ par_bin() {
paste <(seq 10) <(seq 10 -1 1) | paste <(seq 10) <(seq 10 -1 1) |
parallel --pipe --colsep '\t' --bin '2 $_%=2' -j4 wc | sort parallel --pipe --colsep '\t' --bin '2 $_%=2' -j4 wc | sort
echo '### Blocks in version 20220122' echo '### Blocks in version 20220122'
echo 10 | parallel --pipe --bin 1 -j100% wc | sort echo 10 | parallel --pipe --bin 1 -j100% cat | sort
paste <(seq 10) <(seq 10 -1 1) | paste <(seq 10) <(seq 10 -1 1) |
parallel --pipe --colsep '\t' --bin 2 wc | sort parallel --pipe --colsep '\t' --bin 2 cat | sort
}
par_perlexpr_repl() {
echo '### {= and =} in different groups separated by space'
parallel echo {= s/a/b/ =} ::: a
parallel echo {= s/a/b/=} ::: a
parallel echo {= s/a/b/=}{= s/a/b/=} ::: a
parallel echo {= s/a/b/=}{=s/a/b/=} ::: a
parallel echo {= s/a/b/=}{= {= s/a/b/=} ::: a
parallel echo {= s/a/b/=}{={=s/a/b/=} ::: a
parallel echo {= s/a/b/ =} {={==} ::: a
parallel echo {={= =} ::: a
parallel echo {= {= =} ::: a
parallel echo {= {= =} =} ::: a
echo '### bug #45842: Do not evaluate {= =} twice'
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004}
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004}
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004} ::: {a..c}
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004} ::: {a..c}
echo '### bug #45939: {2} in {= =} fails'
parallel echo '{= s/O{2}//=}' ::: OOOK
parallel echo '{2}-{=1 s/O{2}//=}' ::: OOOK ::: OK
true Dummy for emacs =}}}}}
} }
par_shard() { par_shard() {

View file

@ -10,11 +10,11 @@
par_process_slot_var() { par_process_slot_var() {
echo '### bug #62310: xargs compatibility: --process-slot-var=name' echo '### bug #62310: xargs compatibility: --process-slot-var=name'
seq 0.1 0.3 1.5 | seq 0.1 0.4 1.8 |
parallel -n1 -kP4 --process-slot-var=name -q bash -c 'sleep $1; echo "$name"' _ parallel -n1 -kP4 --process-slot-var=name -q bash -c 'sleep $1; echo "$name"' _
seq 0.1 0.3 1.5 | seq 0.1 0.4 1.8 |
xargs -n1 -P4 --process-slot-var=name bash -c 'sleep $1; echo "$name"' _ xargs -n1 -P4 --process-slot-var=name bash -c 'sleep $1; echo "$name"' _
seq 0.1 0.3 1.5 | seq 0.1 0.4 1.8 |
parallel -kP4 --process-slot-var=name sleep {}\; echo '$name' parallel -kP4 --process-slot-var=name sleep {}\; echo '$name'
} }
@ -374,7 +374,8 @@ par_eta() {
seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l
echo '### Test of --eta with no jobs' echo '### Test of --eta with no jobs'
stdout parallel --eta "sleep 1; echo {}" < /dev/null stdout parallel --eta "sleep 1; echo {}" < /dev/null |
perl -pe 's,1:local / \d / \d,1:local / 9 / 9,'
} }
par_progress() { par_progress() {
@ -382,7 +383,8 @@ par_progress() {
seq 1 10 | stdout parallel --progress "sleep 1; echo {}" | wc -l seq 1 10 | stdout parallel --progress "sleep 1; echo {}" | wc -l
echo '### Test of --progress with no jobs' echo '### Test of --progress with no jobs'
stdout parallel --progress "sleep 1; echo {}" < /dev/null stdout parallel --progress "sleep 1; echo {}" < /dev/null |
perl -pe 's,1:local / \d / \d,1:local / 9 / 9,'
} }
par_tee_with_premature_close() { par_tee_with_premature_close() {
@ -417,17 +419,6 @@ par_tee_with_premature_close() {
rmdir "$tmpdir" rmdir "$tmpdir"
} }
par__tee_too_many_args() {
echo '### Fail if there are more arguments than --jobs'
seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
tmp=`mktemp`
seq 11 | parallel -k --tag --pipe -j0 --tee grep {} ::: {1..10000} 2> "$tmp"
cat "$tmp" | perl -pe 's/\d+/999/g' |
grep -v 'Warning: Starting' |
grep -v 'Warning: Consider'
rm "$tmp"
}
par_maxargs() { par_maxargs() {
echo '### Test -n and --max-args: Max number of args per line (only with -X and -m)' echo '### Test -n and --max-args: Max number of args per line (only with -X and -m)'
@ -574,7 +565,8 @@ echo finish {}' ::: 1 2 4
par_sqlworker_hostname() { par_sqlworker_hostname() {
echo 'bug #50901: --sqlworker should use hostname in the joblog instead of :' echo 'bug #50901: --sqlworker should use hostname in the joblog instead of :'
# Something like:
# :mysqlunittest mysql://tange:tange@localhost/tange
MY=:mysqlunittest MY=:mysqlunittest
parallel --sqlmaster $MY/hostname echo ::: 1 2 3 parallel --sqlmaster $MY/hostname echo ::: 1 2 3
parallel -k --sqlworker $MY/hostname parallel -k --sqlworker $MY/hostname

View file

@ -4,6 +4,17 @@
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
par_2jobs() {
echo '### Test similar example as from man page - run 2 jobs simultaneously'
echo 'Expect done: 1 2 5 3 4'
for i in 5 1 2 3 4 ; do
sleep 0.2
echo Scheduling $i
sem -j2 --id ex2jobs -u echo starting $i ";" sleep $i ";" echo done $i
done
sem --id ex2jobs --wait
}
par_change_content_--jobs_filename() { par_change_content_--jobs_filename() {
echo '### Test of -j filename with file content changing (missing -k is correct)' echo '### Test of -j filename with file content changing (missing -k is correct)'
echo 1 >/tmp/jobs_to_run2 echo 1 >/tmp/jobs_to_run2

View file

@ -80,7 +80,8 @@ par_hostgroup() {
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8}@g2 parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8}@g2
echo '### --hostgroup multiple group arg + unused group' echo '### --hostgroup multiple group arg + unused group'
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.8{} ::: {1..8}@g1+g2 | sort -u parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.8{} ::: {1..8}@g1+g2 2>&1 |
sort -u | grep -v Warning
echo '### --hostgroup two groups @' echo '### --hostgroup two groups @'
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2 parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2

View file

@ -37,10 +37,13 @@ par_sshpass_with_password() {
par_--ssh_ssh_in_ssh() { par_--ssh_ssh_in_ssh() {
echo '### bug #61894: Pack ssh code in eval protection' echo '### bug #61894: Pack ssh code in eval protection'
echo Unquoted ssh should work echo Unquoted ssh should work
parallel --ssh 'ssh lo ssh' -S lo 'hostname;echo' ::: OK hostname=$(hostname)
parallel --ssh 'eval ssh lo ssh' -S lo 'hostname;echo' ::: OK (
parallel --ssh 'eval ssh lo eval ssh' -S lo 'hostname;echo' ::: OK parallel --ssh 'ssh -A lo ssh' -S lo 'hostname;echo' ::: OK
parallel --ssh 'sshpass ssh bash@lo eval ssh' -S csh@lo 'hostname;echo' ::: OK parallel --ssh 'eval ssh -A lo ssh' -S lo 'hostname;echo' ::: OK
parallel --ssh 'eval ssh -A lo eval ssh' -S lo 'hostname;echo' ::: OK
parallel --ssh 'sshpass ssh -A bash@lo eval ssh' -S csh@lo 'hostname;echo' ::: OK
) | perl -pe "s/$hostname/myhostname/g"
} }
par_stop_if_no_hosts_left() { par_stop_if_no_hosts_left() {

View file

@ -14,18 +14,23 @@ par_trailing_space_sshlogin() {
par_special_char_trc() { par_special_char_trc() {
echo '### Special char file and dir transfer return and cleanup' echo '### Special char file and dir transfer return and cleanup'
cd /tmp srcdir=/dev/shm/par_special_char_trc
wd="$srcdir"_wd
mkdir "$srcdir"
cd "$srcdir"
mkdir -p d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" mkdir -p d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
echo local > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" echo local OK > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
ssh parallel@lo rm -rf d'*'/ ssh parallel@lo rm -rf "$wd"/d'*'/
mytouch() { mytouch() {
cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" \
> d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
echo remote OK >> d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" echo remote OK >> d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
} }
export -f mytouch export -f mytouch
parallel --env mytouch -Sparallel@lo --transfer --return {=s:/f:/g:=} mytouch \ parallel --env mytouch -Sparallel@lo --wd "$wd" --transfer --return {=s:/f:/g:=} mytouch \
::: d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" ::: d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
rm -rf "$srcdir"
# TODO Should be changed to --return '{=s:/f:/g:=}' and tested with csh - is error code kept? # TODO Should be changed to --return '{=s:/f:/g:=}' and tested with csh - is error code kept?
} }

View file

@ -34,8 +34,14 @@ par__test_different_rsync_versions() {
) > "$tmp"/rsync ) > "$tmp"/rsync
chmod +x "$tmp"/rsync chmod +x "$tmp"/rsync
PATH="$tmp":"$PATH" PATH="$tmp":"$PATH"
parallel --trc {}.out -S sh@lo cp {} {}.out ::: 'a`b`c\<d\$e\{#\}g\"h\ i'$2 # Test basic rsync
rm 'a`b`c\<d\$e\{#\}g\"h\ i'$2 'a`b`c\<d\$e\{#\}g\"h\ i'$2.out if stdout rsync "$tmp"/rsync sh@lo:rsync.$2 >/dev/null ; then
echo Basic use works: $2
stdout parallel --trc {}.out -S sh@lo cp {} {}.out ::: 'a`b`c\<d\$e\{#\}g\"h\ i'$2
stdout rm 'a`b`c\<d\$e\{#\}g\"h\ i'$2 'a`b`c\<d\$e\{#\}g\"h\ i'$2.out
else
echo Basic use failed - not tested: $2
fi
rm -rf "$tmp" rm -rf "$tmp"
} }
export -f doit export -f doit
@ -52,7 +58,7 @@ par_--nonall_results() {
parallel --results "$tmp"/rplnoslash/{} --onall -Scsh@lo,sh@lo ::: id pwd parallel --results "$tmp"/rplnoslash/{} --onall -Scsh@lo,sh@lo ::: id pwd
parallel --results "$tmp"/rpl1slash/{1}/ --onall -Scsh@lo,sh@lo ::: id pwd parallel --results "$tmp"/rpl1slash/{1}/ --onall -Scsh@lo,sh@lo ::: id pwd
parallel --results "$tmp"/rpl1noslash/{1} --onall -Scsh@lo,sh@lo ::: id pwd parallel --results "$tmp"/rpl1noslash/{1} --onall -Scsh@lo,sh@lo ::: id pwd
find "$tmp" -print0 | replace_tmpdir find "$tmp" -print0 | replace_tmpdir | sort
rm -r "$tmp" rm -r "$tmp"
echo '### --results --nonall' echo '### --results --nonall'
tmp="$TMPDIR"/nonall tmp="$TMPDIR"/nonall
@ -63,7 +69,7 @@ par_--nonall_results() {
parallel --results "$tmp"/rplnoslash/{} --nonall -Scsh@lo,sh@lo pwd parallel --results "$tmp"/rplnoslash/{} --nonall -Scsh@lo,sh@lo pwd
parallel --results "$tmp"/rpl1slash/{1}/ --nonall -Scsh@lo,sh@lo pwd parallel --results "$tmp"/rpl1slash/{1}/ --nonall -Scsh@lo,sh@lo pwd
parallel --results "$tmp"/rpl1noslash/{1} --nonall -Scsh@lo,sh@lo pwd parallel --results "$tmp"/rpl1noslash/{1} --nonall -Scsh@lo,sh@lo pwd
find "$tmp" -print0 | replace_tmpdir find "$tmp" -print0 | replace_tmpdir | sort
rm -r "$tmp" rm -r "$tmp"
} }
@ -228,5 +234,5 @@ par_z_multiple_hosts_repeat_arg() {
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | LC_ALL=C sort | compgen -A function | grep par_ | LC_ALL=C sort |
parallel --timeout 3000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' | parallel --timeout 10000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
perl -pe 's:/usr/bin:/bin:g;' perl -pe 's:/usr/bin:/bin:g;'

View file

@ -90,12 +90,30 @@ par_--controlmaster_eats() {
par_--ssh_lsh() { par_--ssh_lsh() {
echo '### --ssh lsh' echo '### --ssh lsh'
# lsh: Protocol error: No common key exchange method.
#
# $ lsh --list-algorithms
# Supported hostkey algorithms: ssh-dss, spki, none
#
# $ nmap --script ssh2-enum-algos -sV -p 22 lo
# | server_host_key_algorithms: (4)
# | rsa-sha2-512
# | rsa-sha2-256
# | ecdsa-sha2-nistp256
# | ssh-ed25519
# |
#
# There is no longer an overlap: LSH is unsupported until there is
# a common algorithm again
#
# Code is kept if lsh is upgraded in the future
parallel --ssh 'lsh -c aes256-ctr' -S lo echo ::: OK parallel --ssh 'lsh -c aes256-ctr' -S lo echo ::: OK
echo OK | parallel --ssh 'lsh -c aes256-ctr' --pipe -S csh@lo cat echo OK | parallel --ssh 'lsh -c aes256-ctr' --pipe -S csh@lo cat
parallel --ssh lsh -S lo echo ::: OK parallel --ssh lsh -S lo echo ::: OK
echo OK | parallel --ssh lsh --pipe -S csh@lo cat echo OK | parallel --ssh lsh --pipe -S csh@lo cat
# Todo rsync/trc csh@lo # Todo:
# Test gl. parallel med --ssh lsh: Hvilke fejler? brug dem. Også hvis de fejler # * rsync/--trc
# * csh@lo
} }
par_pipe_retries() { par_pipe_retries() {

View file

@ -1942,9 +1942,9 @@ _EOF
par_environment_too_big_mksh() { par_environment_too_big_mksh() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=47 len_var=46
len_var_remote=31 len_var_remote=31
len_var_quote=47 len_var_quote=46
len_var_quote_remote=31 len_var_quote_remote=31
len_fun=28 len_fun=28
len_fun_remote=13 len_fun_remote=13
@ -3325,13 +3325,14 @@ compgen -A function | grep par_ | LC_ALL=C sort |
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1' # parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
# 2019-07-14 200% too high for 16 GB/4 thread # 2019-07-14 200% too high for 16 GB/4 thread
parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' | parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' |
perl -pe 's/line \d\d+/line XXX/g; perl -pe 's/line \d\d+/line 99/g;
s/\d+ >= \d+/XXX >= XXX/; s/\d+ >= \d+/999 >= 999/;
s/sh:? \d?\d\d:/sh: XXX:/; s/sh:? \d?\d\d:/sh: 999:/;
s/:\d?\d\d:/:XXX:/; s/:\d?\d\d:/:999:/;
s/sh\[\d+\]/sh[XXX]/; s/sh\[\d+\]/sh[999]/;
s/.*(tange|zenodo).*//i; s/.*(tange|zenodo).*//i;
s:/usr/bin:/bin:g; s:/usr/bin:/bin:g;
s:/tmp/par-job-\d+_.....\[\d+\]:script[9]:g; s:/tmp/par-job-\d+_.....\[\d+\]:script[9]:g;
s!/tmp/par-job-\d+_.....!script!g; s!/tmp/par-job-\d+_.....!script!g;
s/script: \d\d+/script: 99/g;
' '

View file

@ -138,6 +138,8 @@ _EOF
par_propagate_env() { par_propagate_env() {
echo '### bug #41805: Idea: propagate --env for parallel --number-of-cores' echo '### bug #41805: Idea: propagate --env for parallel --number-of-cores'
# csh complains if MANPATH is unset. Provoke this.
unset MANPATH
echo '** test_zsh' echo '** test_zsh'
FOO=test_zsh parallel --env FOO,HOME -S zsh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME' FOO=test_zsh parallel --env FOO,HOME -S zsh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME'
echo '** test_zsh_filter' echo '** test_zsh_filter'

View file

@ -1,48 +0,0 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
pwd=$(pwd)
# If not run in dir parallel/testsuite: set testsuitedir to path of testsuite
testsuitedir=${testsuitedir:-$pwd}
rm -rf tmp 2>/dev/null
(
cd "$testsuitedir"/input-files
tar xjf random_dirs_no_newline.tar.bz2
)
cp -a "$testsuitedir"/input-files/random_dirs_no_newline tmp
cd tmp
echo '### Tests if special dir names causes problems'
ls | parallel -v touch -- {}/abc-{}-{} 2>&1 | perl -e 'print sort (<>)' | md5sum
echo -n 'There are '
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
echo -n ' dirs with '
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
echo ' files'
echo 'Removing files'
ls | parallel -v rm -- {}/abc-{}-{} 2>&1 | perl -e 'print sort (<>)' | md5sum
echo -n 'There are '
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
echo -n ' dirs with '
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
echo ' files'
echo 'Removing dirs'
ls | parallel -v rmdir -- {} 2>&1 | perl -e 'print sort (<>)' | md5sum
echo -n 'There are '
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
echo -n ' dirs with '
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
echo ' files'
echo '### Tests name ending in \n causes problems'
echo newline1 >'newline1
'
echo newline2 >'newline2
'
find newli* -print0 | parallel -0 cat {} ">" {}.bak
find newli* -print0 | sort -z
cd ..
rm -rf tmp

View file

@ -164,9 +164,6 @@ echo a | parallel echo {1}
echo "echo a" | parallel echo "echo a" | parallel
nice parallel -j1 -I :: -X echo 'a::b::^c::[.}c' ::: 1 nice parallel -j1 -I :: -X echo 'a::b::^c::[.}c' ::: 1
echo "### BUG: The length for -X is not close to max (131072)"
seq 1 4000 | nice parallel -k -X echo {.} aa {}{.} {}{}d{} {}dd{}d{.} |head -n 1 |wc
echo '### Test -N' echo '### Test -N'
seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3} seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3}

View file

@ -171,7 +171,12 @@ par_big_var_func_name() {
export PARALLEL="--_unsafe" export PARALLEL="--_unsafe"
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/ if scp /usr/local/bin/parallel $macsshlogin:bin/ ; then
true
else
echo "Mac not found. Skip testing"
exit 1
fi
export LC_ALL=C export LC_ALL=C
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)

View file

@ -5,7 +5,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
SERVER1=parallel-server1 SERVER1=parallel-server1
SERVER2=parallel-server4 SERVER2=parallel-server2
SERVER3=parallel-server3 SERVER3=parallel-server3
SSHUSER1=vagrant SSHUSER1=vagrant
SSHUSER2=vagrant SSHUSER2=vagrant
@ -20,6 +20,14 @@ export SSHLOGIN3=$SSHUSER3@$SERVER3
#SSHLOGIN2=parallel@lo #SSHLOGIN2=parallel@lo
#SSHLOGIN3=parallel@parallel-server2 #SSHLOGIN3=parallel@parallel-server2
par_force_number_of_cpu() {
echo '### Check forced number of CPUs being respected'
echo 'ssh is slow, so should only get 7. : should get the rest'
seq 1 20 |
stdout parallel -k -j+0 -S 1/:,7/$SSHLOGIN1 "hostname; echo {} >/dev/null" |
sort | uniq -c | sort | field 1
}
par_special_ssh() { par_special_ssh() {
echo '### Test use special ssh' echo '### Test use special ssh'
echo 'TODO test ssh with > 9 simultaneous' echo 'TODO test ssh with > 9 simultaneous'
@ -29,20 +37,22 @@ par_special_ssh() {
seq 1 100 | parallel --sshdelay 0.03 --retries 10 --sshlogin "/tmp/myssh1 $SSHLOGIN1,/tmp/myssh2 $SSHLOGIN2" -k echo seq 1 100 | parallel --sshdelay 0.03 --retries 10 --sshlogin "/tmp/myssh1 $SSHLOGIN1,/tmp/myssh2 $SSHLOGIN2" -k echo
} }
par_filter_hosts_different_errors() { par__filter_hosts_different_errors() {
echo '### --filter-hosts - OK, non-such-user, connection refused, wrong host' echo '### --filter-hosts - OK, non-such-user, connection refused, wrong host'
hostname=$(hostname)
stdout parallel --nonall --filter-hosts -S localhost,NoUser@localhost,154.54.72.206,"ssh 5.5.5.5" hostname | stdout parallel --nonall --filter-hosts -S localhost,NoUser@localhost,154.54.72.206,"ssh 5.5.5.5" hostname |
grep -v 'parallel: Warning: Removed' grep -v 'parallel: Warning: Removed' |
perl -pe "s/$hostname/myhostname/g"
} }
par_timeout_retries() { par_timeout_retries() {
echo '### test --timeout --retries' echo '### test --timeout --retries'
stdout parallel -j0 --timeout 5 --retries 3 -k ssh {} echo {} \ stdout parallel -j0 --timeout 5 --retries 3 -k ssh {} echo {} \
::: 192.168.1.197 8.8.8.8 $SSHLOGIN1 $SSHLOGIN2 $SSHLOGIN3 | ::: 192.168.1.197 8.8.8.8 $SSHLOGIN1 $SSHLOGIN2 $SSHLOGIN3 |
grep -v 'Warning: Permanently added' grep -v 'Warning: Permanently added' | puniq
} }
par_filter_hosts_no_ssh_nxserver() { par__filter_hosts_no_ssh_nxserver() {
echo '### test --filter-hosts with server w/o ssh, non-existing server' echo '### test --filter-hosts with server w/o ssh, non-existing server'
stdout parallel -S 192.168.1.197,8.8.8.8,$SSHLOGIN1,$SSHLOGIN2,$SSHLOGIN3 --filter-hosts --nonall -k --tag echo | stdout parallel -S 192.168.1.197,8.8.8.8,$SSHLOGIN1,$SSHLOGIN2,$SSHLOGIN3 --filter-hosts --nonall -k --tag echo |
grep -v 'parallel: Warning: Removed' grep -v 'parallel: Warning: Removed'
@ -73,7 +83,7 @@ par_workdir_in_HOME() {
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | LC_ALL=C sort | compgen -A function | grep par_ | LC_ALL=C sort |
parallel --timeout 1000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' | parallel --timeout 3000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
perl -pe 's:/usr/bin:/bin:g' perl -pe 's:/usr/bin:/bin:g'

View file

@ -62,7 +62,7 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' "$testsuit
# /usr/bin/time -f %e # /usr/bin/time -f %e
s/^(\d+)\.\d+$/$1/; s/^(\d+)\.\d+$/$1/;
# --workdir ... # --workdir ...
s:parallel/tmp/aspire-\d+-1:TMPWORKDIR:g; s:parallel/tmp/[a-z]+-\d+-1:TMPWORKDIR:g;
# .../privat/parallel2/ # .../privat/parallel2/
s='$srcdir'==; s='$srcdir'==;
# + cat ... | (Bash outputs these in random order) # + cat ... | (Bash outputs these in random order)
@ -119,6 +119,8 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' "$testsuit
s:/tmp/par-job-\S+:script:g; s:/tmp/par-job-\S+:script:g;
s:par......par:tempfile:g; s:par......par:tempfile:g;
s:^tempfile\n::g; s:^tempfile\n::g;
# --progress => 1:local / 4 / 4
s,1:local / . / .,1:local / 9 / 9,
' | uniq ' | uniq
echo "### 3+3 .par files (from --files), 1 .tms-file from tmux attach" echo "### 3+3 .par files (from --files), 1 .tms-file from tmux attach"

View file

@ -11,21 +11,18 @@ start_centos3() {
# If not run in dir parallel/testsuite: set testsuitedir to path of testsuite # If not run in dir parallel/testsuite: set testsuitedir to path of testsuite
testsuitedir=${testsuitedir:-$pwd} testsuitedir=${testsuitedir:-$pwd}
cd "$testsuitedir" cd "$testsuitedir"
cd testsuite/vagrant/tange/centos3/ 2>/dev/null cd vagrant 2>/dev/null
cd vagrant/tange/centos3/ 2>/dev/null cd FritsHoogland/centos3
cd ../vagrant/tange/centos3/ 2>/dev/null
vagrantssh() { vagrantssh() {
port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile) port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile)
w4it-for-port-open localhost $port w4it-for-port-open localhost $port
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \ ssh -p $port -o DSAAuthentication=yes -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /home/tange/.vagrant.d/insecure_private_key vagrant@localhost "$@" |
-oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
-oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" |
# Ignore empty ^M line # Ignore empty ^M line
grep .. grep ..
} }
( (
stdout vagrant up >/dev/null stdout vagrant up >/dev/null &
vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3' cat ~/.ssh/*.pub | vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3; cat >> .ssh/authorized_keys'
) & ) &
) )
} }
@ -34,16 +31,20 @@ start_centos3
stdout parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up)' ::: rhel8 centos3 | stdout parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up)' ::: rhel8 centos3 |
grep -v 'default' | grep -v '==>' | grep -E '^$' & grep -v 'default' | grep -v '==>' | grep -E '^$' &
wssh vagrant@rhel8 true parallel --timeout 30 -k wssh vagrant@{} echo {} is up ::: rhel8 centos3
wssh vagrant@centos3 true
par_warning_on_centos3() { par_warning_on_centos3() {
echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error" echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error"
echo 'Old version gave:'
echo '. Bareword found where operator expected at /tmp/parallel-20120822 line 1294, near "$Global::original_stderr init_progress"'
echo 'New versions should not give that.'
testone() { testone() {
sshlogin="$1" sshlogin="$1"
program="$2" program="$2"
basename="$3" basename="$3"
scp "$program" "$sshlogin":/tmp/"$basename" scp "$program" "$sshlogin":/tmp/"$basename"
ssh "$sshlogin" sudo cp /tmp/"$basename" /usr/local/bin
stdout ssh "$sshlogin" perl /tmp/"$basename" echo \ stdout ssh "$sshlogin" perl /tmp/"$basename" echo \
::: Old_must_fail_New_must_be_OK ::: Old_must_fail_New_must_be_OK
} }
@ -63,7 +64,7 @@ compgen -A function | grep par_ | LC_ALL=C sort |
# If not run in dir parallel/testsuite: set testsuitedir to path of testsuite # If not run in dir parallel/testsuite: set testsuitedir to path of testsuite
testsuitedir=${testsuitedir:-$pwd} testsuitedir=${testsuitedir:-$pwd}
cd "$testsuitedir" cd "$testsuitedir"
cd vagrant/tange/centos3/ cd vagrant/FritsHoogland/centos3
stdout vagrant suspend | stdout vagrant suspend |
grep -v '==> default: Saving VM state' | grep -v '==> default: Saving VM state' |
grep -v 'An action .suspend. was attempted on the machine .default.,' | grep -v 'An action .suspend. was attempted on the machine .default.,' |
@ -76,5 +77,6 @@ compgen -A function | grep par_ | LC_ALL=C sort |
grep -v 'try again.' | grep -v 'try again.' |
grep -v 'A new version of Vagrant is available:' | grep -v 'A new version of Vagrant is available:' |
grep -v 'To upgrade visit: ' | grep -v 'To upgrade visit: ' |
grep -v '==> default: VM not created. Moving on...' |
grep . grep .
) )

View file

@ -25,17 +25,6 @@ par_mutex() {
echo done echo done
} }
par_2jobs() {
echo '### Test similar example as from man page - run 2 jobs simultaneously'
echo 'Expect done: 1 2 5 3 4'
for i in 5 1 2 3 4 ; do
sleep 0.2
echo Scheduling $i
sem -j2 --id ex2jobs -u echo starting $i ";" sleep $i ";" echo done $i
done
sem --id ex2jobs --wait
}
par_fg_then_bg() { par_fg_then_bg() {
echo '### Test --fg followed by --bg' echo '### Test --fg followed by --bg'
parallel -u --id fgbg --fg --semaphore seq 1 10 '|' pv -qL 30 parallel -u --id fgbg --fg --semaphore seq 1 10 '|' pv -qL 30
@ -57,9 +46,9 @@ par_fg_line-buffer() {
par_semaphore-timeout() { par_semaphore-timeout() {
echo '### Test --st +1/-1' echo '### Test --st +1/-1'
stdout sem --id st --line-buffer "echo A normal-start;sleep 3;echo C normal-end" stdout sem --id st --line-buffer "echo A normal-start;sleep 4;echo C normal-end"
stdout sem --id st --line-buffer --st 1 "echo B st1-start;sleep 3;echo D st1-end" stdout sem --id st --line-buffer --st 2 "echo B st1-start;sleep 4;echo D st1-end"
stdout sem --id st --line-buffer --st -1 "echo ERROR-st-1-start;sleep 3;echo ERROR-st-1-end" stdout sem --id st --line-buffer --st -2 "echo ERROR-st-1-start;sleep 4;echo ERROR-st-1-end"
stdout sem --id st --wait stdout sem --id st --wait
} }
@ -88,5 +77,5 @@ par_exit() {
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | LC_ALL=C sort | compgen -A function | grep par_ | LC_ALL=C sort |
parallel --timeout 30 -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' | parallel --timeout 120 -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
perl -pe 's:/usr/bin:/bin:g' perl -pe 's:/usr/bin:/bin:g'

View file

@ -15,31 +15,42 @@ exec 2>&1
# sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" # sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';"
# sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" # sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';"
MYSQL_TEST_DBURL=mysql://tange:tange@/ export MYSQL_TEST_DBURL=mysql://tange:tange@/
export DBURL="$MYSQL_TEST_DBURL"
echo '### Test of #! -Y with file as input' par_shebang-Y() {
cat >/tmp/shebang <<EOF echo '### Test of #! -Y with file as input'
shebang=/tmp/shebang-Y
cat >"$shebang" <<EOF
#!/usr/local/bin/sql -Y $MYSQL_TEST_DBURL #!/usr/local/bin/sql -Y $MYSQL_TEST_DBURL
SELECT 'Yes it does' AS 'Testing if -Y works'; SELECT 'Yes it does' AS 'Testing if -Y works';
EOF EOF
chmod 755 /tmp/shebang chmod 755 "$shebang"
/tmp/shebang "$shebang"
}
echo '### Test of #! --shebang with file as input' par_shebang_file() {
cat >/tmp/shebang <<EOF echo '### Test of #! --shebang with file as input'
shebang=/tmp/shebang-file
cat >"$shebang" <<EOF
#!/usr/local/bin/sql --shebang $MYSQL_TEST_DBURL #!/usr/local/bin/sql --shebang $MYSQL_TEST_DBURL
SELECT 'Yes it does' AS 'Testing if --shebang works'; SELECT 'Yes it does' AS 'Testing if --shebang works';
EOF EOF
chmod 755 /tmp/shebang chmod 755 "$shebang"
/tmp/shebang "$shebang"
}
echo '### Test reading sql on command line' par_sql_on_cmdline() {
sql $MYSQL_TEST_DBURL "SELECT 'Yes it does' as 'Test reading SQL from command line';" echo '### Test reading sql on command line'
sql $MYSQL_TEST_DBURL "SELECT 'Yes it does' as 'Test reading SQL from command line';"
}
echo '### Test reading sql from file' par_read_sql_from_file() {
cat >/tmp/unittest.sql <<EOF echo '### Test reading sql from file'
unittest=/tmp/unittest.sql
cat >"$unittest.sql" <<EOF
DROP TABLE IF EXISTS unittest; DROP TABLE IF EXISTS unittest;
CREATE TABLE unittest ( CREATE TABLE unittest (
id INT, id INT,
@ -49,73 +60,128 @@ INSERT INTO unittest VALUES (1,'abc');
INSERT INTO unittest VALUES (3,'def'); INSERT INTO unittest VALUES (3,'def');
SELECT 'Yes it does' as 'Test reading SQL from file works'; SELECT 'Yes it does' as 'Test reading SQL from file works';
EOF EOF
sql $MYSQL_TEST_DBURL/sqlunittest </tmp/unittest.sql sql $MYSQL_TEST_DBURL/sqlunittest <"$unittest"
}
echo '### Test dburl with username password host port'
sql mysql://tange:tange@localhost:3306/tange </tmp/unittest.sql
echo "### Test .sql/aliases" testtable() {
mkdir -p ~/.sql tbl=$1
echo :sqlunittest mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest >> ~/.sql/aliases cat <<EOF
perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases DROP TABLE IF EXISTS $tbl;
sql :sqlunittest "SELECT 'Yes it does' as 'Test if .sql/aliases works';" CREATE TABLE $tbl (
id INT,
data VARCHAR(100)
);
INSERT INTO $tbl VALUES (1,'abc');
INSERT INTO $tbl VALUES (3,'def');
EOF
}
export -f testtable
echo "### Test sql:sql::alias" par_dburl_user_password_host_port() {
sql sql:sql::sqlunittest "SELECT 'Yes it works' as 'Test sql:sql::alias';" echo '### Test dburl with username password host port'
(
testtable userpasshost;
echo "SELECT 'OK' as 'Test dburl with username password host port'";
) | sql mysql://tange:tange@localhost:3306/tange
}
echo "### Test --noheaders --no-headers -n" par_sql_aliases() {
sql -n :sqlunittest 'select * from unittest order by id' | echo "### Test .sql/aliases"
mkdir -p ~/.sql
echo :sqlunittest mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest >> ~/.sql/aliases
perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases
sql :sqlunittest "SELECT 'Yes it does' as 'Test if .sql/aliases works';"
echo "### Test sql:sql::alias"
sql sql:sql::sqlunittest "SELECT 'Yes it works' as 'Test sql:sql::alias';"
}
par_noheaders() {
echo "### Test --noheaders --no-headers -n"
testtable noheader | sql "$DBURL"
sql -n "$DBURL" 'select * from noheader order by id' |
parallel -k --colsep '\t' echo {2} {1} parallel -k --colsep '\t' echo {2} {1}
sql --noheaders :sqlunittest 'select * from unittest order by id' | sql --noheaders "$DBURL" 'select * from noheader order by id' |
parallel -k --colsep '\t' echo {2} {1} parallel -k --colsep '\t' echo {2} {1}
sql --no-headers :sqlunittest 'select * from unittest order by id' | sql --no-headers "$DBURL" 'select * from noheader order by id' |
parallel -k --colsep '\t' echo {2} {1} parallel -k --colsep '\t' echo {2} {1}
}
echo "### Test --sep -s"; par_--sep() {
sql --no-headers -s : pg:/// 'select 1,2' | echo "### Test --sep -s";
sql --no-headers -s : pg:/// 'select 1,2' |
parallel --colsep ':' echo {2} {1} parallel --colsep ':' echo {2} {1}
sql --no-headers --sep : pg:/// 'select 1,2' | sql --no-headers --sep : pg:/// 'select 1,2' |
parallel --colsep ':' echo {2} {1} parallel --colsep ':' echo {2} {1}
}
echo "### Test --passthrough -p"; par_--passthrough() {
sql -p -H :sqlunittest 'select * from unittest' echo "### Test --passthrough -p";
echo testtable passthrough | sql "$DBURL"
sql --passthrough -H :sqlunittest 'select * from unittest' sql -p -H "$DBURL" 'select * from passthrough'
echo echo
sql --passthrough -H "$DBURL" 'select * from passthrough'
echo
}
echo "### Test --html"; par_--html() {
sql --html $MYSQL_TEST_DBURL/sqlunittest 'select * from unittest' echo "### Test --html";
echo testtable html | sql "$DBURL"
sql --html "$DBURL" 'select * from html'
echo
}
echo "### Test --show-processlist|proclist|listproc"; par_listproc() {
sql --show-processlist :sqlunittest | wc -lw echo "### Test --show-processlist|proclist|listproc";
sql --proclist :sqlunittest | wc -lw sql --show-processlist "$DBURL" | wc -lw
sql --listproc :sqlunittest | wc -lw sql --proclist "$DBURL" | wc -lw
sql --listproc "$DBURL" | wc -lw
}
echo "### Test --db-size --dbsize"; par_dbsize() {
sql --dbsize :sqlunittest | wc -w echo "### Test --db-size --dbsize";
sql --db-size :sqlunittest | wc -w sql --dbsize "$DBURL" | wc -w
sql --db-size "$DBURL" | wc -w
}
echo "### Test --table-size --tablesize" par_tablesize() {
sql --showtables :sqlunittest | grep TBL | parallel sql :sqlunittest drop table echo "### Test --table-size --tablesize"
sql --tablesize :sqlunittest | wc -l sql --showtables "$DBURL" | grep TBL | parallel sql "$DBURL" drop table
sql --table-size :sqlunittest | wc -l sql --tablesize "$DBURL" | wc -l
sql --table-size "$DBURL" | wc -l
}
echo "### Test --debug" par_--debug() {
stdout sql --debug :sqlunittest "SELECT 'Yes it does' as 'Test if --debug works';" | echo "### Test --debug"
stdout sql --debug "$DBURL" "SELECT 'Yes it does' as 'Test if --debug works';" |
replace_tmpdir | replace_tmpdir |
perl -pe 's:/...........sql:/tmpfile:g' perl -pe 's:/...........sql:/tmpfile:g'
}
echo "### Test --version -V" par_-_version() {
sql --version | wc echo "### Test --version -V"
sql -V | wc sql --version | wc
sql -V | wc
}
echo "### Test -r" par_-r() {
stdout sql -r --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 3 times';" echo "### Test -r - retry 3 times"
stdout sql -r --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 3 times';"
}
echo "### Test --retries=s" par_--retries() {
stdout sql --retries=4 --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 4 times';" echo "### Test --retries=s"
stdout sql --retries=4 --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 4 times';"
}
echo "### Test --help -h" par_--help() {
sql --help echo "### Test --help -h"
sql -h sql --help
sql -h
}
export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | LC_ALL=C sort |
parallel --timeout 1000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'

View file

@ -52,7 +52,7 @@ par_influx() {
sql -s . influx:///parallel 'SELECT * FROM cpu;' sql -s . influx:///parallel 'SELECT * FROM cpu;'
sql --html influx:///parallel 'SELECT * FROM cpu;' sql --html influx:///parallel 'SELECT * FROM cpu;'
sql influx:///parallel 'drop database parallel' sql influx:///parallel 'drop database parallel'
) | perl -pe 's/\d/0/g' ) | perl -pe 's/\d/0/g;'
} }

View file

@ -8,11 +8,11 @@ mysqlrootpass=${mysqlrootpass:-M-b+Ydjq4ejT4E}
MYSQL_ADMIN_DBURL=mysql://root:$mysqlrootpass@/mysql MYSQL_ADMIN_DBURL=mysql://root:$mysqlrootpass@/mysql
# Setup # Setup
sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'" sudo sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'"
sql $MYSQL_ADMIN_DBURL DROP DATABASE sqlunittest; sudo sql $MYSQL_ADMIN_DBURL DROP DATABASE sqlunittest;
sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest; sudo sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest;
sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" sudo sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';"
sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" sudo sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';"
MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@/sqlunittest MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@/sqlunittest
export MYSQL_TEST_DBURL export MYSQL_TEST_DBURL

View file

@ -5,7 +5,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
SERVER1=parallel-server1 SERVER1=parallel-server1
SERVER2=parallel-server3 SERVER2=parallel-server2
SSHUSER1=vagrant SSHUSER1=vagrant
SSHUSER2=vagrant SSHUSER2=vagrant
SSHLOGIN1=$SSHUSER1@$SERVER1 SSHLOGIN1=$SSHUSER1@$SERVER1

View file

@ -50,8 +50,9 @@ echo ":" >>/tmp/parallel-sshlogin
echo "#2/ssh -l tange nothing" >>/tmp/parallel-sshlogin echo "#2/ssh -l tange nothing" >>/tmp/parallel-sshlogin
seq 1 10 | parallel -k --sshloginfile /tmp/parallel-sshlogin echo seq 1 10 | parallel -k --sshloginfile /tmp/parallel-sshlogin echo
echo '### Check forced number of CPUs being respected' # Moved to parallel-remote1.sh
seq 1 20 | stdout parallel -k -j+0 -S 1/:,7/$SSHLOGIN1 "hostname; echo {} >/dev/null" | sort #echo '### Check forced number of CPUs being respected'
#seq 1 20 | stdout parallel -k -j+0 -S 1/:,7/$SSHLOGIN1 "hostname; echo {} >/dev/null" | sort
echo '### Check more than 9 simultaneous sshlogins' echo '### Check more than 9 simultaneous sshlogins'
seq 1 11 | parallel -k -j0 -S "ssh lo" echo seq 1 11 | parallel -k -j0 -S "ssh lo" echo

View file

@ -30,9 +30,11 @@ newline2'
find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --sshlogin $SSHLOGIN1,$SSHLOGIN2 cat {}";"rm {} find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --sshlogin $SSHLOGIN1,$SSHLOGIN2 cat {}";"rm {}
# Should give: No such file or directory # Should give: No such file or directory
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*'
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*'
) | sort
echo '### --transfer --cleanup - file with newline' echo '### --transfer --cleanup - file with newline'
echo newline > '/tmp/parallel.file. echo newline > '/tmp/parallel.file.
@ -42,9 +44,11 @@ newline2'
find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --cleanup --sshlogin $SSHLOGIN1,$SSHLOGIN2 cat {} find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --cleanup --sshlogin $SSHLOGIN1,$SSHLOGIN2 cat {}
# Should give: No such file or directory # Should give: No such file or directory
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*'
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*'
) | sort
echo '### --return - file with newline' echo '### --return - file with newline'
rm -rf /tmp/parallel.file.*newline* rm -rf /tmp/parallel.file.*newline*
@ -68,9 +72,11 @@ find tmp/parallel*newline* -print0 | stdout parallel -0 -k --return {}.out --cle
ls tmp/parallel*newline*out ls tmp/parallel*newline*out
rm tmp/parallel*newline*out rm tmp/parallel*newline*out
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK
) | sort
echo '### --transfer --return --cleanup - file with newline' echo '### --transfer --return --cleanup - file with newline'
echo newline > '/tmp/parallel.file. echo newline > '/tmp/parallel.file.
@ -81,9 +87,11 @@ find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --return {
ls tmp/parallel*newline*out ls tmp/parallel*newline*out
rm tmp/parallel*newline*out rm tmp/parallel*newline*out
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK
) | sort
echo '### --trc - file with newline' echo '### --trc - file with newline'
echo newline > '/tmp/parallel.file. echo newline > '/tmp/parallel.file.
@ -94,9 +102,11 @@ find tmp/parallel*newline* -print0 | stdout parallel -0 -k --trc {}.out --sshlog
ls tmp/parallel*newline*out ls tmp/parallel*newline*out
rm tmp/parallel*newline*out rm tmp/parallel*newline*out
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK
) | sort
echo '### --trc - multiple file with newline' echo '### --trc - multiple file with newline'
echo newline > '/tmp/parallel.file. echo newline > '/tmp/parallel.file.
@ -107,9 +117,11 @@ find tmp/parallel*newline* -print0 | stdout parallel -0 -k --trc {}.out --trc {}
ls tmp/parallel*newline*out* ls tmp/parallel*newline*out*
rm tmp/parallel*newline*out* rm tmp/parallel*newline*out*
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK
) | sort
echo '### Test use special ssh' echo '### Test use special ssh'
echo 'ssh "$@"; echo "$@" >>/tmp/myssh1-run' >/tmp/myssh1 echo 'ssh "$@"; echo "$@" >>/tmp/myssh1-run' >/tmp/myssh1
@ -126,9 +138,11 @@ find tmp/parallel*newline* -print0 | stdout parallel -0 -k -j1 --trc {}.out --tr
ls tmp/parallel*newline*out* ls tmp/parallel*newline*out*
rm tmp/parallel*newline*out* rm tmp/parallel*newline*out*
echo good if no file echo good if no file
stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK (
# Should give: No such file or directory stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK # Should give: No such file or directory
stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK
) | sort
echo 'Input for ssh' echo 'Input for ssh'
cat /tmp/myssh1-run /tmp/myssh2-run | perl -pe 's/(PID.)\d+/${1}00000/g;s/(SEQ[ =]|line)\d/$1X/g;' | cat /tmp/myssh1-run /tmp/myssh2-run | perl -pe 's/(PID.)\d+/${1}00000/g;s/(SEQ[ =]|line)\d/$1X/g;' |
perl -pe 's/\S*parallel-server\S*/one-server/;s:( [0-9a-f]{500,})+( [0-9a-f]+)?: hex:g;' perl -pe 's/\S*parallel-server\S*/one-server/;s:( [0-9a-f]{500,})+( [0-9a-f]+)?: hex:g;'

View file

@ -18,7 +18,7 @@ SSHLOGIN3=$SSHUSER3@$SERVER3
#SERVER2=parallel-server2 #SERVER2=parallel-server2
echo '### Test $PARALLEL - single line' echo '### Test $PARALLEL - single line'
echo | PARALLEL=--number-of-cpus parallel seq 300000 | PARALLEL='--pipe -k' parallel wc
(echo 1; echo 1) | PARALLEL="-S$SSHLOGIN1 -Sssh\ -l\ $SSHUSER2\ $SERVER2 -j1" parallel -kv hostname\; echo | sort (echo 1; echo 1) | PARALLEL="-S$SSHLOGIN1 -Sssh\ -l\ $SSHUSER2\ $SERVER2 -j1" parallel -kv hostname\; echo | sort
echo '### Test $PARALLEL - multi line' echo '### Test $PARALLEL - multi line'

View file

@ -5,11 +5,9 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
SERVER1=parallel-server1 SERVER1=parallel-server1
SERVER2=parallel-server3 SERVER2=parallel-server2
SSHUSER1=vagrant SSHUSER1=vagrant
SSHUSER2=vagrant SSHUSER2=vagrant
#SSHLOGIN1=parallel@$SERVER1
#SSHLOGIN2=parallel@$SERVER2
SSHLOGIN1=$SSHUSER1@$SERVER1 SSHLOGIN1=$SSHUSER1@$SERVER1
SSHLOGIN2=$SSHUSER2@$SERVER2 SSHLOGIN2=$SSHUSER2@$SERVER2

View file

@ -6,7 +6,7 @@
SERVER1=parallel-server1 SERVER1=parallel-server1
SERVER2=parallel-server2 SERVER2=parallel-server2
SERVER2=parallel-server3 SERVER3=parallel-server3
SSHUSER1=vagrant SSHUSER1=vagrant
SSHUSER2=vagrant SSHUSER2=vagrant
SSHUSER3=vagrant SSHUSER3=vagrant

View file

@ -5,7 +5,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
SERVER1=parallel-server1 SERVER1=parallel-server1
SERVER2=parallel-server3 SERVER2=parallel-server2
SSHUSER1=vagrant SSHUSER1=vagrant
SSHUSER2=vagrant SSHUSER2=vagrant
export SSHLOGIN1=$SSHUSER1@$SERVER1 export SSHLOGIN1=$SSHUSER1@$SERVER1

View file

@ -24,6 +24,7 @@ Vagrant.configure("2") do |config|
# accessing "localhost:8080" will access port 80 on the guest machine. # accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port # NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080 # config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network :forwarded_port, guest: 22, host: 50136, id: 'ssh'
# Create a forwarded port mapping which allows access to a specific port # Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access # within the machine from a port on the host machine and only allow access
@ -32,7 +33,7 @@ Vagrant.configure("2") do |config|
# Create a private network, which allows host-only access to the machine # Create a private network, which allows host-only access to the machine
# using a specific IP. # using a specific IP.
config.vm.network "private_network", ip: "172.27.27.33" config.vm.network "private_network", ip: "172.27.27.3"
# Create a public network, which generally matched to bridged network. # Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on # Bridged networks make the machine appear as another physical device on

View file

@ -0,0 +1,76 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "generic/freebsd13"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "172.27.27.73"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "512"
vb.memory = "300"
end
#
# View the documentation for the provider you are using for more
# information on available options.
# Enable provisioning with a shell script. Additional provisioners such as
# Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
# documentation for more information about their specific syntax and use.
config.vm.provision "shell" do |s|
ssh_pub_key = File.readlines("../../authorized_keys").first.strip
s.inline = <<-SHELL
mkdir /root/.ssh
echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
echo #{ssh_pub_key} >> /root/.ssh/authorized_keys
sudo apt install rsync || sudo yum install -y rsync || sudo pkg install -y rsync
SHELL
end
end

View file

@ -4,4 +4,4 @@
### Test -p ### Test -p
...OK ...OK
### Test --sensor -l negative ### Test --sensor -l negative
16 OK

View file

@ -16,8 +16,6 @@ par_END include this
par_END include this par_END include this
par_END include this par_END include this
par_END include this par_END include this
par__keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
par__keeporder_roundrobin OK
par__load_from_PARALLEL ### Test reading load from PARALLEL par__load_from_PARALLEL ### Test reading load from PARALLEL
par__load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 - par__load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
par__load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 - par__load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
@ -617,10 +615,10 @@ par_long_line_remote ### Deal with long command lines on remote servers
par_long_line_remote 1 6 30006 par_long_line_remote 1 6 30006
par_long_line_remote 6 50 250050 par_long_line_remote 6 50 250050
par_maxlinelen_X_I ### Test max line length -X -I par_maxlinelen_X_I ### Test max line length -X -I
par_maxlinelen_X_I a98747678a5d18c4470a073812437ab2 - par_maxlinelen_X_I 42d5c115907de0044ef988a0639204cd -
par_maxlinelen_X_I Chars per line (817788/13): 62906 par_maxlinelen_X_I Chars per line (817788/13): 62906
par_maxlinelen_m_I ### Test max line length -m -I par_maxlinelen_m_I ### Test max line length -m -I
par_maxlinelen_m_I a3c892de2524f32f78550b47336eadd0 - par_maxlinelen_m_I 2f0d9d11a071f5dbe6bd876a19499ff5 -
par_maxlinelen_m_I Chars per line (697810/11): 63437 par_maxlinelen_m_I Chars per line (697810/11): 63437
par_nice Check that --nice works par_nice Check that --nice works
par_nice load_10 par_nice load_10
@ -704,53 +702,6 @@ par_opt_arg_eaten 2 OK
par_opt_arg_eaten 3 OK par_opt_arg_eaten 3 OK
par_opt_arg_eaten 4 OK par_opt_arg_eaten 4 OK
par_opt_arg_eaten 5 OK par_opt_arg_eaten 5 OK
par_perlexpr_repl ### {= and =} in different groups separated by space
par_perlexpr_repl b
par_perlexpr_repl b
par_perlexpr_repl bb
par_perlexpr_repl bb
par_perlexpr_repl b{= b
par_perlexpr_repl b{=b
par_perlexpr_repl b {=a
par_perlexpr_repl {=a
par_perlexpr_repl {= a
par_perlexpr_repl {= a =}
par_perlexpr_repl ### bug #45842: Do not evaluate {= =} twice
par_perlexpr_repl 1
par_perlexpr_repl 2
par_perlexpr_repl 3
par_perlexpr_repl 4
par_perlexpr_repl 1
par_perlexpr_repl 2
par_perlexpr_repl 3
par_perlexpr_repl 4
par_perlexpr_repl 1 2
par_perlexpr_repl 3 4
par_perlexpr_repl 5 6
par_perlexpr_repl 7 8
par_perlexpr_repl 9 10
par_perlexpr_repl 11 12
par_perlexpr_repl 13 14
par_perlexpr_repl 15 16
par_perlexpr_repl 17 18
par_perlexpr_repl 19 20
par_perlexpr_repl 21 22
par_perlexpr_repl 23 24
par_perlexpr_repl 1
par_perlexpr_repl 2
par_perlexpr_repl 3
par_perlexpr_repl 4
par_perlexpr_repl 5
par_perlexpr_repl 6
par_perlexpr_repl 7
par_perlexpr_repl 8
par_perlexpr_repl 9
par_perlexpr_repl 10
par_perlexpr_repl 11
par_perlexpr_repl 12
par_perlexpr_repl ### bug #45939: {2} in {= =} fails
par_perlexpr_repl OK
par_perlexpr_repl OK-OK
par_pipe_line_buffer ### --pipe --line-buffer par_pipe_line_buffer ### --pipe --line-buffer
par_pipe_line_buffer 200 400 1202 par_pipe_line_buffer 200 400 1202
par_pipe_line_buffer These must diff: 1 par_pipe_line_buffer These must diff: 1
@ -791,7 +742,6 @@ par_quote_special_results mkfs.btrfs ID SIZE PATH
par_quote_special_results mkfs.btrfs 1 146.48MiB /dev/shm/par-test-loop par_quote_special_results mkfs.btrfs 1 146.48MiB /dev/shm/par-test-loop
par_quote_special_results mkfs.btrfs par_quote_special_results mkfs.btrfs
par_quote_special_results mkfs.btrfs Filesystem 1K-blocks Used Available Use% Mounted on par_quote_special_results mkfs.btrfs Filesystem 1K-blocks Used Available Use% Mounted on
par_quote_special_results mkfs.btrfs /dev/loop 150000 3616 67008 6% /tmp/par-test-loop
par_quote_special_results mkfs.btrfs . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,.. par_quote_special_results mkfs.btrfs . ./++ ./++++ ./++_ ./++__ ./++m ./++z ./+_ ./+__ ./+m ./+z ./,. ./,..
par_quote_special_results mkfs.btrfs par_quote_special_results mkfs.btrfs
par_quote_special_results mkfs.btrfs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.btrfs ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€ par_quote_special_results mkfs.btrfs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.btrfs ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./! ./" ./# ./$ ./% ./& ./' ./( ./) ./* ./++ ./+_ ./+z ./, ./- ./0 ./1 ./2 ./3 ./4 ./5 ./6 ./7 ./8 ./9 ./: ./; ./< ./= ./> ./? ./@ ./A ./B ./C ./D ./E ./F ./G ./H ./I ./J ./K ./L ./M ./N ./O ./P ./Q ./R ./S ./T ./U ./V ./W ./X ./Y ./Z ./[ ./\ ./] ./^ ./_ ./` ./a ./b ./c ./d ./e ./f ./g ./h ./i ./j ./k ./l ./m ./n ./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z ./{ ./| ./} ./~ ./ ./€
@ -983,8 +933,6 @@ par_quote_special_results mkfs.f2fs . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./
par_quote_special_results mkfs.f2fs . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ par_quote_special_results mkfs.f2fs . ./€ ./<2F> ./ ./ƒ ./„ ./… ./† ./‡ ./ˆ ./‰ ./Š ./ ./Œ ./<2F> ./Ž ./<2F> ./<2F> ./ ./ ./“ ./” ./• ./ ./— ./˜ ./™ ./š ./ ./œ ./<2F> ./ž ./Ÿ ./  ./¡ ./¢ ./£ ./¤ ./¥ ./¦ ./§ ./¨ ./© ./ª ./« ./¬ ./­ ./® ./¯ ./° ./± ./² ./³ ./´ ./µ ./¶ ./· ./¸ ./¹ ./º ./» ./¼ ./½ ./¾ ./¿ ./À ./Á ./ ./à ./Ä ./Å ./Æ ./Ç ./È ./É ./Ê ./Ë ./Ì ./Í ./Î ./Ï ./Ð ./Ñ ./Ò ./Ó ./Ô ./Õ ./Ö ./× ./Ø ./Ù ./Ú ./Û ./Ü ./Ý ./Þ ./ß ./à ./á ./â ./ã ./ä ./å ./æ ./ç ./è ./é ./ê ./ë ./ì ./í ./î ./ï ./ð ./ñ ./ò ./ó ./ô ./õ ./ö ./÷ ./ø ./ù ./ú ./û ./ü ./ý ./þ ./ÿ
par_quote_special_results mkfs.f2fs 150+0 records in par_quote_special_results mkfs.f2fs 150+0 records in
par_quote_special_results mkfs.f2fs 150+0 records out par_quote_special_results mkfs.f2fs 150+0 records out
par_reload_slf_every_second ### --slf should reload every second
par_reload_slf_every_second OK
par_results_csv bug #: --results csv par_results_csv bug #: --results csv
par_results_csv --header : --tag --files0 --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --files0 --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
par_results_csv --header : --tag --files0 --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /TMP/tmpfile", par_results_csv --header : --tag --files0 --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /TMP/tmpfile",
@ -1224,13 +1172,26 @@ par_shellquote tcsh \\\\\\\\ "\
par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_sockets_cores_threads ### Test --number-of-sockets/cores/threads par_sockets_cores_threads ### Test --number-of-sockets/cores/threads
par_sockets_cores_threads 1 par_sockets_cores_threads 1
par_sockets_cores_threads 2
par_sockets_cores_threads 4 par_sockets_cores_threads 4
par_sockets_cores_threads 8 par_sockets_cores_threads 2
par_sockets_cores_threads 4
par_sockets_cores_threads ### Test --use-sockets-instead-of-threads 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_tee_too_many_args ### Fail if there are more arguments than --jobs
par_tee_too_many_args 1 1
par_tee_too_many_args 1 10
par_tee_too_many_args 1 11
par_tee_too_many_args 2 2
par_tee_too_many_args 3 3
par_tee_too_many_args 4 4
par_tee_too_many_args parallel: Warning: Only enough file handles to run 999 jobs in parallel.
par_tee_too_many_args parallel: Warning: Try running 'parallel -j999 -N 999 --pipe parallel -j999'
par_tee_too_many_args parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
par_tee_too_many_args parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
par_tee_too_many_args parallel: Warning: or increasing /proc/sys/fs/file-max
par_tee_too_many_args parallel: Error: --tee requires --jobs to be higher. Try --jobs 999.
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.
@ -1313,7 +1274,7 @@ par_xargs_compat a_b c
par_xargs_compat d par_xargs_compat d
par_xargs_compat e par_xargs_compat e
par_xargs_compat ### test too long args par_xargs_compat ### test too long args
par_xargs_compat parallel: Error: Command line too long (1000005 >= 63664) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat parallel: Error: Command line too long (1000005 >= 64031) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat xargs: argument line too long par_xargs_compat xargs: argument line too long
par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_xargs_compat 1 2 par_xargs_compat 1 2

View file

@ -1269,10 +1269,10 @@ par_testquote zsh ()*=?'
par_testquote fdsh "#&/ par_testquote fdsh "#&/
par_testquote fdsh ()*=?' par_testquote fdsh ()*=?'
par_too_long_line_X bug #54869: Long lines break par_too_long_line_X bug #54869: Long lines break
par_too_long_line_X 1 15820 63602 par_too_long_line_X 1 15890 63952
par_too_long_line_X 1 12726 63630 par_too_long_line_X 1 12796 63980
par_too_long_line_X 1 12726 63630 par_too_long_line_X 1 12796 63980
par_too_long_line_X 1 728 3640 par_too_long_line_X 1 518 2590
par_trailing_space_line_continuation ### Test of trailing space continuation par_trailing_space_line_continuation ### Test of trailing space continuation
par_trailing_space_line_continuation foo ole bar par_trailing_space_line_continuation foo ole bar
par_trailing_space_line_continuation quux par_trailing_space_line_continuation quux

View file

@ -1525,6 +1525,8 @@ par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031
par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ NewRec
par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031 par__groupby_pipepart csv , s/^(\d+[\t ,]+){2}(\d+).*/$2/ 90001 90001 1170031
par__keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
par__keeporder_roundrobin OK
par__memory_leak ### Test for memory leaks par__memory_leak ### Test for memory leaks
par__memory_leak Of 300 runs of 1 job at least one should be bigger than a 3000 job run par__memory_leak Of 300 runs of 1 job at least one should be bigger than a 3000 job run
par__memory_leak Good: No memleak detected. par__memory_leak Good: No memleak detected.
@ -1625,22 +1627,17 @@ par_bin 0 0 0
par_bin 5 10 21 par_bin 5 10 21
par_bin 5 10 21 par_bin 5 10 21
par_bin ### Blocks in version 20220122 par_bin ### Blocks in version 20220122
par_bin 0 0 0 par_bin 10
par_bin 0 0 0 par_bin 1 10
par_bin 0 0 0 par_bin 10 1
par_bin 0 0 0 par_bin 2 9
par_bin 0 0 0 par_bin 3 8
par_bin 0 0 0 par_bin 4 7
par_bin 0 0 0 par_bin 5 6
par_bin 1 1 3 par_bin 6 5
par_bin 1 2 4 par_bin 7 4
par_bin 1 2 4 par_bin 8 3
par_bin 1 2 4 par_bin 9 2
par_bin 1 2 4
par_bin 1 2 4
par_bin 1 2 4
par_bin 2 4 9
par_bin 2 4 9
par_exit_code bug #52207: Exit status 0 when child job is killed, even with "now,fail=1" par_exit_code bug #52207: Exit status 0 when child job is killed, even with "now,fail=1"
par_exit_code # Ideally the command should return the same par_exit_code # Ideally the command should return the same
par_exit_code # with or without parallel par_exit_code # with or without parallel
@ -2728,8 +2725,8 @@ par_macron
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline' par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline'
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>' par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>'
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯>
@ -2747,15 +2744,15 @@ par_macron
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline' par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline'
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>' par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>'
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: Invalid or incomplete multibyte or wide character
par_max_length_len_128k ### BUG: The length for -X is not close to max (131072) par_max_length_len_128k ### BUG: The length for -X is not close to max (131072)
par_max_length_len_128k 63xxx par_max_length_len_128k 64xxx
par_max_length_len_128k 63xxx par_max_length_len_128k 64xxx
par_max_length_len_128k 63xxx par_max_length_len_128k 64xxx
par_max_length_len_128k 63xxx par_max_length_len_128k 64xxx
par_max_length_len_128k 63xxx par_max_length_len_128k 64xxx
par_max_length_len_128k 63xxx par_max_length_len_128k 64xxx
par_memfree ### test memfree - it should be killed by timeout par_memfree ### test memfree - it should be killed by timeout
par_memfree Free mem: 1k par_memfree Free mem: 1k
par_memfree parallel: Warning: This job was killed because it timed out: par_memfree parallel: Warning: This job was killed because it timed out:
@ -2777,6 +2774,53 @@ par_no_newline_compress tagstring=-k compress=-k
par_no_newline_compress OK par_no_newline_compress OK
par_no_newline_compress tagstring=-k compress=-k par_no_newline_compress tagstring=-k compress=-k
par_no_newline_compress OK par_no_newline_compress OK
par_perlexpr_repl ### {= and =} in different groups separated by space
par_perlexpr_repl b
par_perlexpr_repl b
par_perlexpr_repl bb
par_perlexpr_repl bb
par_perlexpr_repl b{= b
par_perlexpr_repl b{=b
par_perlexpr_repl b {=a
par_perlexpr_repl {=a
par_perlexpr_repl {= a
par_perlexpr_repl {= a =}
par_perlexpr_repl ### bug #45842: Do not evaluate {= =} twice
par_perlexpr_repl 1
par_perlexpr_repl 2
par_perlexpr_repl 3
par_perlexpr_repl 4
par_perlexpr_repl 1
par_perlexpr_repl 2
par_perlexpr_repl 3
par_perlexpr_repl 4
par_perlexpr_repl 1 2
par_perlexpr_repl 3 4
par_perlexpr_repl 5 6
par_perlexpr_repl 7 8
par_perlexpr_repl 9 10
par_perlexpr_repl 11 12
par_perlexpr_repl 13 14
par_perlexpr_repl 15 16
par_perlexpr_repl 17 18
par_perlexpr_repl 19 20
par_perlexpr_repl 21 22
par_perlexpr_repl 23 24
par_perlexpr_repl 1
par_perlexpr_repl 2
par_perlexpr_repl 3
par_perlexpr_repl 4
par_perlexpr_repl 5
par_perlexpr_repl 6
par_perlexpr_repl 7
par_perlexpr_repl 8
par_perlexpr_repl 9
par_perlexpr_repl 10
par_perlexpr_repl 11
par_perlexpr_repl 12
par_perlexpr_repl ### bug #45939: {2} in {= =} fails
par_perlexpr_repl OK
par_perlexpr_repl OK-OK
par_race_condition1 ### Test race condition on 8 CPU (my laptop) par_race_condition1 ### Test race condition on 8 CPU (my laptop)
par_race_condition1 1 par_race_condition1 1
par_race_condition1 2 par_race_condition1 2
@ -2788,6 +2832,8 @@ 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_reload_slf_every_second ### --slf should reload every second
par_reload_slf_every_second OK
par_shard ### --shard par_shard ### --shard
par_shard OK par_shard OK
par_shard OK par_shard OK

View file

@ -1,6 +1,6 @@
par_10000_m_X ### Test -m with 10000 args par_10000_m_X ### Test -m with 10000 args
par_10000_m_X 3 29994 186685 par_10000_m_X 3 29994 186685
par_10000_m_X 5642f8f374aa4881e96f4f49e932d109 - par_10000_m_X 68c56110ece48d4cd34af322ea65ebaf -
par_X_I_meta ### Test -X -I with shell meta chars par_X_I_meta ### Test -X -I with shell meta chars
par_X_I_meta 3 par_X_I_meta 3
par_X_I_meta 3 par_X_I_meta 3
@ -155,19 +155,6 @@ par__prefix_for_L_n_N_s 244
par__prefix_for_L_n_N_s 246 par__prefix_for_L_n_N_s 246
par__prefix_for_L_n_N_s 246 par__prefix_for_L_n_N_s 246
par__prefix_for_L_n_N_s 273 par__prefix_for_L_n_N_s 273
par__tee_too_many_args ### Fail if there are more arguments than --jobs
par__tee_too_many_args 1 1
par__tee_too_many_args 1 10
par__tee_too_many_args 1 11
par__tee_too_many_args 2 2
par__tee_too_many_args 3 3
par__tee_too_many_args 4 4
par__tee_too_many_args parallel: Warning: Only enough file handles to run 999 jobs in parallel.
par__tee_too_many_args parallel: Warning: Try running 'parallel -j999 -N 999 --pipe parallel -j999'
par__tee_too_many_args parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
par__tee_too_many_args parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
par__tee_too_many_args parallel: Warning: or increasing /proc/sys/fs/file-max
par__tee_too_many_args parallel: Error: --tee requires --jobs to be higher. Try --jobs 999.
par_children_receive_sig ### Do children receive --termseq signals par_children_receive_sig ### Do children receive --termseq signals
par_children_receive_sig parallel: Warning: This job was killed because it timed out: par_children_receive_sig parallel: Warning: This job was killed because it timed out:
par_children_receive_sig parallel: Warning: show_signals '' par_children_receive_sig parallel: Warning: show_signals ''
@ -244,7 +231,7 @@ par_eta 16
par_eta ### Test of --eta with no jobs par_eta ### Test of --eta with no jobs
par_eta par_eta
par_eta Computers / CPU cores / Max jobs to run par_eta Computers / CPU cores / Max jobs to run
par_eta 1:local / 8 / 8 par_eta 1:local / 9 / 9
par_eta par_eta ETA: 0s Left: 0 AVG: 0.00s 0 par_eta par_eta ETA: 0s Left: 0 AVG: 0.00s 0
par_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent par_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent
par_exitval_signal exitval=128+6 OK par_exitval_signal exitval=128+6 OK
@ -679,7 +666,7 @@ par_progress 16
par_progress ### Test of --progress with no jobs par_progress ### Test of --progress with no jobs
par_progress par_progress
par_progress Computers / CPU cores / Max jobs to run par_progress Computers / CPU cores / Max jobs to run
par_progress 1:local / 8 / 8 par_progress 1:local / 9 / 9
par_progress par_progress 0 par_progress par_progress 0
par_replacement_slashslash ### Test {//} par_replacement_slashslash ### Test {//}
par_replacement_slashslash . a par_replacement_slashslash . a
@ -743,7 +730,7 @@ par_shebang r [1] "B"
par_shebang r [1] "C" par_shebang r [1] "C"
par_show_limits ### Test --show-limits par_show_limits ### Test --show-limits
par_show_limits Maximal size of command: 130xxx par_show_limits Maximal size of command: 130xxx
par_show_limits Maximal usable size of command: 63xxx par_show_limits Maximal usable size of command: 64xxx
par_show_limits par_show_limits
par_show_limits Execution will continue now, and it will try to read its input par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits and run commands; if this is not what you wanted to happen, please
@ -760,7 +747,7 @@ par_show_limits press CTRL-D or CTRL-C
par_show_limits bar car far par_show_limits bar car far
par_show_limits ### BUG: empty lines with --show-limit par_show_limits ### BUG: empty lines with --show-limit
par_show_limits Maximal size of command: 130xxx par_show_limits Maximal size of command: 130xxx
par_show_limits Maximal usable size of command: 63xxx par_show_limits Maximal usable size of command: 64xxx
par_show_limits par_show_limits
par_show_limits Execution will continue now, and it will try to read its input par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please par_show_limits and run commands; if this is not what you wanted to happen, please

View file

@ -31,13 +31,13 @@ par_--onall_--transfer ls: cannot access 'bug46519.cc': No such file or director
par_--onall_--transfer ls: cannot access 'bug46519.ccc': No such file or directory par_--onall_--transfer ls: cannot access 'bug46519.ccc': No such file or directory
par_--ssh_ssh_in_ssh ### bug #61894: Pack ssh code in eval protection par_--ssh_ssh_in_ssh ### bug #61894: Pack ssh code in eval protection
par_--ssh_ssh_in_ssh Unquoted ssh should work par_--ssh_ssh_in_ssh Unquoted ssh should work
par_--ssh_ssh_in_ssh aspire par_--ssh_ssh_in_ssh myhostname
par_--ssh_ssh_in_ssh OK par_--ssh_ssh_in_ssh OK
par_--ssh_ssh_in_ssh aspire par_--ssh_ssh_in_ssh myhostname
par_--ssh_ssh_in_ssh OK par_--ssh_ssh_in_ssh OK
par_--ssh_ssh_in_ssh aspire par_--ssh_ssh_in_ssh myhostname
par_--ssh_ssh_in_ssh OK par_--ssh_ssh_in_ssh OK
par_--ssh_ssh_in_ssh aspire par_--ssh_ssh_in_ssh myhostname
par_--ssh_ssh_in_ssh OK par_--ssh_ssh_in_ssh OK
par_PARALLEL_SSH_function ### use function as $PARALLEL_SSH par_PARALLEL_SSH_function ### use function as $PARALLEL_SSH
par_PARALLEL_SSH_function Run through FOOSSH? par_PARALLEL_SSH_function Run through FOOSSH?

View file

@ -23,7 +23,7 @@ par_rpl_perlexpr_not_used_in_command remote OK
par_rplstr_return ### bug #45906: {= in header =} par_rplstr_return ### bug #45906: {= in header =}
par_rplstr_return returnfile45906 par_rplstr_return returnfile45906
par_special_char_trc ### Special char file and dir transfer return and cleanup par_special_char_trc ### Special char file and dir transfer return and cleanup
par_special_char_trc local par_special_char_trc local OK
par_special_char_trc remote OK par_special_char_trc remote OK
par_trailing_space_sshlogin ### trailing space in sshlogin par_trailing_space_sshlogin ### trailing space in sshlogin
par_trailing_space_sshlogin sshlogin trailing space par_trailing_space_sshlogin sshlogin trailing space

View file

@ -6,6 +6,16 @@ par_--nonall_results parallel: Warning: --(n)onall + --results not supported (ye
par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet). par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet). par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results /TMP/onall par_--nonall_results /TMP/onall
par_--nonall_results /TMP/onall/noslashcsh@lo
par_--nonall_results /TMP/onall/noslashcsh@lo/1
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id/seq
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id/stderr
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id/stdout
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd/seq
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd/stderr
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd/stdout
par_--nonall_results /TMP/onall/noslashsh@lo par_--nonall_results /TMP/onall/noslashsh@lo
par_--nonall_results /TMP/onall/noslashsh@lo/1 par_--nonall_results /TMP/onall/noslashsh@lo/1
par_--nonall_results /TMP/onall/noslashsh@lo/1/id par_--nonall_results /TMP/onall/noslashsh@lo/1/id
@ -17,29 +27,62 @@ par_--nonall_results /TMP/onall/noslashsh@lo/1/pwd/seq
par_--nonall_results /TMP/onall/noslashsh@lo/1/pwd/stderr par_--nonall_results /TMP/onall/noslashsh@lo/1/pwd/stderr
par_--nonall_results /TMP/onall/noslashsh@lo/1/pwd/stdout par_--nonall_results /TMP/onall/noslashsh@lo/1/pwd/stdout
par_--nonall_results /TMP/onall/rpl1noslash par_--nonall_results /TMP/onall/rpl1noslash
par_--nonall_results /TMP/onall/rpl1noslash/idsh@lo.seq
par_--nonall_results /TMP/onall/rpl1noslash/idcsh@lo.seq
par_--nonall_results /TMP/onall/rpl1noslash/idcsh@lo par_--nonall_results /TMP/onall/rpl1noslash/idcsh@lo
par_--nonall_results /TMP/onall/rpl1noslash/pwdsh@lo.err
par_--nonall_results /TMP/onall/rpl1noslash/idcsh@lo.err par_--nonall_results /TMP/onall/rpl1noslash/idcsh@lo.err
par_--nonall_results /TMP/onall/rpl1noslash/pwdcsh@lo.err par_--nonall_results /TMP/onall/rpl1noslash/idcsh@lo.seq
par_--nonall_results /TMP/onall/rpl1noslash/idsh@lo par_--nonall_results /TMP/onall/rpl1noslash/idsh@lo
par_--nonall_results /TMP/onall/rpl1noslash/pwdcsh@lo
par_--nonall_results /TMP/onall/rpl1noslash/pwdsh@lo.seq
par_--nonall_results /TMP/onall/rpl1noslash/pwdsh@lo
par_--nonall_results /TMP/onall/rpl1noslash/idsh@lo.err par_--nonall_results /TMP/onall/rpl1noslash/idsh@lo.err
par_--nonall_results /TMP/onall/rpl1noslash/idsh@lo.seq
par_--nonall_results /TMP/onall/rpl1noslash/pwdcsh@lo
par_--nonall_results /TMP/onall/rpl1noslash/pwdcsh@lo.err
par_--nonall_results /TMP/onall/rpl1noslash/pwdcsh@lo.seq par_--nonall_results /TMP/onall/rpl1noslash/pwdcsh@lo.seq
par_--nonall_results /TMP/onall/rpl1noslash/pwdsh@lo
par_--nonall_results /TMP/onall/rpl1noslash/pwdsh@lo.err
par_--nonall_results /TMP/onall/rpl1noslash/pwdsh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash
par_--nonall_results /TMP/onall/rpl1slash/id
par_--nonall_results /TMP/onall/rpl1slash/id/csh@lo
par_--nonall_results /TMP/onall/rpl1slash/id/csh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/id/csh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/id/sh@lo
par_--nonall_results /TMP/onall/rpl1slash/id/sh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/id/sh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/pwd
par_--nonall_results /TMP/onall/rpl1slash/pwd/csh@lo
par_--nonall_results /TMP/onall/rpl1slash/pwd/csh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/pwd/csh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/pwd/sh@lo
par_--nonall_results /TMP/onall/rpl1slash/pwd/sh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/pwd/sh@lo.seq
par_--nonall_results /TMP/onall/rplnoslash
par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo
par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo.err
par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo.seq
par_--nonall_results /TMP/onall/rplnoslash/idsh@lo
par_--nonall_results /TMP/onall/rplnoslash/idsh@lo.err
par_--nonall_results /TMP/onall/rplnoslash/idsh@lo.seq
par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo
par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo.err
par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo.seq
par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo
par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo.err
par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo.seq
par_--nonall_results /TMP/onall/rplslash
par_--nonall_results /TMP/onall/rplslash/id
par_--nonall_results /TMP/onall/rplslash/id/csh@lo
par_--nonall_results /TMP/onall/rplslash/id/csh@lo.err
par_--nonall_results /TMP/onall/rplslash/id/csh@lo.seq
par_--nonall_results /TMP/onall/rplslash/id/sh@lo
par_--nonall_results /TMP/onall/rplslash/id/sh@lo.err
par_--nonall_results /TMP/onall/rplslash/id/sh@lo.seq
par_--nonall_results /TMP/onall/rplslash/pwd
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo.err
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo.seq
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo.err
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo.seq
par_--nonall_results /TMP/onall/slash par_--nonall_results /TMP/onall/slash
par_--nonall_results /TMP/onall/slash/sh@lo
par_--nonall_results /TMP/onall/slash/sh@lo/1
par_--nonall_results /TMP/onall/slash/sh@lo/1/id
par_--nonall_results /TMP/onall/slash/sh@lo/1/id/seq
par_--nonall_results /TMP/onall/slash/sh@lo/1/id/stderr
par_--nonall_results /TMP/onall/slash/sh@lo/1/id/stdout
par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd
par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd/seq
par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd/stderr
par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd/stdout
par_--nonall_results /TMP/onall/slash/csh@lo par_--nonall_results /TMP/onall/slash/csh@lo
par_--nonall_results /TMP/onall/slash/csh@lo/1 par_--nonall_results /TMP/onall/slash/csh@lo/1
par_--nonall_results /TMP/onall/slash/csh@lo/1/id par_--nonall_results /TMP/onall/slash/csh@lo/1/id
@ -50,59 +93,16 @@ par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd
par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/seq par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/seq
par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/stderr par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/stderr
par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/stdout par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/stdout
par_--nonall_results /TMP/onall/rplnoslash par_--nonall_results /TMP/onall/slash/sh@lo
par_--nonall_results /TMP/onall/rplnoslash/idsh@lo.seq par_--nonall_results /TMP/onall/slash/sh@lo/1
par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo.seq par_--nonall_results /TMP/onall/slash/sh@lo/1/id
par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo par_--nonall_results /TMP/onall/slash/sh@lo/1/id/seq
par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo.err par_--nonall_results /TMP/onall/slash/sh@lo/1/id/stderr
par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo.err par_--nonall_results /TMP/onall/slash/sh@lo/1/id/stdout
par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo.err par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd
par_--nonall_results /TMP/onall/rplnoslash/idsh@lo par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd/seq
par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd/stderr
par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo.seq par_--nonall_results /TMP/onall/slash/sh@lo/1/pwd/stdout
par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo
par_--nonall_results /TMP/onall/rplnoslash/idsh@lo.err
par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash
par_--nonall_results /TMP/onall/rpl1slash/id
par_--nonall_results /TMP/onall/rpl1slash/id/sh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/id/csh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/id/csh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/id/sh@lo
par_--nonall_results /TMP/onall/rpl1slash/id/csh@lo
par_--nonall_results /TMP/onall/rpl1slash/id/sh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/pwd
par_--nonall_results /TMP/onall/rpl1slash/pwd/sh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/pwd/csh@lo.err
par_--nonall_results /TMP/onall/rpl1slash/pwd/csh@lo.seq
par_--nonall_results /TMP/onall/rpl1slash/pwd/sh@lo
par_--nonall_results /TMP/onall/rpl1slash/pwd/csh@lo
par_--nonall_results /TMP/onall/rpl1slash/pwd/sh@lo.err
par_--nonall_results /TMP/onall/noslashcsh@lo
par_--nonall_results /TMP/onall/noslashcsh@lo/1
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id/seq
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id/stderr
par_--nonall_results /TMP/onall/noslashcsh@lo/1/id/stdout
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd/seq
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd/stderr
par_--nonall_results /TMP/onall/noslashcsh@lo/1/pwd/stdout
par_--nonall_results /TMP/onall/rplslash
par_--nonall_results /TMP/onall/rplslash/id
par_--nonall_results /TMP/onall/rplslash/id/sh@lo.seq
par_--nonall_results /TMP/onall/rplslash/id/csh@lo.err
par_--nonall_results /TMP/onall/rplslash/id/csh@lo.seq
par_--nonall_results /TMP/onall/rplslash/id/sh@lo
par_--nonall_results /TMP/onall/rplslash/id/csh@lo
par_--nonall_results /TMP/onall/rplslash/id/sh@lo.err
par_--nonall_results /TMP/onall/rplslash/pwd
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo.seq
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo.err
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo.seq
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo.err
par_--nonall_results ### --results --nonall par_--nonall_results ### --results --nonall
par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet). par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet). par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
@ -111,55 +111,55 @@ par_--nonall_results parallel: Warning: --(n)onall + --results not supported (ye
par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet). par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet). par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results /TMP/nonall par_--nonall_results /TMP/nonall
par_--nonall_results /TMP/nonall/noslashcsh@lo
par_--nonall_results /TMP/nonall/noslashcsh@lo/1
par_--nonall_results /TMP/nonall/noslashcsh@lo/1/seq
par_--nonall_results /TMP/nonall/noslashcsh@lo/1/stderr
par_--nonall_results /TMP/nonall/noslashcsh@lo/1/stdout
par_--nonall_results /TMP/nonall/noslashsh@lo par_--nonall_results /TMP/nonall/noslashsh@lo
par_--nonall_results /TMP/nonall/noslashsh@lo/1 par_--nonall_results /TMP/nonall/noslashsh@lo/1
par_--nonall_results /TMP/nonall/noslashsh@lo/1/seq par_--nonall_results /TMP/nonall/noslashsh@lo/1/seq
par_--nonall_results /TMP/nonall/noslashsh@lo/1/stderr par_--nonall_results /TMP/nonall/noslashsh@lo/1/stderr
par_--nonall_results /TMP/nonall/noslashsh@lo/1/stdout par_--nonall_results /TMP/nonall/noslashsh@lo/1/stdout
par_--nonall_results /TMP/nonall/rpl1noslash par_--nonall_results /TMP/nonall/rpl1noslash
par_--nonall_results /TMP/nonall/rpl1noslash/sh@lo.seq par_--nonall_results /TMP/nonall/rpl1noslash/csh@lo
par_--nonall_results /TMP/nonall/rpl1noslash/csh@lo.err par_--nonall_results /TMP/nonall/rpl1noslash/csh@lo.err
par_--nonall_results /TMP/nonall/rpl1noslash/csh@lo.seq par_--nonall_results /TMP/nonall/rpl1noslash/csh@lo.seq
par_--nonall_results /TMP/nonall/rpl1noslash/sh@lo par_--nonall_results /TMP/nonall/rpl1noslash/sh@lo
par_--nonall_results /TMP/nonall/rpl1noslash/csh@lo
par_--nonall_results /TMP/nonall/rpl1noslash/sh@lo.err par_--nonall_results /TMP/nonall/rpl1noslash/sh@lo.err
par_--nonall_results /TMP/nonall/rpl1noslash/sh@lo.seq
par_--nonall_results /TMP/nonall/rpl1slash
par_--nonall_results /TMP/nonall/rpl1slash/csh@lo
par_--nonall_results /TMP/nonall/rpl1slash/csh@lo.err
par_--nonall_results /TMP/nonall/rpl1slash/csh@lo.seq
par_--nonall_results /TMP/nonall/rpl1slash/sh@lo
par_--nonall_results /TMP/nonall/rpl1slash/sh@lo.err
par_--nonall_results /TMP/nonall/rpl1slash/sh@lo.seq
par_--nonall_results /TMP/nonall/rplnoslash
par_--nonall_results /TMP/nonall/rplnoslash/csh@lo
par_--nonall_results /TMP/nonall/rplnoslash/csh@lo.err
par_--nonall_results /TMP/nonall/rplnoslash/csh@lo.seq
par_--nonall_results /TMP/nonall/rplnoslash/sh@lo
par_--nonall_results /TMP/nonall/rplnoslash/sh@lo.err
par_--nonall_results /TMP/nonall/rplnoslash/sh@lo.seq
par_--nonall_results /TMP/nonall/rplslash
par_--nonall_results /TMP/nonall/rplslash/csh@lo
par_--nonall_results /TMP/nonall/rplslash/csh@lo.err
par_--nonall_results /TMP/nonall/rplslash/csh@lo.seq
par_--nonall_results /TMP/nonall/rplslash/sh@lo
par_--nonall_results /TMP/nonall/rplslash/sh@lo.err
par_--nonall_results /TMP/nonall/rplslash/sh@lo.seq
par_--nonall_results /TMP/nonall/slash par_--nonall_results /TMP/nonall/slash
par_--nonall_results /TMP/nonall/slash/sh@lo
par_--nonall_results /TMP/nonall/slash/sh@lo/1
par_--nonall_results /TMP/nonall/slash/sh@lo/1/seq
par_--nonall_results /TMP/nonall/slash/sh@lo/1/stderr
par_--nonall_results /TMP/nonall/slash/sh@lo/1/stdout
par_--nonall_results /TMP/nonall/slash/csh@lo par_--nonall_results /TMP/nonall/slash/csh@lo
par_--nonall_results /TMP/nonall/slash/csh@lo/1 par_--nonall_results /TMP/nonall/slash/csh@lo/1
par_--nonall_results /TMP/nonall/slash/csh@lo/1/seq par_--nonall_results /TMP/nonall/slash/csh@lo/1/seq
par_--nonall_results /TMP/nonall/slash/csh@lo/1/stderr par_--nonall_results /TMP/nonall/slash/csh@lo/1/stderr
par_--nonall_results /TMP/nonall/slash/csh@lo/1/stdout par_--nonall_results /TMP/nonall/slash/csh@lo/1/stdout
par_--nonall_results /TMP/nonall/rplnoslash par_--nonall_results /TMP/nonall/slash/sh@lo
par_--nonall_results /TMP/nonall/rplnoslash/sh@lo.seq par_--nonall_results /TMP/nonall/slash/sh@lo/1
par_--nonall_results /TMP/nonall/rplnoslash/csh@lo.err par_--nonall_results /TMP/nonall/slash/sh@lo/1/seq
par_--nonall_results /TMP/nonall/rplnoslash/csh@lo.seq par_--nonall_results /TMP/nonall/slash/sh@lo/1/stderr
par_--nonall_results /TMP/nonall/rplnoslash/sh@lo par_--nonall_results /TMP/nonall/slash/sh@lo/1/stdout
par_--nonall_results /TMP/nonall/rplnoslash/csh@lo
par_--nonall_results /TMP/nonall/rplnoslash/sh@lo.err
par_--nonall_results /TMP/nonall/rpl1slash
par_--nonall_results /TMP/nonall/rpl1slash/sh@lo.seq
par_--nonall_results /TMP/nonall/rpl1slash/csh@lo.err
par_--nonall_results /TMP/nonall/rpl1slash/csh@lo.seq
par_--nonall_results /TMP/nonall/rpl1slash/sh@lo
par_--nonall_results /TMP/nonall/rpl1slash/csh@lo
par_--nonall_results /TMP/nonall/rpl1slash/sh@lo.err
par_--nonall_results /TMP/nonall/noslashcsh@lo
par_--nonall_results /TMP/nonall/noslashcsh@lo/1
par_--nonall_results /TMP/nonall/noslashcsh@lo/1/seq
par_--nonall_results /TMP/nonall/noslashcsh@lo/1/stderr
par_--nonall_results /TMP/nonall/noslashcsh@lo/1/stdout
par_--nonall_results /TMP/nonall/rplslash
par_--nonall_results /TMP/nonall/rplslash/sh@lo.seq
par_--nonall_results /TMP/nonall/rplslash/csh@lo.err
par_--nonall_results /TMP/nonall/rplslash/csh@lo.seq
par_--nonall_results /TMP/nonall/rplslash/sh@lo
par_--nonall_results /TMP/nonall/rplslash/csh@lo
par_--nonall_results /TMP/nonall/rplslash/sh@lo.err
par_--tmux_length ### works par_--tmux_length ### works
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
@ -193,6 +193,52 @@ par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
par__--tmux_different_shells 4 par__--tmux_different_shells 4
par__test_different_rsync_versions ### different versions of rsync need fixups par__test_different_rsync_versions ### different versions of rsync need fixups
par__test_different_rsync_versions ### no output is good par__test_different_rsync_versions ### no output is good
par__test_different_rsync_versions rsync-v1.6.4 Basic use failed - not tested: rsync-v1.6.4
par__test_different_rsync_versions rsync-v1.6.5 Basic use failed - not tested: rsync-v1.6.5
par__test_different_rsync_versions rsync-v1.6.6 Basic use failed - not tested: rsync-v1.6.6
par__test_different_rsync_versions rsync-v1.6.7 Basic use failed - not tested: rsync-v1.6.7
par__test_different_rsync_versions rsync-v1.6.8 Basic use failed - not tested: rsync-v1.6.8
par__test_different_rsync_versions rsync-v1.6.9 Basic use failed - not tested: rsync-v1.6.9
par__test_different_rsync_versions rsync-v2.0.10 Basic use failed - not tested: rsync-v2.0.10
par__test_different_rsync_versions rsync-v2.0.11 Basic use failed - not tested: rsync-v2.0.11
par__test_different_rsync_versions rsync-v2.0.12 Basic use failed - not tested: rsync-v2.0.12
par__test_different_rsync_versions rsync-v2.0.13 Basic use failed - not tested: rsync-v2.0.13
par__test_different_rsync_versions rsync-v2.0.14 Basic use failed - not tested: rsync-v2.0.14
par__test_different_rsync_versions rsync-v2.0.15 Basic use failed - not tested: rsync-v2.0.15
par__test_different_rsync_versions rsync-v2.0.16 Basic use failed - not tested: rsync-v2.0.16
par__test_different_rsync_versions rsync-v2.0.17 Basic use failed - not tested: rsync-v2.0.17
par__test_different_rsync_versions rsync-v2.0.18 Basic use failed - not tested: rsync-v2.0.18
par__test_different_rsync_versions rsync-v2.0.19 Basic use failed - not tested: rsync-v2.0.19
par__test_different_rsync_versions rsync-v2.0.3 Basic use failed - not tested: rsync-v2.0.3
par__test_different_rsync_versions rsync-v2.0.4 Basic use failed - not tested: rsync-v2.0.4
par__test_different_rsync_versions rsync-v2.0.5 Basic use failed - not tested: rsync-v2.0.5
par__test_different_rsync_versions rsync-v2.0.6 Basic use failed - not tested: rsync-v2.0.6
par__test_different_rsync_versions rsync-v2.0.7 Basic use failed - not tested: rsync-v2.0.7
par__test_different_rsync_versions rsync-v2.0.8 Basic use failed - not tested: rsync-v2.0.8
par__test_different_rsync_versions rsync-v2.0.9 Basic use failed - not tested: rsync-v2.0.9
par__test_different_rsync_versions rsync-v2.1.0 Basic use failed - not tested: rsync-v2.1.0
par__test_different_rsync_versions rsync-v2.1.1 Basic use failed - not tested: rsync-v2.1.1
par__test_different_rsync_versions rsync-v2.6.5 Basic use works: rsync-v2.6.5
par__test_different_rsync_versions rsync-v2.6.6 Basic use works: rsync-v2.6.6
par__test_different_rsync_versions rsync-v2.6.7 Basic use works: rsync-v2.6.7
par__test_different_rsync_versions rsync-v2.6.8 Basic use works: rsync-v2.6.8
par__test_different_rsync_versions rsync-v2.6.9 Basic use works: rsync-v2.6.9
par__test_different_rsync_versions rsync-v3.0.6 Basic use works: rsync-v3.0.6
par__test_different_rsync_versions rsync-v3.0.7 Basic use works: rsync-v3.0.7
par__test_different_rsync_versions rsync-v3.0.8 Basic use works: rsync-v3.0.8
par__test_different_rsync_versions rsync-v3.0.9 Basic use works: rsync-v3.0.9
par__test_different_rsync_versions rsync-v3.1.0 Basic use works: rsync-v3.1.0
par__test_different_rsync_versions rsync-v3.1.1 Basic use works: rsync-v3.1.1
par__test_different_rsync_versions rsync-v3.1.2 Basic use works: rsync-v3.1.2
par__test_different_rsync_versions rsync-v3.1.3 Basic use works: rsync-v3.1.3
par__test_different_rsync_versions rsync-v3.2.0 Basic use works: rsync-v3.2.0
par__test_different_rsync_versions rsync-v3.2.1 Basic use works: rsync-v3.2.1
par__test_different_rsync_versions rsync-v3.2.2 Basic use works: rsync-v3.2.2
par__test_different_rsync_versions rsync-v3.2.3 Basic use works: rsync-v3.2.3
par__test_different_rsync_versions rsync-v3.2.4 Basic use works: rsync-v3.2.4
par__test_different_rsync_versions rsync-v3.2.5 Basic use works: rsync-v3.2.5
par__test_different_rsync_versions rsync-v3.2.6 Basic use works: rsync-v3.2.6
par__test_different_rsync_versions rsync-v3.2.7 Basic use works: rsync-v3.2.7
par_bigvar_csh ### csh par_bigvar_csh ### csh
par_bigvar_csh 3 big vars run remotely - length(base64) > 1000 par_bigvar_csh 3 big vars run remotely - length(base64) > 1000
par_bigvar_csh 1 200 692 par_bigvar_csh 1 200 692

View file

@ -40,10 +40,22 @@ par_--ssh_autossh rsync: connection unexpectedly closed (0 bytes received so far
par_--ssh_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(231) [Receiver=3.2.7] par_--ssh_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(231) [Receiver=3.2.7]
par_--ssh_autossh foo_autossh par_--ssh_autossh foo_autossh
par_--ssh_lsh ### --ssh lsh par_--ssh_lsh ### --ssh lsh
par_--ssh_lsh OK par_--ssh_lsh parallel: Warning: Could not figure out number of cpus on lo (). Using 1.
par_--ssh_lsh OK par_--ssh_lsh lsh: Server's hostkey is not trusted. Disconnecting.
par_--ssh_lsh OK par_--ssh_lsh lsh: Protocol error: Bad server host key par_--ssh_lsh
par_--ssh_lsh OK par_--ssh_lsh
par_--ssh_lsh parallel: Warning: Could not figure out number of cpus on csh@lo (). Using 1.
par_--ssh_lsh lsh: Server's hostkey is not trusted. Disconnecting.
par_--ssh_lsh lsh: Protocol error: Bad server host key par_--ssh_lsh
par_--ssh_lsh
par_--ssh_lsh parallel: Warning: Could not figure out number of cpus on lo (). Using 1.
par_--ssh_lsh lsh: Server's hostkey is not trusted. Disconnecting.
par_--ssh_lsh lsh: Protocol error: Bad server host key par_--ssh_lsh
par_--ssh_lsh
par_--ssh_lsh parallel: Warning: Could not figure out number of cpus on csh@lo (). Using 1.
par_--ssh_lsh lsh: Server's hostkey is not trusted. Disconnecting.
par_--ssh_lsh lsh: Protocol error: Bad server host key par_--ssh_lsh
par_--ssh_lsh
par__--shellquote_command_len ### test quoting will not cause a crash if too long par__--shellquote_command_len ### test quoting will not cause a crash if too long
par__--shellquote_command_len -Slo -j10 " 1 1 1 1 4 par__--shellquote_command_len -Slo -j10 " 1 1 1 1 4
par__--shellquote_command_len -Slo -j10 " 1 2 1 1 10 par__--shellquote_command_len -Slo -j10 " 1 2 1 1 10
@ -245,74 +257,74 @@ par__--shellquote_command_len -Slo -j10 ' 10 7 0 0 0
par__--shellquote_command_len -Slo -j10 ' 10 8 0 0 0 par__--shellquote_command_len -Slo -j10 ' 10 8 0 0 0
par__--shellquote_command_len -Slo -j10 ' 10 9 0 0 0 par__--shellquote_command_len -Slo -j10 ' 10 9 0 0 0
par__--shellquote_command_len -Slo -j10 ' 10 10 0 0 0 par__--shellquote_command_len -Slo -j10 ' 10 10 0 0 0
par__--shellquote_command_len -Slo -j10 " 1 9 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 1 9 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 1 10 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 1 10 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 2 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 2 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 2 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 2 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 2 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 2 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 3 8 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 3 8 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 3 9 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 3 9 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 3 10 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 3 10 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 4 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 4 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 4 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 4 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 4 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 4 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 5 8 parallel: Error: Command line too long (164xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 5 8 parallel: Error: Command line too long (164xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 5 9 parallel: Error: Command line too long (492xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 5 9 parallel: Error: Command line too long (492xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 5 10 parallel: Error: Command line too long (1476xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 5 10 parallel: Error: Command line too long (1476xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 6 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 6 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 6 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 6 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 6 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 6 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 6 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 6 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 7 7 parallel: Error: Command line too long (76xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 7 7 parallel: Error: Command line too long (76xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 7 8 parallel: Error: Command line too long (229xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 7 8 parallel: Error: Command line too long (229xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 7 9 parallel: Error: Command line too long (688xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 7 9 parallel: Error: Command line too long (688xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 7 10 parallel: Error: Command line too long (2066xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 7 10 parallel: Error: Command line too long (2066xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 8 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 8 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 8 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 8 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 8 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 8 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 8 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 8 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 9 7 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 9 7 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 9 8 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 9 8 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 9 9 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 9 9 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 9 10 parallel: Error: Command line too long (2657xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 9 10 parallel: Error: Command line too long (2657xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 10 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 10 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 10 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 10 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 10 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 10 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 " 10 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: " par__--shellquote_command_len -Slo -j10 " 10 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: "
par__--shellquote_command_len -Slo -j10 ' 1 9 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: ' par__--shellquote_command_len -Slo -j10 ' 1 9 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: '
par__--shellquote_command_len -Slo -j10 ' 1 10 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: ' par__--shellquote_command_len -Slo -j10 ' 1 10 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: '
par__--shellquote_command_len -Slo -j10 ' 2 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: '' par__--shellquote_command_len -Slo -j10 ' 2 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: ''
par__--shellquote_command_len -Slo -j10 ' 2 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: '' par__--shellquote_command_len -Slo -j10 ' 2 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: ''
par__--shellquote_command_len -Slo -j10 ' 2 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: '' par__--shellquote_command_len -Slo -j10 ' 2 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: ''
par__--shellquote_command_len -Slo -j10 ' 3 8 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len -Slo -j10 ' 3 8 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len -Slo -j10 ' 3 9 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len -Slo -j10 ' 3 9 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len -Slo -j10 ' 3 10 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len -Slo -j10 ' 3 10 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len -Slo -j10 ' 4 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len -Slo -j10 ' 4 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len -Slo -j10 ' 4 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len -Slo -j10 ' 4 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len -Slo -j10 ' 4 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len -Slo -j10 ' 4 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len -Slo -j10 ' 5 8 parallel: Error: Command line too long (164xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len -Slo -j10 ' 5 8 parallel: Error: Command line too long (164xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len -Slo -j10 ' 5 9 parallel: Error: Command line too long (492xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len -Slo -j10 ' 5 9 parallel: Error: Command line too long (492xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len -Slo -j10 ' 5 10 parallel: Error: Command line too long (1476xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len -Slo -j10 ' 5 10 parallel: Error: Command line too long (1476xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len -Slo -j10 ' 6 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len -Slo -j10 ' 6 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len -Slo -j10 ' 6 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len -Slo -j10 ' 6 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len -Slo -j10 ' 6 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len -Slo -j10 ' 6 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len -Slo -j10 ' 6 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len -Slo -j10 ' 6 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len -Slo -j10 ' 7 7 parallel: Error: Command line too long (76xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len -Slo -j10 ' 7 7 parallel: Error: Command line too long (76xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len -Slo -j10 ' 7 8 parallel: Error: Command line too long (229xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len -Slo -j10 ' 7 8 parallel: Error: Command line too long (229xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len -Slo -j10 ' 7 9 parallel: Error: Command line too long (688xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len -Slo -j10 ' 7 9 parallel: Error: Command line too long (688xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len -Slo -j10 ' 7 10 parallel: Error: Command line too long (2066xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len -Slo -j10 ' 7 10 parallel: Error: Command line too long (2066xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len -Slo -j10 ' 8 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len -Slo -j10 ' 8 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len -Slo -j10 ' 8 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len -Slo -j10 ' 8 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len -Slo -j10 ' 8 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len -Slo -j10 ' 8 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len -Slo -j10 ' 8 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len -Slo -j10 ' 8 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len -Slo -j10 ' 9 7 parallel: Error: Command line too long (98xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len -Slo -j10 ' 9 7 parallel: Error: Command line too long (98xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len -Slo -j10 ' 9 8 parallel: Error: Command line too long (295xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len -Slo -j10 ' 9 8 parallel: Error: Command line too long (295xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len -Slo -j10 ' 9 9 parallel: Error: Command line too long (885xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len -Slo -j10 ' 9 9 parallel: Error: Command line too long (885xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len -Slo -j10 ' 9 10 parallel: Error: Command line too long (2657xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len -Slo -j10 ' 9 10 parallel: Error: Command line too long (2657xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len -Slo -j10 ' 10 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len -Slo -j10 ' 10 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len -Slo -j10 ' 10 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len -Slo -j10 ' 10 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len -Slo -j10 ' 10 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len -Slo -j10 ' 10 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len -Slo -j10 ' 10 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len -Slo -j10 ' 10 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len " 1 1 1 2 6 par__--shellquote_command_len " 1 1 1 2 6
par__--shellquote_command_len " 1 2 1 2 12 par__--shellquote_command_len " 1 2 1 2 12
par__--shellquote_command_len " 1 3 1 2 30 par__--shellquote_command_len " 1 3 1 2 30
@ -513,86 +525,86 @@ par__--shellquote_command_len ' 10 7 0 0 0
par__--shellquote_command_len ' 10 8 0 0 0 par__--shellquote_command_len ' 10 8 0 0 0
par__--shellquote_command_len ' 10 9 0 0 0 par__--shellquote_command_len ' 10 9 0 0 0
par__--shellquote_command_len ' 10 10 0 0 0 par__--shellquote_command_len ' 10 10 0 0 0
par__--shellquote_command_len " 1 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 1 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 1 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 1 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 1 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 1 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 2 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 2 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 2 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 2 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 2 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 2 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 3 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 3 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 3 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 3 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 3 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 3 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 3 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 3 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 4 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 4 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 4 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 4 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 4 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 4 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 4 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 4 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 5 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 5 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 5 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 5 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 5 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 5 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 5 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 5 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 6 7 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 6 7 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 6 8 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 6 8 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 6 9 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 6 9 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 6 10 parallel: Error: Command line too long (3542xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 6 10 parallel: Error: Command line too long (3542xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 7 7 parallel: Error: Command line too long (153xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 7 7 parallel: Error: Command line too long (153xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 7 8 parallel: Error: Command line too long (459xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 7 8 parallel: Error: Command line too long (459xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 7 9 parallel: Error: Command line too long (1377xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 7 9 parallel: Error: Command line too long (1377xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 7 10 parallel: Error: Command line too long (4133xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 7 10 parallel: Error: Command line too long (4133xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 8 7 parallel: Error: Command line too long (174xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 8 7 parallel: Error: Command line too long (174xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 8 8 parallel: Error: Command line too long (524xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 8 8 parallel: Error: Command line too long (524xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 8 9 parallel: Error: Command line too long (1574xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 8 9 parallel: Error: Command line too long (1574xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 8 10 parallel: Error: Command line too long (4723xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 8 10 parallel: Error: Command line too long (4723xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 9 6 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 9 6 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 9 7 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 9 7 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 9 8 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 9 8 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 9 9 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 9 9 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 9 10 parallel: Error: Command line too long (5314xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 9 10 parallel: Error: Command line too long (5314xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 10 6 parallel: Error: Command line too long (72xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 10 6 parallel: Error: Command line too long (72xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 10 7 parallel: Error: Command line too long (218xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 10 7 parallel: Error: Command line too long (218xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 10 8 parallel: Error: Command line too long (656xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 10 8 parallel: Error: Command line too long (656xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 10 9 parallel: Error: Command line too long (1968xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 10 9 parallel: Error: Command line too long (1968xxx >= 64xxx) at input 0: "
par__--shellquote_command_len " 10 10 parallel: Error: Command line too long (5904xxx >= 63xxx) at input 0: " par__--shellquote_command_len " 10 10 parallel: Error: Command line too long (5904xxx >= 64xxx) at input 0: "
par__--shellquote_command_len ' 1 8 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: ' par__--shellquote_command_len ' 1 8 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: '
par__--shellquote_command_len ' 1 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ' par__--shellquote_command_len ' 1 9 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: '
par__--shellquote_command_len ' 1 10 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: ' par__--shellquote_command_len ' 1 10 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: '
par__--shellquote_command_len ' 2 8 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: '' par__--shellquote_command_len ' 2 8 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: ''
par__--shellquote_command_len ' 2 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: '' par__--shellquote_command_len ' 2 9 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: ''
par__--shellquote_command_len ' 2 10 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: '' par__--shellquote_command_len ' 2 10 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: ''
par__--shellquote_command_len ' 3 7 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len ' 3 7 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len ' 3 8 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len ' 3 8 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len ' 3 9 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len ' 3 9 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len ' 3 10 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: ''' par__--shellquote_command_len ' 3 10 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: '''
par__--shellquote_command_len ' 4 7 parallel: Error: Command line too long (87xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len ' 4 7 parallel: Error: Command line too long (87xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len ' 4 8 parallel: Error: Command line too long (262xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len ' 4 8 parallel: Error: Command line too long (262xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len ' 4 9 parallel: Error: Command line too long (787xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len ' 4 9 parallel: Error: Command line too long (787xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len ' 4 10 parallel: Error: Command line too long (2361xxx >= 63xxx) at input 0: '''' par__--shellquote_command_len ' 4 10 parallel: Error: Command line too long (2361xxx >= 64xxx) at input 0: ''''
par__--shellquote_command_len ' 5 7 parallel: Error: Command line too long (109xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len ' 5 7 parallel: Error: Command line too long (109xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len ' 5 8 parallel: Error: Command line too long (328xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len ' 5 8 parallel: Error: Command line too long (328xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len ' 5 9 parallel: Error: Command line too long (984xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len ' 5 9 parallel: Error: Command line too long (984xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len ' 5 10 parallel: Error: Command line too long (2952xxx >= 63xxx) at input 0: ''''' par__--shellquote_command_len ' 5 10 parallel: Error: Command line too long (2952xxx >= 64xxx) at input 0: '''''
par__--shellquote_command_len ' 6 7 parallel: Error: Command line too long (131xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len ' 6 7 parallel: Error: Command line too long (131xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len ' 6 8 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len ' 6 8 parallel: Error: Command line too long (393xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len ' 6 9 parallel: Error: Command line too long (1180xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len ' 6 9 parallel: Error: Command line too long (1180xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len ' 6 10 parallel: Error: Command line too long (3542xxx >= 63xxx) at input 0: '''''' par__--shellquote_command_len ' 6 10 parallel: Error: Command line too long (3542xxx >= 64xxx) at input 0: ''''''
par__--shellquote_command_len ' 7 7 parallel: Error: Command line too long (153xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len ' 7 7 parallel: Error: Command line too long (153xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len ' 7 8 parallel: Error: Command line too long (459xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len ' 7 8 parallel: Error: Command line too long (459xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len ' 7 9 parallel: Error: Command line too long (1377xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len ' 7 9 parallel: Error: Command line too long (1377xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len ' 7 10 parallel: Error: Command line too long (4133xxx >= 63xxx) at input 0: ''''''' par__--shellquote_command_len ' 7 10 parallel: Error: Command line too long (4133xxx >= 64xxx) at input 0: '''''''
par__--shellquote_command_len ' 8 7 parallel: Error: Command line too long (174xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len ' 8 7 parallel: Error: Command line too long (174xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len ' 8 8 parallel: Error: Command line too long (524xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len ' 8 8 parallel: Error: Command line too long (524xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len ' 8 9 parallel: Error: Command line too long (1574xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len ' 8 9 parallel: Error: Command line too long (1574xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len ' 8 10 parallel: Error: Command line too long (4723xxx >= 63xxx) at input 0: '''''''' par__--shellquote_command_len ' 8 10 parallel: Error: Command line too long (4723xxx >= 64xxx) at input 0: ''''''''
par__--shellquote_command_len ' 9 6 parallel: Error: Command line too long (65xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len ' 9 6 parallel: Error: Command line too long (65xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len ' 9 7 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len ' 9 7 parallel: Error: Command line too long (196xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len ' 9 8 parallel: Error: Command line too long (590xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len ' 9 8 parallel: Error: Command line too long (590xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len ' 9 9 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len ' 9 9 parallel: Error: Command line too long (1771xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len ' 9 10 parallel: Error: Command line too long (5314xxx >= 63xxx) at input 0: ''''''''' par__--shellquote_command_len ' 9 10 parallel: Error: Command line too long (5314xxx >= 64xxx) at input 0: '''''''''
par__--shellquote_command_len ' 10 6 parallel: Error: Command line too long (72xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len ' 10 6 parallel: Error: Command line too long (72xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len ' 10 7 parallel: Error: Command line too long (218xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len ' 10 7 parallel: Error: Command line too long (218xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len ' 10 8 parallel: Error: Command line too long (656xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len ' 10 8 parallel: Error: Command line too long (656xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len ' 10 9 parallel: Error: Command line too long (1968xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len ' 10 9 parallel: Error: Command line too long (1968xxx >= 64xxx) at input 0: ''''''''''
par__--shellquote_command_len ' 10 10 parallel: Error: Command line too long (5904xxx >= 63xxx) at input 0: '''''''''' par__--shellquote_command_len ' 10 10 parallel: Error: Command line too long (5904xxx >= 64xxx) at input 0: ''''''''''
par__basefile_cleanup ### bug #46520: --basefile cleans up without --cleanup par__basefile_cleanup ### bug #46520: --basefile cleans up without --cleanup
par__basefile_cleanup bug_46520 par__basefile_cleanup bug_46520
par__basefile_cleanup bug_46520 par__basefile_cleanup bug_46520

View file

@ -21,21 +21,21 @@ par_--env_underscore_bash variables in aliases in and arrays in functions work
par_--env_underscore_bash variables in aliases in and arrays in functions work par_--env_underscore_bash variables in aliases in and arrays in functions work
par_--env_underscore_bash variables in aliases in and arrays in functions work par_--env_underscore_bash variables in aliases in and arrays in functions work
par_--env_underscore_bash variables in aliases in and arrays in functions work par_--env_underscore_bash variables in aliases in and arrays in functions work
par_--env_underscore_bash script: line XXX: not_copied_alias: command not found par_--env_underscore_bash script: line 99: not_copied_alias: command not found
par_--env_underscore_bash script: line XXX: not_copied_func: command not found par_--env_underscore_bash script: line 99: not_copied_func: command not found
par_--env_underscore_bash error=OK par_--env_underscore_bash error=OK
par_--env_underscore_bash error=OK par_--env_underscore_bash error=OK
par_--env_underscore_bash aliases in and arrays in functions work par_--env_underscore_bash aliases in and arrays in functions work
par_--env_underscore_bash aliases in and arrays in functions work par_--env_underscore_bash aliases in and arrays in functions work
par_--env_underscore_bash aliases in functions work par_--env_underscore_bash aliases in functions work
par_--env_underscore_bash aliases in functions work par_--env_underscore_bash aliases in functions work
par_--env_underscore_bash environment: line XXX: myecho: command not found par_--env_underscore_bash environment: line 99: myecho: command not found
par_--env_underscore_bash OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^ par_--env_underscore_bash OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
par_--env_underscore_bash script: line XXX: myecho: command not found par_--env_underscore_bash script: line 99: myecho: command not found
par_--env_underscore_bash OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^ par_--env_underscore_bash OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
par_--env_underscore_bash /bin/bash: line XXX: myfunc: command not found par_--env_underscore_bash /bin/bash: line 99: myfunc: command not found
par_--env_underscore_bash OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^ par_--env_underscore_bash OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
par_--env_underscore_bash script: line XXX: myfunc: command not found par_--env_underscore_bash script: line 99: myfunc: command not found
par_--env_underscore_bash OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^ par_--env_underscore_bash OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
par_--env_underscore_csh ### csh par_--env_underscore_csh ### csh
par_--env_underscore_csh ### Testing of --env _ par_--env_underscore_csh par_--env_underscore_csh ### Testing of --env _ par_--env_underscore_csh
@ -80,10 +80,10 @@ par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish variables in aliases and arrays in functions work par_--env_underscore_fish variables in aliases and arrays in functions work
par_--env_underscore_fish Test ignoring par_--env_underscore_fish Test ignoring
par_--env_underscore_fish script (line XXX): par_--env_underscore_fish script (line 99):
par_--env_underscore_fish not_copied_alias 'error=OK' par_--env_underscore_fish not_copied_alias 'error=OK'
par_--env_underscore_fish ^ par_--env_underscore_fish ^
par_--env_underscore_fish script (line XXX): par_--env_underscore_fish script (line 99):
par_--env_underscore_fish not_copied_func 'error=OK' par_--env_underscore_fish not_copied_func 'error=OK'
par_--env_underscore_fish ^ par_--env_underscore_fish ^
par_--env_underscore_fish error=OK par_--env_underscore_fish error=OK
@ -101,7 +101,7 @@ par_--env_underscore_fish script (line 4):
par_--env_underscore_fish myecho $myarray functions $argv par_--env_underscore_fish myecho $myarray functions $argv
par_--env_underscore_fish ^ par_--env_underscore_fish ^
par_--env_underscore_fish in function 'myfunc' with arguments 'work' par_--env_underscore_fish in function 'myfunc' with arguments 'work'
par_--env_underscore_fish called on line XXX of file script par_--env_underscore_fish called on line 99 of file script
par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myecho par_--env_underscore_fish OK if ^^^^^^^^^^^^^^^^^ no myecho
par_--env_underscore_fish myfunc work par_--env_underscore_fish myfunc work
par_--env_underscore_fish ^ par_--env_underscore_fish ^
@ -547,9 +547,9 @@ par__man_ksh work,
par__man_ksh too par__man_ksh too
par__man_ksh This may never work par__man_ksh This may never work
par__man_ksh https://unix.stackexchange.com/questions/457031/extract-full-function-definitions par__man_ksh https://unix.stackexchange.com/questions/457031/extract-full-function-definitions
par__man_ksh /bin/ksh: line 3: syntax error at line XXX: `{' unmatched par__man_ksh /bin/ksh: line 3: syntax error at line 99: `{' unmatched
par__man_ksh /bin/ksh: line 3: syntax error at line XXX: `{' unmatched par__man_ksh /bin/ksh: line 3: syntax error at line 99: `{' unmatched
par__man_ksh /bin/ksh: line 3: syntax error at line XXX: `{' unmatched par__man_ksh /bin/ksh: line 3: syntax error at line 99: `{' unmatched
par__man_ksh exit value 2 should be 2 par__man_ksh exit value 2 should be 2
par__man_ksh Unknown option: no-such-option par__man_ksh Unknown option: no-such-option
par__man_ksh exit value 255 should be 255 par__man_ksh exit value 255 should be 255
@ -799,21 +799,21 @@ par__man_zsh exit value 255 should be 255
par_env_parallel_--session_ash ### Test env_parallel --session par_env_parallel_--session_ash ### Test env_parallel --session
par_env_parallel_--session_ash ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_ash ### level0 should be hidden, level1 should be transferred
par_env_parallel_--session_ash par_env_parallel_--session_ash
par_env_parallel_--session_ash script: 33: level0func: not found par_env_parallel_--session_ash script: 99: level0func: not found
par_env_parallel_--session_ash script: 33: level0alias: not found par_env_parallel_--session_ash script: 99: level0alias: not found
par_env_parallel_--session_ash script: 33: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash par_env_parallel_--session_ash
par_env_parallel_--session_ash /bin/ash: XXX: level0func: not found par_env_parallel_--session_ash /bin/ash: 999: level0func: not found
par_env_parallel_--session_ash /bin/ash: XXX: level0alias: not found par_env_parallel_--session_ash /bin/ash: 999: level0alias: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1var
par_env_parallel_--session_ash l1alias par_env_parallel_--session_ash l1alias
par_env_parallel_--session_ash script: 33: level1func: not found par_env_parallel_--session_ash script: 99: level1func: not found
par_env_parallel_--session_ash script: 33: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1var
par_env_parallel_--session_ash l1alias par_env_parallel_--session_ash l1alias
par_env_parallel_--session_ash /bin/ash: XXX: level1func: not found par_env_parallel_--session_ash /bin/ash: 999: level1func: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash ### level0+1 should be hidden, level2 should be transferred par_env_parallel_--session_ash ### level0+1 should be hidden, level2 should be transferred
par_env_parallel_--session_ash par_env_parallel_--session_ash
par_env_parallel_--session_ash script: 4: level0func: not found par_env_parallel_--session_ash script: 4: level0func: not found
@ -841,54 +841,54 @@ par_env_parallel_--session_ash /bin/ash: 3: level2func: not found
par_env_parallel_--session_ash /bin/ash: 3: Bad substitution par_env_parallel_--session_ash /bin/ash: 3: Bad substitution
par_env_parallel_--session_ash ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_ash ### level0 should be hidden, level1+2 should be transferred
par_env_parallel_--session_ash par_env_parallel_--session_ash
par_env_parallel_--session_ash script: 35: level0func: not found par_env_parallel_--session_ash script: 99: level0func: not found
par_env_parallel_--session_ash script: 35: level0alias: not found par_env_parallel_--session_ash script: 99: level0alias: not found
par_env_parallel_--session_ash script: 35: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash par_env_parallel_--session_ash
par_env_parallel_--session_ash /bin/ash: XXX: level0func: not found par_env_parallel_--session_ash /bin/ash: 999: level0func: not found
par_env_parallel_--session_ash /bin/ash: XXX: level0alias: not found par_env_parallel_--session_ash /bin/ash: 999: level0alias: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1var
par_env_parallel_--session_ash l1alias par_env_parallel_--session_ash l1alias
par_env_parallel_--session_ash script: 35: level1func: not found par_env_parallel_--session_ash script: 99: level1func: not found
par_env_parallel_--session_ash script: 35: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1var
par_env_parallel_--session_ash l1alias par_env_parallel_--session_ash l1alias
par_env_parallel_--session_ash /bin/ash: XXX: level1func: not found par_env_parallel_--session_ash /bin/ash: 999: level1func: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2var
par_env_parallel_--session_ash l2alias par_env_parallel_--session_ash l2alias
par_env_parallel_--session_ash script: 35: level2func: not found par_env_parallel_--session_ash script: 99: level2func: not found
par_env_parallel_--session_ash script: 35: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2var
par_env_parallel_--session_ash l2alias par_env_parallel_--session_ash l2alias
par_env_parallel_--session_ash /bin/ash: XXX: level2func: not found par_env_parallel_--session_ash /bin/ash: 999: level2func: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash ### level0+1+2 should be transferred par_env_parallel_--session_ash ### level0+1+2 should be transferred
par_env_parallel_--session_ash l0var par_env_parallel_--session_ash l0var
par_env_parallel_--session_ash l0alias par_env_parallel_--session_ash l0alias
par_env_parallel_--session_ash script: 30: level0func: not found par_env_parallel_--session_ash script: 99: level0func: not found
par_env_parallel_--session_ash script: 30: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash l0var par_env_parallel_--session_ash l0var
par_env_parallel_--session_ash l0alias par_env_parallel_--session_ash l0alias
par_env_parallel_--session_ash /bin/ash: XXX: level0func: not found par_env_parallel_--session_ash /bin/ash: 999: level0func: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1var
par_env_parallel_--session_ash l1alias par_env_parallel_--session_ash l1alias
par_env_parallel_--session_ash script: 30: level1func: not found par_env_parallel_--session_ash script: 99: level1func: not found
par_env_parallel_--session_ash script: 30: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1var
par_env_parallel_--session_ash l1alias par_env_parallel_--session_ash l1alias
par_env_parallel_--session_ash /bin/ash: XXX: level1func: not found par_env_parallel_--session_ash /bin/ash: 999: level1func: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2var
par_env_parallel_--session_ash l2alias par_env_parallel_--session_ash l2alias
par_env_parallel_--session_ash script: 30: level2func: not found par_env_parallel_--session_ash script: 99: level2func: not found
par_env_parallel_--session_ash script: 30: Bad substitution par_env_parallel_--session_ash script: 99: Bad substitution
par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2var
par_env_parallel_--session_ash l2alias par_env_parallel_--session_ash l2alias
par_env_parallel_--session_ash /bin/ash: XXX: level2func: not found par_env_parallel_--session_ash /bin/ash: 999: level2func: not found
par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution par_env_parallel_--session_ash /bin/ash: 999: Bad substitution
par_env_parallel_--session_ash /bin/ash: 1: aliasbefore: not found par_env_parallel_--session_ash /bin/ash: 1: aliasbefore: not found
par_env_parallel_--session_ash script: 2: aliasbefore: not found par_env_parallel_--session_ash script: 2: aliasbefore: not found
par_env_parallel_--session_ash no_before par_env_parallel_--session_ash no_before
@ -901,12 +901,12 @@ par_env_parallel_--session_bash ### Test env_parallel --session / --end-session
par_env_parallel_--session_bash ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_bash ### level0 should be hidden, level1 should be transferred
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash script: line XXX: level0func: command not found par_env_parallel_--session_bash script: line 99: level0func: command not found
par_env_parallel_--session_bash script: line XXX: level0alias: command not found par_env_parallel_--session_bash script: line 99: level0alias: command not found
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash /bin/bash: line XXX: level0func: command not found par_env_parallel_--session_bash /bin/bash: line 99: level0func: command not found
par_env_parallel_--session_bash /bin/bash: line XXX: level0alias: command not found par_env_parallel_--session_bash /bin/bash: line 99: level0alias: command not found
par_env_parallel_--session_bash l1var par_env_parallel_--session_bash l1var
par_env_parallel_--session_bash l1func par_env_parallel_--session_bash l1func
par_env_parallel_--session_bash l1alias par_env_parallel_--session_bash l1alias
@ -918,20 +918,20 @@ par_env_parallel_--session_bash level1 array OK
par_env_parallel_--session_bash ### level0+1 should be hidden, level2 should be transferred par_env_parallel_--session_bash ### level0+1 should be hidden, level2 should be transferred
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash script: line XXX: level0func: command not found par_env_parallel_--session_bash script: line 99: level0func: command not found
par_env_parallel_--session_bash script: line XXX: level0alias: command not found par_env_parallel_--session_bash script: line 99: level0alias: command not found
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash /bin/bash: line XXX: level0func: command not found par_env_parallel_--session_bash /bin/bash: line 99: level0func: command not found
par_env_parallel_--session_bash /bin/bash: line XXX: level0alias: command not found par_env_parallel_--session_bash /bin/bash: line 99: level0alias: command not found
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash script: line XXX: level1func: command not found par_env_parallel_--session_bash script: line 99: level1func: command not found
par_env_parallel_--session_bash script: line XXX: level1alias: command not found par_env_parallel_--session_bash script: line 99: level1alias: command not found
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash /bin/bash: line XXX: level1func: command not found par_env_parallel_--session_bash /bin/bash: line 99: level1func: command not found
par_env_parallel_--session_bash /bin/bash: line XXX: level1alias: command not found par_env_parallel_--session_bash /bin/bash: line 99: level1alias: command not found
par_env_parallel_--session_bash l2var par_env_parallel_--session_bash l2var
par_env_parallel_--session_bash l2func par_env_parallel_--session_bash l2func
par_env_parallel_--session_bash l2alias par_env_parallel_--session_bash l2alias
@ -943,12 +943,12 @@ par_env_parallel_--session_bash level2 array OK
par_env_parallel_--session_bash ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_bash ### level0 should be hidden, level1+2 should be transferred
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash script: line XXX: level0func: command not found par_env_parallel_--session_bash script: line 99: level0func: command not found
par_env_parallel_--session_bash script: line XXX: level0alias: command not found par_env_parallel_--session_bash script: line 99: level0alias: command not found
par_env_parallel_--session_bash par_env_parallel_--session_bash
par_env_parallel_--session_bash fail par_env_parallel_--session_bash fail
par_env_parallel_--session_bash /bin/bash: line XXX: level0func: command not found par_env_parallel_--session_bash /bin/bash: line 99: level0func: command not found
par_env_parallel_--session_bash /bin/bash: line XXX: level0alias: command not found par_env_parallel_--session_bash /bin/bash: line 99: level0alias: command not found
par_env_parallel_--session_bash l1var par_env_parallel_--session_bash l1var
par_env_parallel_--session_bash l1func par_env_parallel_--session_bash l1func
par_env_parallel_--session_bash l1alias par_env_parallel_--session_bash l1alias
@ -990,10 +990,10 @@ par_env_parallel_--session_bash l2var
par_env_parallel_--session_bash l2func par_env_parallel_--session_bash l2func
par_env_parallel_--session_bash l2alias par_env_parallel_--session_bash l2alias
par_env_parallel_--session_bash level2 array OK par_env_parallel_--session_bash level2 array OK
par_env_parallel_--session_bash /bin/bash: line XXX: aliasl0: command not found par_env_parallel_--session_bash /bin/bash: line 99: aliasl0: command not found
par_env_parallel_--session_bash script: line XXX: aliasl0: command not found par_env_parallel_--session_bash script: line 99: aliasl0: command not found
par_env_parallel_--session_bash /bin/bash: line XXX: funcl0: command not found par_env_parallel_--session_bash /bin/bash: line 99: funcl0: command not found
par_env_parallel_--session_bash script: line XXX: funcl0: command not found par_env_parallel_--session_bash script: line 99: funcl0: command not found
par_env_parallel_--session_bash no_before par_env_parallel_--session_bash no_before
par_env_parallel_--session_bash no_before par_env_parallel_--session_bash no_before
par_env_parallel_--session_bash no_before par_env_parallel_--session_bash no_before
@ -1010,21 +1010,21 @@ par_env_parallel_--session_csh Not implemented
par_env_parallel_--session_dash ### Test env_parallel --session par_env_parallel_--session_dash ### Test env_parallel --session
par_env_parallel_--session_dash ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_dash ### level0 should be hidden, level1 should be transferred
par_env_parallel_--session_dash par_env_parallel_--session_dash
par_env_parallel_--session_dash script: 33: level0func: not found par_env_parallel_--session_dash script: 99: level0func: not found
par_env_parallel_--session_dash script: 33: level0alias: not found par_env_parallel_--session_dash script: 99: level0alias: not found
par_env_parallel_--session_dash script: 33: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash par_env_parallel_--session_dash
par_env_parallel_--session_dash /bin/dash: XXX: level0func: not found par_env_parallel_--session_dash /bin/dash: 999: level0func: not found
par_env_parallel_--session_dash /bin/dash: XXX: level0alias: not found par_env_parallel_--session_dash /bin/dash: 999: level0alias: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1var
par_env_parallel_--session_dash l1alias par_env_parallel_--session_dash l1alias
par_env_parallel_--session_dash script: 33: level1func: not found par_env_parallel_--session_dash script: 99: level1func: not found
par_env_parallel_--session_dash script: 33: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1var
par_env_parallel_--session_dash l1alias par_env_parallel_--session_dash l1alias
par_env_parallel_--session_dash /bin/dash: XXX: level1func: not found par_env_parallel_--session_dash /bin/dash: 999: level1func: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash ### level0+1 should be hidden, level2 should be transferred par_env_parallel_--session_dash ### level0+1 should be hidden, level2 should be transferred
par_env_parallel_--session_dash par_env_parallel_--session_dash
par_env_parallel_--session_dash script: 4: level0func: not found par_env_parallel_--session_dash script: 4: level0func: not found
@ -1052,54 +1052,54 @@ par_env_parallel_--session_dash /bin/dash: 3: level2func: not found
par_env_parallel_--session_dash /bin/dash: 3: Bad substitution par_env_parallel_--session_dash /bin/dash: 3: Bad substitution
par_env_parallel_--session_dash ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_dash ### level0 should be hidden, level1+2 should be transferred
par_env_parallel_--session_dash par_env_parallel_--session_dash
par_env_parallel_--session_dash script: 35: level0func: not found par_env_parallel_--session_dash script: 99: level0func: not found
par_env_parallel_--session_dash script: 35: level0alias: not found par_env_parallel_--session_dash script: 99: level0alias: not found
par_env_parallel_--session_dash script: 35: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash par_env_parallel_--session_dash
par_env_parallel_--session_dash /bin/dash: XXX: level0func: not found par_env_parallel_--session_dash /bin/dash: 999: level0func: not found
par_env_parallel_--session_dash /bin/dash: XXX: level0alias: not found par_env_parallel_--session_dash /bin/dash: 999: level0alias: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1var
par_env_parallel_--session_dash l1alias par_env_parallel_--session_dash l1alias
par_env_parallel_--session_dash script: 35: level1func: not found par_env_parallel_--session_dash script: 99: level1func: not found
par_env_parallel_--session_dash script: 35: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1var
par_env_parallel_--session_dash l1alias par_env_parallel_--session_dash l1alias
par_env_parallel_--session_dash /bin/dash: XXX: level1func: not found par_env_parallel_--session_dash /bin/dash: 999: level1func: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2var
par_env_parallel_--session_dash l2alias par_env_parallel_--session_dash l2alias
par_env_parallel_--session_dash script: 35: level2func: not found par_env_parallel_--session_dash script: 99: level2func: not found
par_env_parallel_--session_dash script: 35: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2var
par_env_parallel_--session_dash l2alias par_env_parallel_--session_dash l2alias
par_env_parallel_--session_dash /bin/dash: XXX: level2func: not found par_env_parallel_--session_dash /bin/dash: 999: level2func: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash ### level0+1+2 should be transferred par_env_parallel_--session_dash ### level0+1+2 should be transferred
par_env_parallel_--session_dash l0var par_env_parallel_--session_dash l0var
par_env_parallel_--session_dash l0alias par_env_parallel_--session_dash l0alias
par_env_parallel_--session_dash script: 30: level0func: not found par_env_parallel_--session_dash script: 99: level0func: not found
par_env_parallel_--session_dash script: 30: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash l0var par_env_parallel_--session_dash l0var
par_env_parallel_--session_dash l0alias par_env_parallel_--session_dash l0alias
par_env_parallel_--session_dash /bin/dash: XXX: level0func: not found par_env_parallel_--session_dash /bin/dash: 999: level0func: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1var
par_env_parallel_--session_dash l1alias par_env_parallel_--session_dash l1alias
par_env_parallel_--session_dash script: 30: level1func: not found par_env_parallel_--session_dash script: 99: level1func: not found
par_env_parallel_--session_dash script: 30: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1var
par_env_parallel_--session_dash l1alias par_env_parallel_--session_dash l1alias
par_env_parallel_--session_dash /bin/dash: XXX: level1func: not found par_env_parallel_--session_dash /bin/dash: 999: level1func: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2var
par_env_parallel_--session_dash l2alias par_env_parallel_--session_dash l2alias
par_env_parallel_--session_dash script: 30: level2func: not found par_env_parallel_--session_dash script: 99: level2func: not found
par_env_parallel_--session_dash script: 30: Bad substitution par_env_parallel_--session_dash script: 99: Bad substitution
par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2var
par_env_parallel_--session_dash l2alias par_env_parallel_--session_dash l2alias
par_env_parallel_--session_dash /bin/dash: XXX: level2func: not found par_env_parallel_--session_dash /bin/dash: 999: level2func: not found
par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution par_env_parallel_--session_dash /bin/dash: 999: Bad substitution
par_env_parallel_--session_dash /bin/dash: 1: aliasbefore: not found par_env_parallel_--session_dash /bin/dash: 1: aliasbefore: not found
par_env_parallel_--session_dash script: 2: aliasbefore: not found par_env_parallel_--session_dash script: 2: aliasbefore: not found
par_env_parallel_--session_dash no_before par_env_parallel_--session_dash no_before
@ -1145,8 +1145,8 @@ par_env_parallel_--session_ksh script[9]: level0func: not found
par_env_parallel_--session_ksh script[9]: level0alias: not found par_env_parallel_--session_ksh script[9]: level0alias: not found
par_env_parallel_--session_ksh par_env_parallel_--session_ksh
par_env_parallel_--session_ksh fail par_env_parallel_--session_ksh fail
par_env_parallel_--session_ksh /bin/ksh[XXX]: level0func: not found par_env_parallel_--session_ksh /bin/ksh[999]: level0func: not found
par_env_parallel_--session_ksh /bin/ksh[XXX]: level0alias: not found par_env_parallel_--session_ksh /bin/ksh[999]: level0alias: not found
par_env_parallel_--session_ksh l1var par_env_parallel_--session_ksh l1var
par_env_parallel_--session_ksh l1func par_env_parallel_--session_ksh l1func
par_env_parallel_--session_ksh l1alias par_env_parallel_--session_ksh l1alias
@ -1162,16 +1162,16 @@ par_env_parallel_--session_ksh script[9]: level0func: not found
par_env_parallel_--session_ksh script[9]: level0alias: not found par_env_parallel_--session_ksh script[9]: level0alias: not found
par_env_parallel_--session_ksh par_env_parallel_--session_ksh
par_env_parallel_--session_ksh fail par_env_parallel_--session_ksh fail
par_env_parallel_--session_ksh /bin/ksh[XXX]: level0func: not found par_env_parallel_--session_ksh /bin/ksh[999]: level0func: not found
par_env_parallel_--session_ksh /bin/ksh[XXX]: level0alias: not found par_env_parallel_--session_ksh /bin/ksh[999]: level0alias: not found
par_env_parallel_--session_ksh par_env_parallel_--session_ksh
par_env_parallel_--session_ksh fail par_env_parallel_--session_ksh fail
par_env_parallel_--session_ksh script[9]: level1func: not found par_env_parallel_--session_ksh script[9]: level1func: not found
par_env_parallel_--session_ksh script[9]: level1alias: not found par_env_parallel_--session_ksh script[9]: level1alias: not found
par_env_parallel_--session_ksh par_env_parallel_--session_ksh
par_env_parallel_--session_ksh fail par_env_parallel_--session_ksh fail
par_env_parallel_--session_ksh /bin/ksh[XXX]: level1func: not found par_env_parallel_--session_ksh /bin/ksh[999]: level1func: not found
par_env_parallel_--session_ksh /bin/ksh[XXX]: level1alias: not found par_env_parallel_--session_ksh /bin/ksh[999]: level1alias: not found
par_env_parallel_--session_ksh l2var par_env_parallel_--session_ksh l2var
par_env_parallel_--session_ksh l2func par_env_parallel_--session_ksh l2func
par_env_parallel_--session_ksh l2alias par_env_parallel_--session_ksh l2alias
@ -1187,8 +1187,8 @@ par_env_parallel_--session_ksh script[9]: level0func: not found
par_env_parallel_--session_ksh script[9]: level0alias: not found par_env_parallel_--session_ksh script[9]: level0alias: not found
par_env_parallel_--session_ksh par_env_parallel_--session_ksh
par_env_parallel_--session_ksh fail par_env_parallel_--session_ksh fail
par_env_parallel_--session_ksh /bin/ksh[XXX]: level0func: not found par_env_parallel_--session_ksh /bin/ksh[999]: level0func: not found
par_env_parallel_--session_ksh /bin/ksh[XXX]: level0alias: not found par_env_parallel_--session_ksh /bin/ksh[999]: level0alias: not found
par_env_parallel_--session_ksh l1var par_env_parallel_--session_ksh l1var
par_env_parallel_--session_ksh l1func par_env_parallel_--session_ksh l1func
par_env_parallel_--session_ksh l1alias par_env_parallel_--session_ksh l1alias
@ -1358,21 +1358,21 @@ par_env_parallel_--session_mksh array after arrayafter_OK
par_env_parallel_--session_sh ### Test env_parallel --session par_env_parallel_--session_sh ### Test env_parallel --session
par_env_parallel_--session_sh ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_sh ### level0 should be hidden, level1 should be transferred
par_env_parallel_--session_sh par_env_parallel_--session_sh
par_env_parallel_--session_sh script: 30: level0func: not found par_env_parallel_--session_sh script: 99: level0func: not found
par_env_parallel_--session_sh script: 30: level0alias: not found par_env_parallel_--session_sh script: 99: level0alias: not found
par_env_parallel_--session_sh script: 30: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh par_env_parallel_--session_sh
par_env_parallel_--session_sh /bin/sh: XXX: level0func: not found par_env_parallel_--session_sh /bin/sh: 999: level0func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level0alias: not found par_env_parallel_--session_sh /bin/sh: 999: level0alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh l1var par_env_parallel_--session_sh l1var
par_env_parallel_--session_sh script: 30: level1func: not found par_env_parallel_--session_sh script: 99: level1func: not found
par_env_parallel_--session_sh script: 30: level1alias: not found par_env_parallel_--session_sh script: 99: level1alias: not found
par_env_parallel_--session_sh script: 30: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh l1var par_env_parallel_--session_sh l1var
par_env_parallel_--session_sh /bin/sh: XXX: level1func: not found par_env_parallel_--session_sh /bin/sh: 999: level1func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level1alias: not found par_env_parallel_--session_sh /bin/sh: 999: level1alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh ### level0+1 should be hidden, level2 should be transferred par_env_parallel_--session_sh ### level0+1 should be hidden, level2 should be transferred
par_env_parallel_--session_sh par_env_parallel_--session_sh
par_env_parallel_--session_sh script: 3: level0func: not found par_env_parallel_--session_sh script: 3: level0func: not found
@ -1400,54 +1400,54 @@ par_env_parallel_--session_sh /bin/sh: 2: level2alias: not found
par_env_parallel_--session_sh /bin/sh: 2: Bad substitution par_env_parallel_--session_sh /bin/sh: 2: Bad substitution
par_env_parallel_--session_sh ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_sh ### level0 should be hidden, level1+2 should be transferred
par_env_parallel_--session_sh par_env_parallel_--session_sh
par_env_parallel_--session_sh script: 31: level0func: not found par_env_parallel_--session_sh script: 99: level0func: not found
par_env_parallel_--session_sh script: 31: level0alias: not found par_env_parallel_--session_sh script: 99: level0alias: not found
par_env_parallel_--session_sh script: 31: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh par_env_parallel_--session_sh
par_env_parallel_--session_sh /bin/sh: XXX: level0func: not found par_env_parallel_--session_sh /bin/sh: 999: level0func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level0alias: not found par_env_parallel_--session_sh /bin/sh: 999: level0alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh l1var par_env_parallel_--session_sh l1var
par_env_parallel_--session_sh script: 31: level1func: not found par_env_parallel_--session_sh script: 99: level1func: not found
par_env_parallel_--session_sh script: 31: level1alias: not found par_env_parallel_--session_sh script: 99: level1alias: not found
par_env_parallel_--session_sh script: 31: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh l1var par_env_parallel_--session_sh l1var
par_env_parallel_--session_sh /bin/sh: XXX: level1func: not found par_env_parallel_--session_sh /bin/sh: 999: level1func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level1alias: not found par_env_parallel_--session_sh /bin/sh: 999: level1alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh l2var par_env_parallel_--session_sh l2var
par_env_parallel_--session_sh script: 31: level2func: not found par_env_parallel_--session_sh script: 99: level2func: not found
par_env_parallel_--session_sh script: 31: level2alias: not found par_env_parallel_--session_sh script: 99: level2alias: not found
par_env_parallel_--session_sh script: 31: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh l2var par_env_parallel_--session_sh l2var
par_env_parallel_--session_sh /bin/sh: XXX: level2func: not found par_env_parallel_--session_sh /bin/sh: 999: level2func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level2alias: not found par_env_parallel_--session_sh /bin/sh: 999: level2alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh ### level0+1+2 should be transferred par_env_parallel_--session_sh ### level0+1+2 should be transferred
par_env_parallel_--session_sh l0var par_env_parallel_--session_sh l0var
par_env_parallel_--session_sh script: 27: level0func: not found par_env_parallel_--session_sh script: 99: level0func: not found
par_env_parallel_--session_sh script: 27: level0alias: not found par_env_parallel_--session_sh script: 99: level0alias: not found
par_env_parallel_--session_sh script: 27: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh l0var par_env_parallel_--session_sh l0var
par_env_parallel_--session_sh /bin/sh: XXX: level0func: not found par_env_parallel_--session_sh /bin/sh: 999: level0func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level0alias: not found par_env_parallel_--session_sh /bin/sh: 999: level0alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh l1var par_env_parallel_--session_sh l1var
par_env_parallel_--session_sh script: 27: level1func: not found par_env_parallel_--session_sh script: 99: level1func: not found
par_env_parallel_--session_sh script: 27: level1alias: not found par_env_parallel_--session_sh script: 99: level1alias: not found
par_env_parallel_--session_sh script: 27: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh l1var par_env_parallel_--session_sh l1var
par_env_parallel_--session_sh /bin/sh: XXX: level1func: not found par_env_parallel_--session_sh /bin/sh: 999: level1func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level1alias: not found par_env_parallel_--session_sh /bin/sh: 999: level1alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh l2var par_env_parallel_--session_sh l2var
par_env_parallel_--session_sh script: 27: level2func: not found par_env_parallel_--session_sh script: 99: level2func: not found
par_env_parallel_--session_sh script: 27: level2alias: not found par_env_parallel_--session_sh script: 99: level2alias: not found
par_env_parallel_--session_sh script: 27: Bad substitution par_env_parallel_--session_sh script: 99: Bad substitution
par_env_parallel_--session_sh l2var par_env_parallel_--session_sh l2var
par_env_parallel_--session_sh /bin/sh: XXX: level2func: not found par_env_parallel_--session_sh /bin/sh: 999: level2func: not found
par_env_parallel_--session_sh /bin/sh: XXX: level2alias: not found par_env_parallel_--session_sh /bin/sh: 999: level2alias: not found
par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution par_env_parallel_--session_sh /bin/sh: 999: Bad substitution
par_env_parallel_--session_sh /bin/sh: 1: aliasbefore: not found par_env_parallel_--session_sh /bin/sh: 1: aliasbefore: not found
par_env_parallel_--session_sh script: 2: aliasbefore: not found par_env_parallel_--session_sh script: 2: aliasbefore: not found
par_env_parallel_--session_sh /bin/sh: 1: funcbefore: not found par_env_parallel_--session_sh /bin/sh: 1: funcbefore: not found
@ -1747,10 +1747,10 @@ par_environment_too_big_ash OK_bigfunc_remote
par_environment_too_big_ash OK_bigfunc_quote par_environment_too_big_ash OK_bigfunc_quote
par_environment_too_big_ash OK_bigfunc_quote_remote par_environment_too_big_ash OK_bigfunc_quote_remote
par_environment_too_big_ash Rest should fail - functions not supported in ash par_environment_too_big_ash Rest should fail - functions not supported in ash
par_environment_too_big_ash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_ash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_ash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_ash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_ash fail_bigfunc-not-supported par_environment_too_big_ash fail_bigfunc-not-supported
par_environment_too_big_ash fail_bigfunc_remote-not-supported par_environment_too_big_ash fail_bigfunc_remote-not-supported
par_environment_too_big_ash fail_bigfunc_quote-not-supported par_environment_too_big_ash fail_bigfunc_quote-not-supported
@ -1765,14 +1765,14 @@ par_environment_too_big_bash OK_bigfunc_remote
par_environment_too_big_bash OK_bigfunc_quote par_environment_too_big_bash OK_bigfunc_quote
par_environment_too_big_bash OK_bigfunc_quote_remote par_environment_too_big_bash OK_bigfunc_quote_remote
par_environment_too_big_bash Rest should fail par_environment_too_big_bash Rest should fail
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_remote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_remote
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote
par_environment_too_big_bash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote_remote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote_remote
par_environment_too_big_csh Not implemented par_environment_too_big_csh Not implemented
par_environment_too_big_dash bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_dash bug #50815: env_parallel should warn if the environment is too big
par_environment_too_big_dash OK_bigvar par_environment_too_big_dash OK_bigvar
@ -1784,10 +1784,10 @@ par_environment_too_big_dash OK_bigfunc_remote
par_environment_too_big_dash OK_bigfunc_quote par_environment_too_big_dash OK_bigfunc_quote
par_environment_too_big_dash OK_bigfunc_quote_remote par_environment_too_big_dash OK_bigfunc_quote_remote
par_environment_too_big_dash Rest should fail - functions not supported in dash par_environment_too_big_dash Rest should fail - functions not supported in dash
par_environment_too_big_dash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_dash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_dash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_dash parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_dash fail_bigfunc-not-supported par_environment_too_big_dash fail_bigfunc-not-supported
par_environment_too_big_dash fail_bigfunc_remote-not-supported par_environment_too_big_dash fail_bigfunc_remote-not-supported
par_environment_too_big_dash fail_bigfunc_quote-not-supported par_environment_too_big_dash fail_bigfunc_quote-not-supported
@ -1803,14 +1803,14 @@ par_environment_too_big_ksh OK_bigfunc_remote
par_environment_too_big_ksh OK_bigfunc_quote par_environment_too_big_ksh OK_bigfunc_quote
par_environment_too_big_ksh OK_bigfunc_quote_remote par_environment_too_big_ksh OK_bigfunc_quote_remote
par_environment_too_big_ksh Rest should fail par_environment_too_big_ksh Rest should fail
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_remote par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_remote
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote
par_environment_too_big_ksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote_remote par_environment_too_big_ksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote_remote
par_environment_too_big_mksh bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_mksh bug #50815: env_parallel should warn if the environment is too big
par_environment_too_big_mksh OK_bigvar par_environment_too_big_mksh OK_bigvar
par_environment_too_big_mksh OK_bigvar_remote par_environment_too_big_mksh OK_bigvar_remote
@ -1821,14 +1821,14 @@ par_environment_too_big_mksh OK_bigfunc_remote
par_environment_too_big_mksh OK_bigfunc_quote par_environment_too_big_mksh OK_bigfunc_quote
par_environment_too_big_mksh OK_bigfunc_quote_remote par_environment_too_big_mksh OK_bigfunc_quote_remote
par_environment_too_big_mksh Rest should fail par_environment_too_big_mksh Rest should fail
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_remote par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_remote
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote
par_environment_too_big_mksh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote_remote par_environment_too_big_mksh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote_remote
par_environment_too_big_sh bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_sh bug #50815: env_parallel should warn if the environment is too big
par_environment_too_big_sh OK_bigvar par_environment_too_big_sh OK_bigvar
par_environment_too_big_sh OK_bigvar_remote par_environment_too_big_sh OK_bigvar_remote
@ -1839,10 +1839,10 @@ par_environment_too_big_sh OK_bigfunc_remote
par_environment_too_big_sh OK_bigfunc_quote par_environment_too_big_sh OK_bigfunc_quote
par_environment_too_big_sh OK_bigfunc_quote_remote par_environment_too_big_sh OK_bigfunc_quote_remote
par_environment_too_big_sh Rest should fail - functions not supported in sh par_environment_too_big_sh Rest should fail - functions not supported in sh
par_environment_too_big_sh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar par_environment_too_big_sh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_sh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote par_environment_too_big_sh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_sh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote par_environment_too_big_sh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_sh parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote par_environment_too_big_sh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_sh fail_bigfunc-not-supported par_environment_too_big_sh fail_bigfunc-not-supported
par_environment_too_big_sh fail_bigfunc_remote-not-supported par_environment_too_big_sh fail_bigfunc_remote-not-supported
par_environment_too_big_sh fail_bigfunc_quote-not-supported par_environment_too_big_sh fail_bigfunc_quote-not-supported
@ -1858,7 +1858,7 @@ par_environment_too_big_zsh OK_bigfunc_remote
par_environment_too_big_zsh OK_bigfunc_quote par_environment_too_big_zsh OK_bigfunc_quote
par_environment_too_big_zsh OK_bigfunc_quote_remote par_environment_too_big_zsh OK_bigfunc_quote_remote
par_environment_too_big_zsh Rest should fail par_environment_too_big_zsh Rest should fail
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1868,7 +1868,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1878,7 +1878,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1888,7 +1888,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1898,7 +1898,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1908,7 +1908,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1918,7 +1918,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set
@ -1928,7 +1928,7 @@ par_environment_too_big_zsh env_parallel: Error: 3. Try running this in a clean
par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env par_environment_too_big_zsh env_parallel: Error: env_parallel --record-env
par_environment_too_big_zsh env_parallel: Error: And then use '--env _' par_environment_too_big_zsh env_parallel: Error: And then use '--env _'
par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel par_environment_too_big_zsh env_parallel: Error: For details see: man env_parallel
par_environment_too_big_zsh _which_PAR:XXX: argument list too long: perl par_environment_too_big_zsh _which_PAR:999: argument list too long: perl
par_environment_too_big_zsh env_parallel: Error: Your environment is too big. par_environment_too_big_zsh env_parallel: Error: Your environment is too big.
par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: You can try 3 different approaches:
par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set

View file

@ -52,9 +52,11 @@ par_propagate_env ** test_zsh_filter
par_propagate_env FOO=test_zsh_filter par_propagate_env FOO=test_zsh_filter
par_propagate_env HOME=~ par_propagate_env HOME=~
par_propagate_env ** test_csh par_propagate_env ** test_csh
par_propagate_env MANPATH: Undefined variable.
par_propagate_env FOO=test_csh par_propagate_env FOO=test_csh
par_propagate_env HOME=~ par_propagate_env HOME=~
par_propagate_env ** test_csh_filter par_propagate_env ** test_csh_filter
par_propagate_env MANPATH: Undefined variable.
par_propagate_env FOO=test_csh_filter par_propagate_env FOO=test_csh_filter
par_propagate_env HOME=~ par_propagate_env HOME=~
par_propagate_env ** bug #41805 done par_propagate_env ** bug #41805 done

View file

@ -459,7 +459,7 @@ echo '### true < 32767-ys.xi'
### true < 32767-ys.xi ### true < 32767-ys.xi
stdout xargs true < 32767-ys.xi stdout xargs true < 32767-ys.xi
stdout parallel -k true < 32767-ys.xi stdout parallel -k true < 32767-ys.xi
parallel: Error: Command line too long (65541 >= 63664) at input 0: y y y y y y y y y y y y y y y y y y y y y y y y y ... parallel: Error: Command line too long (65541 >= 64031) at input 0: y y y y y y y y y y y y y y y y y y y y y y y y y ...
echo '### true < 16383-ys.xi' echo '### true < 16383-ys.xi'
### true < 16383-ys.xi ### true < 16383-ys.xi
stdout xargs true < 16383-ys.xi stdout xargs true < 16383-ys.xi

View file

@ -1,16 +1,16 @@
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$; wait; CHAR=$(cat /tmp/a$$ | wc -c); LINES=$(cat /tmp/a$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/awc$$; rm /tmp/a$$ /tmp/awc$$ echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$; wait; CHAR=$(cat /tmp/a$$ | wc -c); LINES=$(cat /tmp/a$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/awc$$; rm /tmp/a$$ /tmp/awc$$
### Test of xargs -m command lines > 130k ### Test of xargs -m command lines > 130k
a3c892de2524f32f78550b47336eadd0 - 2f0d9d11a071f5dbe6bd876a19499ff5 -
Chars per line: 63437 Chars per line: 63437
11 119989 697810 11 119989 697810
echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$ echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$
### Test of xargs -X command lines > 130k ### Test of xargs -X command lines > 130k
a98747678a5d18c4470a073812437ab2 - 42d5c115907de0044ef988a0639204cd -
Chars per line: 62906 Chars per line: 62906
13 60000 817788 13 60000 817788
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum
### Test of xargs -m command lines > 130k ### Test of xargs -m command lines > 130k
ba869d577103ef0cc6b6045c2a618c43 - 0896c693a7d42440f31c13c803d27df2 -
echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec. echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec.
### This causes problems if we kill child processes ### This causes problems if we kill child processes
seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum

View file

@ -59,9 +59,9 @@ please cite as described in 'parallel --citation'.
echo '### bug #39787: --xargs broken' echo '### bug #39787: --xargs broken'
### bug #39787: --xargs broken ### bug #39787: --xargs broken
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"' nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
63654 64026
63654 64026
41586 40842
echo '### --delay should grow by 3 sec per arg' echo '### --delay should grow by 3 sec per arg'
### --delay should grow by 3 sec per arg ### --delay should grow by 3 sec per arg
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"' stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'

View file

@ -341,10 +341,6 @@ echo "echo a" | parallel
a a
nice parallel -j1 -I :: -X echo 'a::b::^c::[.}c' ::: 1 nice parallel -j1 -I :: -X echo 'a::b::^c::[.}c' ::: 1
a1b1^c1[.}c a1b1^c1[.}c
echo "### BUG: The length for -X is not close to max (131072)"
### BUG: The length for -X is not close to max (131072)
seq 1 4000 | nice parallel -k -X echo {.} aa {}{.} {}{}d{} {}dd{}d{.} |head -n 1 |wc
1 6693 63652
echo '### Test -N' echo '### Test -N'
### Test -N ### Test -N
seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3} seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3}

View file

@ -1,13 +1,16 @@
par__filter_hosts_different_errors ### --filter-hosts - OK, non-such-user, connection refused, wrong host
par__filter_hosts_different_errors myhostname
par__filter_hosts_no_ssh_nxserver ### test --filter-hosts with server w/o ssh, non-existing server
par__filter_hosts_no_ssh_nxserver vagrant@parallel-server1
par__filter_hosts_no_ssh_nxserver vagrant@parallel-server2
par__filter_hosts_no_ssh_nxserver vagrant@parallel-server3
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 -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_force_number_of_cpu ### Check forced number of CPUs being respected
par_filter_hosts_different_errors aspire par_force_number_of_cpu 7
par_filter_hosts_no_ssh_nxserver ### test --filter-hosts with server w/o ssh, non-existing server par_force_number_of_cpu 13
par_filter_hosts_no_ssh_nxserver vagrant@parallel-server1
par_filter_hosts_no_ssh_nxserver vagrant@parallel-server3
par_filter_hosts_no_ssh_nxserver vagrant@parallel-server4
par_special_ssh ### Test use special ssh par_special_ssh ### Test use special ssh
par_special_ssh TODO test ssh with > 9 simultaneous par_special_ssh TODO test ssh with > 9 simultaneous
par_special_ssh 1 par_special_ssh 1
@ -111,15 +114,11 @@ par_special_ssh 98
par_special_ssh 99 par_special_ssh 99
par_special_ssh 100 par_special_ssh 100
par_timeout_retries ### test --timeout --retries par_timeout_retries ### test --timeout --retries
par_timeout_retries ssh: connect to host 192.168.1.197 port 22: No route to host par_timeout_retries
par_timeout_retries parallel: Warning: This job was killed because it timed out:
par_timeout_retries parallel: Warning: ssh 8.8.8.8 echo 8.8.8.8
par_timeout_retries parallel: Warning: This job was killed because it timed out:
par_timeout_retries parallel: Warning: ssh 8.8.8.8 echo 8.8.8.8
par_timeout_retries parallel: Warning: This job was killed because it timed out: par_timeout_retries parallel: Warning: This job was killed because it timed out:
par_timeout_retries parallel: Warning: ssh 192.168.1.197 echo 192.168.1.197
par_timeout_retries parallel: Warning: ssh 8.8.8.8 echo 8.8.8.8 par_timeout_retries parallel: Warning: ssh 8.8.8.8 echo 8.8.8.8
par_timeout_retries vagrant@parallel-server1 par_timeout_retries vagrant@parallel-server1
par_timeout_retries vagrant@parallel-server4 par_timeout_retries vagrant@parallel-server2
par_timeout_retries vagrant@parallel-server3 par_timeout_retries vagrant@parallel-server3
par_workdir_in_HOME ### test --workdir . in $HOME par_workdir_in_HOME ### test --workdir . in $HOME
par_workdir_in_HOME OK par_workdir_in_HOME OK

View file

@ -513,11 +513,11 @@ parallel: Warning: This job was killed because it timed out:
parallel: Warning: sleep 7; echo 7 parallel: Warning: sleep 7; echo 7
parallel --eta sleep ::: 1 3 2 2 1 3 3 2 1 parallel --eta sleep ::: 1 3 2 2 1 3 3 2 1
Computers / CPU cores / Max jobs to run Computers / CPU cores / Max jobs to run
1:local / 8 / 8 1:local / 9 / 9
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
parallel --progress sleep ::: 1 3 2 2 1 3 3 2 1 parallel --progress sleep ::: 1 3 2 2 1 3 3 2 1
Computers / CPU cores / Max jobs to run Computers / CPU cores / Max jobs to run
1:local / 8 / 8 1:local / 9 / 9
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
seq 1000 | parallel -j10 --bar '(echo -n {};sleep 0.1)' \ seq 1000 | parallel -j10 --bar '(echo -n {};sleep 0.1)' \
2> >(perl -pe 'BEGIN{$/="\r";$|=1};s/\r/\n/g' | 2> >(perl -pe 'BEGIN{$/="\r";$|=1};s/\r/\n/g' |
@ -751,8 +751,6 @@ BASH_FUNC_replace_tmpdir%%
BASH_FUNC_run_once%% BASH_FUNC_run_once%%
BASH_FUNC_run_test%% BASH_FUNC_run_test%%
_ _
mysqlrootpass
oracle_password
qTMPDIR qTMPDIR
qqTMPDIR qqTMPDIR
testsuitedir testsuitedir

View file

@ -1,4 +1,9 @@
rhel8 is up
centos3 is up
par_warning_on_centos3 ### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error par_warning_on_centos3 ### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error
par_warning_on_centos3 Old version gave:
par_warning_on_centos3 . Bareword found where operator expected at /tmp/parallel-20120822 line 1294, near "$Global::original_stderr init_progress"
par_warning_on_centos3 New versions should not give that.
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Bareword found where operator expected at /tmp/parallel-20120822 line 1249, near "$Global::original_stderr init_progress" par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Bareword found where operator expected at /tmp/parallel-20120822 line 1249, near "$Global::original_stderr init_progress"
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 (Missing operator before init_progress?) par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 (Missing operator before init_progress?)
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Bareword found where operator expected at /tmp/parallel-20120822 line 1294, near "$Global::original_stderr init_progress" par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Bareword found where operator expected at /tmp/parallel-20120822 line 1294, near "$Global::original_stderr init_progress"

View file

@ -1,93 +1,93 @@
### Test of #! -Y with file as input par_--debug ### Test --debug
Testing if -Y works par_--debug dburl mysql://tange:tange@/
Yes it does par_--debug databasedriver mysql user tange password tange host port database tange query
### Test of #! --shebang with file as input par_--debug [ | ((sleep 1; rm /TMP/tmpfile') & mysql --defaults-extra-file=/TMP/tmpfile' --user=tange tange)]
Testing if --shebang works par_--debug Test if --debug works
Yes it does par_--debug Yes it does
### Test reading sql on command line par_--help ### Test --help -h
Test reading SQL from command line par_--help Usage:
Yes it does par_--help sql [options] dburl [sqlcommand]
### Test reading sql from file par_--help sql [options] dburl < sql_command_file
Test reading SQL from file works par_--help
Yes it does par_--help See 'man sql' for the options
### Test dburl with username password host port par_--help Usage:
Test reading SQL from file works par_--help sql [options] dburl [sqlcommand]
Yes it does par_--help sql [options] dburl < sql_command_file
### Test .sql/aliases par_--help
Test if .sql/aliases works par_--help See 'man sql' for the options
Yes it does par_--html ### Test --html
### Test sql:sql::alias par_--html <TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
Test sql:sql::alias par_--passthrough ### Test --passthrough -p
Yes it works par_--passthrough <TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
### Test --noheaders --no-headers -n par_--passthrough <TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
abc 1 par_--retries ### Test --retries=s
def 3 par_--retries dburl pg://nongood@127.0.0.3:2227/
abc 1 par_--retries databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
def 3 par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
abc 1 par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
def 3 par_--retries Is the server running on that host and accepting TCP/IP connections?
### Test --sep -s par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
2 1 par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
2 1 par_--retries Is the server running on that host and accepting TCP/IP connections?
### Test --passthrough -p par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE> par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE> par_--retries Is the server running on that host and accepting TCP/IP connections?
### Test --html par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE> par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
### Test --show-processlist|proclist|listproc par_--retries Is the server running on that host and accepting TCP/IP connections?
2 17 par_--sep ### Test --sep -s
2 17 par_--sep 2 1
2 17 par_--sep 2 1
### Test --db-size --dbsize par_-_version ### Test --version -V
6 par_-_version 13 74 535
6 par_-_version 13 74 535
### Test --table-size --tablesize par_-r ### Test -r - retry 3 times
90 par_-r dburl pg://nongood@127.0.0.3:2227/
90 par_-r databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
### Test --debug par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
dburl mysql://tange:tange@localhost:3306/tange par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
databasedriver mysql user tange password tange host localhost port 3306 database tange query par_-r Is the server running on that host and accepting TCP/IP connections?
[ | ((sleep 1; rm /TMP/tmpfile') & mysql --defaults-extra-file=/TMP/tmpfile' --host=localhost --user=tange --port=3306 tange)] par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
Test if --debug works par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
Yes it does par_-r Is the server running on that host and accepting TCP/IP connections?
### Test --version -V par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
13 74 535 par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
13 74 535 par_-r Is the server running on that host and accepting TCP/IP connections?
### Test -r par_dbsize ### Test --db-size --dbsize
dburl pg://nongood@127.0.0.3:2227/ par_dbsize 6
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query par_dbsize 6
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_dburl_user_password_host_port ### Test dburl with username password host port
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_dburl_user_password_host_port Test dburl with username password host port
Is the server running on that host and accepting TCP/IP connections? par_dburl_user_password_host_port OK
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_listproc ### Test --show-processlist|proclist|listproc
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_listproc 3 34
Is the server running on that host and accepting TCP/IP connections? par_listproc 2 17
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_listproc 2 17
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_noheaders ### Test --noheaders --no-headers -n
Is the server running on that host and accepting TCP/IP connections? par_noheaders abc 1
### Test --retries=s par_noheaders def 3
dburl pg://nongood@127.0.0.3:2227/ par_noheaders abc 1
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query par_noheaders def 3
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_noheaders abc 1
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_noheaders def 3
Is the server running on that host and accepting TCP/IP connections? par_read_sql_from_file ### Test reading sql from file
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_read_sql_from_file Test reading SQL from file works
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_read_sql_from_file Yes it does
Is the server running on that host and accepting TCP/IP connections? par_shebang-Y ### Test of #! -Y with file as input
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_shebang-Y Testing if -Y works
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_shebang-Y Yes it does
Is the server running on that host and accepting TCP/IP connections? par_shebang_file ### Test of #! --shebang with file as input
[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] par_shebang_file Testing if --shebang works
psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused par_shebang_file Yes it does
Is the server running on that host and accepting TCP/IP connections? par_sql_aliases ### Test .sql/aliases
### Test --help -h par_sql_aliases Test if .sql/aliases works
Usage: par_sql_aliases Yes it does
sql [options] dburl [sqlcommand] par_sql_aliases ### Test sql:sql::alias
sql [options] dburl < sql_command_file par_sql_aliases Test sql:sql::alias
par_sql_aliases Yes it works
See 'man sql' for the options par_sql_on_cmdline ### Test reading sql on command line
Usage: par_sql_on_cmdline Test reading SQL from command line
sql [options] dburl [sqlcommand] par_sql_on_cmdline Yes it does
sql [options] dburl < sql_command_file par_tablesize ### Test --table-size --tablesize
par_tablesize 94
See 'man sql' for the options par_tablesize 94

View file

@ -8,8 +8,7 @@ par_influx name: databases
par_influx name par_influx name
par_influx ---- par_influx ----
par_influx _internal par_influx _internal
par_influx mydb par_influx tange
par_influx myinflux
par_influx parallel par_influx parallel
par_influx name: cpu par_influx name: cpu
par_influx time host region value par_influx time host region value

View file

@ -4,25 +4,25 @@
file>fire file>fire
file : & ) \n*.jpg file : & ) \n*.jpg
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
### --transfer - relpath ### --transfer - relpath
file>fire file>fire
file : & ) \n*.jpg file : & ) \n*.jpg
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
### --transfer --cleanup - abspath ### --transfer --cleanup - abspath
file>fire file>fire
file : & ) \n*.jpg file : & ) \n*.jpg
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
### --transfer --cleanup - relpath ### --transfer --cleanup - relpath
file>fire file>fire
file : & ) \n*.jpg file : & ) \n*.jpg
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -61,7 +61,7 @@ good if no file
/tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.file.done
/tmp/parallel.file>fire.out /tmp/parallel.file>fire.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
@ -71,7 +71,7 @@ OK
/tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.file.done
/tmp/parallel.file>fire.out /tmp/parallel.file>fire.out
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -80,7 +80,7 @@ OK
/tmp/parallel.file : & ) \n*.jpg.out /tmp/parallel.file : & ) \n*.jpg.out
/tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.file.done
/tmp/parallel.file>fire.out /tmp/parallel.file>fire.out
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -90,7 +90,7 @@ OK
/tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.file.done
/tmp/parallel.file>fire.out /tmp/parallel.file>fire.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
@ -100,7 +100,7 @@ tmp/parallel.file : & ) \n*.jpg.out
tmp/parallel.file>fire.file.done tmp/parallel.file>fire.file.done
tmp/parallel.file>fire.out tmp/parallel.file>fire.out
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -110,7 +110,7 @@ OK
/tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.file.done
/tmp/parallel.file>fire.out /tmp/parallel.file>fire.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK

View file

@ -77,27 +77,6 @@ parallel: Warning: --cleanup ignored as there are no remote --sshlogin.
8 8
9 9
10 10
### Check forced number of CPUs being respected
aspire
aspire
aspire
aspire
aspire
aspire
aspire
aspire
aspire
aspire
aspire
aspire
aspire
centos8.localdomain
centos8.localdomain
centos8.localdomain
centos8.localdomain
centos8.localdomain
centos8.localdomain
centos8.localdomain
### Check more than 9 simultaneous sshlogins ### Check more than 9 simultaneous sshlogins
1 1
2 2

View file

@ -22,30 +22,30 @@ newline1.out
tmp/parallel.file. tmp/parallel.file.
newline2.out newline2.out
good if no file good if no file
OK
OK
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: cannot access 'tmp/parallel.file*': No such file or directory
OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK
### --transfer --return --cleanup - file with newline ### --transfer --return --cleanup - file with newline
tmp/parallel.file. tmp/parallel.file.
newline1.out newline1.out
tmp/parallel.file. tmp/parallel.file.
newline2.out newline2.out
good if no file good if no file
OK
OK
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: cannot access 'tmp/parallel.file*': No such file or directory
OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK
### --trc - file with newline ### --trc - file with newline
tmp/parallel.file. tmp/parallel.file.
newline1.out newline1.out
tmp/parallel.file. tmp/parallel.file.
newline2.out newline2.out
good if no file good if no file
OK
OK
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: cannot access 'tmp/parallel.file*': No such file or directory
OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK
### --trc - multiple file with newline ### --trc - multiple file with newline
tmp/parallel.file. tmp/parallel.file.
newline1.out newline1.out
@ -56,10 +56,10 @@ newline2.out
tmp/parallel.file. tmp/parallel.file.
newline2.out2 newline2.out2
good if no file good if no file
OK
OK
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: cannot access 'tmp/parallel.file*': No such file or directory
OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK
### Test use special ssh ### Test use special ssh
tmp/parallel.file. tmp/parallel.file.
newline1.out newline1.out
@ -70,10 +70,10 @@ newline2.out
tmp/parallel.file. tmp/parallel.file.
newline2.out2 newline2.out2
good if no file good if no file
OK
OK
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: cannot access 'tmp/parallel.file*': No such file or directory
OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK
Input for ssh Input for ssh
-l vagrant one-server -- exec mkdir -p ./. -l vagrant one-server -- exec mkdir -p ./.
-l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./. -l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./.

View file

@ -1,29 +1,30 @@
### Test $PARALLEL - single line ### Test $PARALLEL - single line
4 165668 165668 1048571
134332 134332 940324
1 1
1 1
centos8.localdomain centos39-oracle817.local
freebsd12.localdomain
hostname; echo 1 hostname; echo 1
hostname; echo 1 hostname; echo 1
rhel8.localdomain
### Test $PARALLEL - multi line ### Test $PARALLEL - multi line
1 1
1 1
centos8.localdomain centos39-oracle817.local
freebsd12.localdomain
hostname; echo 1 hostname; echo 1
hostname; echo 1 hostname; echo 1
rhel8.localdomain
### Test ~/.parallel/config - single line ### Test ~/.parallel/config - single line
1 1
1 1
centos8.localdomain centos39-oracle817.local
freebsd12.localdomain
hostname; echo 1 hostname; echo 1
hostname; echo 1 hostname; echo 1
rhel8.localdomain
### Test ~/.parallel/config - multi line ### Test ~/.parallel/config - multi line
1 1
1 1
centos8.localdomain centos39-oracle817.local
freebsd12.localdomain
hostname; echo 1 hostname; echo 1
hostname; echo 1 hostname; echo 1
rhel8.localdomain

View file

@ -13,9 +13,9 @@ script2 run 4
script1 run 5 script1 run 5
script2 run 5 script2 run 5
good if no file good if no file
ls: cannot access 'script1': No such file or directory ls: script1: No such file or directory
OK OK
ls: cannot access 'script2': No such file or directory ls: script2: No such file or directory
OK OK
### Test --basefile + --sshlogin : ### Test --basefile + --sshlogin :
1 1

View file

@ -4,25 +4,25 @@
file1 file1
file2 file2
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
### --transfer - relpath ### --transfer - relpath
file1 file1
file2 file2
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
### --transfer --cleanup - abspath ### --transfer --cleanup - abspath
file1 file1
file2 file2
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
### --transfer --cleanup - relpath ### --transfer --cleanup - relpath
file1 file1
file2 file2
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -43,7 +43,7 @@ tmp/parallel.file2.out
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
@ -53,7 +53,7 @@ tmp/parallel.file1.out
tmp/parallel.file2.file.done tmp/parallel.file2.file.done
tmp/parallel.file2.out tmp/parallel.file2.out
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -63,7 +63,7 @@ OK
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -73,7 +73,7 @@ OK
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
@ -83,7 +83,7 @@ OK
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -92,7 +92,7 @@ OK
/tmp/parallel.file1.out /tmp/parallel.file1.out
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -102,7 +102,7 @@ OK
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
@ -112,7 +112,7 @@ tmp/parallel.file1.out
tmp/parallel.file2.file.done tmp/parallel.file2.file.done
tmp/parallel.file2.out tmp/parallel.file2.out
good if no file good if no file
ls: cannot access 'tmp/parallel.file*': No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
ls: tmp/parallel.file*: No such file or directory ls: tmp/parallel.file*: No such file or directory
OK OK
@ -122,7 +122,7 @@ OK
/tmp/parallel.file2.file.done /tmp/parallel.file2.file.done
/tmp/parallel.file2.out /tmp/parallel.file2.out
good if no file good if no file
ls: cannot access '/tmp/parallel.file*': No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK
ls: /tmp/parallel.file*: No such file or directory ls: /tmp/parallel.file*: No such file or directory
OK OK

View file

@ -1,15 +1,15 @@
par_nonall ### Test --nonall par_nonall ### Test --nonall
par_nonall centos8.localdomain par_nonall centos39-oracle817.local
par_nonall freebsd12.localdomain par_nonall freebsd12.localdomain
par_nonall_basefile ### Test --nonall --basefile par_nonall_basefile ### Test --nonall --basefile
par_nonall_basefile /tmp/nonall--basefile par_nonall_basefile /tmp/nonall--basefile
par_nonall_basefile /tmp/nonall--basefile par_nonall_basefile /tmp/nonall--basefile
par_nonall_sshloginfile_stdin ### Test read sshloginfile from STDIN par_nonall_sshloginfile_stdin ### Test read sshloginfile from STDIN
par_nonall_sshloginfile_stdin centos8.localdomain par_nonall_sshloginfile_stdin centos39-oracle817.local
par_nonall_sshloginfile_stdin centos8.localdomain par_nonall_sshloginfile_stdin centos39-oracle817.local
par_nonall_u ### Test --nonall -u - should be interleaved x y x y par_nonall_u ### Test --nonall -u - should be interleaved x y x y
par_nonall_u 1 centos8.localdomain par_nonall_u 1 centos39-oracle817.local
par_nonall_u 1 centos8.localdomain par_nonall_u 1 centos39-oracle817.local
par_nonall_u 1 freebsd12.localdomain par_nonall_u 1 freebsd12.localdomain
par_nonall_u 1 freebsd12.localdomain par_nonall_u 1 freebsd12.localdomain
par_onall ### Test --onall par_onall ### Test --onall