From 84a44e4435d9d043612392e1f8082d79f7d8f996 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Fri, 21 Jul 2023 04:33:22 +0200 Subject: [PATCH] Make test suite more resilient. --- NEWS | 22 + doc/haikus | 7 +- doc/release_new_version | 15 +- src/parallel | 14 +- src/parallel.pod | 17 +- src/parallel_alternatives.pod | 5 +- testsuite/Makefile | 4 +- testsuite/REQUIREMENTS | 16 + .../random_dirs_no_newline.tar.bz2 | Bin 5919 -> 0 bytes testsuite/tests-to-run/niceload02.sh | 20 +- testsuite/tests-to-run/parallel-centos3.sh | 9 +- testsuite/tests-to-run/parallel-local-10s.sh | 87 +--- testsuite/tests-to-run/parallel-local-30s.sh | 80 +++- testsuite/tests-to-run/parallel-local-3s.sh | 26 +- .../tests-to-run/parallel-local-race01.sh | 11 + .../tests-to-run/parallel-local-race02.sh | 3 +- testsuite/tests-to-run/parallel-local-ssh1.sh | 11 +- testsuite/tests-to-run/parallel-local-ssh3.sh | 15 +- testsuite/tests-to-run/parallel-local-ssh4.sh | 16 +- testsuite/tests-to-run/parallel-local-ssh5.sh | 22 +- testsuite/tests-to-run/parallel-local-ssh7.sh | 15 +- testsuite/tests-to-run/parallel-local-ssh9.sh | 2 + testsuite/tests-to-run/parallel-local104.sh | 48 --- testsuite/tests-to-run/parallel-local9.sh | 3 - testsuite/tests-to-run/parallel-macos.sh | 7 +- testsuite/tests-to-run/parallel-remote1.sh | 22 +- testsuite/tests-to-run/parallel-tutorial.sh | 4 +- .../tests-to-run/parallel-virtualbox1.sh | 24 +- testsuite/tests-to-run/sem01.sh | 19 +- testsuite/tests-to-run/sql01.sh | 202 ++++++--- testsuite/tests-to-run/sql02.sh | 2 +- testsuite/tests-to-run/sql03.sh | 10 +- testsuite/tests-to-run/test17.sh | 2 +- testsuite/tests-to-run/test18.sh | 5 +- testsuite/tests-to-run/test19.sh | 56 ++- testsuite/tests-to-run/test21.sh | 2 +- testsuite/tests-to-run/test23.sh | 4 +- testsuite/tests-to-run/test47.sh | 2 +- testsuite/tests-to-run/test60.sh | 2 +- .../Vagrantfile | 3 +- .../vagrant/generic/freebsd13/Vagrantfile | 76 ++++ .../{centos3 => centos3-gone}/Vagrantfile | 0 testsuite/wanted-results/niceload02 | 2 +- testsuite/wanted-results/parallel-local-10s | 75 +--- testsuite/wanted-results/parallel-local-1s | 8 +- testsuite/wanted-results/parallel-local-30s | 98 +++-- testsuite/wanted-results/parallel-local-3s | 23 +- testsuite/wanted-results/parallel-local-ssh1 | 8 +- testsuite/wanted-results/parallel-local-ssh3 | 2 +- testsuite/wanted-results/parallel-local-ssh4 | 252 ++++++----- testsuite/wanted-results/parallel-local-ssh5 | 316 +++++++------- testsuite/wanted-results/parallel-local-ssh7 | 408 +++++++++--------- testsuite/wanted-results/parallel-local-ssh9 | 2 + testsuite/wanted-results/parallel-local13 | 2 +- testsuite/wanted-results/parallel-local22 | 6 +- testsuite/wanted-results/parallel-local23 | 6 +- testsuite/wanted-results/parallel-local9 | 4 - testsuite/wanted-results/parallel-remote1 | 23 +- testsuite/wanted-results/parallel-tutorial | 6 +- testsuite/wanted-results/parallel-virtualbox1 | 5 + testsuite/wanted-results/sql01 | 186 ++++---- testsuite/wanted-results/sql02 | 3 +- testsuite/wanted-results/test17 | 20 +- testsuite/wanted-results/test18 | 21 - testsuite/wanted-results/test19 | 20 +- testsuite/wanted-results/test21 | 19 +- testsuite/wanted-results/test23 | 4 +- testsuite/wanted-results/test47 | 26 +- testsuite/wanted-results/test60 | 10 +- 69 files changed, 1367 insertions(+), 1098 deletions(-) delete mode 100644 testsuite/input-files/random_dirs_no_newline.tar.bz2 delete mode 100755 testsuite/tests-to-run/parallel-local104.sh rename testsuite/vagrant/FritsHoogland/{centos39-oracle817 => centos3}/Vagrantfile (96%) create mode 100644 testsuite/vagrant/generic/freebsd13/Vagrantfile rename testsuite/vagrant/tange/{centos3 => centos3-gone}/Vagrantfile (100%) diff --git a/NEWS b/NEWS index 01061d14..868a55ef 100644 --- a/NEWS +++ b/NEWS @@ -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 New in this release: diff --git a/doc/haikus b/doc/haikus index bc10c077..bff978cf 100644 --- a/doc/haikus +++ b/doc/haikus @@ -4,7 +4,9 @@ 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 -- Best Catboy Key Grip @alamogordoglass@twitter @@ -225,6 +227,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html === Used === + GNU parallel is the greatest productivity hack of all time. + -- ashpool @solanobahn@twitter + gnu parallel is actually like. really easy -- tom (era) @slimefiend@twitter diff --git a/doc/release_new_version b/doc/release_new_version index 99e7f004..c40d8c4d 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -264,23 +264,22 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -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: - gnu parallel is actually like. really easy - -- tom (era) @slimefiend@twitter + GNU parallel is the greatest productivity hack of all time. + -- ashpool @solanobahn@twitter + New in this release: +* Time functions (e.g. yyyymmdd($secs) ) can now take secs since epoch as argument. + * 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. 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. diff --git a/src/parallel b/src/parallel index 52746044..691ea01c 100755 --- a/src/parallel +++ b/src/parallel @@ -5126,6 +5126,8 @@ sub parse_host_filtering() { /\tWarning: / or /\t(Host key fingerprint is|\+-.*-\+|\|.*\|)/ + or + /\t\S+: Undefined variable./ ) { # Skip these (from perl): # perl: warning: Setting locale failed. @@ -5145,6 +5147,9 @@ sub parse_host_filtering() { # +--[ED25519 256]--+ # | o | # +----[SHA256]-----+ + # + # Skip these (from csh): + # MANPATH: Undefined variable. } elsif(not defined $nsockets{$col[0]}) { $nsockets{$col[0]} = $col[1]; } elsif(not defined $ncores{$col[0]}) { @@ -13482,7 +13487,7 @@ sub find_max($) { do { if($len > $upper) { return $len }; $lower = $len; - $len *= 16; + $len *= 4; ::debug("init", "Maxlen: $lower<$len<$upper(".($upper-$lower)."): "); } while (is_acceptable_command_line_length($len,$string)); # Then search for the actual max length between @@ -13534,7 +13539,12 @@ sub binary_find_max($$$) { } # Force using non-built-in command $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"); return not $?; } diff --git a/src/parallel.pod b/src/parallel.pod index e286c649..43471ad4 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -1050,11 +1050,22 @@ Only run jobs where I is true. I 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 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 B<--no-run-if-empty> B<{choose_k}> =item B<--filter-hosts> diff --git a/src/parallel_alternatives.pod b/src/parallel_alternatives.pod index 4b459b3e..f77f43b6 100644 --- a/src/parallel_alternatives.pod +++ b/src/parallel_alternatives.pod @@ -4123,9 +4123,12 @@ Short lines from different jobs do not mix, but long lines do: fun() { perl -e '$a="'$1'"x1000000; for(1..'$2') { print $a };'; + echo; } 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. diff --git a/testsuite/Makefile b/testsuite/Makefile index b5689c79..bb768a27 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -120,9 +120,9 @@ stop=(stdout ping -w 1 -c 1 {} && \ grep -Ev "${ignore}" startvm: - parallel --tag -k '${start}' ::: centos8 freebsd11 freebsd12 rhel8 centos3 & + parallel -j0 --tag -k '${start}' ::: centos8 freebsd13 freebsd12 rhel8 centos3 & stopvm: - parallel --tag -k '${stop}' ::: centos8 freebsd11 freebsd12 rhel8 centos3 || true + parallel -j0 --tag -k '${stop}' ::: centos8 freebsd13 freebsd12 rhel8 centos3 || true startdb: true TODO should start Oracle in vagrant diff --git a/testsuite/REQUIREMENTS b/testsuite/REQUIREMENTS index df27508a..43d030d8 100644 --- a/testsuite/REQUIREMENTS +++ b/testsuite/REQUIREMENTS @@ -317,6 +317,21 @@ lsh_setup() { ssh -l $1 lo 'cat >>.ssh/authorized_keys' } 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 'lsh -l {} lo true || export_key_to_local_users {}' 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 autoreconf --install -W gnu # Make "lib/addrinfo.h" ? + touch lib/addrinfo.h LDFLAGS=-static ./configure && (make proto; make -j2) && sudo cp rsync /usr/local/bin/rsync-$1 diff --git a/testsuite/input-files/random_dirs_no_newline.tar.bz2 b/testsuite/input-files/random_dirs_no_newline.tar.bz2 deleted file mode 100644 index 690b4c84c84ba173595e0d7b0a73e490e60e5bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5919 zcmV+)7vShZT4*^jL0KkKSqE+jYyiAw|NsB*|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|Nr0@-#7pQ@BjtRO&pfo5X(oaT0GGxq+ zPs$okX-3r1rUMAcihib%w0c5%o}(wD(rC~|F)|G_#2QA>)X9U?nmtV$B-n#SriKxO zz|hcoQ%$L->P@6$5H!<3)bcS@rlV8?Lq>x@44E_y8UctJ15FxY3`~PSXaSQT(<4Jb z(;=fxGGqfFXahqgBSS%;7=Q+YMvO**pp^2JRR91027mwn02%-Q0000000Te(00000 z000000000001W|(Y8rZIXr7Q{WN%Vv^l2Jo(-DTIYI;pHWXX}Hnh#N@q|j(=My3q{ zVWx~xnns&Rh{2){N$L!nK^hH`G zr~#uu0g<8VG6szR^oE*b(?cK(Ob`Gx&;S4ifN7IMKm$gGgVY8_fuW{H0*Hd|D2Oi2 z5e1+k3(<_SsHz1>B8V=_WNkKcX)Cn6y=|SP3TC&xsas=k$|Pn@o4JgJMZ;P#yxj)f zxw)d;*-itAR`!u1Bo?&ZDP`H2y9mUUfR{wT=Bi!>*1MH4lom?DTx#PCU@ef=9ke~P zj?4XUczI9Qn$YZdM-dLnZgHEMcgWa*hC zV$xqR3g~7cV!CR0^wDrO@HShJ+zjSDM@D6D6WH`!<+-CSjC8WzVpypW>;}UuJE-oU zc8RW_NI6DU^j*P`JO@EjL7GM!H#U_xU5j@PH<1nH#Ld%%*-l4U6|j!oFQwjxp*G-e zoiP)=3nJi-)^~2A)QL7L0V##%X4kC>)V!{1FELX&&FL`&L>8!sEh)m&g(D)0?YQW) z#THXGI_}atrLd|du;`nxy2~u8)*3sy+fl^WQFu(c^F zxQn%<#N$Y_w3^1o?2c4!<(mt;sjAjU$t=6GCYx=WtT|b_Td5+6vr$GiMG&q?Q%vGp z8>FkdI|!pPQ&i&Z8&MM^ma?m)VnrLS=ItWx>$J+4vn7)jJEOLX15WO>J2>06twcjv zBx{Rl6T6eP?z&`F>gu~C42)B-(5a%7vMaWmBvVkuSxzD*kv8e1tm;OoF%08lk}Qa^ zMz$%WN-Mi2?&|BihTze%&7|wQxjL0bwy@+WtRjl$+Xn1P$xiNTwGtD>utXLjAi6|E z7kETLVu}mUPu^*D?SCl&t-gFlUa;arsCesT?a^ut<0w=~bDU6XayBF+<+@Dr*mpAn z0{~+ccl`f)tmj*^y#99UU0KJPkF<@ZN@WA=rN~UC7@Nyd&%5&^b<4dmZt$xSS&dUg zW4fuTSg+0F-AOGVVY6MTkz54r89z@T|0a-Yj9HmZGNo@weuanW@*Lsxs{-Qkk(Q7X zWNNR1)fHtJRhSDdcdz}awS!n-U|RhmU9SyeIhQf80) zsr2EfX1B&SSGz?+wsZfBa@6fzf4TWS7f?B_3Wojayk%Yj97-Y!@{tfcWaOM;6yWaIwTXj>r!KT@$%BholF3ii%ohz~ z=Oq*GxvI1*FSIy^u>x2QqO9{2U6jmLUMkS9qBEz4YOO0<+AnUsT=Cv!b_zXssL2+k zc;$0GaF?le=hfoszW=vg!vF2tO*?l#*Ji1Bv+(*d#EZxD!%IgXQ-({JZ(*PbyTJmE zPjHkiMI0=U(ulhvS9q?>CiWQ4ADc_R>vY!Iu7AJM@8geychNCq?8nTFHLPPF7pby|p?`kC@K+pRrTpg_OS7q=VNW7LPbZm;R&;9$4? zN%%@iU3Qv<&!V~4bq`>_i!9ySbe)luQNiz(m56DxbD-eRxoW+cc>AtIpY1gOi#|H9 znhZwGOuEfIRsceRMuc|rgig^6_Bt4{nMpEvBO2ZQSdqI-CU7Dv8o8>}w0x~IvDstUmIv?LYjz*y5t znwoMgvP=Wq0fFz3U)^Kk^HnIAnF!J8KF=Z;Rlp5Sx-M~<+6>brMEp1CSWIj_2dYVu zFKDxel|>cgnMohne1O{77gzcng#UMt{-H~yzs52&(vEkJC2{0BSf(}l7csBbin3&v zT(>IJL1haP&vki5G5Lb&D2-3F{gd9e@m0En7*9~|v2iC8)V@S_p?M=;8&OIbOaB7_ zGT8Oc*NGJ1k#0k}3`rucdy(ljA;*NA-dCHsn%_zKCvFaj@LOWE}e3esiF( zogHysM`K6dLLDv5=UU)!%kvgZ_R#R~;}B7Bes*LG8uiFgEHOzB5Joc+q`xl;q^1wM zxj=8Nm3v^NAJTUbf-+5cL@Hy$JiZIAVTDy?U7l7q$9+|x`DAV3i{ zn-pB#>Xr*Aoz<3%V2HsLMbILPsVFUNa^RR3ElXpf>BCuJx2DIMF$RlHV%;^sjCJaE zWTS(FfOC(7oE!rJA`AaF&SQhyYiep~blTdK)}=~VL_uo=L^C{RT0ZyeX%ok}YC{C8 zjv6@RFFO z3#=|k(#ooiu+}WpDl?ReIJH8wQxu{RO3p+TWC$pgHDaTSg5rYUxUM*Y2!iG)rW=N% zh@iNLiMAsyIgJq`ktmCf?z)gJJ8DR|pyD{J$f7kW#ey=lPBo4cu;LYjim0QCn4;q1 zihtEr5i^ky1)3uvs&v}w*IM?y_48}U8WBQLMuMuPDJUWksEC5h(>g6|X1Xs*+JulK zf-07zzDr*=l@L(GL{>y9OiNOit|f6HAqg5uA#2d2Dg~q=g1DHibDEaE9LPx_0;q^B zvzunn&MjPH7IP91O^=)Vd;jI?I>xSZMUf@;|NJvyfL0}yYuT1fLCXH=VupL^uu_eZc)DU>e?0Xob zLYt0^Ry%7(3bRU=8qL=O+>mOiV5ZI6Aatdw^Ab<)dncd%uIuW(Zof{yU$57044rg2 z4+kB|o8-Q9Q<>q}Pmq`mElo7)yCJg%OP=P|t72QZSt4B_CApXwiJ;Azt;bTD?9E$~Y{jn~ zrG_=>dT&AYe%|AqT^8ukz&A8?7K+{Kcv2I9B0|MDrpdv>cTS4klOP zf?~!qDKLnF@*k69$MM^iuC&(ET59UbQns}#1Vk34z>!E0RZ>6&0x$?fNI?s0+S=xC zNnB!$0fbf%7{Fl^Arz1j5mMB_YD#B0rRfVpDiR7nf`ov=DIkR|X6A1QrXn$b5+evK zAOs*Vg2+=PDN9<)G9w5KV1$TB2?=b{TJsjnw7Mb-l8VA0M)H6%Aqb3uNQI^8T2k4) zF=~zoj9?^y!XXG3nZ{{)Ubn7qR7enH7(odX(0P5&L47(jT2!{BOTFsqLS|YZBq6dz zx-lKYmPs-jMuPOXZbn zd9O5B@-he{gUV&FYY!H!D@s}t5<)PA@r+(IttK&KL>3oM&Ul`eO%ta@vJSEmSn17m zI|j_5T&oocH>uqg%QufP9bVL?3BP7mbwe`zP(@@ng5<%fvF)Tw?j0x{FkVz)! zyOG!qsW`wSkO(VVoYjIim>|Is1*Iej*pU!gQlXb zZU+Qs9c6vD1_{(aU)on9} zHlGW{5yJfy`PMyY4}CHHp8WN^1mT#?u}uvHFVj0V^CR)GX)J=b{zS(kXEy8-pykkZ z;_K}1$WU_O*8s1q3C^Cr1dw(WthX&B<8tUqgM`KzI3NN5AOHv_K>!c|002SbQ4n8A zZYPW1ddBI#?U4{%ycFnX+1Pbj_%uWpib#lv5FnIV#Bl|P%D`+FdN@u}JQ+luzj}fk z!~7}<-e!iaSaJx0^hk&=#pQZY5e2!imqbB#`cV-DoJ`{3y?f7Nx>q+1uO(3t1+MqI zQ=s4d?}oF#L;G&NyT{w~A|Sl-A`3v>yN9XpUjKmR4vXq(=b@)>x33t8g3tZU>}nk! z3r_Tig2$Krorl%)sE99lL_u~)h%Ra(Ahbk5e#a%`eQr5ucux0y8 z*ztUwN4orKa(s;osDJ6g*}vr9uQ`4zw*E@rdR8{%o(5@pF`Iq&pWs%%YB~6oLroq^ zmBPc-G91epm9k1u7I!eor6!>xRL*BnkRe}Stq!HQAt};6DFOKGT)t$u7l^A!bk)+M zBu2oZU*qntRl6amxjl{6McpDAz9YH5P%bM77%}!rBg!h- z*+zMc6%%8=V$lO?L-NG(C})k1sbx;&*02CPqhXO>KTR*06NB35!SBKCY&-IWM!?E(FFl zNdSJc-=4`l$CHd1gN^A;kg$Y23haM^>U1j7K{d;zac&X#=cO%j>c?e;Hbo|O`FA=N zwHA~6t{Vi6KUs^zrj3u^kEm!@Mf051^*`YSxHzYnM+)0vk&(`y-<;Is9Kfzs#}{Dv8BDONTR^3- z`uHbNGCR$^Td@fj=61}}Rm0!fllNpTQIlVpA|KGC4^>f&kE&QfU7e??>RP&>V_UI7 z$Hccmo{A?le?u804Nh&hxZ$ zao^Kw)n-m@n=T9z!b^mhzJ?QytqU|8IGQvMM}FZI#nsbupnUF^O2e-Ks|$1X?H(37 zPfa6?)O$6s+?u5Xfg2FGurDb1uwMPht~+wDAS{o%wAf$!n{`9h()w_dQV?}Ij~5O&3SD3Dgn4FVjZk~owq?x31v!WGm7})r}iK? z#3zZf+5x(A^(e&1SMfT`RR(VdAx4!ZLzLf4rQ@FN;iZEA3FW5VRJh~pR7i{_ViWgW zpOK+MM-aU3z3M%+1F=M1$mlAil^ED?aufHeU=X<>-7Mw`)O|H{D1#x4fabg=i<)#i zw0h|`4~%my#W{?-0jr6Nt5s@Fm{jQP&O5eqQ6;;2VoVIAX<;<-koiUgC7L03r_c|G z=fOZXa}je~24*1NDAYAIMHX9%p@fMu(p&8F3OGm~q(YH<1OfaDxgwk>NCUS7wg9UA B2^IhV diff --git a/testsuite/tests-to-run/niceload02.sh b/testsuite/tests-to-run/niceload02.sh index 30be37df..069f3190 100755 --- a/testsuite/tests-to-run/niceload02.sh +++ b/testsuite/tests-to-run/niceload02.sh @@ -19,10 +19,16 @@ perl -e '$|=1;while($t++<3){sleep(1);print "."}' & # 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"' -echo "### Test --sensor -l negative" -# When the size is bigger, then run -SIZET=/tmp/parallel_sizetest -rm -f $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" -rm $SIZET +par_sensor_-l_negative() { + echo "### Test --sensor -l negative" + # When the size is bigger, then run + TMPDIR=/tmp + sizet=$(mktemp) + rm -f "$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 diff --git a/testsuite/tests-to-run/parallel-centos3.sh b/testsuite/tests-to-run/parallel-centos3.sh index 04c0772e..43ed85d2 100644 --- a/testsuite/tests-to-run/parallel-centos3.sh +++ b/testsuite/tests-to-run/parallel-centos3.sh @@ -14,6 +14,8 @@ echo 'vagrant@centos3' # user vagrant # 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 # and: # systemctl restart sshd @@ -57,13 +59,12 @@ start_centos3 testsuitedir=${testsuitedir:-$pwd} cd $testsuitedir # Copy binaries to server - cd testsuite/vagrant/tange/centos3/ 2>/dev/null - cd vagrant/tange/centos3/ 2>/dev/null - cd ../vagrant/tange/centos3/ 2>/dev/null - cd ../../../.. + cd testsuite/ 2>/dev/null + cd .. ssh $SSHLOGIN1 'mkdir -p .parallel bin; touch .parallel/will-cite' scp -q .*/src/{parallel,sem,sql,niceload,env_parallel*} $SSHLOGIN1:bin/ 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) 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' diff --git a/testsuite/tests-to-run/parallel-local-10s.sh b/testsuite/tests-to-run/parallel-local-10s.sh index bd331a82..616ed855 100644 --- a/testsuite/tests-to-run/parallel-local-10s.sh +++ b/testsuite/tests-to-run/parallel-local-10s.sh @@ -8,6 +8,17 @@ # Each should be taking 10-30s and be possible to run in parallel # 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() { echo '--retries 0 = inf' echo this wraps at 256 and should retry until it wraps @@ -44,36 +55,6 @@ par__print_in_blocks() { 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() { echo "### Test reading load from PARALLEL" export PARALLEL="--load 300%" @@ -88,6 +69,7 @@ par__load_from_PARALLEL() { par_quote_special_results() { echo "### Test --results on file systems with limited UTF8 support" + export LC_ALL=C doit() { mkfs=$1 img=$(mktemp /dev/shm/par-test-loop-XXXX.img) @@ -115,12 +97,12 @@ par_quote_special_results() { rm "$img" } 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.reiserfs -fq" "mkfs.ntfs -F" "mkfs.xfs -f" mkfs.minix \ mkfs.fat mkfs.vfat mkfs.msdos mkfs.f2fs | 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: # mkfs.bfs - ro # mkfs.cramfs - ro @@ -159,23 +141,6 @@ par_ll_color_long_line() { /\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() { echo "### Test if --load blocks. Bug."; export PARALLEL="--load 300%" @@ -354,30 +319,6 @@ par_fifo_under_csh() { 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() { echo '### Test -i and --replace: Replace with argument' (echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce diff --git a/testsuite/tests-to-run/parallel-local-30s.sh b/testsuite/tests-to-run/parallel-local-30s.sh index ecfa9dc3..b6ecfa63 100755 --- a/testsuite/tests-to-run/parallel-local-30s.sh +++ b/testsuite/tests-to-run/parallel-local-30s.sh @@ -8,6 +8,53 @@ # Each should be taking 30-100s and be possible to run in parallel # 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() { echo "### test --group-by on file bigger than block" groupcol() { @@ -24,11 +71,11 @@ par__groupby_big() { _pipe() { headtail; } export -f _pipe pipepart() { - parallel $n -k --groupby $groupcol --colsep ' ' -v \ + parallel -j8 $n -k --groupby $groupcol --colsep ' ' -v \ --pipepart -a "$sorted" _ppart } pipe() { - parallel $n -k --groupby $groupcol --colsep ' ' -v \ + parallel -j8 $n -k --groupby $groupcol --colsep ' ' -v \ < "$sorted" _pipe } export -f pipepart pipe @@ -93,9 +140,34 @@ par_bin() { paste <(seq 10) <(seq 10 -1 1) | parallel --pipe --colsep '\t' --bin '2 $_%=2' -j4 wc | sort 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) | - 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() { diff --git a/testsuite/tests-to-run/parallel-local-3s.sh b/testsuite/tests-to-run/parallel-local-3s.sh index 18113af3..c0471a2c 100644 --- a/testsuite/tests-to-run/parallel-local-3s.sh +++ b/testsuite/tests-to-run/parallel-local-3s.sh @@ -10,11 +10,11 @@ par_process_slot_var() { 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"' _ - 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"' _ - seq 0.1 0.3 1.5 | + seq 0.1 0.4 1.8 | 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 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() { @@ -382,7 +383,8 @@ par_progress() { seq 1 10 | stdout parallel --progress "sleep 1; echo {}" | wc -l 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() { @@ -417,17 +419,6 @@ par_tee_with_premature_close() { 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() { 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() { echo 'bug #50901: --sqlworker should use hostname in the joblog instead of :' - + # Something like: + # :mysqlunittest mysql://tange:tange@localhost/tange MY=:mysqlunittest parallel --sqlmaster $MY/hostname echo ::: 1 2 3 parallel -k --sqlworker $MY/hostname diff --git a/testsuite/tests-to-run/parallel-local-race01.sh b/testsuite/tests-to-run/parallel-local-race01.sh index b3c9da9a..b0042365 100755 --- a/testsuite/tests-to-run/parallel-local-race01.sh +++ b/testsuite/tests-to-run/parallel-local-race01.sh @@ -4,6 +4,17 @@ # # 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() { echo '### Test of -j filename with file content changing (missing -k is correct)' echo 1 >/tmp/jobs_to_run2 diff --git a/testsuite/tests-to-run/parallel-local-race02.sh b/testsuite/tests-to-run/parallel-local-race02.sh index 5f48b9ae..9999358f 100644 --- a/testsuite/tests-to-run/parallel-local-race02.sh +++ b/testsuite/tests-to-run/parallel-local-race02.sh @@ -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 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 @' parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2 diff --git a/testsuite/tests-to-run/parallel-local-ssh1.sh b/testsuite/tests-to-run/parallel-local-ssh1.sh index 92ea2188..0b60db78 100644 --- a/testsuite/tests-to-run/parallel-local-ssh1.sh +++ b/testsuite/tests-to-run/parallel-local-ssh1.sh @@ -37,10 +37,13 @@ par_sshpass_with_password() { par_--ssh_ssh_in_ssh() { echo '### bug #61894: Pack ssh code in eval protection' echo Unquoted ssh should work - parallel --ssh 'ssh lo ssh' -S lo 'hostname;echo' ::: OK - 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 'sshpass ssh bash@lo eval ssh' -S csh@lo 'hostname;echo' ::: OK + hostname=$(hostname) + ( + parallel --ssh 'ssh -A lo ssh' -S 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() { diff --git a/testsuite/tests-to-run/parallel-local-ssh3.sh b/testsuite/tests-to-run/parallel-local-ssh3.sh index 9748e8ee..45eb9125 100644 --- a/testsuite/tests-to-run/parallel-local-ssh3.sh +++ b/testsuite/tests-to-run/parallel-local-ssh3.sh @@ -14,18 +14,23 @@ par_trailing_space_sshlogin() { par_special_char_trc() { 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)'`" - 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)'`" - ssh parallel@lo rm -rf d'*'/ + 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 "$wd"/d'*'/ 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)'`" } 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)'`" 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? } diff --git a/testsuite/tests-to-run/parallel-local-ssh4.sh b/testsuite/tests-to-run/parallel-local-ssh4.sh index eca2d7a3..c746e921 100644 --- a/testsuite/tests-to-run/parallel-local-ssh4.sh +++ b/testsuite/tests-to-run/parallel-local-ssh4.sh @@ -34,8 +34,14 @@ par__test_different_rsync_versions() { ) > "$tmp"/rsync chmod +x "$tmp"/rsync PATH="$tmp":"$PATH" - parallel --trc {}.out -S sh@lo cp {} {}.out ::: 'a`b`c\/dev/null ; then + echo Basic use works: $2 + stdout parallel --trc {}.out -S sh@lo cp {} {}.out ::: 'a`b`c\&1' | + parallel --timeout 10000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' | perl -pe 's:/usr/bin:/bin:g;' diff --git a/testsuite/tests-to-run/parallel-local-ssh5.sh b/testsuite/tests-to-run/parallel-local-ssh5.sh index c8071a2e..0026d4b7 100644 --- a/testsuite/tests-to-run/parallel-local-ssh5.sh +++ b/testsuite/tests-to-run/parallel-local-ssh5.sh @@ -90,12 +90,30 @@ par_--controlmaster_eats() { par_--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 echo OK | parallel --ssh 'lsh -c aes256-ctr' --pipe -S csh@lo cat parallel --ssh lsh -S lo echo ::: OK echo OK | parallel --ssh lsh --pipe -S csh@lo cat - # Todo rsync/trc csh@lo - # Test gl. parallel med --ssh lsh: Hvilke fejler? brug dem. Også hvis de fejler + # Todo: + # * rsync/--trc + # * csh@lo } par_pipe_retries() { diff --git a/testsuite/tests-to-run/parallel-local-ssh7.sh b/testsuite/tests-to-run/parallel-local-ssh7.sh index 30cdb69e..c1add0ee 100755 --- a/testsuite/tests-to-run/parallel-local-ssh7.sh +++ b/testsuite/tests-to-run/parallel-local-ssh7.sh @@ -1942,9 +1942,9 @@ _EOF par_environment_too_big_mksh() { myscript=$(cat <<'_EOF' 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_quote=47 + len_var_quote=46 len_var_quote_remote=31 len_fun=28 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' # 2019-07-14 200% too high for 16 GB/4 thread parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' | - perl -pe 's/line \d\d+/line XXX/g; - s/\d+ >= \d+/XXX >= XXX/; - s/sh:? \d?\d\d:/sh: XXX:/; - s/:\d?\d\d:/:XXX:/; - s/sh\[\d+\]/sh[XXX]/; + perl -pe 's/line \d\d+/line 99/g; + s/\d+ >= \d+/999 >= 999/; + s/sh:? \d?\d\d:/sh: 999:/; + s/:\d?\d\d:/:999:/; + s/sh\[\d+\]/sh[999]/; s/.*(tange|zenodo).*//i; s:/usr/bin:/bin:g; s:/tmp/par-job-\d+_.....\[\d+\]:script[9]:g; s!/tmp/par-job-\d+_.....!script!g; + s/script: \d\d+/script: 99/g; ' diff --git a/testsuite/tests-to-run/parallel-local-ssh9.sh b/testsuite/tests-to-run/parallel-local-ssh9.sh index 5fe432a6..1c7537b4 100644 --- a/testsuite/tests-to-run/parallel-local-ssh9.sh +++ b/testsuite/tests-to-run/parallel-local-ssh9.sh @@ -138,6 +138,8 @@ _EOF par_propagate_env() { echo '### bug #41805: Idea: propagate --env for parallel --number-of-cores' + # csh complains if MANPATH is unset. Provoke this. + unset MANPATH echo '** test_zsh' FOO=test_zsh parallel --env FOO,HOME -S zsh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME' echo '** test_zsh_filter' diff --git a/testsuite/tests-to-run/parallel-local104.sh b/testsuite/tests-to-run/parallel-local104.sh deleted file mode 100755 index 634e53c0..00000000 --- a/testsuite/tests-to-run/parallel-local104.sh +++ /dev/null @@ -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 diff --git a/testsuite/tests-to-run/parallel-local9.sh b/testsuite/tests-to-run/parallel-local9.sh index 66d909f0..7fa93163 100644 --- a/testsuite/tests-to-run/parallel-local9.sh +++ b/testsuite/tests-to-run/parallel-local9.sh @@ -164,9 +164,6 @@ echo a | parallel echo {1} echo "echo a" | parallel 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' seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3} diff --git a/testsuite/tests-to-run/parallel-macos.sh b/testsuite/tests-to-run/parallel-macos.sh index 1722a567..df1ab22b 100644 --- a/testsuite/tests-to-run/parallel-macos.sh +++ b/testsuite/tests-to-run/parallel-macos.sh @@ -171,7 +171,12 @@ par_big_var_func_name() { export PARALLEL="--_unsafe" 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 -f $(compgen -A function | grep par_) diff --git a/testsuite/tests-to-run/parallel-remote1.sh b/testsuite/tests-to-run/parallel-remote1.sh index 1392aee2..5bce15b5 100644 --- a/testsuite/tests-to-run/parallel-remote1.sh +++ b/testsuite/tests-to-run/parallel-remote1.sh @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later SERVER1=parallel-server1 -SERVER2=parallel-server4 +SERVER2=parallel-server2 SERVER3=parallel-server3 SSHUSER1=vagrant SSHUSER2=vagrant @@ -20,6 +20,14 @@ export SSHLOGIN3=$SSHUSER3@$SERVER3 #SSHLOGIN2=parallel@lo #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() { echo '### Test use special ssh' 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 } -par_filter_hosts_different_errors() { +par__filter_hosts_different_errors() { 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 | - grep -v 'parallel: Warning: Removed' + grep -v 'parallel: Warning: Removed' | + perl -pe "s/$hostname/myhostname/g" } par_timeout_retries() { echo '### test --timeout --retries' stdout parallel -j0 --timeout 5 --retries 3 -k ssh {} echo {} \ ::: 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' 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' @@ -73,7 +83,7 @@ par_workdir_in_HOME() { 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' | + parallel --timeout 3000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' | perl -pe 's:/usr/bin:/bin:g' diff --git a/testsuite/tests-to-run/parallel-tutorial.sh b/testsuite/tests-to-run/parallel-tutorial.sh index c317800d..8ea521f6 100644 --- a/testsuite/tests-to-run/parallel-tutorial.sh +++ b/testsuite/tests-to-run/parallel-tutorial.sh @@ -62,7 +62,7 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' "$testsuit # /usr/bin/time -f %e s/^(\d+)\.\d+$/$1/; # --workdir ... - s:parallel/tmp/aspire-\d+-1:TMPWORKDIR:g; + s:parallel/tmp/[a-z]+-\d+-1:TMPWORKDIR:g; # .../privat/parallel2/ s='$srcdir'==; # + 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:par......par:tempfile:g; s:^tempfile\n::g; + # --progress => 1:local / 4 / 4 + s,1:local / . / .,1:local / 9 / 9, ' | uniq echo "### 3+3 .par files (from --files), 1 .tms-file from tmux attach" diff --git a/testsuite/tests-to-run/parallel-virtualbox1.sh b/testsuite/tests-to-run/parallel-virtualbox1.sh index db2ce9d0..1f731cb1 100644 --- a/testsuite/tests-to-run/parallel-virtualbox1.sh +++ b/testsuite/tests-to-run/parallel-virtualbox1.sh @@ -11,21 +11,18 @@ start_centos3() { # If not run in dir parallel/testsuite: set testsuitedir to path of testsuite testsuitedir=${testsuitedir:-$pwd} cd "$testsuitedir" - cd testsuite/vagrant/tange/centos3/ 2>/dev/null - cd vagrant/tange/centos3/ 2>/dev/null - cd ../vagrant/tange/centos3/ 2>/dev/null + cd vagrant 2>/dev/null + cd FritsHoogland/centos3 vagrantssh() { port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile) w4it-for-port-open localhost $port - ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \ - -oHostKeyAlgorithms=+ssh-rsa,ssh-dss \ - -oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" | + 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 "$@" | # Ignore empty ^M line grep .. } ( - stdout vagrant up >/dev/null - vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3' + stdout vagrant up >/dev/null & + 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 | grep -v 'default' | grep -v '==>' | grep -E '^$' & -wssh vagrant@rhel8 true -wssh vagrant@centos3 true +parallel --timeout 30 -k wssh vagrant@{} echo {} is up ::: rhel8 centos3 par_warning_on_centos3() { 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() { sshlogin="$1" program="$2" basename="$3" scp "$program" "$sshlogin":/tmp/"$basename" + ssh "$sshlogin" sudo cp /tmp/"$basename" /usr/local/bin stdout ssh "$sshlogin" perl /tmp/"$basename" echo \ ::: 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 testsuitedir=${testsuitedir:-$pwd} cd "$testsuitedir" - cd vagrant/tange/centos3/ + cd vagrant/FritsHoogland/centos3 stdout vagrant suspend | grep -v '==> default: Saving VM state' | 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 'A new version of Vagrant is available:' | grep -v 'To upgrade visit: ' | + grep -v '==> default: VM not created. Moving on...' | grep . ) diff --git a/testsuite/tests-to-run/sem01.sh b/testsuite/tests-to-run/sem01.sh index 9e8fd3b1..542fdd83 100755 --- a/testsuite/tests-to-run/sem01.sh +++ b/testsuite/tests-to-run/sem01.sh @@ -25,17 +25,6 @@ par_mutex() { 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() { echo '### Test --fg followed by --bg' parallel -u --id fgbg --fg --semaphore seq 1 10 '|' pv -qL 30 @@ -57,9 +46,9 @@ par_fg_line-buffer() { par_semaphore-timeout() { 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 --st 1 "echo B st1-start;sleep 3;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 "echo A normal-start;sleep 4;echo C normal-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 -2 "echo ERROR-st-1-start;sleep 4;echo ERROR-st-1-end" stdout sem --id st --wait } @@ -88,5 +77,5 @@ par_exit() { export -f $(compgen -A function | grep par_) 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' diff --git a/testsuite/tests-to-run/sql01.sh b/testsuite/tests-to-run/sql01.sh index 97a9f188..68e85210 100755 --- a/testsuite/tests-to-run/sql01.sh +++ b/testsuite/tests-to-run/sql01.sh @@ -15,31 +15,42 @@ exec 2>&1 # sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" # 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' -cat >/tmp/shebang <"$shebang" </tmp/shebang <"$shebang" </tmp/unittest.sql <"$unittest.sql" <> ~/.sql/aliases -perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases -sql :sqlunittest "SELECT 'Yes it does' as 'Test if .sql/aliases works';" +testtable() { + tbl=$1 + cat <> ~/.sql/aliases + perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases + sql :sqlunittest "SELECT 'Yes it does' as 'Test if .sql/aliases works';" -echo "### Test --sep -s"; -sql --no-headers -s : pg:/// 'select 1,2' | - parallel --colsep ':' echo {2} {1} -sql --no-headers --sep : pg:/// 'select 1,2' | - parallel --colsep ':' echo {2} {1} + echo "### Test sql:sql::alias" + sql sql:sql::sqlunittest "SELECT 'Yes it works' as 'Test sql:sql::alias';" +} -echo "### Test --passthrough -p"; -sql -p -H :sqlunittest 'select * from unittest' -echo -sql --passthrough -H :sqlunittest 'select * from unittest' -echo +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} + sql --noheaders "$DBURL" 'select * from noheader order by id' | + parallel -k --colsep '\t' echo {2} {1} + sql --no-headers "$DBURL" 'select * from noheader order by id' | + parallel -k --colsep '\t' echo {2} {1} +} -echo "### Test --html"; -sql --html $MYSQL_TEST_DBURL/sqlunittest 'select * from unittest' -echo +par_--sep() { + echo "### Test --sep -s"; + sql --no-headers -s : pg:/// 'select 1,2' | + parallel --colsep ':' echo {2} {1} + sql --no-headers --sep : pg:/// 'select 1,2' | + parallel --colsep ':' echo {2} {1} +} -echo "### Test --show-processlist|proclist|listproc"; -sql --show-processlist :sqlunittest | wc -lw -sql --proclist :sqlunittest | wc -lw -sql --listproc :sqlunittest | wc -lw +par_--passthrough() { + echo "### Test --passthrough -p"; + testtable passthrough | sql "$DBURL" + sql -p -H "$DBURL" 'select * from passthrough' + echo + sql --passthrough -H "$DBURL" 'select * from passthrough' + echo +} -echo "### Test --db-size --dbsize"; -sql --dbsize :sqlunittest | wc -w -sql --db-size :sqlunittest | wc -w +par_--html() { + echo "### Test --html"; + testtable html | sql "$DBURL" + sql --html "$DBURL" 'select * from html' + echo +} -echo "### Test --table-size --tablesize" -sql --showtables :sqlunittest | grep TBL | parallel sql :sqlunittest drop table -sql --tablesize :sqlunittest | wc -l -sql --table-size :sqlunittest | wc -l +par_listproc() { + echo "### Test --show-processlist|proclist|listproc"; + sql --show-processlist "$DBURL" | wc -lw + sql --proclist "$DBURL" | wc -lw + sql --listproc "$DBURL" | wc -lw +} -echo "### Test --debug" -stdout sql --debug :sqlunittest "SELECT 'Yes it does' as 'Test if --debug works';" | - replace_tmpdir | - perl -pe 's:/...........sql:/tmpfile:g' +par_dbsize() { + echo "### Test --db-size --dbsize"; + sql --dbsize "$DBURL" | wc -w + sql --db-size "$DBURL" | wc -w +} -echo "### Test --version -V" -sql --version | wc -sql -V | wc +par_tablesize() { + echo "### Test --table-size --tablesize" + sql --showtables "$DBURL" | grep TBL | parallel sql "$DBURL" drop table + sql --tablesize "$DBURL" | wc -l + sql --table-size "$DBURL" | wc -l +} -echo "### Test -r" -stdout sql -r --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 3 times';" +par_--debug() { + echo "### Test --debug" + stdout sql --debug "$DBURL" "SELECT 'Yes it does' as 'Test if --debug works';" | + replace_tmpdir | + perl -pe 's:/...........sql:/tmpfile:g' +} -echo "### Test --retries=s" -stdout sql --retries=4 --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 4 times';" +par_-_version() { + echo "### Test --version -V" + sql --version | wc + sql -V | wc +} -echo "### Test --help -h" -sql --help -sql -h +par_-r() { + echo "### Test -r - retry 3 times" + stdout sql -r --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 3 times';" +} + +par_--retries() { + echo "### Test --retries=s" + stdout sql --retries=4 --debug pg://nongood@127.0.0.3:2227/ "SELECT 'This should fail 4 times';" +} + +par_--help() { + echo "### Test --help -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' diff --git a/testsuite/tests-to-run/sql02.sh b/testsuite/tests-to-run/sql02.sh index 97c3d8ac..7a26e8a0 100644 --- a/testsuite/tests-to-run/sql02.sh +++ b/testsuite/tests-to-run/sql02.sh @@ -52,7 +52,7 @@ par_influx() { sql -s . influx:///parallel 'SELECT * FROM cpu;' sql --html influx:///parallel 'SELECT * FROM cpu;' sql influx:///parallel 'drop database parallel' - ) | perl -pe 's/\d/0/g' + ) | perl -pe 's/\d/0/g;' } diff --git a/testsuite/tests-to-run/sql03.sh b/testsuite/tests-to-run/sql03.sh index d169be1c..2f4fa90c 100644 --- a/testsuite/tests-to-run/sql03.sh +++ b/testsuite/tests-to-run/sql03.sh @@ -8,11 +8,11 @@ mysqlrootpass=${mysqlrootpass:-M-b+Ydjq4ejT4E} MYSQL_ADMIN_DBURL=mysql://root:$mysqlrootpass@/mysql # Setup -sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'" -sql $MYSQL_ADMIN_DBURL DROP DATABASE sqlunittest; -sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest; -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 "drop user 'sqlunittest'@'localhost'" +sudo sql $MYSQL_ADMIN_DBURL DROP DATABASE sqlunittest; +sudo sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest; +sudo sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" +sudo sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@/sqlunittest export MYSQL_TEST_DBURL diff --git a/testsuite/tests-to-run/test17.sh b/testsuite/tests-to-run/test17.sh index 4331c698..994968f2 100755 --- a/testsuite/tests-to-run/test17.sh +++ b/testsuite/tests-to-run/test17.sh @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later SERVER1=parallel-server1 -SERVER2=parallel-server3 +SERVER2=parallel-server2 SSHUSER1=vagrant SSHUSER2=vagrant SSHLOGIN1=$SSHUSER1@$SERVER1 diff --git a/testsuite/tests-to-run/test18.sh b/testsuite/tests-to-run/test18.sh index a80b53a2..90f81f41 100644 --- a/testsuite/tests-to-run/test18.sh +++ b/testsuite/tests-to-run/test18.sh @@ -50,8 +50,9 @@ echo ":" >>/tmp/parallel-sshlogin echo "#2/ssh -l tange nothing" >>/tmp/parallel-sshlogin seq 1 10 | parallel -k --sshloginfile /tmp/parallel-sshlogin echo -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 +# Moved to parallel-remote1.sh +#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' seq 1 11 | parallel -k -j0 -S "ssh lo" echo diff --git a/testsuite/tests-to-run/test19.sh b/testsuite/tests-to-run/test19.sh index 7b461610..c7b7bd85 100644 --- a/testsuite/tests-to-run/test19.sh +++ b/testsuite/tests-to-run/test19.sh @@ -30,9 +30,11 @@ newline2' find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --sshlogin $SSHLOGIN1,$SSHLOGIN2 cat {}";"rm {} # Should give: No such file or directory echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' +( + stdout ssh $SSHLOGIN1 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 newline > '/tmp/parallel.file. @@ -42,9 +44,11 @@ newline2' find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --cleanup --sshlogin $SSHLOGIN1,$SSHLOGIN2 cat {} # Should give: No such file or directory echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' +( + stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' + # Should give: No such file or directory + stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' +) | sort echo '### --return - file with 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 rm tmp/parallel*newline*out echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK +( + stdout ssh $SSHLOGIN1 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 newline > '/tmp/parallel.file. @@ -81,9 +87,11 @@ find tmp/parallel*newline* -print0 | stdout parallel -0 -k --transfer --return { ls tmp/parallel*newline*out rm tmp/parallel*newline*out echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK +( + stdout ssh $SSHLOGIN1 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 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 rm tmp/parallel*newline*out echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK +( + stdout ssh $SSHLOGIN1 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 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* rm tmp/parallel*newline*out* echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK +( + stdout ssh $SSHLOGIN1 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 '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* rm tmp/parallel*newline*out* echo good if no file -stdout ssh $SSHLOGIN1 ls 'tmp/parallel.file*' || echo OK -# Should give: No such file or directory -stdout ssh $SSHLOGIN2 ls 'tmp/parallel.file*' || echo OK +( + stdout ssh $SSHLOGIN1 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' 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;' diff --git a/testsuite/tests-to-run/test21.sh b/testsuite/tests-to-run/test21.sh index c8d0e12a..00eecbf8 100644 --- a/testsuite/tests-to-run/test21.sh +++ b/testsuite/tests-to-run/test21.sh @@ -18,7 +18,7 @@ SSHLOGIN3=$SSHUSER3@$SERVER3 #SERVER2=parallel-server2 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 '### Test $PARALLEL - multi line' diff --git a/testsuite/tests-to-run/test23.sh b/testsuite/tests-to-run/test23.sh index bb65d29f..2415188a 100644 --- a/testsuite/tests-to-run/test23.sh +++ b/testsuite/tests-to-run/test23.sh @@ -5,11 +5,9 @@ # SPDX-License-Identifier: GPL-3.0-or-later SERVER1=parallel-server1 -SERVER2=parallel-server3 +SERVER2=parallel-server2 SSHUSER1=vagrant SSHUSER2=vagrant -#SSHLOGIN1=parallel@$SERVER1 -#SSHLOGIN2=parallel@$SERVER2 SSHLOGIN1=$SSHUSER1@$SERVER1 SSHLOGIN2=$SSHUSER2@$SERVER2 diff --git a/testsuite/tests-to-run/test47.sh b/testsuite/tests-to-run/test47.sh index 2b09abb5..856c6712 100644 --- a/testsuite/tests-to-run/test47.sh +++ b/testsuite/tests-to-run/test47.sh @@ -6,7 +6,7 @@ SERVER1=parallel-server1 SERVER2=parallel-server2 -SERVER2=parallel-server3 +SERVER3=parallel-server3 SSHUSER1=vagrant SSHUSER2=vagrant SSHUSER3=vagrant diff --git a/testsuite/tests-to-run/test60.sh b/testsuite/tests-to-run/test60.sh index 527ee553..cd198b10 100644 --- a/testsuite/tests-to-run/test60.sh +++ b/testsuite/tests-to-run/test60.sh @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later SERVER1=parallel-server1 -SERVER2=parallel-server3 +SERVER2=parallel-server2 SSHUSER1=vagrant SSHUSER2=vagrant export SSHLOGIN1=$SSHUSER1@$SERVER1 diff --git a/testsuite/vagrant/FritsHoogland/centos39-oracle817/Vagrantfile b/testsuite/vagrant/FritsHoogland/centos3/Vagrantfile similarity index 96% rename from testsuite/vagrant/FritsHoogland/centos39-oracle817/Vagrantfile rename to testsuite/vagrant/FritsHoogland/centos3/Vagrantfile index 605430ee..b7fe8097 100644 --- a/testsuite/vagrant/FritsHoogland/centos39-oracle817/Vagrantfile +++ b/testsuite/vagrant/FritsHoogland/centos3/Vagrantfile @@ -24,6 +24,7 @@ Vagrant.configure("2") do |config| # 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 + config.vm.network :forwarded_port, guest: 22, host: 50136, id: 'ssh' # 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 @@ -32,7 +33,7 @@ Vagrant.configure("2") do |config| # 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.33" + config.vm.network "private_network", ip: "172.27.27.3" # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on diff --git a/testsuite/vagrant/generic/freebsd13/Vagrantfile b/testsuite/vagrant/generic/freebsd13/Vagrantfile new file mode 100644 index 00000000..16966670 --- /dev/null +++ b/testsuite/vagrant/generic/freebsd13/Vagrantfile @@ -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 diff --git a/testsuite/vagrant/tange/centos3/Vagrantfile b/testsuite/vagrant/tange/centos3-gone/Vagrantfile similarity index 100% rename from testsuite/vagrant/tange/centos3/Vagrantfile rename to testsuite/vagrant/tange/centos3-gone/Vagrantfile diff --git a/testsuite/wanted-results/niceload02 b/testsuite/wanted-results/niceload02 index 9264fbc8..99dff732 100644 --- a/testsuite/wanted-results/niceload02 +++ b/testsuite/wanted-results/niceload02 @@ -4,4 +4,4 @@ ### Test -p ...OK ### Test --sensor -l negative -16 +OK diff --git a/testsuite/wanted-results/parallel-local-10s b/testsuite/wanted-results/parallel-local-10s index 97c01eaf..a9d4033a 100644 --- a/testsuite/wanted-results/parallel-local-10s +++ b/testsuite/wanted-results/parallel-local-10s @@ -16,8 +16,6 @@ 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 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 6 50 250050 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_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_nice Check that --nice works par_nice load_10 @@ -704,53 +702,6 @@ par_opt_arg_eaten 2 OK par_opt_arg_eaten 3 OK par_opt_arg_eaten 4 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 200 400 1202 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 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 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 . ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ ./ par_quote_special_results mkfs.f2fs 150+0 records in 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 --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", @@ -1224,13 +1172,26 @@ par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_sockets_cores_threads ### Test --number-of-sockets/cores/threads par_sockets_cores_threads 1 +par_sockets_cores_threads 2 par_sockets_cores_threads 4 -par_sockets_cores_threads 8 -par_sockets_cores_threads 4 +par_sockets_cores_threads 2 par_sockets_cores_threads ### Test --use-sockets-instead-of-threads par_sockets_cores_threads threads done par_sockets_cores_threads sockets done 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 parallel: Error: Output is incomplete. 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 e 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 parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat 1 2 diff --git a/testsuite/wanted-results/parallel-local-1s b/testsuite/wanted-results/parallel-local-1s index ff702951..8c47c3f9 100644 --- a/testsuite/wanted-results/parallel-local-1s +++ b/testsuite/wanted-results/parallel-local-1s @@ -1269,10 +1269,10 @@ par_testquote zsh ()*=?' par_testquote fdsh "#&/ par_testquote fdsh ()*=?' par_too_long_line_X bug #54869: Long lines break -par_too_long_line_X 1 15820 63602 -par_too_long_line_X 1 12726 63630 -par_too_long_line_X 1 12726 63630 -par_too_long_line_X 1 728 3640 +par_too_long_line_X 1 15890 63952 +par_too_long_line_X 1 12796 63980 +par_too_long_line_X 1 12796 63980 +par_too_long_line_X 1 518 2590 par_trailing_space_line_continuation ### Test of trailing space continuation par_trailing_space_line_continuation foo ole bar par_trailing_space_line_continuation quux diff --git a/testsuite/wanted-results/parallel-local-30s b/testsuite/wanted-results/parallel-local-30s index 4b427e45..5077604a 100644 --- a/testsuite/wanted-results/parallel-local-30s +++ b/testsuite/wanted-results/parallel-local-30s @@ -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/ NewRec 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 Of 300 runs of 1 job at least one should be bigger than a 3000 job run 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 ### Blocks in version 20220122 -par_bin 0 0 0 -par_bin 0 0 0 -par_bin 0 0 0 -par_bin 0 0 0 -par_bin 0 0 0 -par_bin 0 0 0 -par_bin 0 0 0 -par_bin 1 1 3 -par_bin 1 2 4 -par_bin 1 2 4 -par_bin 1 2 4 -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_bin 10 +par_bin 1 10 +par_bin 10 1 +par_bin 2 9 +par_bin 3 8 +par_bin 4 7 +par_bin 5 6 +par_bin 6 5 +par_bin 7 4 +par_bin 8 3 +par_bin 9 2 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 # with or without parallel @@ -2728,8 +2725,8 @@ par_macron 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: `echo <<>>' -par_macron <<>> -X /usr/bin/bash: line 1: : No such file or directory -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: : Invalid or incomplete multibyte or wide character par_macron <<>> -q <<>> par_macron <<>> -q <<>> <<>> par_macron <<>> -q "<<>>" <<>> @@ -2747,15 +2744,15 @@ par_macron 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: `echo <<>>' -par_macron <<>> -k /usr/bin/bash: line 1: : No such file or directory -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: : 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 63xxx -par_max_length_len_128k 63xxx -par_max_length_len_128k 63xxx -par_max_length_len_128k 63xxx -par_max_length_len_128k 63xxx -par_max_length_len_128k 63xxx +par_max_length_len_128k 64xxx +par_max_length_len_128k 64xxx +par_max_length_len_128k 64xxx +par_max_length_len_128k 64xxx +par_max_length_len_128k 64xxx +par_max_length_len_128k 64xxx par_memfree ### test memfree - it should be killed by timeout par_memfree Free mem: 1k 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 tagstring=-k compress=-k 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 1 par_race_condition1 2 @@ -2788,6 +2832,8 @@ par_race_condition1 7 par_race_condition1 8 par_race_condition1 9 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 OK par_shard OK diff --git a/testsuite/wanted-results/parallel-local-3s b/testsuite/wanted-results/parallel-local-3s index 09c98b8f..064b01b0 100644 --- a/testsuite/wanted-results/parallel-local-3s +++ b/testsuite/wanted-results/parallel-local-3s @@ -1,6 +1,6 @@ par_10000_m_X ### Test -m with 10000 args 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 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 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 parallel: Warning: This job was killed because it timed out: 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 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_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent par_exitval_signal exitval=128+6 OK @@ -679,7 +666,7 @@ par_progress 16 par_progress ### Test of --progress with no jobs par_progress 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_replacement_slashslash ### Test {//} par_replacement_slashslash . a @@ -743,7 +730,7 @@ par_shebang r [1] "B" par_shebang r [1] "C" par_show_limits ### Test --show-limits 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 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 @@ -760,7 +747,7 @@ par_show_limits press CTRL-D or CTRL-C par_show_limits bar car far par_show_limits ### BUG: empty lines with --show-limit 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 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 diff --git a/testsuite/wanted-results/parallel-local-ssh1 b/testsuite/wanted-results/parallel-local-ssh1 index b81deffe..4f2cf587 100644 --- a/testsuite/wanted-results/parallel-local-ssh1 +++ b/testsuite/wanted-results/parallel-local-ssh1 @@ -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_--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 aspire +par_--ssh_ssh_in_ssh myhostname 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 aspire +par_--ssh_ssh_in_ssh myhostname 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_PARALLEL_SSH_function ### use function as $PARALLEL_SSH par_PARALLEL_SSH_function Run through FOOSSH? diff --git a/testsuite/wanted-results/parallel-local-ssh3 b/testsuite/wanted-results/parallel-local-ssh3 index 50c10a60..fb2a9ec1 100644 --- a/testsuite/wanted-results/parallel-local-ssh3 +++ b/testsuite/wanted-results/parallel-local-ssh3 @@ -23,7 +23,7 @@ par_rpl_perlexpr_not_used_in_command remote OK par_rplstr_return ### bug #45906: {= in header =} par_rplstr_return returnfile45906 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_trailing_space_sshlogin ### trailing space in sshlogin par_trailing_space_sshlogin sshlogin trailing space diff --git a/testsuite/wanted-results/parallel-local-ssh4 b/testsuite/wanted-results/parallel-local-ssh4 index 48451d11..712b393f 100644 --- a/testsuite/wanted-results/parallel-local-ssh4 +++ b/testsuite/wanted-results/parallel-local-ssh4 @@ -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 /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/1 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/stdout 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/pwdsh@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/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.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/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/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/1 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/stderr par_--nonall_results /TMP/onall/slash/csh@lo/1/pwd/stdout -par_--nonall_results /TMP/onall/rplnoslash -par_--nonall_results /TMP/onall/rplnoslash/idsh@lo.seq -par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo.seq -par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo -par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo.err -par_--nonall_results /TMP/onall/rplnoslash/idcsh@lo.err -par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo.err -par_--nonall_results /TMP/onall/rplnoslash/idsh@lo -par_--nonall_results /TMP/onall/rplnoslash/pwdcsh@lo -par_--nonall_results /TMP/onall/rplnoslash/pwdsh@lo.seq -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 /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 ### --results --nonall 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 /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/1 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/stdout 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.seq 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.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/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/1 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/stdout -par_--nonall_results /TMP/nonall/rplnoslash -par_--nonall_results /TMP/nonall/rplnoslash/sh@lo.seq -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/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_--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_--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 @@ -193,6 +193,52 @@ par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach par__--tmux_different_shells 4 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 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 3 big vars run remotely - length(base64) > 1000 par_bigvar_csh 1 200 692 diff --git a/testsuite/wanted-results/parallel-local-ssh5 b/testsuite/wanted-results/parallel-local-ssh5 index 7ef7800f..f71055dd 100644 --- a/testsuite/wanted-results/parallel-local-ssh5 +++ b/testsuite/wanted-results/parallel-local-ssh5 @@ -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 foo_autossh par_--ssh_lsh ### --ssh lsh -par_--ssh_lsh OK -par_--ssh_lsh OK -par_--ssh_lsh OK -par_--ssh_lsh OK +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_--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 -Slo -j10 " 1 1 1 1 4 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 9 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 10 parallel: Error: Command line too long (295xxx >= 63xxx) 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 9 parallel: Error: Command line too long (196xxx >= 63xxx) 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 " 3 8 parallel: Error: Command line too long (98xxx >= 63xxx) 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 10 parallel: Error: Command line too long (885xxx >= 63xxx) 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 9 parallel: Error: Command line too long (393xxx >= 63xxx) 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 " 5 8 parallel: Error: Command line too long (164xxx >= 63xxx) 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 10 parallel: Error: Command line too long (1476xxx >= 63xxx) 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 8 parallel: Error: Command line too long (196xxx >= 63xxx) 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 10 parallel: Error: Command line too long (1771xxx >= 63xxx) 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 8 parallel: Error: Command line too long (229xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2066xxx >= 63xxx) 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 8 parallel: Error: Command line too long (262xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2361xxx >= 63xxx) 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 8 parallel: Error: Command line too long (295xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2657xxx >= 63xxx) 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 8 parallel: Error: Command line too long (328xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2952xxx >= 63xxx) 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 10 parallel: Error: Command line too long (295xxx >= 63xxx) 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 9 parallel: Error: Command line too long (196xxx >= 63xxx) 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 ' 3 8 parallel: Error: Command line too long (98xxx >= 63xxx) 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 10 parallel: Error: Command line too long (885xxx >= 63xxx) 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 9 parallel: Error: Command line too long (393xxx >= 63xxx) 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 ' 5 8 parallel: Error: Command line too long (164xxx >= 63xxx) 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 10 parallel: Error: Command line too long (1476xxx >= 63xxx) 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 8 parallel: Error: Command line too long (196xxx >= 63xxx) 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 10 parallel: Error: Command line too long (1771xxx >= 63xxx) 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 8 parallel: Error: Command line too long (229xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2066xxx >= 63xxx) 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 8 parallel: Error: Command line too long (262xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2361xxx >= 63xxx) 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 8 parallel: Error: Command line too long (295xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2657xxx >= 63xxx) 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 8 parallel: Error: Command line too long (328xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2952xxx >= 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) at input 0: '''''''''' par__--shellquote_command_len " 1 1 1 2 6 par__--shellquote_command_len " 1 2 1 2 12 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 9 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 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: " -par__--shellquote_command_len " 1 10 parallel: Error: Command line too long (590xxx >= 63xxx) 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 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: " -par__--shellquote_command_len " 2 10 parallel: Error: Command line too long (1180xxx >= 63xxx) 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 8 parallel: Error: Command line too long (196xxx >= 63xxx) 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 10 parallel: Error: Command line too long (1771xxx >= 63xxx) 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 8 parallel: Error: Command line too long (262xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2361xxx >= 63xxx) 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 8 parallel: Error: Command line too long (328xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2952xxx >= 63xxx) 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 8 parallel: Error: Command line too long (393xxx >= 63xxx) 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 10 parallel: Error: Command line too long (3542xxx >= 63xxx) 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 8 parallel: Error: Command line too long (459xxx >= 63xxx) 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 10 parallel: Error: Command line too long (4133xxx >= 63xxx) 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 8 parallel: Error: Command line too long (524xxx >= 63xxx) 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 10 parallel: Error: Command line too long (4723xxx >= 63xxx) 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 7 parallel: Error: Command line too long (196xxx >= 63xxx) 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 9 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: " -par__--shellquote_command_len " 9 10 parallel: Error: Command line too long (5314xxx >= 63xxx) 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 7 parallel: Error: Command line too long (218xxx >= 63xxx) 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 9 parallel: Error: Command line too long (1968xxx >= 63xxx) at input 0: " -par__--shellquote_command_len " 10 10 parallel: Error: Command line too long (5904xxx >= 63xxx) 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 9 parallel: Error: Command line too long (196xxx >= 63xxx) at input 0: ' -par__--shellquote_command_len ' 1 10 parallel: Error: Command line too long (590xxx >= 63xxx) 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 9 parallel: Error: Command line too long (393xxx >= 63xxx) at input 0: '' -par__--shellquote_command_len ' 2 10 parallel: Error: Command line too long (1180xxx >= 63xxx) 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 8 parallel: Error: Command line too long (196xxx >= 63xxx) 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 10 parallel: Error: Command line too long (1771xxx >= 63xxx) 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 8 parallel: Error: Command line too long (262xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2361xxx >= 63xxx) 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 8 parallel: Error: Command line too long (328xxx >= 63xxx) 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 10 parallel: Error: Command line too long (2952xxx >= 63xxx) 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 8 parallel: Error: Command line too long (393xxx >= 63xxx) 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 10 parallel: Error: Command line too long (3542xxx >= 63xxx) 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 8 parallel: Error: Command line too long (459xxx >= 63xxx) 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 10 parallel: Error: Command line too long (4133xxx >= 63xxx) 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 8 parallel: Error: Command line too long (524xxx >= 63xxx) 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 10 parallel: Error: Command line too long (4723xxx >= 63xxx) 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 7 parallel: Error: Command line too long (196xxx >= 63xxx) 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 9 parallel: Error: Command line too long (1771xxx >= 63xxx) at input 0: ''''''''' -par__--shellquote_command_len ' 9 10 parallel: Error: Command line too long (5314xxx >= 63xxx) 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 7 parallel: Error: Command line too long (218xxx >= 63xxx) 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 9 parallel: Error: Command line too long (1968xxx >= 63xxx) at input 0: '''''''''' -par__--shellquote_command_len ' 10 10 parallel: Error: Command line too long (5904xxx >= 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) 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 >= 64xxx) at input 0: '''''''''' par__basefile_cleanup ### bug #46520: --basefile cleans up without --cleanup par__basefile_cleanup bug_46520 par__basefile_cleanup bug_46520 diff --git a/testsuite/wanted-results/parallel-local-ssh7 b/testsuite/wanted-results/parallel-local-ssh7 index 5d64795f..aef1b89c 100644 --- a/testsuite/wanted-results/parallel-local-ssh7 +++ b/testsuite/wanted-results/parallel-local-ssh7 @@ -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 script: line XXX: 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_alias: 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 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 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 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 /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 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_csh ### 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 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 ^ -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 ^ 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 ^ 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 myfunc work par_--env_underscore_fish ^ @@ -547,9 +547,9 @@ par__man_ksh work, par__man_ksh too par__man_ksh This may never work 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 XXX: `{' 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 99: `{' 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 Unknown option: no-such-option 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 ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_ash -par_env_parallel_--session_ash script: 33: level0func: not found -par_env_parallel_--session_ash script: 33: level0alias: not found -par_env_parallel_--session_ash script: 33: Bad substitution +par_env_parallel_--session_ash script: 99: level0func: not found +par_env_parallel_--session_ash script: 99: level0alias: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash -par_env_parallel_--session_ash /bin/ash: XXX: level0func: not found -par_env_parallel_--session_ash /bin/ash: XXX: level0alias: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level0func: not found +par_env_parallel_--session_ash /bin/ash: 999: level0alias: not found +par_env_parallel_--session_ash /bin/ash: 999: Bad substitution par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1alias -par_env_parallel_--session_ash script: 33: level1func: not found -par_env_parallel_--session_ash script: 33: Bad substitution +par_env_parallel_--session_ash script: 99: level1func: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1alias -par_env_parallel_--session_ash /bin/ash: XXX: level1func: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level1func: not found +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 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 ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_ash -par_env_parallel_--session_ash script: 35: level0func: not found -par_env_parallel_--session_ash script: 35: level0alias: not found -par_env_parallel_--session_ash script: 35: Bad substitution +par_env_parallel_--session_ash script: 99: level0func: not found +par_env_parallel_--session_ash script: 99: level0alias: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash -par_env_parallel_--session_ash /bin/ash: XXX: level0func: not found -par_env_parallel_--session_ash /bin/ash: XXX: level0alias: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level0func: not found +par_env_parallel_--session_ash /bin/ash: 999: level0alias: not found +par_env_parallel_--session_ash /bin/ash: 999: Bad substitution par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1alias -par_env_parallel_--session_ash script: 35: level1func: not found -par_env_parallel_--session_ash script: 35: Bad substitution +par_env_parallel_--session_ash script: 99: level1func: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1alias -par_env_parallel_--session_ash /bin/ash: XXX: level1func: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level1func: not found +par_env_parallel_--session_ash /bin/ash: 999: Bad substitution par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2alias -par_env_parallel_--session_ash script: 35: level2func: not found -par_env_parallel_--session_ash script: 35: Bad substitution +par_env_parallel_--session_ash script: 99: level2func: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2alias -par_env_parallel_--session_ash /bin/ash: XXX: level2func: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level2func: not found +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 l0var par_env_parallel_--session_ash l0alias -par_env_parallel_--session_ash script: 30: level0func: not found -par_env_parallel_--session_ash script: 30: Bad substitution +par_env_parallel_--session_ash script: 99: level0func: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash l0var par_env_parallel_--session_ash l0alias -par_env_parallel_--session_ash /bin/ash: XXX: level0func: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level0func: not found +par_env_parallel_--session_ash /bin/ash: 999: Bad substitution par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1alias -par_env_parallel_--session_ash script: 30: level1func: not found -par_env_parallel_--session_ash script: 30: Bad substitution +par_env_parallel_--session_ash script: 99: level1func: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash l1var par_env_parallel_--session_ash l1alias -par_env_parallel_--session_ash /bin/ash: XXX: level1func: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level1func: not found +par_env_parallel_--session_ash /bin/ash: 999: Bad substitution par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2alias -par_env_parallel_--session_ash script: 30: level2func: not found -par_env_parallel_--session_ash script: 30: Bad substitution +par_env_parallel_--session_ash script: 99: level2func: not found +par_env_parallel_--session_ash script: 99: Bad substitution par_env_parallel_--session_ash l2var par_env_parallel_--session_ash l2alias -par_env_parallel_--session_ash /bin/ash: XXX: level2func: not found -par_env_parallel_--session_ash /bin/ash: XXX: Bad substitution +par_env_parallel_--session_ash /bin/ash: 999: level2func: not found +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 script: 2: aliasbefore: not found 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 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 XXX: level0alias: command not found +par_env_parallel_--session_bash script: line 99: level0func: 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 fail -par_env_parallel_--session_bash /bin/bash: line XXX: 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: level0func: 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 l1func 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 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 XXX: level0alias: command not found +par_env_parallel_--session_bash script: line 99: level0func: 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 fail -par_env_parallel_--session_bash /bin/bash: line XXX: 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: level0func: 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 fail -par_env_parallel_--session_bash script: line XXX: level1func: command not found -par_env_parallel_--session_bash script: line XXX: level1alias: command not found +par_env_parallel_--session_bash script: line 99: level1func: 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 fail -par_env_parallel_--session_bash /bin/bash: line XXX: 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: level1func: 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 l2func 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 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 XXX: level0alias: command not found +par_env_parallel_--session_bash script: line 99: level0func: 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 fail -par_env_parallel_--session_bash /bin/bash: line XXX: 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: level0func: 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 l1func 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 l2alias 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 script: line XXX: aliasl0: command not found -par_env_parallel_--session_bash /bin/bash: line XXX: funcl0: command not found -par_env_parallel_--session_bash script: line XXX: funcl0: command not found +par_env_parallel_--session_bash /bin/bash: line 99: aliasl0: command not found +par_env_parallel_--session_bash script: line 99: aliasl0: command not found +par_env_parallel_--session_bash /bin/bash: line 99: 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 @@ -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 ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_dash -par_env_parallel_--session_dash script: 33: level0func: not found -par_env_parallel_--session_dash script: 33: level0alias: not found -par_env_parallel_--session_dash script: 33: Bad substitution +par_env_parallel_--session_dash script: 99: level0func: not found +par_env_parallel_--session_dash script: 99: level0alias: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash -par_env_parallel_--session_dash /bin/dash: XXX: level0func: not found -par_env_parallel_--session_dash /bin/dash: XXX: level0alias: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level0func: not found +par_env_parallel_--session_dash /bin/dash: 999: level0alias: not found +par_env_parallel_--session_dash /bin/dash: 999: Bad substitution par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1alias -par_env_parallel_--session_dash script: 33: level1func: not found -par_env_parallel_--session_dash script: 33: Bad substitution +par_env_parallel_--session_dash script: 99: level1func: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1alias -par_env_parallel_--session_dash /bin/dash: XXX: level1func: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level1func: not found +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 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 ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_dash -par_env_parallel_--session_dash script: 35: level0func: not found -par_env_parallel_--session_dash script: 35: level0alias: not found -par_env_parallel_--session_dash script: 35: Bad substitution +par_env_parallel_--session_dash script: 99: level0func: not found +par_env_parallel_--session_dash script: 99: level0alias: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash -par_env_parallel_--session_dash /bin/dash: XXX: level0func: not found -par_env_parallel_--session_dash /bin/dash: XXX: level0alias: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level0func: not found +par_env_parallel_--session_dash /bin/dash: 999: level0alias: not found +par_env_parallel_--session_dash /bin/dash: 999: Bad substitution par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1alias -par_env_parallel_--session_dash script: 35: level1func: not found -par_env_parallel_--session_dash script: 35: Bad substitution +par_env_parallel_--session_dash script: 99: level1func: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1alias -par_env_parallel_--session_dash /bin/dash: XXX: level1func: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level1func: not found +par_env_parallel_--session_dash /bin/dash: 999: Bad substitution par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2alias -par_env_parallel_--session_dash script: 35: level2func: not found -par_env_parallel_--session_dash script: 35: Bad substitution +par_env_parallel_--session_dash script: 99: level2func: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2alias -par_env_parallel_--session_dash /bin/dash: XXX: level2func: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level2func: not found +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 l0var par_env_parallel_--session_dash l0alias -par_env_parallel_--session_dash script: 30: level0func: not found -par_env_parallel_--session_dash script: 30: Bad substitution +par_env_parallel_--session_dash script: 99: level0func: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash l0var par_env_parallel_--session_dash l0alias -par_env_parallel_--session_dash /bin/dash: XXX: level0func: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level0func: not found +par_env_parallel_--session_dash /bin/dash: 999: Bad substitution par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1alias -par_env_parallel_--session_dash script: 30: level1func: not found -par_env_parallel_--session_dash script: 30: Bad substitution +par_env_parallel_--session_dash script: 99: level1func: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash l1var par_env_parallel_--session_dash l1alias -par_env_parallel_--session_dash /bin/dash: XXX: level1func: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level1func: not found +par_env_parallel_--session_dash /bin/dash: 999: Bad substitution par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2alias -par_env_parallel_--session_dash script: 30: level2func: not found -par_env_parallel_--session_dash script: 30: Bad substitution +par_env_parallel_--session_dash script: 99: level2func: not found +par_env_parallel_--session_dash script: 99: Bad substitution par_env_parallel_--session_dash l2var par_env_parallel_--session_dash l2alias -par_env_parallel_--session_dash /bin/dash: XXX: level2func: not found -par_env_parallel_--session_dash /bin/dash: XXX: Bad substitution +par_env_parallel_--session_dash /bin/dash: 999: level2func: not found +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 script: 2: aliasbefore: not found 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 par_env_parallel_--session_ksh fail -par_env_parallel_--session_ksh /bin/ksh[XXX]: level0func: not found -par_env_parallel_--session_ksh /bin/ksh[XXX]: level0alias: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level0func: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level0alias: not found par_env_parallel_--session_ksh l1var par_env_parallel_--session_ksh l1func 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 par_env_parallel_--session_ksh fail -par_env_parallel_--session_ksh /bin/ksh[XXX]: level0func: not found -par_env_parallel_--session_ksh /bin/ksh[XXX]: level0alias: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level0func: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level0alias: not found par_env_parallel_--session_ksh par_env_parallel_--session_ksh fail 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 par_env_parallel_--session_ksh fail -par_env_parallel_--session_ksh /bin/ksh[XXX]: level1func: not found -par_env_parallel_--session_ksh /bin/ksh[XXX]: level1alias: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level1func: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level1alias: not found par_env_parallel_--session_ksh l2var par_env_parallel_--session_ksh l2func 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 par_env_parallel_--session_ksh fail -par_env_parallel_--session_ksh /bin/ksh[XXX]: level0func: not found -par_env_parallel_--session_ksh /bin/ksh[XXX]: level0alias: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level0func: not found +par_env_parallel_--session_ksh /bin/ksh[999]: level0alias: not found par_env_parallel_--session_ksh l1var par_env_parallel_--session_ksh l1func 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 ### level0 should be hidden, level1 should be transferred par_env_parallel_--session_sh -par_env_parallel_--session_sh script: 30: level0func: not found -par_env_parallel_--session_sh script: 30: level0alias: not found -par_env_parallel_--session_sh script: 30: Bad substitution +par_env_parallel_--session_sh script: 99: level0func: not found +par_env_parallel_--session_sh script: 99: level0alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh -par_env_parallel_--session_sh /bin/sh: XXX: level0func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level0alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level0func: not found +par_env_parallel_--session_sh /bin/sh: 999: level0alias: not found +par_env_parallel_--session_sh /bin/sh: 999: Bad substitution par_env_parallel_--session_sh l1var -par_env_parallel_--session_sh script: 30: level1func: not found -par_env_parallel_--session_sh script: 30: level1alias: not found -par_env_parallel_--session_sh script: 30: Bad substitution +par_env_parallel_--session_sh script: 99: level1func: not found +par_env_parallel_--session_sh script: 99: level1alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh l1var -par_env_parallel_--session_sh /bin/sh: XXX: level1func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level1alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level1func: not found +par_env_parallel_--session_sh /bin/sh: 999: level1alias: not found +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 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 ### level0 should be hidden, level1+2 should be transferred par_env_parallel_--session_sh -par_env_parallel_--session_sh script: 31: level0func: not found -par_env_parallel_--session_sh script: 31: level0alias: not found -par_env_parallel_--session_sh script: 31: Bad substitution +par_env_parallel_--session_sh script: 99: level0func: not found +par_env_parallel_--session_sh script: 99: level0alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh -par_env_parallel_--session_sh /bin/sh: XXX: level0func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level0alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level0func: not found +par_env_parallel_--session_sh /bin/sh: 999: level0alias: not found +par_env_parallel_--session_sh /bin/sh: 999: Bad substitution par_env_parallel_--session_sh l1var -par_env_parallel_--session_sh script: 31: level1func: not found -par_env_parallel_--session_sh script: 31: level1alias: not found -par_env_parallel_--session_sh script: 31: Bad substitution +par_env_parallel_--session_sh script: 99: level1func: not found +par_env_parallel_--session_sh script: 99: level1alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh l1var -par_env_parallel_--session_sh /bin/sh: XXX: level1func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level1alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level1func: not found +par_env_parallel_--session_sh /bin/sh: 999: level1alias: not found +par_env_parallel_--session_sh /bin/sh: 999: Bad substitution par_env_parallel_--session_sh l2var -par_env_parallel_--session_sh script: 31: level2func: not found -par_env_parallel_--session_sh script: 31: level2alias: not found -par_env_parallel_--session_sh script: 31: Bad substitution +par_env_parallel_--session_sh script: 99: level2func: not found +par_env_parallel_--session_sh script: 99: level2alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh l2var -par_env_parallel_--session_sh /bin/sh: XXX: level2func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level2alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level2func: not found +par_env_parallel_--session_sh /bin/sh: 999: level2alias: not found +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 l0var -par_env_parallel_--session_sh script: 27: level0func: not found -par_env_parallel_--session_sh script: 27: level0alias: not found -par_env_parallel_--session_sh script: 27: Bad substitution +par_env_parallel_--session_sh script: 99: level0func: not found +par_env_parallel_--session_sh script: 99: level0alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh l0var -par_env_parallel_--session_sh /bin/sh: XXX: level0func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level0alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level0func: not found +par_env_parallel_--session_sh /bin/sh: 999: level0alias: not found +par_env_parallel_--session_sh /bin/sh: 999: Bad substitution par_env_parallel_--session_sh l1var -par_env_parallel_--session_sh script: 27: level1func: not found -par_env_parallel_--session_sh script: 27: level1alias: not found -par_env_parallel_--session_sh script: 27: Bad substitution +par_env_parallel_--session_sh script: 99: level1func: not found +par_env_parallel_--session_sh script: 99: level1alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh l1var -par_env_parallel_--session_sh /bin/sh: XXX: level1func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level1alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level1func: not found +par_env_parallel_--session_sh /bin/sh: 999: level1alias: not found +par_env_parallel_--session_sh /bin/sh: 999: Bad substitution par_env_parallel_--session_sh l2var -par_env_parallel_--session_sh script: 27: level2func: not found -par_env_parallel_--session_sh script: 27: level2alias: not found -par_env_parallel_--session_sh script: 27: Bad substitution +par_env_parallel_--session_sh script: 99: level2func: not found +par_env_parallel_--session_sh script: 99: level2alias: not found +par_env_parallel_--session_sh script: 99: Bad substitution par_env_parallel_--session_sh l2var -par_env_parallel_--session_sh /bin/sh: XXX: level2func: not found -par_env_parallel_--session_sh /bin/sh: XXX: level2alias: not found -par_env_parallel_--session_sh /bin/sh: XXX: Bad substitution +par_env_parallel_--session_sh /bin/sh: 999: level2func: not found +par_env_parallel_--session_sh /bin/sh: 999: level2alias: not found +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 script: 2: aliasbefore: 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_remote 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 (XXX >= XXX) 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 (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 +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 (999 >= 999) 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_remote 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_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_remote 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 (XXX >= XXX) 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 (XXX >= XXX) 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 (XXX >= XXX) 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 (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_bigvar +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 (999 >= 999) 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_remote +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 (999 >= 999) at input 0: fail_bigfunc_remote +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 (999 >= 999) at input 0: fail_bigfunc_quote_remote 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 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_remote 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 (XXX >= XXX) 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 (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 +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 (999 >= 999) 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_remote 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_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_remote 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 (XXX >= XXX) 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 (XXX >= XXX) 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 (XXX >= XXX) 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 (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_bigvar +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 (999 >= 999) 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_remote +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 (999 >= 999) at input 0: fail_bigfunc_remote +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 (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 OK_bigvar 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_remote 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 (XXX >= XXX) 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 (XXX >= XXX) 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 (XXX >= XXX) 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 (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_bigvar +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 (999 >= 999) 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_remote +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 (999 >= 999) at input 0: fail_bigfunc_remote +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 (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 OK_bigvar 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_remote 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 (XXX >= XXX) 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 (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 +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 (999 >= 999) 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_remote 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_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_remote 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: 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: And then use '--env _' 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: You can try 3 different approaches: par_environment_too_big_zsh env_parallel: Error: 1. Run 'env_parallel --session' before you set diff --git a/testsuite/wanted-results/parallel-local-ssh9 b/testsuite/wanted-results/parallel-local-ssh9 index b0a7bcdd..3c2e321b 100644 --- a/testsuite/wanted-results/parallel-local-ssh9 +++ b/testsuite/wanted-results/parallel-local-ssh9 @@ -52,9 +52,11 @@ par_propagate_env ** test_zsh_filter par_propagate_env FOO=test_zsh_filter par_propagate_env HOME=~ par_propagate_env ** test_csh +par_propagate_env MANPATH: Undefined variable. par_propagate_env FOO=test_csh par_propagate_env HOME=~ par_propagate_env ** test_csh_filter +par_propagate_env MANPATH: Undefined variable. par_propagate_env FOO=test_csh_filter par_propagate_env HOME=~ par_propagate_env ** bug #41805 done diff --git a/testsuite/wanted-results/parallel-local13 b/testsuite/wanted-results/parallel-local13 index 136fc535..fcf6ba29 100644 --- a/testsuite/wanted-results/parallel-local13 +++ b/testsuite/wanted-results/parallel-local13 @@ -459,7 +459,7 @@ echo '### true < 32767-ys.xi' ### true < 32767-ys.xi stdout xargs 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' ### true < 16383-ys.xi stdout xargs true < 16383-ys.xi diff --git a/testsuite/wanted-results/parallel-local22 b/testsuite/wanted-results/parallel-local22 index 62dacc6d..257607d4 100644 --- a/testsuite/wanted-results/parallel-local22 +++ b/testsuite/wanted-results/parallel-local22 @@ -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$$ ### Test of xargs -m command lines > 130k -a3c892de2524f32f78550b47336eadd0 - +2f0d9d11a071f5dbe6bd876a19499ff5 - Chars per line: 63437 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$$ ### Test of xargs -X command lines > 130k -a98747678a5d18c4470a073812437ab2 - +42d5c115907de0044ef988a0639204cd - Chars per line: 62906 13 60000 817788 echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum ### 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. ### This causes problems if we kill child processes seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum diff --git a/testsuite/wanted-results/parallel-local23 b/testsuite/wanted-results/parallel-local23 index 04b78ee5..55bc1dda 100644 --- a/testsuite/wanted-results/parallel-local23 +++ b/testsuite/wanted-results/parallel-local23 @@ -59,9 +59,9 @@ please cite as described in 'parallel --citation'. echo '### 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"' -63654 -63654 -41586 +64026 +64026 +40842 echo '### --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"' diff --git a/testsuite/wanted-results/parallel-local9 b/testsuite/wanted-results/parallel-local9 index 9f4dc6f7..bf38003e 100644 --- a/testsuite/wanted-results/parallel-local9 +++ b/testsuite/wanted-results/parallel-local9 @@ -341,10 +341,6 @@ echo "echo a" | parallel a nice parallel -j1 -I :: -X echo 'a::b::^c::[.}c' ::: 1 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' ### Test -N seq 1 5 | $NICEPAR -kN3 echo {1} {2} {3} diff --git a/testsuite/wanted-results/parallel-remote1 b/testsuite/wanted-results/parallel-remote1 index 55618373..28aa75ec 100644 --- a/testsuite/wanted-results/parallel-remote1 +++ b/testsuite/wanted-results/parallel-remote1 @@ -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 -M should finish first - eventhough there are 2x jobs par_controlmaster_is_faster With --controlmaster - finish first par_controlmaster_is_faster No --controlmaster - finish last -par_filter_hosts_different_errors ### --filter-hosts - OK, non-such-user, connection refused, wrong host -par_filter_hosts_different_errors aspire -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-server3 -par_filter_hosts_no_ssh_nxserver vagrant@parallel-server4 +par_force_number_of_cpu ### Check forced number of CPUs being respected +par_force_number_of_cpu 7 +par_force_number_of_cpu 13 par_special_ssh ### Test use special ssh par_special_ssh TODO test ssh with > 9 simultaneous par_special_ssh 1 @@ -111,15 +114,11 @@ par_special_ssh 98 par_special_ssh 99 par_special_ssh 100 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: 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 vagrant@parallel-server1 -par_timeout_retries vagrant@parallel-server4 +par_timeout_retries vagrant@parallel-server2 par_timeout_retries vagrant@parallel-server3 par_workdir_in_HOME ### test --workdir . in $HOME par_workdir_in_HOME OK diff --git a/testsuite/wanted-results/parallel-tutorial b/testsuite/wanted-results/parallel-tutorial index a5f5f061..f83f5278 100644 --- a/testsuite/wanted-results/parallel-tutorial +++ b/testsuite/wanted-results/parallel-tutorial @@ -513,11 +513,11 @@ parallel: Warning: This job was killed because it timed out: parallel: Warning: sleep 7; echo 7 parallel --eta sleep ::: 1 3 2 2 1 3 3 2 1 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 parallel --progress sleep ::: 1 3 2 2 1 3 3 2 1 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 seq 1000 | parallel -j10 --bar '(echo -n {};sleep 0.1)' \ 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_test%% _ -mysqlrootpass -oracle_password qTMPDIR qqTMPDIR testsuitedir diff --git a/testsuite/wanted-results/parallel-virtualbox1 b/testsuite/wanted-results/parallel-virtualbox1 index 422d1de5..56ee2548 100644 --- a/testsuite/wanted-results/parallel-virtualbox1 +++ b/testsuite/wanted-results/parallel-virtualbox1 @@ -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 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 (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" diff --git a/testsuite/wanted-results/sql01 b/testsuite/wanted-results/sql01 index ecb75d99..6155777d 100644 --- a/testsuite/wanted-results/sql01 +++ b/testsuite/wanted-results/sql01 @@ -1,93 +1,93 @@ -### Test of #! -Y with file as input -Testing if -Y works -Yes it does -### Test of #! --shebang with file as input -Testing if --shebang works -Yes it does -### Test reading sql on command line -Test reading SQL from command line -Yes it does -### Test reading sql from file -Test reading SQL from file works -Yes it does -### Test dburl with username password host port -Test reading SQL from file works -Yes it does -### Test .sql/aliases -Test if .sql/aliases works -Yes it does -### Test sql:sql::alias -Test sql:sql::alias -Yes it works -### Test --noheaders --no-headers -n -abc 1 -def 3 -abc 1 -def 3 -abc 1 -def 3 -### Test --sep -s -2 1 -2 1 -### Test --passthrough -p -
iddata
1abc
3def
-
iddata
1abc
3def
-### Test --html -
iddata
1abc
3def
-### Test --show-processlist|proclist|listproc - 2 17 - 2 17 - 2 17 -### Test --db-size --dbsize -6 -6 -### Test --table-size --tablesize -90 -90 -### Test --debug -dburl mysql://tange:tange@localhost:3306/tange -databasedriver mysql user tange password tange host localhost port 3306 database tange query -[ | ((sleep 1; rm /TMP/tmpfile') & mysql --defaults-extra-file=/TMP/tmpfile' --host=localhost --user=tange --port=3306 tange)] -Test if --debug works -Yes it does -### Test --version -V - 13 74 535 - 13 74 535 -### Test -r -dburl pg://nongood@127.0.0.3:2227/ -databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -### Test --retries=s -dburl pg://nongood@127.0.0.3:2227/ -databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -[ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] -psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused - Is the server running on that host and accepting TCP/IP connections? -### Test --help -h -Usage: -sql [options] dburl [sqlcommand] -sql [options] dburl < sql_command_file - -See 'man sql' for the options -Usage: -sql [options] dburl [sqlcommand] -sql [options] dburl < sql_command_file - -See 'man sql' for the options +par_--debug ### Test --debug +par_--debug dburl mysql://tange:tange@/ +par_--debug databasedriver mysql user tange password tange host port database tange query +par_--debug [ | ((sleep 1; rm /TMP/tmpfile') & mysql --defaults-extra-file=/TMP/tmpfile' --user=tange tange)] +par_--debug Test if --debug works +par_--debug Yes it does +par_--help ### Test --help -h +par_--help Usage: +par_--help sql [options] dburl [sqlcommand] +par_--help sql [options] dburl < sql_command_file +par_--help +par_--help See 'man sql' for the options +par_--help Usage: +par_--help sql [options] dburl [sqlcommand] +par_--help sql [options] dburl < sql_command_file +par_--help +par_--help See 'man sql' for the options +par_--html ### Test --html +par_--html
iddata
1abc
3def
+par_--passthrough ### Test --passthrough -p +par_--passthrough
iddata
1abc
3def
+par_--passthrough
iddata
1abc
3def
+par_--retries ### Test --retries=s +par_--retries dburl pg://nongood@127.0.0.3:2227/ +par_--retries databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query +par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_--retries Is the server running on that host and accepting TCP/IP connections? +par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_--retries Is the server running on that host and accepting TCP/IP connections? +par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_--retries Is the server running on that host and accepting TCP/IP connections? +par_--retries [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_--retries psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_--retries Is the server running on that host and accepting TCP/IP connections? +par_--sep ### Test --sep -s +par_--sep 2 1 +par_--sep 2 1 +par_-_version ### Test --version -V +par_-_version 13 74 535 +par_-_version 13 74 535 +par_-r ### Test -r - retry 3 times +par_-r dburl pg://nongood@127.0.0.3:2227/ +par_-r databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query +par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_-r Is the server running on that host and accepting TCP/IP connections? +par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_-r Is the server running on that host and accepting TCP/IP connections? +par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood] +par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused +par_-r Is the server running on that host and accepting TCP/IP connections? +par_dbsize ### Test --db-size --dbsize +par_dbsize 6 +par_dbsize 6 +par_dburl_user_password_host_port ### Test dburl with username password host port +par_dburl_user_password_host_port Test dburl with username password host port +par_dburl_user_password_host_port OK +par_listproc ### Test --show-processlist|proclist|listproc +par_listproc 3 34 +par_listproc 2 17 +par_listproc 2 17 +par_noheaders ### Test --noheaders --no-headers -n +par_noheaders abc 1 +par_noheaders def 3 +par_noheaders abc 1 +par_noheaders def 3 +par_noheaders abc 1 +par_noheaders def 3 +par_read_sql_from_file ### Test reading sql from file +par_read_sql_from_file Test reading SQL from file works +par_read_sql_from_file Yes it does +par_shebang-Y ### Test of #! -Y with file as input +par_shebang-Y Testing if -Y works +par_shebang-Y Yes it does +par_shebang_file ### Test of #! --shebang with file as input +par_shebang_file Testing if --shebang works +par_shebang_file Yes it does +par_sql_aliases ### Test .sql/aliases +par_sql_aliases Test if .sql/aliases works +par_sql_aliases Yes it does +par_sql_aliases ### Test sql:sql::alias +par_sql_aliases Test sql:sql::alias +par_sql_aliases Yes it works +par_sql_on_cmdline ### Test reading sql on command line +par_sql_on_cmdline Test reading SQL from command line +par_sql_on_cmdline Yes it does +par_tablesize ### Test --table-size --tablesize +par_tablesize 94 +par_tablesize 94 diff --git a/testsuite/wanted-results/sql02 b/testsuite/wanted-results/sql02 index 21b910af..c4a98499 100644 --- a/testsuite/wanted-results/sql02 +++ b/testsuite/wanted-results/sql02 @@ -8,8 +8,7 @@ par_influx name: databases par_influx name par_influx ---- par_influx _internal -par_influx mydb -par_influx myinflux +par_influx tange par_influx parallel par_influx name: cpu par_influx time host region value diff --git a/testsuite/wanted-results/test17 b/testsuite/wanted-results/test17 index cb2a4d34..8b5e261f 100644 --- a/testsuite/wanted-results/test17 +++ b/testsuite/wanted-results/test17 @@ -4,25 +4,25 @@ file>fire file : & ) \n*.jpg 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 ### --transfer - relpath file>fire file : & ) \n*.jpg 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 ### --transfer --cleanup - abspath file>fire file : & ) \n*.jpg 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 ### --transfer --cleanup - relpath file>fire file : & ) \n*.jpg 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 ls: tmp/parallel.file*: No such file or directory OK @@ -61,7 +61,7 @@ good if no file /tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.out 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 ls: /tmp/parallel.file*: No such file or directory OK @@ -71,7 +71,7 @@ OK /tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.out 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 ls: tmp/parallel.file*: No such file or directory OK @@ -80,7 +80,7 @@ OK /tmp/parallel.file : & ) \n*.jpg.out /tmp/parallel.file>fire.file.done /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 ls: tmp/parallel.file*: No such file or directory OK @@ -90,7 +90,7 @@ OK /tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.out 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 ls: /tmp/parallel.file*: No such file or directory OK @@ -100,7 +100,7 @@ tmp/parallel.file : & ) \n*.jpg.out tmp/parallel.file>fire.file.done tmp/parallel.file>fire.out 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 ls: tmp/parallel.file*: No such file or directory OK @@ -110,7 +110,7 @@ OK /tmp/parallel.file>fire.file.done /tmp/parallel.file>fire.out 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 ls: /tmp/parallel.file*: No such file or directory OK diff --git a/testsuite/wanted-results/test18 b/testsuite/wanted-results/test18 index 5ae601dd..b60b9760 100644 --- a/testsuite/wanted-results/test18 +++ b/testsuite/wanted-results/test18 @@ -77,27 +77,6 @@ parallel: Warning: --cleanup ignored as there are no remote --sshlogin. 8 9 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 1 2 diff --git a/testsuite/wanted-results/test19 b/testsuite/wanted-results/test19 index 2026ebbc..7559f5b5 100644 --- a/testsuite/wanted-results/test19 +++ b/testsuite/wanted-results/test19 @@ -22,30 +22,30 @@ newline1.out tmp/parallel.file. newline2.out good if no file +OK +OK ls: cannot access 'tmp/parallel.file*': No such file or directory -OK ls: tmp/parallel.file*: No such file or directory -OK ### --transfer --return --cleanup - file with newline tmp/parallel.file. newline1.out tmp/parallel.file. newline2.out good if no file +OK +OK ls: cannot access 'tmp/parallel.file*': No such file or directory -OK ls: tmp/parallel.file*: No such file or directory -OK ### --trc - file with newline tmp/parallel.file. newline1.out tmp/parallel.file. newline2.out good if no file +OK +OK ls: cannot access 'tmp/parallel.file*': No such file or directory -OK ls: tmp/parallel.file*: No such file or directory -OK ### --trc - multiple file with newline tmp/parallel.file. newline1.out @@ -56,10 +56,10 @@ newline2.out tmp/parallel.file. newline2.out2 good if no file +OK +OK ls: cannot access 'tmp/parallel.file*': No such file or directory -OK ls: tmp/parallel.file*: No such file or directory -OK ### Test use special ssh tmp/parallel.file. newline1.out @@ -70,10 +70,10 @@ newline2.out tmp/parallel.file. newline2.out2 good if no file +OK +OK ls: cannot access 'tmp/parallel.file*': No such file or directory -OK ls: tmp/parallel.file*: No such file or directory -OK Input for ssh -l vagrant one-server -- exec mkdir -p ./. -l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./. diff --git a/testsuite/wanted-results/test21 b/testsuite/wanted-results/test21 index 3f8aaec4..993a096c 100644 --- a/testsuite/wanted-results/test21 +++ b/testsuite/wanted-results/test21 @@ -1,29 +1,30 @@ ### Test $PARALLEL - single line -4 + 165668 165668 1048571 + 134332 134332 940324 1 1 -centos8.localdomain -freebsd12.localdomain +centos39-oracle817.local hostname; echo 1 hostname; echo 1 +rhel8.localdomain ### Test $PARALLEL - multi line 1 1 -centos8.localdomain -freebsd12.localdomain +centos39-oracle817.local hostname; echo 1 hostname; echo 1 +rhel8.localdomain ### Test ~/.parallel/config - single line 1 1 -centos8.localdomain -freebsd12.localdomain +centos39-oracle817.local hostname; echo 1 hostname; echo 1 +rhel8.localdomain ### Test ~/.parallel/config - multi line 1 1 -centos8.localdomain -freebsd12.localdomain +centos39-oracle817.local hostname; echo 1 hostname; echo 1 +rhel8.localdomain diff --git a/testsuite/wanted-results/test23 b/testsuite/wanted-results/test23 index 1eabe31d..acd534e7 100644 --- a/testsuite/wanted-results/test23 +++ b/testsuite/wanted-results/test23 @@ -13,9 +13,9 @@ script2 run 4 script1 run 5 script2 run 5 good if no file -ls: cannot access 'script1': No such file or directory +ls: script1: No such file or directory OK -ls: cannot access 'script2': No such file or directory +ls: script2: No such file or directory OK ### Test --basefile + --sshlogin : 1 diff --git a/testsuite/wanted-results/test47 b/testsuite/wanted-results/test47 index e0e8f9b2..d5636ecd 100644 --- a/testsuite/wanted-results/test47 +++ b/testsuite/wanted-results/test47 @@ -4,25 +4,25 @@ file1 file2 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 ### --transfer - relpath file1 file2 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 ### --transfer --cleanup - abspath file1 file2 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 ### --transfer --cleanup - relpath file1 file2 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 ls: tmp/parallel.file*: No such file or directory OK @@ -43,7 +43,7 @@ tmp/parallel.file2.out /tmp/parallel.file2.file.done /tmp/parallel.file2.out 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 ls: /tmp/parallel.file*: No such file or directory OK @@ -53,7 +53,7 @@ tmp/parallel.file1.out tmp/parallel.file2.file.done tmp/parallel.file2.out 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 ls: tmp/parallel.file*: No such file or directory OK @@ -63,7 +63,7 @@ OK /tmp/parallel.file2.file.done /tmp/parallel.file2.out 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 ls: tmp/parallel.file*: No such file or directory OK @@ -73,7 +73,7 @@ OK /tmp/parallel.file2.file.done /tmp/parallel.file2.out 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 ls: /tmp/parallel.file*: No such file or directory OK @@ -83,7 +83,7 @@ OK /tmp/parallel.file2.file.done /tmp/parallel.file2.out 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 ls: tmp/parallel.file*: No such file or directory OK @@ -92,7 +92,7 @@ OK /tmp/parallel.file1.out /tmp/parallel.file2.file.done /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 ls: tmp/parallel.file*: No such file or directory OK @@ -102,7 +102,7 @@ OK /tmp/parallel.file2.file.done /tmp/parallel.file2.out 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 ls: /tmp/parallel.file*: No such file or directory OK @@ -112,7 +112,7 @@ tmp/parallel.file1.out tmp/parallel.file2.file.done tmp/parallel.file2.out 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 ls: tmp/parallel.file*: No such file or directory OK @@ -122,7 +122,7 @@ OK /tmp/parallel.file2.file.done /tmp/parallel.file2.out 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 ls: /tmp/parallel.file*: No such file or directory OK diff --git a/testsuite/wanted-results/test60 b/testsuite/wanted-results/test60 index 2d0a2278..3a7d3d72 100644 --- a/testsuite/wanted-results/test60 +++ b/testsuite/wanted-results/test60 @@ -1,15 +1,15 @@ par_nonall ### Test --nonall -par_nonall centos8.localdomain +par_nonall centos39-oracle817.local par_nonall freebsd12.localdomain par_nonall_basefile ### Test --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 centos8.localdomain -par_nonall_sshloginfile_stdin centos8.localdomain +par_nonall_sshloginfile_stdin centos39-oracle817.local +par_nonall_sshloginfile_stdin centos39-oracle817.local par_nonall_u ### Test --nonall -u - should be interleaved x y x y -par_nonall_u 1 centos8.localdomain -par_nonall_u 1 centos8.localdomain +par_nonall_u 1 centos39-oracle817.local +par_nonall_u 1 centos39-oracle817.local par_nonall_u 1 freebsd12.localdomain par_nonall_u 1 freebsd12.localdomain par_onall ### Test --onall