Released as 20180922 ('Danske')

This commit is contained in:
Ole Tange 2018-09-22 23:09:30 +02:00
parent 36a8238a20
commit 4f0422d9b0
17 changed files with 629 additions and 294 deletions

17
NEWS
View file

@ -1,3 +1,20 @@
20180922
* Minix is supported again.
* Updated graph showing GNU Parallel's overhead per job for each
version. https://www.gnu.org/software/parallel/process-time-j2-1700MHz-3000-1000.pdf
* Intro to Computing at CARC includes introduction to GNU Parallel
http://carc.unm.edu/education--training/workshops-and-seminars.html
* Fast-GBS uses GNU Parallel https://bitbucket.org/jerlar73/fast-gbs/wiki/Home
* Belgium at 10 m resolution in July 2018 http://www.cesbio.ups-tlse.fr/multitemp/?p=14116
* Bug fixes and man page updates.
20180822 20180822
* parset sets exit code. * parset sets exit code.

12
README
View file

@ -44,9 +44,9 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20180822.tar.bz2 wget https://ftpmirror.gnu.org/parallel/parallel-20180922.tar.bz2
bzip2 -dc parallel-20180822.tar.bz2 | tar xvf - bzip2 -dc parallel-20180922.tar.bz2 | tar xvf -
cd parallel-20180822 cd parallel-20180922
./configure && make && sudo make install ./configure && make && sudo make install
@ -55,9 +55,9 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget https://ftpmirror.gnu.org/parallel/parallel-20180822.tar.bz2 wget https://ftpmirror.gnu.org/parallel/parallel-20180922.tar.bz2
bzip2 -dc parallel-20180822.tar.bz2 | tar xvf - bzip2 -dc parallel-20180922.tar.bz2 | tar xvf -
cd parallel-20180822 cd parallel-20180922
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel Or if your system lacks 'make' you can simply copy src/parallel

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20180822. # Generated by GNU Autoconf 2.69 for parallel 20180922.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20180822' PACKAGE_VERSION='20180922'
PACKAGE_STRING='parallel 20180822' PACKAGE_STRING='parallel 20180922'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' 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. # 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. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures parallel 20180822 to adapt to many kinds of systems. \`configure' configures parallel 20180922 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20180822:";; short | recursive ) echo "Configuration of parallel 20180922:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
parallel configure 20180822 parallel configure 20180922
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20180822, which was It was created by parallel $as_me 20180922, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20180822' VERSION='20180922'
cat >>confdefs.h <<_ACEOF 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 # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by parallel $as_me 20180822, which was This file was extended by parallel $as_me 20180922, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
parallel config.status 20180822 parallel config.status 20180922
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20180822], [bug-parallel@gnu.org]) AC_INIT([parallel], [20180922], [bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View file

@ -205,10 +205,9 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20180922 ('Danske') released <<[stable]>>
Subject: GNU Parallel 20180922 ('Danske/Korea/India/Myanmar/Jacksonville/Chemnitz') released <<[stable]>> GNU Parallel 20180922 ('Danske') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
GNU Parallel 20180922 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
<<No new functionality was introduced so this is a good candidate for a stable release.>> <<No new functionality was introduced so this is a good candidate for a stable release.>>
@ -219,58 +218,15 @@ Quote of the month:
New in this release: New in this release:
* Minix is supported again.
* Updated graph showing GNU Parallel's overhead per job for each version. https://www.gnu.org/software/parallel/process-time-j2-1700MHz-3000-1000.pdf * Updated graph showing GNU Parallel's overhead per job for each version. https://www.gnu.org/software/parallel/process-time-j2-1700MHz-3000-1000.pdf
http://carc.unm.edu/education--training/workshops-and-seminars.html * Intro to Computing at CARC includes introduction to GNU Parallel http://carc.unm.edu/education--training/workshops-and-seminars.html
* Fast-GBS uses GNU Parallel https://bitbucket.org/jerlar73/fast-gbs/wiki/Home
<<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>> * Belgium at 10 m resolution in July 2018 http://www.cesbio.ups-tlse.fr/multitemp/?p=14116
<<Wrong citation https://iris.sissa.it/retrieve/handle/20.500.11767/36149/10823/And%C3%B2_tesi.pdf>>
<<Wrong citation http://www.cell.com/cms/attachment/2095201602/2077415979/mmc1.pdf>>
<<Down http://www.nature.com/nprot/journal/v12/n5/full/nprot.2017.022.html?WT.feed_name=subjects_biotechnology>>
<<Citation not ok: https://arxiv.org/pdf/1704.08997.pdf>>
<<Citation needed: https://sdstrowes.co.uk/publications/sdstrowes-rdns-aaaa.pdf>>
<<Citation not ok: https://www.nature.com/articles/s41598-017-01703-6>>
<<Probably http://www.sciencedirect.com/science/article/pii/S0044848616312194>>
<<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
<<Possibly http://link.springer.com/article/10.1007/s12021-015-9290-5>>
<<Possibly http://link.springer.com/protocol/10.1007/978-1-4939-3578-9_14>>
<<kontakt GNU Parallel was used (unfortunately without citation) in: Instrumentation and Trace Analysis for Ad-hoc Python Workflows in Cloud Environments http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7214035>>
<<Har angiveligt submittet ny version - afventer opdatering>> GNU Parallel was used (unfortunately without citation) in: MUGBAS: a species free gene-based programme suite for post-GWAS analysis http://www.ncbi.nlm.nih.gov/pubmed/25765345
<<Afventer updateret publisering>> GNU Parallel was used in: Large Scale Author Name Disambiguation in Digital Libraries http://ieeexplore.ieee.org/xpl/abstractReferences.jsp?tp=&arnumber=7004487&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D7004487
<<kontaktet 2015-06-22 Afventer svar fra journal>> GNU Parallel was used (unfortunately with wrong citation) in: TADSim: Discrete Event-Based Performance Prediction for Temperature-Accelerated Dynamics http://vruehle.de/publications/2015c.pdf
http://www.researchgate.net/profile/Christoph_Junghans/publication/276178326_TADSim_Discrete_Event-Based_Performance_Prediction_for_Temperature-Accelerated_Dynamics/links/55562b6708ae980ca60c8369.pdf
<< Update forventet juni Rachel har lige svaret >> GNU Parallel was used in: SISRS: Site Identification from Short Read Sequences https://github.com/rachelss/SISRS/
<<Citation needed: A Cache- and Memory-Aware Mapping Algorithm
for Big Data Applications https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7323015>>
<<Citation needed: Introspecting for RSA Key Material to Assist Intrusion Detection http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=7331177&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D7331177>>
<<Citation needed: 3D-GNOME: an integrated web service for structural modeling of the 3D genome http://nar.oxfordjournals.org/content/early/2016/05/16/nar.gkw437.full.pdf+html>>
<<link No citation: Next-generation TCP for ns-3 simulator http://www.sciencedirect.com/science/article/pii/S1569190X15300939>>
<<link No citation: Scalable metagenomics alignment research tool (SMART): a scalable, rapid, and complete search heuristic for the classification of metagenomic sequences from complex sequence populations http://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-016-1159-6#Bib1>>
<<No citation: Argumentation Models for Cyber Attribution http://arxiv.org/pdf/1607.02171.pdf>>
<<Possible: http://link.springer.com/article/10.1007/s12021-015-9290-5 http://link.springer.com/protocol/10.1007/978-1-4939-3578-9_14>>
* Bug fixes and man page updates. * Bug fixes and man page updates.

View file

@ -1,6 +1,6 @@
<directory name="parallel" rev="224" srcmd5="53892c20fd02f6a5e76230ff427abb7f" vrev="1"> <directory name="parallel" rev="225" srcmd5="85ffe3133a0aaaaca3da6e6063d690b4" vrev="1">
<entry md5="38e258094bd61494b9e054332fc82dc1" mtime="1534977468" name="parallel-20180822.tar.bz2" size="1779814" /> <entry md5="da49514fde81ba9765df51067acc2e25" mtime="1537650104" name="parallel-20180922.tar.bz2" size="1782133" />
<entry md5="091d2142d002f244d0c3229f27da4f57" mtime="1534977468" name="parallel.spec" size="4666" /> <entry md5="eb9eb11ecba0264defdaf7af293e7855" mtime="1537650104" name="parallel.spec" size="4667" />
<entry md5="c7154cd499e35d36b63f02f4d5e7d8c6" mtime="1534977468" name="parallel_20180822.dsc" size="556" /> <entry md5="72bb0f8647cb09e73de1d7a6b7142d05" mtime="1537650105" name="parallel_20180922.dsc" size="556" />
<entry md5="ab63783e363c847f348d295696e9b7fc" mtime="1534977468" name="parallel_20180822.tar.gz" size="1557974" /> <entry md5="64f20d5fc2aa4b9205af209e1a658919" mtime="1537650105" name="parallel_20180922.tar.gz" size="1992329" />
</directory> </directory>

View file

@ -1,6 +1,7 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20180822 Version: 20180922
Release: 1.2 Release: 1.2
License: GPL License: GPL
Group: Productivity/File utilities Group: Productivity/File utilities

View file

@ -1,6 +1,7 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20180822 Version: 20180922
Release: 1.2 Release: 1.2
License: GPL License: GPL
Group: Productivity/File utilities Group: Productivity/File utilities

View file

@ -24,7 +24,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20180824; $Global::version = 20180922;
Getopt::Long::Configure("bundling","require_order"); Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage(); get_options_from_array(\@ARGV) || die_usage();
if($opt::version) { if($opt::version) {

View file

@ -1554,7 +1554,7 @@ sub check_invalid_option_combinations {
sub init_globals { sub init_globals {
# Defaults: # Defaults:
$Global::version = 20180916; $Global::version = 20180922;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;
@ -6944,8 +6944,7 @@ sub sshcommand_of_sshlogin {
open(STDIN,"<","/dev/null"); open(STDIN,"<","/dev/null");
# Run a sleep that outputs data, so it will discover # Run a sleep that outputs data, so it will discover
# if the ssh connection closes. # if the ssh connection closes.
my $sleep = ::Q my $sleep = ::Q('$|=1;while(1){sleep 1;print "foo\n"}');
('$|=1;while(1){sleep 1;print "foo\n"}');
my @master = ($opt::ssh, "-MTS", my @master = ($opt::ssh, "-MTS",
$control_path, $serverlogin, "--", "perl", "-e", $control_path, $serverlogin, "--", "perl", "-e",
$sleep); $sleep);

View file

@ -717,8 +717,10 @@ B<~/.parallel/config>:
--rpl 'DIRNAME $_=Q(::dirname($_));chomp($_=qx{readlink -f $_});' --rpl 'DIRNAME $_=Q(::dirname($_));chomp($_=qx{readlink -f $_});'
--rpl 'BASENAME s:.*/::;s:\.[^/.]+$::;' --rpl 'BASENAME s:.*/::;s:\.[^/.]+$::;'
--rpl 'EXT s:.*\.::' --rpl 'EXT s:.*\.::'
--rpl 'RELDIR $_=Q($_);chomp(($_,$c)=qx{readlink -f $_;pwd});s:\Q$c/\E::;$_=::dirname($_);' --rpl 'RELDIR $_=Q($_);chomp(($_,$c)=qx{readlink -f $_;pwd});
--rpl 'RELPATH $_=Q($_);chomp(($_,$c)=qx{readlink -f $_;pwd});s:\Q$c/\E::;' s:\Q$c/\E::;$_=::dirname($_);'
--rpl 'RELPATH $_=Q($_);chomp(($_,$c)=qx{readlink -f $_;pwd});
s:\Q$c/\E::;'
B<ladon> deals badly with filenames containing " and newline, and it B<ladon> deals badly with filenames containing " and newline, and it
fails for output larger than 200k: fails for output larger than 200k:

View file

@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20180824; $Global::version = 20180922;
$Global::progname = 'sql'; $Global::progname = 'sql';
# This must be done first as this may exec myself # This must be done first as this may exec myself

View file

@ -1625,16 +1625,88 @@ _EOF
} }
par_ash_environment_too_big() { par_ash_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+50-25
len_var_remote=100-50+25+12+6+3
len_var_quote=100-50+25-12-6+3-2
len_var_quote_remote=100-50-25+12+6-3
len_fun=100+50+25+12+6-3
len_fun_remote=100-50+25+12-6+3
len_fun_quote=100+50-25-12
len_fun_quote_remote=100-50+25+12-6
. `which env_parallel.ash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in ash
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh ash@lo "$myscript"
}
__ash_environment_too_big() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.ash`; . `which env_parallel.ash`;
bigvar="$(perl -e 'print "x"x130000')" bigvar="$(perl -e 'print "x"x130000')"
env_parallel echo ::: OK_bigvar env_parallel echo ::: OK_bigvar
bigvar="$(perl -e 'print "x"x65000')"
env_parallel -S lo echo ::: OK_bigvar_remote env_parallel -S lo echo ::: OK_bigvar_remote
bigvar="$(perl -e 'print "\""x65000')" bigvar="$(perl -e 'print "\""x65000')"
env_parallel echo ::: OK_bigvar_quote env_parallel echo ::: OK_bigvar_quote
bigvar="$(perl -e 'print "\""x32000')"
env_parallel -S lo echo ::: OK_bigvar_quote_remote env_parallel -S lo echo ::: OK_bigvar_quote_remote
# Functions not supported in ash # Functions not supported in ash
@ -1652,10 +1724,12 @@ par_ash_environment_too_big() {
bigvar="$(perl -e 'print "x"x131000')" bigvar="$(perl -e 'print "x"x131000')"
env_parallel echo ::: fail_bigvar env_parallel echo ::: fail_bigvar
bigvar="$(perl -e 'print "x"x65000')"
env_parallel -S lo echo ::: fail_bigvar_remote env_parallel -S lo echo ::: fail_bigvar_remote
bigvar="$(perl -e 'print "\""x66000')" bigvar="$(perl -e 'print "\""x66000')"
env_parallel echo ::: fail_bigvar_quote env_parallel echo ::: fail_bigvar_quote
bigvar="$(perl -e 'print "\""x33000')"
env_parallel -S lo echo ::: fail_bigvar_quote_remote env_parallel -S lo echo ::: fail_bigvar_quote_remote
# Functions not supported in ash # Functions not supported in ash
@ -1674,26 +1748,32 @@ _EOF
ssh ash@lo "$myscript" ssh ash@lo "$myscript"
} }
par_bash_environment_too_big() { __bash_environment_too_big() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.bash`; . `which env_parallel.bash`;
repeat() {
bigvar="$(perl -e 'print "x"x110000')" bigvar="$(perl -e 'print "x"x110000')"
env_parallel echo ::: OK_bigvar env_parallel echo ::: OK_bigvar
bigvar="$(perl -e 'print "x"x55000')"
env_parallel -S lo echo ::: OK_bigvar_remote env_parallel -S lo echo ::: OK_bigvar_remote
bigvar="$(perl -e 'print "\""x55000')" bigvar="$(perl -e 'print "\""x55000')"
env_parallel echo ::: OK_bigvar_quote env_parallel echo ::: OK_bigvar_quote
bigvar="$(perl -e 'print "\""x27000')"
env_parallel -S lo echo ::: OK_bigvar_quote_remote env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u bigvar=u
eval 'bigfunc() { a="'"$(perl -e 'print "x"x110000')"'"; };' eval 'bigfunc() { a="'"$(perl -e 'print "x"x110000')"'"; };'
env_parallel echo ::: OK_bigfunc env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(perl -e 'print "x"x55000')"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(perl -e 'print "\""x110000')"'"; };' eval 'bigfunc() { a="'"$(perl -e 'print "\""x110000')"'"; };'
env_parallel echo ::: OK_bigfunc_quote env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(perl -e 'print "\""x55000')"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; } bigfunc() { true; }
@ -1701,19 +1781,93 @@ par_bash_environment_too_big() {
bigvar="$(perl -e 'print "x"x127000')" bigvar="$(perl -e 'print "x"x127000')"
env_parallel echo ::: fail_bigvar env_parallel echo ::: fail_bigvar
bigvar="$(perl -e 'print "x"x64000')"
env_parallel -S lo echo ::: fail_bigvar_remote env_parallel -S lo echo ::: fail_bigvar_remote
bigvar="$(perl -e 'print "\""x64000')" bigvar="$(perl -e 'print "\""x64000')"
env_parallel echo ::: fail_bigvar_quote env_parallel echo ::: fail_bigvar_quote
bigvar="$(perl -e 'print "\""x32000')"
env_parallel -S lo echo ::: fail_bigvar_quote_remote env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u bigvar=u
eval 'bigfunc() { a="'"$(perl -e 'print "x"x1220000')"'"; };' eval 'bigfunc() { a="'"$(perl -e 'print "x"x122000')"'"; };'
env_parallel echo ::: fail_bigfunc env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(perl -e 'print "x"x61000')"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(perl -e 'print "\""x127000')"'"; };' eval 'bigfunc() { a="'"$(perl -e 'print "\""x127000')"'"; };'
env_parallel echo ::: fail_bigfunc_quote env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(perl -e 'print "\""x64000')"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; }
_EOF
)
ssh bash@lo "$myscript"
}
par_bash_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+50-25-12+6-3+2
len_var_remote=100-50+25+12-6+3
len_var_quote=100-50+25-12-6+3-2
len_var_quote_remote=100-50-25+12+6-3
len_fun=100+50-25-12+6-3
len_fun_remote=100-50+25+12-6+3
len_fun_quote=100+50-25-12
len_fun_quote_remote=100-50+25+12-6
. `which env_parallel.bash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; } bigfunc() { true; }
@ -1727,16 +1881,88 @@ par_csh_environment_too_big() {
} }
par_dash_environment_too_big() { par_dash_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+50-25
len_var_remote=100-50+25+12+6+3
len_var_quote=100-50+25-12-6+3-2
len_var_quote_remote=100-50-25+12+6-3
len_fun=100+50+25+12+6-3
len_fun_remote=100-50+25+12-6+3
len_fun_quote=100+50-25-12
len_fun_quote_remote=100-50+25+12-6
. `which env_parallel.dash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in dash
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh dash@lo "$myscript"
}
__dash_environment_too_big() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.dash`; . `which env_parallel.dash`;
bigvar="$(perl -e 'print "x"x130000')" bigvar="$(perl -e 'print "x"x130000')"
env_parallel echo ::: OK_bigvar env_parallel echo ::: OK_bigvar
bigvar="$(perl -e 'print "x"x65000')"
env_parallel -S lo echo ::: OK_bigvar_remote env_parallel -S lo echo ::: OK_bigvar_remote
bigvar="$(perl -e 'print "\""x65000')" bigvar="$(perl -e 'print "\""x65000')"
env_parallel echo ::: OK_bigvar_quote env_parallel echo ::: OK_bigvar_quote
bigvar="$(perl -e 'print "\""x32000')"
env_parallel -S lo echo ::: OK_bigvar_quote_remote env_parallel -S lo echo ::: OK_bigvar_quote_remote
# Functions not supported # Functions not supported
@ -1754,10 +1980,12 @@ par_dash_environment_too_big() {
bigvar="$(perl -e 'print "x"x131000')" bigvar="$(perl -e 'print "x"x131000')"
env_parallel echo ::: fail_bigvar env_parallel echo ::: fail_bigvar
bigvar="$(perl -e 'print "x"x65000')"
env_parallel -S lo echo ::: fail_bigvar_remote env_parallel -S lo echo ::: fail_bigvar_remote
bigvar="$(perl -e 'print "\""x66000')" bigvar="$(perl -e 'print "\""x66000')"
env_parallel echo ::: fail_bigvar_quote env_parallel echo ::: fail_bigvar_quote
bigvar="$(perl -e 'print "\""x33000')"
env_parallel -S lo echo ::: fail_bigvar_quote_remote env_parallel -S lo echo ::: fail_bigvar_quote_remote
# Functions not supported # Functions not supported
@ -1780,7 +2008,148 @@ par_fish_environment_too_big() {
echo Not implemented echo Not implemented
} }
par_ksh_environment_too_big() { par_ksh_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+50-25-12
len_var_remote=100-50+25+12-6-3
len_var_quote=100+50-25-12
len_var_quote_remote=100-50+25+12-6
len_fun=100+12+6-3
len_fun_remote=100-50+25+12-6+3
len_fun_quote=100+50-25-12
len_fun_quote_remote=100-50+25+12-6
. `which env_parallel.ksh`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; }
_EOF
)
ssh ksh@lo "$myscript"
}
__ksh_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+50-25
len_var_remote=100-50+25+12+6+3
len_var_quote=100-50+25-12-6+3-2
len_var_quote_remote=100-50-25+12+6-3
len_fun=100+50+25+12+6-3
len_fun_remote=100-50+25+12-6+3
len_fun_quote=100+50-25-12
len_fun_quote_remote=100-50+25+12-6
. `which env_parallel.ksh`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; }
_EOF
)
ssh ksh@lo "$myscript"
}
__ksh_environment_too_big() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.ksh`; . `which env_parallel.ksh`;
@ -1829,6 +2198,76 @@ _EOF
} }
par_mksh_environment_too_big() { par_mksh_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+6
len_var_remote=100-50+25+12-6-3
len_var_quote=100+6
len_var_quote_remote=100-50+25
len_fun=100+6
len_fun_remote=100-50+25-6+3
len_fun_quote=100+6
len_fun_quote_remote=100-50+25
. `which env_parallel.mksh`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; }
_EOF
)
ssh mksh@lo "$myscript"
}
__mksh_environment_too_big() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.mksh`; . `which env_parallel.mksh`;
@ -1876,17 +2315,19 @@ _EOF
ssh mksh@lo "$myscript" ssh mksh@lo "$myscript"
} }
par_sh_environment_too_big() { __sh_environment_too_big() {
myscript=$(cat <<'_EOF' myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big' echo 'bug #50815: env_parallel should warn if the environment is too big'
. `which env_parallel.sh`; . `which env_parallel.sh`;
bigvar="$(perl -e 'print "x"x130000')" bigvar="$(perl -e 'print "x"x130000')"
env_parallel echo ::: OK_bigvar env_parallel echo ::: OK_bigvar
bigvar="$(perl -e 'print "x"x90000')"
env_parallel -S lo echo ::: OK_bigvar_remote env_parallel -S lo echo ::: OK_bigvar_remote
bigvar="$(perl -e 'print "\""x65000')" bigvar="$(perl -e 'print "\""x65000')"
env_parallel echo ::: OK_bigvar_quote env_parallel echo ::: OK_bigvar_quote
bigvar="$(perl -e 'print "\""x45000')"
env_parallel -S lo echo ::: OK_bigvar_quote_remote env_parallel -S lo echo ::: OK_bigvar_quote_remote
# Functions not supported # Functions not supported
@ -1925,6 +2366,75 @@ _EOF
) )
ssh sh@lo "$myscript" ssh sh@lo "$myscript"
} }
par_sh_environment_too_big() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=100+50-25
len_var_remote=100-12
len_var_quote=100-50+6
len_var_quote_remote=100-50-6
len_fun=100+25
len_fun_remote=100-50+25-6+3+10
len_fun_quote=100+6+10
len_fun_quote_remote=100-50+25+12-6
. `which env_parallel.sh`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in sh
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh sh@lo "$myscript"
}
par_tcsh_environment_too_big() { par_tcsh_environment_too_big() {
echo Not implemented echo Not implemented
@ -1937,19 +2447,23 @@ par_zsh_environment_too_big() {
bigvar="$(perl -e 'print "x"x24000')" bigvar="$(perl -e 'print "x"x24000')"
env_parallel echo ::: OK_bigvar env_parallel echo ::: OK_bigvar
bigvar="$(perl -e 'print "x"x12000')"
env_parallel -S lo echo ::: OK_bigvar_remote env_parallel -S lo echo ::: OK_bigvar_remote
bigvar="$(perl -e 'print "\""x24000')" bigvar="$(perl -e 'print "\""x24000')"
env_parallel echo ::: OK_bigvar_quote env_parallel echo ::: OK_bigvar_quote
bigvar="$(perl -e 'print "\""x12000')"
env_parallel -S lo echo ::: OK_bigvar_quote_remote env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u bigvar=u
eval 'bigfunc() { a="'"$(perl -e 'print "x"x24000')"'"; };' eval 'bigfunc() { a="'"$(perl -e 'print "x"x24000')"'"; };'
env_parallel echo ::: OK_bigfunc env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(perl -e 'print "x"x12000')"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(perl -e 'print "\""x24000')"'"; };' eval 'bigfunc() { a="'"$(perl -e 'print "\""x24000')"'"; };'
env_parallel echo ::: OK_bigfunc_quote env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(perl -e 'print "\""x12000')"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; } bigfunc() { true; }
@ -2748,5 +3262,6 @@ compgen -A function | grep par_ | sort -r |
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1' # parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1' | parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1' |
perl -pe 's/line \d\d\d:/line XXX:/; perl -pe 's/line \d\d\d:/line XXX:/;
s/\d+ >= \d+/XXX >= XXX/;
s/sh:? \d?\d\d:/sh: XXX:/; s/sh:? \d?\d\d:/sh: XXX:/;
s/sh\[\d+\]/sh[XXX]/;' s/sh\[\d+\]/sh[XXX]/;'

View file

@ -150,7 +150,7 @@ par_env_parallel_big_env() {
a=`rand | head -c 75000` a=`rand | head -c 75000`
env_parallel -Slo echo should not ::: fail 2>&1 env_parallel -Slo echo should not ::: fail 2>&1
a=`rand | head -c 76000` a=`rand | head -c 76000`
env_parallel -Slo echo should not ::: fail 2>/dev/null || echo OK env_parallel -Slo echo should ::: fail 2>/dev/null || echo OK
} }
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)

View file

@ -48,8 +48,8 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/
s/,[a-z]*,\d+.\d+,\d+.\d+/,:,000000000.000,0.000/g; s/,[a-z]*,\d+.\d+,\d+.\d+/,:,000000000.000,0.000/g;
# /usr/bin/time -f %e # /usr/bin/time -f %e
s/^(\d+)\.\d+$/$1/; s/^(\d+)\.\d+$/$1/;
# Base 64 string # Base 64 string with quotes
s:[\\+/a-z0-9=]{50,}:BASE64:ig; s:['"'"'"\\+/a-z0-9=]{50,}:BASE64:ig;
# --workdir ... # --workdir ...
s:parallel/tmp/aspire-\d+-1:TMPWORKDIR:g; s:parallel/tmp/aspire-\d+-1:TMPWORKDIR:g;
# + cat ... | (Bash outputs these in random order) # + cat ... | (Bash outputs these in random order)

View file

@ -487,27 +487,11 @@ par_sh_environment_too_big OK_bigvar
par_sh_environment_too_big OK_bigvar_remote par_sh_environment_too_big OK_bigvar_remote
par_sh_environment_too_big OK_bigvar_quote par_sh_environment_too_big OK_bigvar_quote
par_sh_environment_too_big OK_bigvar_quote_remote par_sh_environment_too_big OK_bigvar_quote_remote
par_sh_environment_too_big Rest should fail par_sh_environment_too_big OK_bigfunc
par_sh_environment_too_big sh: XXX: perl: Argument list too long par_sh_environment_too_big OK_bigfunc_remote
par_sh_environment_too_big env_parallel: Error: Your environment is too big. par_sh_environment_too_big OK_bigfunc_quote
par_sh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_sh_environment_too_big OK_bigfunc_quote_remote
par_sh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set par_sh_environment_too_big Rest should fail - functions not supported in sh
par_sh_environment_too_big env_parallel: Error: variables or define functions.
par_sh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_sh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
par_sh_environment_too_big env_parallel: Error: And then use '--env _'
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_sh_environment_too_big sh: XXX: perl: Argument list too long
par_sh_environment_too_big env_parallel: Error: Your environment is too big.
par_sh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_sh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_sh_environment_too_big env_parallel: Error: variables or define functions.
par_sh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_sh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
par_sh_environment_too_big env_parallel: Error: And then use '--env _'
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_sh_environment_too_big sh: XXX: perl: Argument list too long par_sh_environment_too_big sh: XXX: perl: Argument list too long
par_sh_environment_too_big env_parallel: Error: Your environment is too big. par_sh_environment_too_big env_parallel: Error: Your environment is too big.
par_sh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_sh_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -518,6 +502,7 @@ par_sh_environment_too_big env_parallel: Error: 3. Try running this in a clean e
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
par_sh_environment_too_big env_parallel: Error: And then use '--env _' par_sh_environment_too_big env_parallel: Error: And then use '--env _'
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_sh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote
par_sh_environment_too_big sh: XXX: perl: Argument list too long par_sh_environment_too_big sh: XXX: perl: Argument list too long
par_sh_environment_too_big env_parallel: Error: Your environment is too big. par_sh_environment_too_big env_parallel: Error: Your environment is too big.
par_sh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_sh_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -528,6 +513,11 @@ par_sh_environment_too_big env_parallel: Error: 3. Try running this in a clean e
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
par_sh_environment_too_big env_parallel: Error: And then use '--env _' par_sh_environment_too_big env_parallel: Error: And then use '--env _'
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_sh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote
par_sh_environment_too_big fail_bigfunc-not-supported
par_sh_environment_too_big fail_bigfunc_remote-not-supported
par_sh_environment_too_big fail_bigfunc_quote-not-supported
par_sh_environment_too_big fail_bigfunc_quote_remote-not-supported
par_sh_env_parallel_session ### Test env_parallel --session par_sh_env_parallel_session ### Test env_parallel --session
par_sh_env_parallel_session /bin/sh: XXX: aliasbefore: not found par_sh_env_parallel_session /bin/sh: XXX: aliasbefore: not found
par_sh_env_parallel_session /bin/sh: XXX: aliasbefore: not found par_sh_env_parallel_session /bin/sh: XXX: aliasbefore: not found
@ -711,86 +701,14 @@ par_mksh_environment_too_big OK_bigfunc_remote
par_mksh_environment_too_big OK_bigfunc_quote par_mksh_environment_too_big OK_bigfunc_quote
par_mksh_environment_too_big OK_bigfunc_quote_remote par_mksh_environment_too_big OK_bigfunc_quote_remote
par_mksh_environment_too_big Rest should fail par_mksh_environment_too_big Rest should fail
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar
par_mksh_environment_too_big env_parallel: Error: Your environment is too big. par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote
par_mksh_environment_too_big env_parallel: Error: variables or define functions. par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy. par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_remote
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once: par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env par_mksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_quote_remote
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_environment_too_big mksh: /usr/bin/perl: Argument list too long
par_mksh_environment_too_big env_parallel: Error: Your environment is too big.
par_mksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_mksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_mksh_environment_too_big env_parallel: Error: variables or define functions.
par_mksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_mksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_mksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_mksh_environment_too_big env_parallel: Error: And then use '--env _'
par_mksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_mksh_env_parallel_session ### Test env_parallel --session par_mksh_env_parallel_session ### Test env_parallel --session
par_mksh_env_parallel_session /bin/mksh: aliasbefore: not found par_mksh_env_parallel_session /bin/mksh: aliasbefore: not found
par_mksh_env_parallel_session /bin/mksh: aliasbefore: not found par_mksh_env_parallel_session /bin/mksh: aliasbefore: not found
@ -1008,6 +926,7 @@ par_ksh_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And then use '--env _' par_ksh_environment_too_big env_parallel: Error: And then use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote
par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long] par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big. par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1018,6 +937,7 @@ par_ksh_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And then use '--env _' par_ksh_environment_too_big env_parallel: Error: And then use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote
par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long] par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big. par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1028,36 +948,7 @@ par_ksh_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And then use '--env _' par_ksh_environment_too_big env_parallel: Error: And then use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long] par_ksh_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_remote
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_ksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_ksh_environment_too_big env_parallel: Error: variables or define functions.
par_ksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_ksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And then use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_ksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_ksh_environment_too_big env_parallel: Error: variables or define functions.
par_ksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_ksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And then use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_ksh_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_ksh_environment_too_big env_parallel: Error: variables or define functions.
par_ksh_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_ksh_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And then use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long] par_ksh_environment_too_big ksh[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big. par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches: par_ksh_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1332,27 +1223,11 @@ par_dash_environment_too_big OK_bigvar
par_dash_environment_too_big OK_bigvar_remote par_dash_environment_too_big OK_bigvar_remote
par_dash_environment_too_big OK_bigvar_quote par_dash_environment_too_big OK_bigvar_quote
par_dash_environment_too_big OK_bigvar_quote_remote par_dash_environment_too_big OK_bigvar_quote_remote
par_dash_environment_too_big Rest should fail par_dash_environment_too_big OK_bigfunc
par_dash_environment_too_big dash: XXX: perl: Argument list too long par_dash_environment_too_big OK_bigfunc_remote
par_dash_environment_too_big env_parallel: Error: Your environment is too big. par_dash_environment_too_big OK_bigfunc_quote
par_dash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_dash_environment_too_big OK_bigfunc_quote_remote
par_dash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set par_dash_environment_too_big Rest should fail - functions not supported in dash
par_dash_environment_too_big env_parallel: Error: variables or define functions.
par_dash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_dash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
par_dash_environment_too_big env_parallel: Error: And then use '--env _'
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_dash_environment_too_big dash: XXX: perl: Argument list too long
par_dash_environment_too_big env_parallel: Error: Your environment is too big.
par_dash_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_dash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_dash_environment_too_big env_parallel: Error: variables or define functions.
par_dash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_dash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
par_dash_environment_too_big env_parallel: Error: And then use '--env _'
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_dash_environment_too_big dash: XXX: perl: Argument list too long par_dash_environment_too_big dash: XXX: perl: Argument list too long
par_dash_environment_too_big env_parallel: Error: Your environment is too big. par_dash_environment_too_big env_parallel: Error: Your environment is too big.
par_dash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_dash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1363,6 +1238,7 @@ par_dash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
par_dash_environment_too_big env_parallel: Error: And then use '--env _' par_dash_environment_too_big env_parallel: Error: And then use '--env _'
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_dash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote
par_dash_environment_too_big dash: XXX: perl: Argument list too long par_dash_environment_too_big dash: XXX: perl: Argument list too long
par_dash_environment_too_big env_parallel: Error: Your environment is too big. par_dash_environment_too_big env_parallel: Error: Your environment is too big.
par_dash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_dash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1373,6 +1249,11 @@ par_dash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
par_dash_environment_too_big env_parallel: Error: And then use '--env _' par_dash_environment_too_big env_parallel: Error: And then use '--env _'
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_dash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote
par_dash_environment_too_big fail_bigfunc-not-supported
par_dash_environment_too_big fail_bigfunc_remote-not-supported
par_dash_environment_too_big fail_bigfunc_quote-not-supported
par_dash_environment_too_big fail_bigfunc_quote_remote-not-supported
par_dash_env_parallel_session ### Test env_parallel --session par_dash_env_parallel_session ### Test env_parallel --session
par_dash_env_parallel_session /bin/dash: XXX: aliasbefore: not found par_dash_env_parallel_session /bin/dash: XXX: aliasbefore: not found
par_dash_env_parallel_session /bin/dash: XXX: aliasbefore: not found par_dash_env_parallel_session /bin/dash: XXX: aliasbefore: not found
@ -1687,6 +1568,7 @@ par_bash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And then use '--env _' par_bash_environment_too_big env_parallel: Error: And then use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
par_bash_environment_too_big env_parallel: Error: Your environment is too big. par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1697,6 +1579,7 @@ par_bash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And then use '--env _' par_bash_environment_too_big env_parallel: Error: And then use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
par_bash_environment_too_big env_parallel: Error: Your environment is too big. par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1707,36 +1590,7 @@ par_bash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And then use '--env _' par_bash_environment_too_big env_parallel: Error: And then use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long par_bash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigfunc_remote
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_bash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_bash_environment_too_big env_parallel: Error: variables or define functions.
par_bash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_bash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And then use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_bash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_bash_environment_too_big env_parallel: Error: variables or define functions.
par_bash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_bash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And then use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_bash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_bash_environment_too_big env_parallel: Error: variables or define functions.
par_bash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_bash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
par_bash_environment_too_big env_parallel: Error: And then use '--env _'
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
par_bash_environment_too_big env_parallel: Error: Your environment is too big. par_bash_environment_too_big env_parallel: Error: Your environment is too big.
par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_bash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1882,27 +1736,11 @@ par_ash_environment_too_big OK_bigvar
par_ash_environment_too_big OK_bigvar_remote par_ash_environment_too_big OK_bigvar_remote
par_ash_environment_too_big OK_bigvar_quote par_ash_environment_too_big OK_bigvar_quote
par_ash_environment_too_big OK_bigvar_quote_remote par_ash_environment_too_big OK_bigvar_quote_remote
par_ash_environment_too_big Rest should fail par_ash_environment_too_big OK_bigfunc
par_ash_environment_too_big ash: XXX: perl: Argument list too long par_ash_environment_too_big OK_bigfunc_remote
par_ash_environment_too_big env_parallel: Error: Your environment is too big. par_ash_environment_too_big OK_bigfunc_quote
par_ash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_ash_environment_too_big OK_bigfunc_quote_remote
par_ash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set par_ash_environment_too_big Rest should fail - functions not supported in ash
par_ash_environment_too_big env_parallel: Error: variables or define functions.
par_ash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_ash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
par_ash_environment_too_big env_parallel: Error: And then use '--env _'
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ash_environment_too_big ash: XXX: perl: Argument list too long
par_ash_environment_too_big env_parallel: Error: Your environment is too big.
par_ash_environment_too_big env_parallel: Error: You can try 3 different approaches:
par_ash_environment_too_big env_parallel: Error: 1. Run 'env_parallel --session' before you set
par_ash_environment_too_big env_parallel: Error: variables or define functions.
par_ash_environment_too_big env_parallel: Error: 2. Use --env and only mention the names to copy.
par_ash_environment_too_big env_parallel: Error: 3. Try running this in a clean environment once:
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
par_ash_environment_too_big env_parallel: Error: And then use '--env _'
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ash_environment_too_big ash: XXX: perl: Argument list too long par_ash_environment_too_big ash: XXX: perl: Argument list too long
par_ash_environment_too_big env_parallel: Error: Your environment is too big. par_ash_environment_too_big env_parallel: Error: Your environment is too big.
par_ash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_ash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1913,6 +1751,7 @@ par_ash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
par_ash_environment_too_big env_parallel: Error: And then use '--env _' par_ash_environment_too_big env_parallel: Error: And then use '--env _'
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_remote
par_ash_environment_too_big ash: XXX: perl: Argument list too long par_ash_environment_too_big ash: XXX: perl: Argument list too long
par_ash_environment_too_big env_parallel: Error: Your environment is too big. par_ash_environment_too_big env_parallel: Error: Your environment is too big.
par_ash_environment_too_big env_parallel: Error: You can try 3 different approaches: par_ash_environment_too_big env_parallel: Error: You can try 3 different approaches:
@ -1923,6 +1762,11 @@ par_ash_environment_too_big env_parallel: Error: 3. Try running this in a clean
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
par_ash_environment_too_big env_parallel: Error: And then use '--env _' par_ash_environment_too_big env_parallel: Error: And then use '--env _'
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ash_environment_too_big parallel: Error: Command line too long (XXX >= XXX) at input 0: fail_bigvar_quote_remote
par_ash_environment_too_big fail_bigfunc-not-supported
par_ash_environment_too_big fail_bigfunc_remote-not-supported
par_ash_environment_too_big fail_bigfunc_quote-not-supported
par_ash_environment_too_big fail_bigfunc_quote_remote-not-supported
par_ash_env_parallel_session ### Test env_parallel --session par_ash_env_parallel_session ### Test env_parallel --session
par_ash_env_parallel_session /bin/ash: XXX: aliasbefore: not found par_ash_env_parallel_session /bin/ash: XXX: aliasbefore: not found
par_ash_env_parallel_session /bin/ash: XXX: aliasbefore: not found par_ash_env_parallel_session /bin/ash: XXX: aliasbefore: not found

View file

@ -20,6 +20,7 @@ sleep .3
/bin/bash: -c: line 0: syntax error near unexpected token `)' /bin/bash: -c: line 0: syntax error near unexpected token `)'
/bin/bash: -c: line 0: ` perl -e 'for(1..10){print "$_\n"}') > num_%header' /bin/bash: -c: line 0: ` perl -e 'for(1..10){print "$_\n"}') > num_%header'
perl -e 'print "HHHHAAABBBCCC"' > fixedlen perl -e 'print "HHHHAAABBBCCC"' > fixedlen
parallel echo ::: A B C parallel echo ::: A B C
A A
B B
@ -995,7 +996,7 @@ For details: see man env_parallel
export -f my_func3 export -f my_func3
parallel -vv --workdir ... --nice 17 --env _ --trc {}.out \ parallel -vv --workdir ... --nice 17 --env _ --trc {}.out \
-S $SERVER1 my_func3 {} ::: abc-file -S $SERVER1 my_func3 {} ::: abc-file
ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -e'ssh -l parallel' ./abc-file lo:./.TMPWORKDIR;ssh -l parallel lo -- exec perl -e "'"'@GNU_Parallel=split/_/,"use_IPC::Open3;_use_MIME::Base64";eval"@GNU_Parallel";$chld=$SIG{CHLD};$SIG{CHLD}="IGNORE";my$zip=(grep{-x$_}"/usr/local/bin/bzip2")[0]||"bzip2";open3($in,$out,">&STDERR",$zip,"-dc");if(my$perlpid=fork){close$in;$eval=join"",<$out>;close$out;}else{close$out;print$in(decode_base64(join"",@ARGV));close$in;exit;}wait;$SIG{CHLD}=$chld;eval$eval;'"'" "'"'BASE64'"'";_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 --rsync-path='cd ./.TMPWORKDIR/./.; rsync' -rlDzR -e'ssh -l parallel' lo:./abc-file.out ./.;ssh -l parallel lo -- 'rm -f ./.TMPWORKDIR/abc-file; sh -c '"'"'rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;'"'"''"'"'rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- 'rm -f ./.TMPWORKDIR/abc-file.out; sh -c '"'"'rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;'"'"''"'"'rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status; ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -e'ssh -l parallel' ./abc-file lo:./.TMPWORKDIR;ssh -l parallel lo -- exec perl -e "'"'@GNU_Parallel=split/_/,"use_IPC::Open3;_use_MIME::Base64";eval"@GNU_Parallel";$chld=$SIG{CHLD};$SIG{CHLD}="IGNORE";my$zip=(grep{-x$_}"/usr/local/bin/bzip2")[0]||"bzip2";open3($in,$out,">&STDERR",$zip,"-dc");if(my$perlpid=fork){close$in;$eval=join"",<$out>;close$out;}else{close$out;print$in(decode_base64(join"",@ARGV));close$in;exit;}wait;$SIG{CHLD}=$chld;eval$eval;'"'" BASE64;_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 --rsync-path='cd ./.TMPWORKDIR/./.; rsync' -rlDzR -e'ssh -l parallel' lo:./abc-file.out ./.;ssh -l parallel lo -- 'rm -f ./.TMPWORKDIR/abc-file; sh -c '"'"'rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;'"'"''"'"'rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- 'rm -f ./.TMPWORKDIR/abc-file.out; sh -c '"'"'rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;'"'"''"'"'rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status;
parset myvar1,myvar2 echo ::: a b parset myvar1,myvar2 echo ::: a b
echo $myvar1 echo $myvar1
echo $myvar2 echo $myvar2
@ -1486,8 +1487,7 @@ If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
parallel --version parallel --version
GNU parallel VERSION GNU parallel VERSION
Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018 Copyright (C) 2007-2018 Ole Tange and Free Software Foundation, Inc.
Ole Tange and Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
GNU parallel comes with no warranty. GNU parallel comes with no warranty.