From 8a918029ab7890beda1f76c8c5cfdfe9d2a22fbf Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Sat, 23 Apr 2022 11:38:57 +0200 Subject: [PATCH] =?UTF-8?q?Released=20as=2020220422=20('=D0=91=D1=83=D1=87?= =?UTF-8?q?=D0=B0')?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NEWS | 21 +- README | 24 +- configure | 20 +- configure.ac | 2 +- doc/citation-notice-faq.txt | 8 +- doc/haikus | 7 +- doc/release_new_version | 25 +- packager/obs/home:tange/parallel/.osc/_files | 12 +- .../home:tange/parallel/.osc/parallel.spec | 2 +- src/env_parallel.ash | 2 +- src/env_parallel.bash | 2 +- src/env_parallel.dash | 2 +- src/env_parallel.ksh | 2 +- src/env_parallel.mksh | 2 +- src/env_parallel.sh | 2 +- src/env_parallel.zsh | 2 +- src/niceload | 2 +- src/parallel | 80 ++-- src/parallel.pod | 76 +++- src/parallel_alternatives.pod | 6 +- src/parallel_design.pod | 3 + src/parsort | 2 +- src/pod2rst-fix | 33 +- src/sem.pod | 7 + src/sql | 2 +- testsuite/tests-to-run/niceload04.sh | 6 +- testsuite/tests-to-run/parallel-local-0.3s.sh | 8 +- testsuite/tests-to-run/parallel-local-1s.sh | 6 +- testsuite/tests-to-run/parallel-local-3s.sh | 11 +- testsuite/tests-to-run/parallel-local-ssh3.sh | 3 +- testsuite/tests-to-run/parallel-macos.sh | 2 +- testsuite/tests-to-run/parallel-polarhome.sh | 4 +- testsuite/tests-to-run/parallel-tutorial.sh | 4 +- testsuite/wanted-results/parallel-local-3s | 3 + testsuite/wanted-results/parallel-local-sql01 | 106 ++++- testsuite/wanted-results/parallel-macos | 93 ++-- testsuite/wanted-results/parallel-polarhome | 399 +----------------- testsuite/wanted-results/parallel-tutorial | 2 +- 38 files changed, 410 insertions(+), 583 deletions(-) diff --git a/NEWS b/NEWS index 7cfce0a9..4c131b93 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,23 @@ -202203022 +20220422 + +New in this release: + +* sash is no longer supported as shell. + +* --retries 0 is an alias for --retries 2147483647. + +* --shell-completion returns shell completion code. + +* --ssh-login-file reloads every second. + +* --parset is replaced with --_parset because it is only used internally. + +* sem --pipe passes STDIN (standard input) to the command. + +* Bug fixes and man page updates. + + +20220322 New in this release: diff --git a/README b/README index ad60a0fa..1d829f8a 100644 --- a/README +++ b/README @@ -57,11 +57,11 @@ document. Full installation of GNU Parallel is as simple as: - wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2.sig - gpg parallel-20220322.tar.bz2.sig - bzip2 -dc parallel-20220322.tar.bz2 | tar xvf - - cd parallel-20220322 + wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2.sig + gpg parallel-20220422.tar.bz2.sig + bzip2 -dc parallel-20220422.tar.bz2 | tar xvf - + cd parallel-20220422 ./configure && make && sudo make install @@ -70,11 +70,11 @@ Full installation of GNU Parallel is as simple as: If you are not root you can add ~/bin to your path and install in ~/bin and ~/share: - wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2.sig - gpg parallel-20220322.tar.bz2.sig - bzip2 -dc parallel-20220322.tar.bz2 | tar xvf - - cd parallel-20220322 + wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2.sig + gpg parallel-20220422.tar.bz2.sig + bzip2 -dc parallel-20220422.tar.bz2 | tar xvf - + cd parallel-20220422 ./configure --prefix=$HOME && make && make install Or if your system lacks 'make' you can simply copy src/parallel @@ -122,8 +122,8 @@ will love you for it. When using programs that use GNU Parallel to process data for publication please cite: - Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль'). - Zenodo. https://doi.org/10.5281/zenodo.6377950 + Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча'). + Zenodo. https://doi.org/10.5281/zenodo.6479152 Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Foundation, Inc. diff --git a/configure b/configure index 264c1234..d636db82 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for parallel 20220322. +# Generated by GNU Autoconf 2.69 for parallel 20220422. # # Report bugs to . # @@ -579,8 +579,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20220322' -PACKAGE_STRING='parallel 20220322' +PACKAGE_VERSION='20220422' +PACKAGE_STRING='parallel 20220422' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures parallel 20220322 to adapt to many kinds of systems. +\`configure' configures parallel 20220422 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1281,7 +1281,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20220322:";; + short | recursive ) echo "Configuration of parallel 20220422:";; esac cat <<\_ACEOF @@ -1357,7 +1357,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20220322 +parallel configure 20220422 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20220322, which was +It was created by parallel $as_me 20220422, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2237,7 +2237,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20220322' + VERSION='20220422' cat >>confdefs.h <<_ACEOF @@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20220322, which was +This file was extended by parallel $as_me 20220422, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2942,7 +2942,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20220322 +parallel config.status 20220422 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 5f8fec83..c7988c92 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel],[20220322],[bug-parallel@gnu.org]) +AC_INIT([parallel],[20220422],[bug-parallel@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/doc/citation-notice-faq.txt b/doc/citation-notice-faq.txt index d244ce53..dd6665af 100644 --- a/doc/citation-notice-faq.txt +++ b/doc/citation-notice-faq.txt @@ -227,10 +227,10 @@ You can even get GNU Parallel in a version with the citation notice silenced and which you do not have to cite: You just have to pay for it and help finance the development that way. -A lot of tools requires configuration before use, or give you 'OK. Do -not show this again'-dialog boxes until you silence those, so it is -not uncommon, that you have to do a little extra work, when running -the software for the first time. +Many tools require configuration before use, or give you 'OK. Do not +show this again'-dialog boxes until you silence those, so it is not +uncommon, that you have to do a little extra work, when running the +software for the first time. Running 'parallel --citation' takes less than 10 seconds to run, and if GNU Parallel does not save you 10 seconds, then you should probably diff --git a/doc/haikus b/doc/haikus index a520720d..3a55e0e2 100644 --- a/doc/haikus +++ b/doc/haikus @@ -3,7 +3,6 @@ # SPDX-License-Identifier: CC-BY-SA-4.0 Quote of the month: - Such a life saver of a tool. -- winrid@ycombinator @@ -17,9 +16,6 @@ Quote of the month: parallel is so useful and i use it multiple times daily. -- arrakeen@ycombinator - Immensely useful which I am forever grateful that it exists. - -- AlexDragusin@ycombinator - Parallel is Good Stuff (tm) -- bloopernova@ycombinator @@ -193,6 +189,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html === Used === + Immensely useful which I am forever grateful that it exists. + -- AlexDragusin@ycombinator + My favorite software, ever. Keep the good work. -- Federico Alves @federicoalves@twitter diff --git a/doc/release_new_version b/doc/release_new_version index d59aa738..43fc5a47 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -254,25 +254,30 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -Subject: GNU Parallel 20220422 ('Буча #SlavaUkrayini #SlavaUkrayini🌻 albright<<>>') released [stable] +Subject: GNU Parallel 20220422 ('Буча') released -GNU Parallel 20220422 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 - -<> +GNU Parallel 20220422 ('Буча') has been released. It is available for download at: lbry://@GnuParallel:4 Quote of the month: - <<>> - + Immensely useful which I am forever grateful that it exists. + -- AlexDragusin@ycombinator + New in this release: -<<>> +* sash is no longer supported as shell. -* Bug fixes and man page updates: Many options now have a 'See also' section. +* --retries 0 is an alias for --retries 2147483647. -News about GNU Parallel: +* --shell-completion returns shell completion code. -<<>> +* --ssh-login-file reloads every second. + +* --parset is replaced with --_parset because it is only used internally. + +* sem --pipe passes STDIN (standard input) to the command. + +* Bug fixes and man page updates. Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html diff --git a/packager/obs/home:tange/parallel/.osc/_files b/packager/obs/home:tange/parallel/.osc/_files index e135981e..8c716d71 100644 --- a/packager/obs/home:tange/parallel/.osc/_files +++ b/packager/obs/home:tange/parallel/.osc/_files @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/packager/obs/home:tange/parallel/.osc/parallel.spec b/packager/obs/home:tange/parallel/.osc/parallel.spec index 540200bc..410cec11 100644 --- a/packager/obs/home:tange/parallel/.osc/parallel.spec +++ b/packager/obs/home:tange/parallel/.osc/parallel.spec @@ -1,7 +1,7 @@ Summary: Shell tool for executing jobs in parallel Name: parallel -Version: 20220322 +Version: 20220422 Release: 1.3 License: GPL-3.0-or-later Group: Productivity/File utilities diff --git a/src/env_parallel.ash b/src/env_parallel.ash index 43a6649d..f1ffeb91 100755 --- a/src/env_parallel.ash +++ b/src/env_parallel.ash @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.bash b/src/env_parallel.bash index 4874cf3a..0209b585 100755 --- a/src/env_parallel.bash +++ b/src/env_parallel.bash @@ -397,7 +397,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.dash b/src/env_parallel.dash index 8cbe2380..69e05c11 100755 --- a/src/env_parallel.dash +++ b/src/env_parallel.dash @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.ksh b/src/env_parallel.ksh index bbcb992d..40083132 100755 --- a/src/env_parallel.ksh +++ b/src/env_parallel.ksh @@ -378,7 +378,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.mksh b/src/env_parallel.mksh index a7591334..9a41bdf2 100644 --- a/src/env_parallel.mksh +++ b/src/env_parallel.mksh @@ -380,7 +380,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.sh b/src/env_parallel.sh index b9859830..2abbd405 100755 --- a/src/env_parallel.sh +++ b/src/env_parallel.sh @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.zsh b/src/env_parallel.zsh index aa8ba54f..de69c9ca 100755 --- a/src/env_parallel.zsh +++ b/src/env_parallel.zsh @@ -370,7 +370,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/niceload b/src/niceload index 626a783f..f0ca6f54 100755 --- a/src/niceload +++ b/src/niceload @@ -26,7 +26,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20220323; +$Global::version = 20220422; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); if($opt::version) { diff --git a/src/parallel b/src/parallel index 96d6e66a..873f2948 100755 --- a/src/parallel +++ b/src/parallel @@ -2597,7 +2597,7 @@ sub check_invalid_option_combinations() { sub init_globals() { # Defaults: - $Global::version = 20220401; + $Global::version = 20220422; $Global::progname = 'parallel'; $::name = "GNU Parallel"; $Global::infinity = 2**31; @@ -4391,7 +4391,7 @@ sub get_job_with_sshlogin($) { if(not $job->suspended()) { $job->set_sshlogin($sshlogin); } - if($opt::retries and $job->failed_here()) { + if(defined $opt::retries and $job->failed_here()) { # This command with these args failed for this sshlogin my ($no_of_failed_sshlogins,$min_failures) = $job->min_failed(); # Only look at the Global::host that have > 0 jobslots @@ -5025,13 +5025,13 @@ sub onall($@) { ((defined $opt::memfree) ? "--memfree ".$opt::memfree : ""), ((defined $opt::memsuspend) ? "--memfree ".$opt::memsuspend : ""), ((defined $opt::D) ? "-D $opt::D" : ""), - ((defined $opt::group) ? "-g" : ""), + ((defined $opt::group) ? "--group" : ""), ((defined $opt::jobs) ? "-P $opt::jobs" : ""), ((defined $opt::keeporder) ? "--keeporder" : ""), ((defined $opt::linebuffer) ? "--linebuffer" : ""), ((defined $opt::max_chars) ? "--max-chars ".$opt::max_chars : ""), ((defined $opt::plain) ? "--plain" : ""), - ((defined $opt::ungroup) ? "-u" : ""), + (($opt::ungroup == 1) ? "-u" : ""), ((defined $opt::tee) ? "--tee" : ""), ); my $suboptions = @@ -5042,7 +5042,7 @@ sub onall($@) { ((defined $opt::arg_sep) ? "--arg-sep ".$opt::arg_sep : ""), ((defined $opt::colsep) ? "--colsep ".shell_quote($opt::colsep) : ""), ((defined $opt::files) ? "--files" : ""), - ((defined $opt::group) ? "-g" : ""), + ((defined $opt::group) ? "--group" : ""), ((defined $opt::cleanup) ? "--cleanup" : ""), ((defined $opt::keeporder) ? "--keeporder" : ""), ((defined $opt::linebuffer) ? "--linebuffer" : ""), @@ -5051,7 +5051,7 @@ sub onall($@) { ((defined $opt::plus) ? "--plus" : ""), ((defined $opt::retries) ? "--retries ".$opt::retries : ""), ((defined $opt::timeout) ? "--timeout ".$opt::timeout : ""), - ((defined $opt::ungroup) ? "-u" : ""), + (($opt::ungroup == 1) ? "-u" : ""), ((defined $opt::ssh) ? "--ssh '".$opt::ssh."'" : ""), ((defined $opt::tee) ? "--tee" : ""), ((defined $opt::workdir) ? "--wd ".Q($opt::workdir) : ""), @@ -5438,8 +5438,8 @@ sub usage() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - " Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль').", - " Zenodo. https://doi.org/10.5281/zenodo.6377950", + " Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').", + " Zenodo. https://doi.org/10.5281/zenodo.6479152", "", # Before changing these lines, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice @@ -5471,8 +5471,8 @@ sub citation_notice() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - " Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль').", - " Zenodo. https://doi.org/10.5281/zenodo.6377950", + " Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').", + " Zenodo. https://doi.org/10.5281/zenodo.6479152", "", # Before changing these line, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and @@ -5597,20 +5597,20 @@ sub citation() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - "\@software{tange_2022_6377950,", + "\@software{tange_2022_6479152,", " author = {Tange, Ole},", - " title = {GNU Parallel 20220322 ('Маріу́поль')},", - " month = Mar,", + " title = {GNU Parallel 20220422 ('Буча')},", + " month = Apr,", " year = 2021,", " note = {{GNU Parallel is a general parallelizer to run", " multiple serial command line programs in parallel", " without changing them.}},", " publisher = {Zenodo},", - " doi = {10.5281/zenodo.6377950},", - " url = {https://doi.org/10.5281/zenodo.6377950}", + " doi = {10.5281/zenodo.6479152},", + " url = {https://doi.org/10.5281/zenodo.6479152}", "}", "", - "(Feel free to use \\nocite{tange_2022_6377950})", + "(Feel free to use \\nocite{tange_2022_6479152})", "", # Before changing these lines, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and @@ -8050,19 +8050,6 @@ sub socket_core_thread() { # 'active' => #taskset_threads = number of taskset limited cores # } my $cpu; - my $cached_cpuspec = $Global::cache_dir . "/tmp/sshlogin/" . - ::hostname() . "/cpuspec"; - if(-e $cached_cpuspec and -M $cached_cpuspec < 1) { - # Reading cached copy instead of /proc/cpuinfo is 17 ms faster - local $/ = "\n"; - if(open(my $in_fh, "<", $cached_cpuspec)) { - ::debug("init","Read $cached_cpuspec\n"); - $cpu->{'sockets'} = int(<$in_fh>); - $cpu->{'cores'} = int(<$in_fh>); - $cpu->{'threads'} = int(<$in_fh>); - close $in_fh; - } - } if ($^O eq 'linux') { $cpu = sct_gnu_linux($cpu); } elsif ($^O eq 'android') { @@ -8109,18 +8096,8 @@ sub socket_core_thread() { || sct_tru64($cpu) ); } - if(not grep { $_ > 0 } values %$cpu) { - $cpu = undef; - } - # Write cached copy instead of /proc/cpuinfo is 17 ms faster - if($cpu and open(my $out_fh, ">", $cached_cpuspec)) { - print $out_fh (map { chomp; "$_\n" } - $cpu->{'sockets'}, - $cpu->{'cores'}, - $cpu->{'threads'}); - close $out_fh; - } if(not $cpu) { + # Fall back: Set all to nproc my $nproc = nproc(); if($nproc) { $cpu->{'sockets'} = @@ -9221,9 +9198,9 @@ sub set_block($$$$$$) { my $self = shift; my ($header_ref,$buffer_ref,$endpos,$recstart,$recend) = @_; $self->{'header'} = $header_ref; - if($opt::roundrobin or $opt::remove_rec_sep or $opt::retries) { + if($opt::roundrobin or $opt::remove_rec_sep or defined $opt::retries) { my $a = ""; - if(($opt::roundrobin or $opt::retries) and $self->virgin()) { + if(($opt::roundrobin or defined $opt::retries) and $self->virgin()) { $a .= $$header_ref; } # Job is no longer virgin @@ -10721,9 +10698,7 @@ sub should_be_retried($) { # 0 - do not retry # 1 - job queued for retry my $self = shift; - if (not $opt::retries) { - return 0; - } + if (not defined $opt::retries) { return 0; } if(not $self->exitstatus() and not $self->exitsignal()) { # Completed with success. If there is a recorded failure: forget it $self->reset_failed_here(); @@ -10733,6 +10708,11 @@ sub should_be_retried($) { $self->add_failed_here(); my $retries = $self->{'commandline'}-> replace_placeholders([$opt::retries],0,0); + # 0 = Inf + if($retries == 0) { $retries = 2**31; } + # Ignore files already unlinked to avoid memory leak + $self->{'unlink'} = [ grep { -e $_ } @{$self->{'unlink'}} ]; + map { -e $_ or delete $Global::unlink{$_} } keys %Global::unlink; if($self->total_failed() == $retries) { # This has been retried enough return 0; @@ -11264,7 +11244,7 @@ sub print_normal($) { if($Global::parset and $fdno == 1) { $outputlength += $self->print_parset($fdno,$in_fh,$out_fh); - } elsif($opt::tag or $opt::tagstring) { + } elsif(defined $opt::tag or defined $opt::tagstring) { # Read line by line local $/ = "\n"; my $tag = $self->tag(); @@ -11400,7 +11380,7 @@ sub print_joblog($) { } my $self = shift; if(not defined $self->{'tag'} or not $Global::cache_replacement_eval) { - if($opt::tag or defined $opt::tagstring) { + if(defined $opt::tag or defined $opt::tagstring) { if($Global::color) { if(not @color) { init_color() } # Choose a value based on the seq @@ -12327,7 +12307,7 @@ sub new($) { $opt::tagstring, $opt::workdir, $opt::results, $opt::retries, @opt::filter) { # Skip if undefined - $_ or next; + defined($_) or next; # Escape \257 => \257\256 $Global::escape_string_present += s/\257/\257\256/g; # Needs to match rightmost left parens (Perl defaults to leftmost) @@ -12548,7 +12528,7 @@ sub replacement_counts_and_lengths($$@) { @opt::filter, $opt::tagstring, $opt::workdir, $opt::results, $opt::retries) { # Options that can contain replacement strings - $_ or next; + defined($_) or next; my $t = $_; while($t =~ s/ \257<( (?: [^\257]*|[\257][^<>] )* )\257> //xs) { # %replacecount = { "perlexpr" => number of times seen } @@ -14509,7 +14489,7 @@ sub main() { } ::wait_and_exit(255); } - } elsif($opt::pipe and not $opt::pipepart) { + } elsif($opt::pipe and not $opt::pipepart and not $opt::semaphore) { # Fill all jobslots while(start_more_jobs()) {} spreadstdin(); diff --git a/src/parallel.pod b/src/parallel.pod index ddfa0674..8f45b4b6 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -933,7 +933,7 @@ on B, B, B, B, B, and B. =item B<--env> I -Copy environment variable I. +Copy exported environment variable I. This will copy I to the environment that the command is run in. This is especially useful for remote execution. @@ -2111,10 +2111,12 @@ See also: B<--memfree> B<--memsuspend> =item B<--record-env> -Record environment. +Record exported environment. -Record current environment variables in ~/.parallel/ignored_vars. This -is useful before using B<--env _>. +Record current exported environment variables in +B<~/.parallel/ignored_vars>. This will ignore variables currently set +when using B<--env _>. So you should set the variables/fuctions, you +want to use I running B<--record-env>. See also: B<--env> B<--session> B @@ -2412,6 +2414,8 @@ B<--sshlogin> GNU B will re-use all the computers. This is useful if some jobs fail for no apparent reason (such as network failure). +I=0 means infinite. + See also: B<--term-seq> B<--sshlogin> @@ -2685,8 +2689,13 @@ See also: B<{#}> =item B<--session> Record names in current environment in B<$PARALLEL_IGNORED_NAMES> and -exit. Only used with B. Aliases, functions, and -variables with names in B<$PARALLEL_IGNORED_NAMES> will not be copied. +exit. + +Only used with B. Aliases, functions, and variables with +names in B<$PARALLEL_IGNORED_NAMES> will not be copied. So you should +set variables/function you want to use I running B<--session>. + +It is similar to B<--record-env>, but only for this session. Only supported in B. @@ -4205,10 +4214,10 @@ To see the difference between file A and file B look at the file =head2 EXAMPLE: Speeding up fast jobs -Starting a job on the local machine takes around 10 ms. This can be a -big overhead if the job takes very few ms to run. Often you can group -small jobs together using B<-X> which will make the overhead less -significant. Compare the speed of these: +Starting a job on the local machine takes around 3-10 ms. This can be +a big overhead if the job takes very few ms to run. Often you can +group small jobs together using B<-X> which will make the overhead +less significant. Compare the speed of these: seq -w 0 9999 | parallel touch pict{}.jpg seq -w 0 9999 | parallel -X touch pict{}.jpg @@ -4392,13 +4401,46 @@ combined in the correct order. =head2 EXAMPLE: Parallel grep -B greps recursively through directories. On multicore CPUs -GNU B can often speed this up. +B greps recursively through directories. GNU B can +often speed this up. find . -type f | parallel -k -j150% -n 1000 -m grep -H -n STRING {} This will run 1.5 job per CPU, and give 1000 arguments to B. +There are situations where the above will be slower than B: + +=over 2 + +=item * + +If data is already in RAM. The overhead of starting jobs and buffering +output may outweigh the benefit of running in parallel. + +=item * + +If the files are big. If a file cannot be read in a single seek, the +disk may start thrashing. + +=back + +The speedup is caused by two factors: + +=over 2 + +=item * + +On rotating harddisks small files often require a seek for each +file. By searching for more files in parallel, the arm may pass +another wanted file on its way. + +=item * + +NVMe drives often perform better by having multiple command running in +parallel. + +=back + =head2 EXAMPLE: Grepping n lines for m regular expressions. @@ -5863,11 +5905,11 @@ and 150 ms after that. =head3 Job startup -Starting a job on the local machine takes around 10 ms. This can be a -big overhead if the job takes very few ms to run. Often you can group -small jobs together using B<-X> which will make the overhead less -significant. Or you can run multiple GNU Bs as described in -B. +Starting a job on the local machine takes around 3-10 ms. This can be +a big overhead if the job takes very few ms to run. Often you can +group small jobs together using B<-X> which will make the overhead +less significant. Or you can run multiple GNU Bs as +described in B. =head3 SSH diff --git a/src/parallel_alternatives.pod b/src/parallel_alternatives.pod index dc9850fe..488d98a0 100644 --- a/src/parallel_alternatives.pod +++ b/src/parallel_alternatives.pod @@ -91,7 +91,7 @@ The following features are in some of the comparable tools: =item O7. Buffering on disk -=item O8. Cleanup of temporary files if killed +=item O8. No temporary files left if killed =item O9. Test if disk runs full during run @@ -235,7 +235,7 @@ using B<-z> or B<-Z>), B (requires using B<-z>). GNU B's newline separation can be emulated with: -B> + cat | xargs -d "\n" -n1 command B can run a given number of jobs in parallel, but has no support for running number-of-cpu-cores jobs in parallel. @@ -3162,7 +3162,7 @@ Summary (see legend above): =back B is written in pure bash. It is really fast (overhead -of ~0.05 ms/job compared to GNU B's ~3 ms/job). So if your +of ~0.05 ms/job compared to GNU B's 3-10 ms/job). So if your jobs are extremely short lived, and you can live with the quite limited command, this may be useful. diff --git a/src/parallel_design.pod b/src/parallel_design.pod index 70dd6428..b5876f81 100644 --- a/src/parallel_design.pod +++ b/src/parallel_design.pod @@ -47,6 +47,9 @@ run under Python3, Python is not an option. Perl has the added benefit that implementing the {= perlexpr =} replacement string was fairly easy. +The primary drawback is that Perl is slow. So there is an overhead of +3-10 ms/job and 1 ms/MB output (and even more if you use B<--tag>). + =head2 Old Perl style diff --git a/src/parsort b/src/parsort index dbada303..c17a3e61 100755 --- a/src/parsort +++ b/src/parsort @@ -122,7 +122,7 @@ GetOptions( "help" => \$opt::dummy, ) || exit(255); $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; -$Global::version = 20220323; +$Global::version = 20220422; if($opt::version) { version(); exit 0; } @Global::sortoptions = grep { ! /^-D$/ } shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]); diff --git a/src/pod2rst-fix b/src/pod2rst-fix index eb4a760f..39be256c 100755 --- a/src/pod2rst-fix +++ b/src/pod2rst-fix @@ -36,6 +36,9 @@ # B> sub pipefunc { + # Emulate a shell pipe but between Perl functions + # stdin | func1 | func2 | ... | funcN + # pipefunc(*func1, *func2, ..., *funcN); my $func = pop; my $pid = open(my $kid_to_read, "-|"); @@ -57,14 +60,23 @@ sub pipefunc { } } -sub pre { - # Remove comments - $_=join("", grep { ! /^#/ } <>); - # join lines in each paragraph - s/(\S)\n(\S)/$1 $2/g; - # quote - - s/^=item -/=item \001/gm; - print $_; +sub pre1 { + while() { + # Remove comments + /^\#/ and next; + # quote - + s/^=item -/=item \001/; + print; + } +} + +sub pre2 { + $/="\n\n"; + while() { + # join lines in each paragraph + s/(\S)\n(\S)/$1 $2/g; + print; + } } sub pod2rst { @@ -83,6 +95,5 @@ sub post { } } -# stdin | pre() | pod2rst() | post() -pipefunc(*pre,*pod2rst,*post); - +# stdin | pre1() | pre2() | pod2rst() | post() +pipefunc(*pre1,*pre2,*pod2rst,*post); diff --git a/src/sem.pod b/src/sem.pod index 8aab66cc..68129db1 100644 --- a/src/sem.pod +++ b/src/sem.pod @@ -116,6 +116,13 @@ for I<-j>. E.g. I could contain the string 100% or +2 or 10. +=item B<--pipe> (alpha testing) + +Pass stdin (standard input) to I. + +If I read from stdin (standard input), use B<--pipe>. + + =item B<--semaphorename> I =item B<--id> I diff --git a/src/sql b/src/sql index 7be29110..7d0cfbb2 100755 --- a/src/sql +++ b/src/sql @@ -600,7 +600,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20220323; + $Global::version = 20220422; $Global::progname = 'sql'; # This must be done first as this may exec myself diff --git a/testsuite/tests-to-run/niceload04.sh b/testsuite/tests-to-run/niceload04.sh index 5c5b51c4..c4ecb386 100755 --- a/testsuite/tests-to-run/niceload04.sh +++ b/testsuite/tests-to-run/niceload04.sh @@ -19,11 +19,13 @@ export PID2=$! sleep 2 & export PID3=$! echo '### multiple -p' - stdout /usr/bin/time -f %e niceload -l 9 -H -p $PID1 -p $PID2 -p $PID3 | perl -ne '$_ > 5 and print "Multiple -p OK\n"' & +stdout /usr/bin/time -f %e niceload -l 9 -H -p $PID1 -p $PID2 -p $PID3 | + perl -ne '$_ > 5 and print "Multiple -p OK\n"' & /tmp/mysleep 4 & /tmp/mysleep 4 & /tmp/mysleep 4 & echo '### --prg' - stdout /usr/bin/time -f %e niceload -l 8 -H --prg /tmp/mysleep | perl -ne '$_ > 8 and print "--prg OK\n"' +stdout /usr/bin/time -f %e niceload -l 8 -H --prg /tmp/mysleep | + perl -ne '$_ > 8 and print "--prg OK\n"' rm /tmp/mysleep diff --git a/testsuite/tests-to-run/parallel-local-0.3s.sh b/testsuite/tests-to-run/parallel-local-0.3s.sh index 59e15a04..15d6533a 100644 --- a/testsuite/tests-to-run/parallel-local-0.3s.sh +++ b/testsuite/tests-to-run/parallel-local-0.3s.sh @@ -877,10 +877,14 @@ par_results_json() { par_testquote() { testquote() { printf '"#&/\n()*=?'"'" | - PARALLEL_SHELL=$1 parallel -0 echo + PARALLEL_SHELL="$1" parallel -0 echo } export -f testquote - parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh + # "sash script" does not work + # "sash -f script" does, but is currently not supported by GNU Parallel + # "fdsh" is currently not supported by GNU Parallel: + # It gives ioctl(): Interrupted system call + parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh "sash -f" sh static-sh tcsh yash zsh } par_locale_quoting() { diff --git a/testsuite/tests-to-run/parallel-local-1s.sh b/testsuite/tests-to-run/parallel-local-1s.sh index acdb400d..3df3bf3c 100644 --- a/testsuite/tests-to-run/parallel-local-1s.sh +++ b/testsuite/tests-to-run/parallel-local-1s.sh @@ -43,11 +43,11 @@ par_compute_command_len() { } par_skip_first_line() { - tmpdir=$(mktemp) + tmp=$(mktemp) (echo `seq 10000`;echo MyHeader; seq 10) | parallel -k --skip-first-line --pipe --block 10 --header '1' cat - (echo `seq 10000`;echo MyHeader; seq 10) > "$tmpdir" - parallel -k --skip-first-line --pipepart -a "$tmpdir" --block 10 --header '1' cat + (echo `seq 10000`;echo MyHeader; seq 10) > "$tmp" + parallel -k --skip-first-line --pipepart -a "$tmp" --block 10 --header '1' cat } par_long_input() { diff --git a/testsuite/tests-to-run/parallel-local-3s.sh b/testsuite/tests-to-run/parallel-local-3s.sh index 05a0fee8..e6fb059c 100644 --- a/testsuite/tests-to-run/parallel-local-3s.sh +++ b/testsuite/tests-to-run/parallel-local-3s.sh @@ -8,6 +8,15 @@ # Each should be taking 3-10s and be possible to run in parallel # I.e.: No race conditions, no logins +par_retries_0() { + echo '--retries 0 = inf' + echo this wraps at 256 and should retry until it wraps + tmp=$(mktemp) + parallel --retries 0 -u 'printf {} >> '$tmp';a=`stat -c %s '$tmp'`; echo -n " $a"; exit $a' ::: a + echo + rm -f $tmp +} + par_prefix_for_L_n_N_s() { echo Must give xxx000 args seq 10000 | parallel -N 1k 'echo {} | wc -w' | sort @@ -281,7 +290,7 @@ par_tee_with_premature_close() { correct="$(seq 1000000 | parallel -k --tee --pipe ::: wc head tail 'sleep 1')" echo "$correct" echo 'tee without --output-error=warn-nopipe support' - mkdir -p tmp + tmpdir=$(mktemp) cat > tmp/tee <<-EOF #!/usr/bin/perl diff --git a/testsuite/tests-to-run/parallel-local-ssh3.sh b/testsuite/tests-to-run/parallel-local-ssh3.sh index dce0b676..62679ac9 100644 --- a/testsuite/tests-to-run/parallel-local-ssh3.sh +++ b/testsuite/tests-to-run/parallel-local-ssh3.sh @@ -90,9 +90,10 @@ EOF par_header_in_return() { echo '### bug #45907: --header : + --return {header}' - rm returnfile45907 + rm -f returnfile45907 parallel --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907 ls returnfile45907 + rm -f returnfile45907 } par_trc_with_space() { diff --git a/testsuite/tests-to-run/parallel-macos.sh b/testsuite/tests-to-run/parallel-macos.sh index 327983a4..a8b3bae5 100644 --- a/testsuite/tests-to-run/parallel-macos.sh +++ b/testsuite/tests-to-run/parallel-macos.sh @@ -156,7 +156,7 @@ par_big_var_func_name() { for a in `seq 10`; do eval "export a$big$a=1" ; done for a in `seq 10`; do eval "a$big$a() { 1; }" ; done for a in `seq 10`; do eval export -f a$big$a ; done - gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc' | + gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc -c' | perl -pe 's/\d{10,}.\d+ //g' } diff --git a/testsuite/tests-to-run/parallel-polarhome.sh b/testsuite/tests-to-run/parallel-polarhome.sh index 8de532e8..29e4987e 100644 --- a/testsuite/tests-to-run/parallel-polarhome.sh +++ b/testsuite/tests-to-run/parallel-polarhome.sh @@ -99,7 +99,7 @@ doit() { echo '### Copy commands to servers' # Dont copy stdout - it depends on /bin/bash - env_parallel -vj$MAXPROC $RET_TIME_K --delay 0.03 --tag copy {2} {1} {1/} \ + env_parallel -j$MAXPROC $RET_TIME_K --delay 0.03 --tag copy {2} {1} {1/} \ ::: bin/{parallel,env_parallel,env_parallel.*[^~],parcat} \ ::: $POLAR minix echo Done copying @@ -210,7 +210,7 @@ EOF env_parallel -u -S$MASTER doit ::: 1| perl -pe 's:/home/(t/)?tange:~:g' | - perl -pe 's:/tmp/par\w+:/tmp/parScript:g' + perl -pe 's:par-job-\d+_\w+:parScript:g' # eval 'myfunc() { echo '$(perl -e 'print "x"x20000')'; }' # env_parallel myfunc ::: a | wc # OK diff --git a/testsuite/tests-to-run/parallel-tutorial.sh b/testsuite/tests-to-run/parallel-tutorial.sh index 631f39c8..9f4df5d2 100644 --- a/testsuite/tests-to-run/parallel-tutorial.sh +++ b/testsuite/tests-to-run/parallel-tutorial.sh @@ -1,5 +1,4 @@ #!/bin/bash - # SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. # # SPDX-License-Identifier: GPL-3.0-or-later @@ -102,7 +101,8 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/ s/doi.*=.*//; s/url.*= .*doi.org.*//; s/.Feel free to use .nocite.*//; - s:^/tmp/par.*(.) my_func2:script$1 my_func2:; + s:/tmp/parallel-tutorial-tmpdir/par-job-\S+:script:g; + s:/tmp/par-job-\S+:script:g; ' | uniq # 3+3 .par files (from --files), 1 .tms-file from tmux attach find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | wc -l diff --git a/testsuite/wanted-results/parallel-local-3s b/testsuite/wanted-results/parallel-local-3s index 19d9dff8..5383cba7 100644 --- a/testsuite/wanted-results/parallel-local-3s +++ b/testsuite/wanted-results/parallel-local-3s @@ -614,6 +614,9 @@ par_replacement_slashslash /a/b /a/b/c.jpg par_replacement_slashslash . ./a.jpg par_replacement_slashslash ./a ./a/b.jpg par_replacement_slashslash ./a/b ./a/b/c.jpg +par_retries_0 --retries 0 = inf +par_retries_0 this wraps at 256 and should retry until it wraps +par_retries_0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 par_shebang ### Test different shebangs par_shebang gp A par_shebang gp B diff --git a/testsuite/wanted-results/parallel-local-sql01 b/testsuite/wanted-results/parallel-local-sql01 index 2828d019..4ce8b20e 100644 --- a/testsuite/wanted-results/parallel-local-sql01 +++ b/testsuite/wanted-results/parallel-local-sql01 @@ -276,9 +276,109 @@ par_empty $MYSQL ERROR 1146 (42S02) at line 1: Table 'tange.TBL99999' doesn't ex par_empty $PG p_wrapper par_empty '$PG' par_empty $PG Exit=0 par_empty $PG Exit=0 -par_empty $PG ERROR: relation "TBL99999" does not exist -par_empty $PG LINE 1: select Host,Command,V1,V2,Stdout,Stderr from TBL99999 order -par_empty $PG ^ +par_empty $PG host| command | v1 | v2 | stdout | stderr +par_empty $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 11 A | 11 | A | 11 A +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 11 B | 11 | B | 11 B +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 11 C | 11 | C | 11 C +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 11 D | 11 | D | 11 D +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 11 E | 11 | E | 11 E +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 12 A | 12 | A | 12 A +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 12 B | 12 | B | 12 B +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 12 C | 12 | C | 12 C +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 12 D | 12 | D | 12 D +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 12 E | 12 | E | 12 E +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 13 A | 13 | A | 13 A +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 13 B | 13 | B | 13 B +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 13 C | 13 | C | 13 C +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 13 D | 13 | D | 13 D +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 13 E | 13 | E | 13 E +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 14 A | 14 | A | 14 A +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 14 B | 14 | B | 14 B +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 14 C | 14 | C | 14 C +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 14 D | 14 | D | 14 D +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 14 E | 14 | E | 14 E +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 15 A | 15 | A | 15 A +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 15 B | 15 | B | 15 B +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 15 C | 15 | C | 15 C +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 15 D | 15 | D | 15 D +| +par_empty $PG | | | | | +par_empty $PG hostname| sleep .3;echo 15 E | 15 | E | 15 E +| +par_empty $PG | | | | | +par_empty $PG (50 rows) +par_empty $PG par_empty $SQLITE p_wrapper par_empty '$SQLITE' par_empty $SQLITE Exit=0 par_empty $SQLITE Exit=0 diff --git a/testsuite/wanted-results/parallel-macos b/testsuite/wanted-results/parallel-macos index bde6fe0b..e9efa102 100644 --- a/testsuite/wanted-results/parallel-macos +++ b/testsuite/wanted-results/parallel-macos @@ -9,23 +9,23 @@ par_big_func_name 19XXX par_big_func_name 19XXX par_big_func_name 19XXX par_big_func_name 2XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 816 19XXX -par_big_var_func_name 1 280 6XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 19XXX +par_big_var_func_name 8XXX par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX @@ -33,35 +33,36 @@ par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX par_many_args 1 1XXX 2XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 232 5XXX -par_many_func 1 172 4XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 228 5XXX +par_many_func 1 56 1XXX par_many_var 1 980 23XXX par_many_var 1 980 23XXX par_many_var 1 980 23XXX diff --git a/testsuite/wanted-results/parallel-polarhome b/testsuite/wanted-results/parallel-polarhome index 16968e48..756c7fee 100644 --- a/testsuite/wanted-results/parallel-polarhome +++ b/testsuite/wanted-results/parallel-polarhome @@ -14,370 +14,6 @@ MAXTIME=50 RETRIES=3 MAXPROC=84 MAXINNERPROC=3 < beaglebone < cubieboard2 ### Copy commands to servers -bin/parallel qnx copy qnx bin/parallel parallel -bin/parallel pidora copy pidora bin/parallel parallel -bin/parallel tru64 copy tru64 bin/parallel parallel -bin/parallel hpux-ia64 copy hpux-ia64 bin/parallel parallel -bin/parallel raspbian copy raspbian bin/parallel parallel -bin/parallel solaris copy solaris bin/parallel parallel -bin/parallel openindiana copy openindiana bin/parallel parallel -bin/parallel aix copy aix bin/parallel parallel -bin/parallel hpux copy hpux bin/parallel parallel -bin/parallel debian-ppc copy debian-ppc bin/parallel parallel -bin/parallel suse copy suse bin/parallel parallel -bin/parallel solaris-x86 copy solaris-x86 bin/parallel parallel -bin/parallel mandriva copy mandriva bin/parallel parallel -bin/parallel ubuntu copy ubuntu bin/parallel parallel -bin/parallel scosysv copy scosysv bin/parallel parallel -bin/parallel unixware copy unixware bin/parallel parallel -bin/parallel centos copy centos bin/parallel parallel -bin/parallel miros copy miros bin/parallel parallel -bin/parallel macosx copy macosx bin/parallel parallel -bin/parallel redhat copy redhat bin/parallel parallel -bin/parallel netbsd copy netbsd bin/parallel parallel -bin/parallel openbsd copy openbsd bin/parallel parallel -bin/parallel freebsd copy freebsd bin/parallel parallel -bin/parallel debian copy debian bin/parallel parallel -bin/parallel hurd copy hurd bin/parallel parallel -bin/parallel minix copy minix bin/parallel parallel -bin/env_parallel qnx copy qnx bin/env_parallel env_parallel -bin/env_parallel pidora copy pidora bin/env_parallel env_parallel -bin/env_parallel tru64 copy tru64 bin/env_parallel env_parallel -bin/env_parallel hpux-ia64 copy hpux-ia64 bin/env_parallel env_parallel -bin/env_parallel raspbian copy raspbian bin/env_parallel env_parallel -bin/env_parallel solaris copy solaris bin/env_parallel env_parallel -bin/env_parallel openindiana copy openindiana bin/env_parallel env_parallel -bin/env_parallel aix copy aix bin/env_parallel env_parallel -bin/env_parallel hpux copy hpux bin/env_parallel env_parallel -bin/env_parallel debian-ppc copy debian-ppc bin/env_parallel env_parallel -bin/env_parallel suse copy suse bin/env_parallel env_parallel -bin/env_parallel solaris-x86 copy solaris-x86 bin/env_parallel env_parallel -bin/env_parallel mandriva copy mandriva bin/env_parallel env_parallel -bin/env_parallel ubuntu copy ubuntu bin/env_parallel env_parallel -bin/env_parallel scosysv copy scosysv bin/env_parallel env_parallel -bin/env_parallel unixware copy unixware bin/env_parallel env_parallel -bin/env_parallel centos copy centos bin/env_parallel env_parallel -bin/env_parallel miros copy miros bin/env_parallel env_parallel -bin/env_parallel macosx copy macosx bin/env_parallel env_parallel -bin/env_parallel redhat copy redhat bin/env_parallel env_parallel -bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel -bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel -bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel -bin/env_parallel debian copy debian bin/env_parallel env_parallel -bin/env_parallel hurd copy hurd bin/env_parallel env_parallel -bin/env_parallel minix copy minix bin/env_parallel env_parallel -bin/env_parallel.ash qnx copy qnx bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash pidora copy pidora bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash tru64 copy tru64 bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash hpux-ia64 copy hpux-ia64 bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash raspbian copy raspbian bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash solaris copy solaris bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash openindiana copy openindiana bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash aix copy aix bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash hpux copy hpux bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash debian-ppc copy debian-ppc bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash suse copy suse bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash solaris-x86 copy solaris-x86 bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash mandriva copy mandriva bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash ubuntu copy ubuntu bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash scosysv copy scosysv bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash unixware copy unixware bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash centos copy centos bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash miros copy miros bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash macosx copy macosx bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash redhat copy redhat bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash -bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash -bin/env_parallel.bash qnx copy qnx bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash pidora copy pidora bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash tru64 copy tru64 bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash hpux-ia64 copy hpux-ia64 bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash raspbian copy raspbian bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash solaris copy solaris bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash openindiana copy openindiana bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash aix copy aix bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash hpux copy hpux bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash debian-ppc copy debian-ppc bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash suse copy suse bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash solaris-x86 copy solaris-x86 bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash mandriva copy mandriva bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash ubuntu copy ubuntu bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash scosysv copy scosysv bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash unixware copy unixware bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash centos copy centos bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash miros copy miros bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash macosx copy macosx bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash redhat copy redhat bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash -bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash -bin/env_parallel.csh qnx copy qnx bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh pidora copy pidora bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh tru64 copy tru64 bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh hpux-ia64 copy hpux-ia64 bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh raspbian copy raspbian bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh solaris copy solaris bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh openindiana copy openindiana bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh aix copy aix bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh hpux copy hpux bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh debian-ppc copy debian-ppc bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh suse copy suse bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh solaris-x86 copy solaris-x86 bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh mandriva copy mandriva bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh ubuntu copy ubuntu bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh scosysv copy scosysv bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh unixware copy unixware bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh centos copy centos bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh miros copy miros bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh macosx copy macosx bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh redhat copy redhat bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh -bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh -bin/env_parallel.dash qnx copy qnx bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash pidora copy pidora bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash tru64 copy tru64 bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash hpux-ia64 copy hpux-ia64 bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash raspbian copy raspbian bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash solaris copy solaris bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash openindiana copy openindiana bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash aix copy aix bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash hpux copy hpux bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash debian-ppc copy debian-ppc bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash suse copy suse bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash solaris-x86 copy solaris-x86 bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash mandriva copy mandriva bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash ubuntu copy ubuntu bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash scosysv copy scosysv bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash unixware copy unixware bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash centos copy centos bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash miros copy miros bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash macosx copy macosx bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash redhat copy redhat bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash debian copy debian bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash -bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish tru64 copy tru64 bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish hpux-ia64 copy hpux-ia64 bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish raspbian copy raspbian bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish solaris copy solaris bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish openindiana copy openindiana bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish aix copy aix bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish hpux copy hpux bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish debian-ppc copy debian-ppc bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish suse copy suse bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish solaris-x86 copy solaris-x86 bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish mandriva copy mandriva bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish ubuntu copy ubuntu bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish scosysv copy scosysv bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish unixware copy unixware bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish centos copy centos bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish miros copy miros bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish macosx copy macosx bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish redhat copy redhat bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish -bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish -bin/env_parallel.ksh qnx copy qnx bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh pidora copy pidora bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh tru64 copy tru64 bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh hpux-ia64 copy hpux-ia64 bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh raspbian copy raspbian bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh solaris copy solaris bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh openindiana copy openindiana bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh aix copy aix bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh hpux copy hpux bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh debian-ppc copy debian-ppc bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh suse copy suse bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh solaris-x86 copy solaris-x86 bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh mandriva copy mandriva bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh ubuntu copy ubuntu bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh scosysv copy scosysv bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh unixware copy unixware bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh centos copy centos bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh miros copy miros bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh macosx copy macosx bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh redhat copy redhat bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh debian copy debian bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh -bin/env_parallel.mksh qnx copy qnx bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh pidora copy pidora bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh tru64 copy tru64 bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh hpux-ia64 copy hpux-ia64 bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh raspbian copy raspbian bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh solaris copy solaris bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh openindiana copy openindiana bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh aix copy aix bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh hpux copy hpux bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh debian-ppc copy debian-ppc bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh suse copy suse bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh solaris-x86 copy solaris-x86 bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh mandriva copy mandriva bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh ubuntu copy ubuntu bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh scosysv copy scosysv bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh unixware copy unixware bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh centos copy centos bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh miros copy miros bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh macosx copy macosx bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh redhat copy redhat bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh debian copy debian bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh -bin/env_parallel.pdksh qnx copy qnx bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh pidora copy pidora bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh tru64 copy tru64 bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh hpux-ia64 copy hpux-ia64 bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh raspbian copy raspbian bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh solaris copy solaris bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh openindiana copy openindiana bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh aix copy aix bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh hpux copy hpux bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh debian-ppc copy debian-ppc bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh suse copy suse bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh solaris-x86 copy solaris-x86 bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh mandriva copy mandriva bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh ubuntu copy ubuntu bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh scosysv copy scosysv bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh unixware copy unixware bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh centos copy centos bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh miros copy miros bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh macosx copy macosx bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh redhat copy redhat bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh debian copy debian bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh -bin/env_parallel.sh qnx copy qnx bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh pidora copy pidora bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh tru64 copy tru64 bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh hpux-ia64 copy hpux-ia64 bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh raspbian copy raspbian bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh solaris copy solaris bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh openindiana copy openindiana bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh aix copy aix bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh hpux copy hpux bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh debian-ppc copy debian-ppc bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh suse copy suse bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh solaris-x86 copy solaris-x86 bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh mandriva copy mandriva bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh ubuntu copy ubuntu bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh scosysv copy scosysv bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh unixware copy unixware bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh centos copy centos bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh miros copy miros bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh macosx copy macosx bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh redhat copy redhat bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh debian copy debian bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh -bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh -bin/env_parallel.tcsh qnx copy qnx bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh pidora copy pidora bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh tru64 copy tru64 bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh hpux-ia64 copy hpux-ia64 bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh raspbian copy raspbian bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh solaris copy solaris bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh openindiana copy openindiana bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh aix copy aix bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh hpux copy hpux bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh debian-ppc copy debian-ppc bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh suse copy suse bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh solaris-x86 copy solaris-x86 bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh mandriva copy mandriva bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh ubuntu copy ubuntu bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh scosysv copy scosysv bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh unixware copy unixware bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh centos copy centos bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh miros copy miros bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh macosx copy macosx bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh redhat copy redhat bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh debian copy debian bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh -bin/env_parallel.zsh qnx copy qnx bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh pidora copy pidora bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh tru64 copy tru64 bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh hpux-ia64 copy hpux-ia64 bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh raspbian copy raspbian bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh solaris copy solaris bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh openindiana copy openindiana bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh aix copy aix bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh hpux copy hpux bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh debian-ppc copy debian-ppc bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh suse copy suse bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh solaris-x86 copy solaris-x86 bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh mandriva copy mandriva bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh ubuntu copy ubuntu bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh scosysv copy scosysv bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh unixware copy unixware bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh centos copy centos bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh miros copy miros bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh macosx copy macosx bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh redhat copy redhat bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh debian copy debian bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh -bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh -bin/parcat qnx copy qnx bin/parcat parcat -bin/parcat pidora copy pidora bin/parcat parcat -bin/parcat tru64 copy tru64 bin/parcat parcat -bin/parcat hpux-ia64 copy hpux-ia64 bin/parcat parcat -bin/parcat raspbian copy raspbian bin/parcat parcat -bin/parcat solaris copy solaris bin/parcat parcat -bin/parcat openindiana copy openindiana bin/parcat parcat -bin/parcat aix copy aix bin/parcat parcat -bin/parcat hpux copy hpux bin/parcat parcat -bin/parcat debian-ppc copy debian-ppc bin/parcat parcat -bin/parcat suse copy suse bin/parcat parcat -bin/parcat solaris-x86 copy solaris-x86 bin/parcat parcat -bin/parcat mandriva copy mandriva bin/parcat parcat -bin/parcat ubuntu copy ubuntu bin/parcat parcat -bin/parcat scosysv copy scosysv bin/parcat parcat -bin/parcat unixware copy unixware bin/parcat parcat -bin/parcat centos copy centos bin/parcat parcat -bin/parcat miros copy miros bin/parcat parcat -bin/parcat macosx copy macosx bin/parcat parcat -bin/parcat redhat copy redhat bin/parcat parcat -bin/parcat netbsd copy netbsd bin/parcat parcat -bin/parcat openbsd copy openbsd bin/parcat parcat -bin/parcat freebsd copy freebsd bin/parcat parcat -bin/parcat debian copy debian bin/parcat parcat -bin/parcat hurd copy hurd bin/parcat parcat -bin/parcat minix copy minix bin/parcat parcat Done copying echo @@ -413,7 +49,7 @@ suse Works on suse tru64 Works on tru64.polarhome.com ubuntu Works on ubuntu unixware Works on unixware.polarhome.com -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: source: Not found echo echo '### --number-of-cores/--number-of-cpus should work with no error' echo @@ -474,7 +110,7 @@ ubuntu 1 ubuntu 2 unixware 1 unixware 1 -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: source: Not found debian 2 debian 2 debian-ppc 1 @@ -525,7 +161,7 @@ ubuntu 2 ubuntu 2 unixware 1 unixware 1 -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: source: Not found echo echo '### Fails if tmpdir is R/O' echo @@ -593,7 +229,7 @@ ubuntu Error in tempfile() using template /XXXXXXXX.arg: Could not create temp f ubuntu OK readonly tmp unixware Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000 unixware OK readonly tmp -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: source: Not found echo echo '### Does exporting a bash function make parallel fail?' echo 'If login shell is not bash compatible it fails' @@ -663,8 +299,8 @@ tru64 bash only A tru64 test funcA ubuntu bash only A ubuntu test funcA -unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 4: `(' unexpected -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 4: `(' unexpected +unixware UX:sh (parScript): ERROR: source: Not found unixware test funcA echo echo '### Does PARALLEL_SHELL help exporting a bash function' @@ -1036,7 +672,7 @@ unixware ~/.profile unixware ~/.cshrc unixware ~/.tcshrc unixware install-OK -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: source: Not found echo echo '### env_parallel echo env_parallel ::: run-OK' echo '(bash ksh mksh zsh only)' @@ -1076,8 +712,8 @@ solaris-x86 env_parallel run-OK suse env_parallel run-OK tru64 env_parallel run-OK ubuntu env_parallel run-OK -unixware UX:sh (/tmp/parScript): ERROR: source: Not found unixware env_parallel run-OK +unixware UX:sh (parScript): ERROR: source: Not found echo echo '### env_parallel echo reading from process substitution :::: <(echo OK)' echo '(bash ksh mksh zsh only)' @@ -1116,7 +752,7 @@ solaris-x86 reading from process substitution OK suse reading from process substitution OK tru64 reading from process substitution OK ubuntu reading from process substitution OK -unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 2: `(' unexpected +unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 2: `(' unexpected echo echo '### Test empty command name in process list' echo '(bash ksh mksh zsh only)' @@ -1204,7 +840,7 @@ aix 1 2 1 2 3 1 2 3 4 centos 1 2 1 2 3 1 2 3 4 debian 1 2 1 2 3 1 2 3 4 debian-ppc 1 2 1 2 3 1 2 3 4 -freebsd eval: 1: Syntax error: Bad function name +freebsd eval: 1: Syntax error: word unexpected (expecting ")") hurd 1 2 1 2 3 1 2 3 4 hpux hpux-ia64 1 2 1 2 3 1 2 3 4 @@ -1228,8 +864,9 @@ solaris-x86 1 2 1 2 3 1 2 3 4 suse 1 2 1 2 3 1 2 3 4 tru64 1 2 1 2 3 1 2 3 4 ubuntu 1 2 1 2 3 1 2 3 4 -unixware UX:sh (/tmp/parScript): ERROR: source: Not found -unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected +unixware UX:sh (parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: typeset: Not found +unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected ### env_parset arr seq ::: 2 3 4 aix 2 2 3 2 3 4 centos 2 2 3 2 3 4 @@ -1266,8 +903,9 @@ solaris-x86 2 2 3 2 3 4 suse 2 2 3 2 3 4 tru64 2 2 3 2 3 4 ubuntu 2 2 3 2 3 4 -unixware UX:sh (/tmp/parScript): ERROR: source: Not found -unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected +unixware UX:sh (parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: typeset: Not found +unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected echo echo '### parset var1,var2,var3 seq ::: 2 3 4' echo '(bash ksh mksh zsh ash dash only)' @@ -1308,7 +946,8 @@ suse 1 2,1 2 3,1 2 3 4 tru64 1 2,1 2 3,1 2 3 4 ubuntu 1 2,1 2 3,1 2 3 4 unixware 1 2,1 2 3,1 2 3 4 -unixware UX:sh (/tmp/parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: typeset: Not found ### env_parset var1,var2,var3 seq ::: 2 3 4 aix 2,2 3,2 3 4 centos 2,2 3,2 3 4 @@ -1344,3 +983,5 @@ suse 2,2 3,2 3 4 tru64 2,2 3,2 3 4 ubuntu 2,2 3,2 3 4 unixware 2,2 3,2 3 4 +unixware UX:sh (parScript): ERROR: source: Not found +unixware UX:sh (parScript): ERROR: typeset: Not found diff --git a/testsuite/wanted-results/parallel-tutorial b/testsuite/wanted-results/parallel-tutorial index 36186d2f..967974f1 100644 --- a/testsuite/wanted-results/parallel-tutorial +++ b/testsuite/wanted-results/parallel-tutorial @@ -788,7 +788,7 @@ withpassword VAR=foo export VAR parallel --env _ -S $SERVER1 'echo $VAR; my_func2' ::: bar -script: my_func2: command not found +script line 2: my_func2: command not found NOT='not exported var' alias myecho=echo not_ex() {