mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-22 20:57:53 +00:00
Released as 20200822 ('Beirut')
This commit is contained in:
parent
19cd8e015f
commit
5ea74055dd
10
NEWS
10
NEWS
|
@ -1,3 +1,13 @@
|
|||
20200822
|
||||
|
||||
New in this release:
|
||||
|
||||
* Max command line length is changed for MacOS - making this version
|
||||
beta quality for MacOS.
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
|
||||
20200722
|
||||
|
||||
New in this release:
|
||||
|
|
24
README
24
README
|
@ -57,11 +57,11 @@ document.
|
|||
|
||||
Full installation of GNU Parallel is as simple as:
|
||||
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200722.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200722.tar.bz2.sig
|
||||
gpg parallel-20200722.tar.bz2.sig
|
||||
bzip2 -dc parallel-20200722.tar.bz2 | tar xvf -
|
||||
cd parallel-20200722
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2.sig
|
||||
gpg parallel-20200822.tar.bz2.sig
|
||||
bzip2 -dc parallel-20200822.tar.bz2 | tar xvf -
|
||||
cd parallel-20200822
|
||||
./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-20200722.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200722.tar.bz2.sig
|
||||
gpg parallel-20200722.tar.bz2.sig
|
||||
bzip2 -dc parallel-20200722.tar.bz2 | tar xvf -
|
||||
cd parallel-20200722
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2.sig
|
||||
gpg parallel-20200822.tar.bz2.sig
|
||||
bzip2 -dc parallel-20200822.tar.bz2 | tar xvf -
|
||||
cd parallel-20200822
|
||||
./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. (2020, July 22). GNU Parallel 20200722 ('Privacy Shield').
|
||||
Zenodo. https://doi.org/10.5281/zenodo.3956817
|
||||
Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').
|
||||
Zenodo. https://doi.org/10.5281/zenodo.3996295
|
||||
|
||||
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
|
||||
2016, 2017, 2018, 2019, 2020 Ole Tange, http://ole.tange.dk and Free
|
||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20200722.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20200822.
|
||||
#
|
||||
# Report bugs to <bug-parallel@gnu.org>.
|
||||
#
|
||||
|
@ -579,8 +579,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='parallel'
|
||||
PACKAGE_TARNAME='parallel'
|
||||
PACKAGE_VERSION='20200722'
|
||||
PACKAGE_STRING='parallel 20200722'
|
||||
PACKAGE_VERSION='20200822'
|
||||
PACKAGE_STRING='parallel 20200822'
|
||||
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 20200722 to adapt to many kinds of systems.
|
||||
\`configure' configures parallel 20200822 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 20200722:";;
|
||||
short | recursive ) echo "Configuration of parallel 20200822:";;
|
||||
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 20200722
|
||||
parallel configure 20200822
|
||||
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 20200722, which was
|
||||
It was created by parallel $as_me 20200822, 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='20200722'
|
||||
VERSION='20200822'
|
||||
|
||||
|
||||
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 20200722, which was
|
||||
This file was extended by parallel $as_me 20200822, 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 20200722
|
||||
parallel config.status 20200822
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([parallel], [20200722], [bug-parallel@gnu.org])
|
||||
AC_INIT([parallel], [20200822], [bug-parallel@gnu.org])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([
|
||||
|
|
|
@ -189,7 +189,7 @@ from:tange@gnu.org
|
|||
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
Subject: GNU Parallel 20200822 ('Beirut/Juan Carlos') released <<[stable]>>
|
||||
Subject: GNU Parallel 20200822 ('Beirut') released <<[stable]>>
|
||||
|
||||
GNU Parallel 20200822 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
|
||||
|
@ -207,22 +207,6 @@ New in this release:
|
|||
|
||||
News about GNU Parallel:
|
||||
|
||||
* Tips for Running Jobs on your VM https://support.ehelp.edu.au/support/solutions/articles/6000089713-tips-for-running-jobs-on-your-vm#parallel
|
||||
|
||||
* Introduction to GNU Parallel: Parallelizing Massive Individual Tasks https://www.youtube.com/watch?v=QSFLTEyCKvo
|
||||
|
||||
* Slides for same http://www.hpc.lsu.edu/training/weekly-materials/2020-Spring/GNUParallel_Spring_2020.pdf
|
||||
|
||||
* Linux-Fu: Parallel Universe https://hackaday.com/2020/06/29/linux-fu-parallel-universe/
|
||||
|
||||
* Resumable batch jobs with gnu parallel https://igor.io/parallel/
|
||||
|
||||
* Introducing Parallel into Shell https://www.petelawson.com/post/parallel-in-shell/
|
||||
|
||||
* AV1 encoding parallelization with GNU Parallel https://www.reddit.com/r/AV1/comments/fjvqp9/av1_encoding_parallelization_with_gnu_parallel/
|
||||
|
||||
* Beschleunigte Befehlsbearbeitung mit GNU Parallel https://www.linux-community.de/ausgaben/linuxuser/2013/06/beschleunigte-befehlsbearbeitung-mit-gnu-parallel/
|
||||
|
||||
|
||||
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<directory name="parallel" rev="289" vrev="2" srcmd5="f2fd10de667323622518e3653fe1a05b">
|
||||
<entry name="PKGBUILD" md5="e6ac64e8d3065f4be850b3568268b42b" size="936" mtime="1595494017" />
|
||||
<entry name="parallel-20200722.tar.bz2" md5="09c6b0ad719f1beae5622d2e56a1f831" size="2102288" mtime="1595494018" />
|
||||
<entry name="parallel.spec" md5="e2eb4d93448e26b8ebefb7973d998d14" size="4876" mtime="1595451728" />
|
||||
<entry name="parallel_20200722.dsc" md5="85208bd8f159a9e475dc21a3adaa082c" size="556" mtime="1595451729" />
|
||||
<entry name="parallel_20200722.tar.gz" md5="2a965430557424f6778592bbd1660fd5" size="2294662" mtime="1595451729" />
|
||||
<directory name="parallel" rev="290" vrev="1" srcmd5="a85169cae00a0e4ea737a0dcc7610790">
|
||||
<entry name="PKGBUILD" md5="3568bb74a45413f6c3280ab141f01c2b" size="936" mtime="1598138648" />
|
||||
<entry name="parallel-20200822.tar.bz2" md5="e3ce6ff94d5ba94218f3ab58dd81c0b6" size="2102282" mtime="1598138648" />
|
||||
<entry name="parallel.spec" md5="77efee1567858f2f53f6d4c7b243e2f0" size="4876" mtime="1598138649" />
|
||||
<entry name="parallel_20200822.dsc" md5="a81b6e0c9bb5bc165f2da177f401804f" size="556" mtime="1598138649" />
|
||||
<entry name="parallel_20200822.tar.gz" md5="a2de27efd1fa57afecd4aeb4a3959661" size="2295089" mtime="1598138649" />
|
||||
</directory>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20200722
|
||||
Version: 20200822
|
||||
Release: 1.3
|
||||
License: GPL-3.0-or-later
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20200723;
|
||||
$Global::version = 20200822;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
28
src/parallel
28
src/parallel
|
@ -2160,7 +2160,7 @@ sub check_invalid_option_combinations() {
|
|||
|
||||
sub init_globals() {
|
||||
# Defaults:
|
||||
$Global::version = 20200820;
|
||||
$Global::version = 20200822;
|
||||
$Global::progname = 'parallel';
|
||||
$::name = "GNU Parallel";
|
||||
$Global::infinity = 2**31;
|
||||
|
@ -4919,8 +4919,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. (2020, June 22). GNU Parallel 20200622 ('Floyd').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.3903853",
|
||||
" Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.3996295",
|
||||
"",
|
||||
# Before changing this line, please read
|
||||
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
|
||||
|
@ -4950,8 +4950,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. (2020, June 22). GNU Parallel 20200622 ('Floyd').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.3903853",
|
||||
" Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').",
|
||||
" Zenodo. https://doi.org/10.5281/zenodo.3996295",
|
||||
"",
|
||||
# Before changing this line, please read
|
||||
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
|
||||
|
@ -5064,20 +5064,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_2020_3903853,",
|
||||
"\@software{tange_2020_3996295,",
|
||||
" author = {Tange, Ole},",
|
||||
" title = {GNU Parallel 20200622 ('Floyd')},",
|
||||
" month = Jun,",
|
||||
" title = {GNU Parallel 20200822 ('Beirut')},",
|
||||
" month = Aug,",
|
||||
" year = 2020,",
|
||||
" 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.3903853},",
|
||||
" url = {https://doi.org/10.5281/zenodo.3903853}",
|
||||
" doi = {10.5281/zenodo.3996295},",
|
||||
" url = {https://doi.org/10.5281/zenodo.3996295}",
|
||||
"}",
|
||||
"",
|
||||
"(Feel free to use \\nocite{tange_2020_3903853})",
|
||||
"(Feel free to use \\nocite{tange_2020_3996295})",
|
||||
"",
|
||||
# Before changing this line, please read
|
||||
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
|
||||
|
@ -10503,7 +10503,6 @@ sub slot($) {
|
|||
my $max_len = $Global::minimal_command_line_length
|
||||
|| Limits::Command::max_length();
|
||||
if($^O eq "darwin") {
|
||||
# env $((260932 - $single - $envc - $envl * 4 + 1064 ))
|
||||
# Darwin's limit is affected by:
|
||||
# * number of environment names (variables+functions)
|
||||
# * size of environment
|
||||
|
@ -10518,9 +10517,10 @@ sub slot($) {
|
|||
my $envc = (keys %ENV);
|
||||
my $envn = length join"",(keys %ENV);
|
||||
my $envv = length join"",(values %ENV);
|
||||
$darwin_max_len = 3+($max_len - $envn - $envv) / 5 - $envc*2;
|
||||
$darwin_max_len = 3+($max_len - $envn - $envv)/5 - $envc*2;
|
||||
::debug("init",
|
||||
"length: $darwin_max_len 3+($max_len - $envn - $envv) / 5 - $envc*2");
|
||||
"length: $darwin_max_len ".
|
||||
"3+($max_len - $envn - $envv)/5 - $envc*2");
|
||||
}
|
||||
$max_len = $darwin_max_len;
|
||||
}
|
||||
|
|
|
@ -2349,7 +2349,7 @@ when called with B<--shebang>).
|
|||
Use B<--sqlmaster> instead.
|
||||
|
||||
|
||||
=item B<--sqlmaster> I<DBURL> (beta testing)
|
||||
=item B<--sqlmaster> I<DBURL>
|
||||
|
||||
Submit jobs via SQL server. I<DBURL> must point to a table, which will
|
||||
contain the same information as B<--joblog>, the values from the input
|
||||
|
@ -2391,12 +2391,12 @@ It can also be an alias from ~/.sql/aliases:
|
|||
:myalias mysql:///mydb/paralleljobs
|
||||
|
||||
|
||||
=item B<--sqlandworker> I<DBURL> (beta testing)
|
||||
=item B<--sqlandworker> I<DBURL>
|
||||
|
||||
Shorthand for: B<--sqlmaster> I<DBURL> B<--sqlworker> I<DBURL>.
|
||||
|
||||
|
||||
=item B<--sqlworker> I<DBURL> (beta testing)
|
||||
=item B<--sqlworker> I<DBURL>
|
||||
|
||||
Execute jobs via SQL server. Read the input sources variables from the
|
||||
table pointed to by I<DBURL>. The I<command> on the command line
|
||||
|
|
2
src/sql
2
src/sql
|
@ -574,7 +574,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20200723;
|
||||
$Global::version = 20200822;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -4,6 +4,22 @@
|
|||
# Each should be taking 3-10s and be possible to run in parallel
|
||||
# I.e.: No race conditions, no logins
|
||||
|
||||
par_eta() {
|
||||
echo '### Test of --eta'
|
||||
seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l
|
||||
|
||||
echo '### Test of --eta with no jobs'
|
||||
stdout parallel --eta "sleep 1; echo {}" < /dev/null
|
||||
}
|
||||
|
||||
par_progress() {
|
||||
echo '### Test of --progress'
|
||||
seq 1 10 | stdout parallel --progress "sleep 1; echo {}" | wc -l
|
||||
|
||||
echo '### Test of --progress with no jobs'
|
||||
stdout parallel --progress "sleep 1; echo {}" < /dev/null
|
||||
}
|
||||
|
||||
par_tee_with_premature_close() {
|
||||
echo '--tee --pipe should send all data to all commands'
|
||||
echo 'even if a command closes stdin before reading everything'
|
||||
|
|
|
@ -141,6 +141,12 @@ par_sshlogin_replacement() {
|
|||
parallel -S '5//usr/bin/ssh '$SSHLOGIN1 --plus echo {sshlogin} {} {host} ::: and
|
||||
}
|
||||
|
||||
par_timeout_onall() {
|
||||
echo '### --timeout --onall on remote machines: 2*slept 1, 2 jobs failed'
|
||||
parallel -j0 --timeout 6 --onall -S localhost,$SSHLOGIN1 'sleep {}; echo slept {}' ::: 1 8 9
|
||||
echo jobs failed: $?
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
|
||||
compgen -A function | grep par_ | sort |
|
||||
|
|
|
@ -121,6 +121,12 @@ par_retries_4() {
|
|||
retries 4 48 49
|
||||
}
|
||||
|
||||
par_csh_environment_variables_set() {
|
||||
echo '### Check $PARALLEL_PID $PARALLEL_SEQ are set in csh'
|
||||
parallel -S csh@localhost 'echo $PARALLEL_PID $PARALLEL_SEQ {}| wc -w' ::: a
|
||||
}
|
||||
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
|
||||
compgen -A function | grep par_ | LC_ALL=C sort |
|
||||
|
|
|
@ -44,17 +44,6 @@ echo '### test --workdir . in $HOME'
|
|||
|
||||
echo '### TODO: test --filter-hosts proxied through the one host'
|
||||
|
||||
echo '### bug #43358: shellshock breaks exporting functions using --env'
|
||||
echo shellshock-hardened to shellshock-hardened;
|
||||
funky() { echo Function $1; };
|
||||
export -f funky;
|
||||
parallel --env funky -S parallel@localhost funky ::: shellshock-hardened
|
||||
|
||||
echo '2bug #43358: shellshock breaks exporting functions using --env'
|
||||
echo shellshock-hardened to non-shellshock-hardened;
|
||||
funky() { echo Function $1; };
|
||||
export -f funky;
|
||||
parallel --env funky -S centos3.tange.dk funky ::: non-shellshock-hardened
|
||||
|
||||
EOF
|
||||
rm /tmp/myssh1 /tmp/myssh2 /tmp/myssh1-run /tmp/myssh2-run
|
||||
|
|
|
@ -1,26 +1,37 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "### These tests requires VirtualBox running with the following images"
|
||||
echo `whoami`"@redhat9"
|
||||
echo `whoami`"@centos3"
|
||||
echo `whoami`"@centos5"
|
||||
echo `whoami`"@freebsd7"
|
||||
par_warning_on_centos3() {
|
||||
echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error"
|
||||
testone() {
|
||||
sshlogin="$1"
|
||||
program="$2"
|
||||
basename="$3"
|
||||
scp "$program" "$sshlogin":/tmp/"$basename"
|
||||
stdout ssh "$sshlogin" perl /tmp/"$basename" echo \
|
||||
::: Old_must_fail_New_must_be_OK
|
||||
}
|
||||
export -f testone
|
||||
parallel --tag -k testone {1} {2} {2/} \
|
||||
::: vagrant@centos3 vagrant@rhel8 \
|
||||
::: /usr/local/bin/parallel-20120822 `which parallel`
|
||||
}
|
||||
|
||||
VBoxManage startvm CentOS3-root:centos3 >/dev/null 2>&1
|
||||
VBoxManage startvm CentOS5-root:centos5 >/dev/null 2>&1
|
||||
VBoxManage startvm RedHat9-root:redhat9 >/dev/null 2>&1
|
||||
VBoxManage startvm FreeBSD71 >/dev/null 2>&1
|
||||
ping -c 1 centos3.tange.dk >/dev/null 2>&1
|
||||
ping -c 1 centos5.tange.dk >/dev/null 2>&1
|
||||
ping -c 1 redhat9.tange.dk >/dev/null 2>&1
|
||||
ping -c 1 freebsd7.tange.dk >/dev/null 2>&1
|
||||
par_shellshock() {
|
||||
# Bash on centos3 is non-shellshock-hardened
|
||||
echo '### bug #43358: shellshock breaks exporting functions using --env'
|
||||
echo shellshock-hardened to shellshock-hardened
|
||||
funky() { echo Function $1; }
|
||||
export -f funky
|
||||
parallel --env funky -S parallel@localhost funky ::: shellshock-hardened
|
||||
|
||||
echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error"
|
||||
rm -rf /tmp/parallel
|
||||
cp `which parallel` /tmp/parallel
|
||||
stdout parallel -kj10 --argsep == --basefile /tmp/parallel --tag --nonall -S redhat9.tange.dk,centos3.tange.dk,centos5.tange.dk,freebsd7.tange.dk /tmp/parallel --no-notice echo ::: OK_if_no_perl_warnings | sort
|
||||
echo '2bug #43358: shellshock breaks exporting functions using --env'
|
||||
echo shellshock-hardened to non-shellshock-hardened
|
||||
funky() { echo Function $1; }
|
||||
export -f funky
|
||||
parallel --env funky -S centos3 funky ::: non-shellshock-hardened
|
||||
}
|
||||
|
||||
#VBoxManage controlvm CentOS3-root:centos3 savestate
|
||||
VBoxManage controlvm CentOS5-root:centos5 savestate
|
||||
#VBoxManage controlvm RedHat9-root:redhat9 savestate
|
||||
VBoxManage controlvm FreeBSD71 savestate
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | LC_ALL=C sort |
|
||||
parallel --timeout 1000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
|
||||
perl -pe 's:/usr/bin:/bin:g;'
|
||||
|
|
|
@ -8,18 +8,4 @@ SSHLOGIN1=$SSHUSER1@$SERVER1
|
|||
SSHLOGIN2=$SSHUSER2@$SERVER2
|
||||
|
||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1 -r
|
||||
echo '### Test of --eta'
|
||||
seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l
|
||||
|
||||
echo '### Test of --eta with no jobs'
|
||||
stdout parallel --eta "sleep 1; echo {}" < /dev/null
|
||||
|
||||
echo '### Test of --progress'
|
||||
seq 1 10 | stdout parallel --progress "sleep 1; echo {}" | wc -l
|
||||
|
||||
echo '### Test of --progress with no jobs'
|
||||
stdout parallel --progress "sleep 1; echo {}" < /dev/null
|
||||
|
||||
echo '### --timeout --onall on remote machines: 2*slept 1, 2 jobs failed'
|
||||
parallel -j0 --timeout 6 --onall -S localhost,$SSHLOGIN1 'sleep {}; echo slept {}' ::: 1 8 9 ; echo jobs failed: $?
|
||||
EOF
|
||||
|
|
|
@ -33,6 +33,7 @@ export -f destroy_one
|
|||
server_list() {
|
||||
grep -v '#' <<SSHOK
|
||||
#generic/arch.98
|
||||
tange/centos3.3
|
||||
hfm4/centos4.4
|
||||
hfm4/centos5.5
|
||||
#generic/centos6.6
|
||||
|
|
|
@ -488,10 +488,10 @@ par_long_line_remote ### Deal with long command lines on remote servers
|
|||
par_long_line_remote 2 6 30006
|
||||
par_long_line_remote 3 50 250050
|
||||
par_maxlinelen_X_I ### Test max line length -X -I
|
||||
par_maxlinelen_X_I 201ecb8ca789cecf39ee914a6d75611b -
|
||||
par_maxlinelen_X_I 88ab30e1d8b7459fddf88986ff282950 -
|
||||
par_maxlinelen_X_I Chars per line (817788/7): 116826
|
||||
par_maxlinelen_m_I ### Test max line length -m -I
|
||||
par_maxlinelen_m_I c78bd0799bc23d8946732f8b3ae3c94e -
|
||||
par_maxlinelen_m_I 51736abdee4738369ce04b354d40c887 -
|
||||
par_maxlinelen_m_I Chars per line (697800/6): 116300
|
||||
par_nice Check that --nice works
|
||||
par_nice load_10
|
||||
|
|
|
@ -92,6 +92,13 @@ par_do_not_export_PARALLEL_ENV Should give 60k and not overflow
|
|||
par_do_not_export_PARALLEL_ENV 1 1 60001
|
||||
par_dryrun_timeout_ungroup bug #51039: --dry-run --timeout 1.4m -u breaks
|
||||
par_dryrun_timeout_ungroup 1000 2000 8893
|
||||
par_eta ### Test of --eta
|
||||
par_eta 16
|
||||
par_eta ### Test of --eta with no jobs
|
||||
par_eta
|
||||
par_eta Computers / CPU cores / Max jobs to run
|
||||
par_eta 1:local / 8 / 1
|
||||
par_eta
par_eta ETA: 0s Left: 0 AVG: 0.00s 0
|
||||
par_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent
|
||||
par_exitval_signal exitval=128+6 OK
|
||||
par_exitval_signal signal OK
|
||||
|
@ -226,6 +233,13 @@ par_pipepart_block 17-20
|
|||
par_pipepart_block 18-20
|
||||
par_pipepart_block 19-20
|
||||
par_pipepart_block 20-20
|
||||
par_progress ### Test of --progress
|
||||
par_progress 16
|
||||
par_progress ### Test of --progress with no jobs
|
||||
par_progress
|
||||
par_progress Computers / CPU cores / Max jobs to run
|
||||
par_progress 1:local / 8 / 1
|
||||
par_progress
par_progress 0
|
||||
par_resume_k ### --resume -k
|
||||
par_resume_k job0id
|
||||
par_resume_k job1id
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
make[1]: Entering directory '~/privat/parallel/testsuite'
|
||||
# || true - because this should not fail if the VM is not running
|
||||
VBoxManage controlvm CentOS3-root:centos3 savestate || true
|
||||
VBoxManage controlvm RedHat9-root:redhat9 savestate || true
|
||||
VBoxManage controlvm OracleXE savestate || true
|
||||
parallel 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8
|
||||
==> default: Saving VM state and suspending execution...
|
||||
==> default: Saving VM state and suspending execution...
|
||||
==> default: Saving VM state and suspending execution...
|
||||
==> default: Saving VM state and suspending execution...
|
||||
make[1]: Leaving directory '~/privat/parallel/testsuite'
|
||||
par_2gb_record_reading ### Trouble reading a record > 2 GB for certain versions of Perl (substr($a,0,2G+1)="fails")
|
||||
par_2gb_record_reading ### perl -e $buf=("x"x(2**31))."x"; substr($buf,0,2**31+1)=""; print length $buf
|
||||
|
@ -35,13 +36,49 @@ par_2gb_records_N parallel: Warning: A record was longer than 1690000003. Increa
|
|||
par_2gb_records_N 8000000008
|
||||
par_2gb_records_N 1000000000
|
||||
make[1]: Entering directory '~/privat/parallel/testsuite'
|
||||
# Make sure we can reach the virtual machines
|
||||
#sudo ifconfig wlp13s0:0 192.168.1.72 || sudo ifconfig wlan0:0 192.168.1.72
|
||||
sudo ifconfig enp14s0:0 192.168.1.72 || sudo ifconfig eth0:0 192.168.1.72
|
||||
# If they are already running: Don't fail
|
||||
VBoxManage startvm CentOS3-root:centos3\ Clone2 || VBoxManage controlvm CentOS3-root:centos3\ Clone2 resume || true
|
||||
VBoxManage startvm RedHat9-root:redhat9 || VBoxManage controlvm RedHat9-root:redhat9 resume || true
|
||||
Waiting for VM "RedHat9-root:redhat9" to power on...
|
||||
VM "RedHat9-root:redhat9" has been successfully started.
|
||||
parallel 'ping {} | read' ::: redhat9.tange.dk centos3.tange.dk
|
||||
parallel 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8
|
||||
Bringing machine 'default' up with 'virtualbox' provider...
|
||||
==> default: Checking if box 'generic/rhel8' version '3.0.12' is up to date...
|
||||
==> default: Resuming suspended VM...
|
||||
==> default: Booting VM...
|
||||
==> default: Waiting for machine to boot. This may take a few minutes...
|
||||
default: SSH address: 127.0.0.1:2203
|
||||
default: SSH username: vagrant
|
||||
default: SSH auth method: private key
|
||||
==> default: Machine booted and ready!
|
||||
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
|
||||
==> default: flag to force provisioning. Provisioners marked to run always will still run.
|
||||
Bringing machine 'default' up with 'virtualbox' provider...
|
||||
==> default: Checking if box 'generic/freebsd12' version '3.0.12' is up to date...
|
||||
==> default: Resuming suspended VM...
|
||||
==> default: Booting VM...
|
||||
==> default: Waiting for machine to boot. This may take a few minutes...
|
||||
default: SSH address: 127.0.0.1:2205
|
||||
default: SSH username: vagrant
|
||||
default: SSH auth method: private key
|
||||
==> default: Machine booted and ready!
|
||||
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
|
||||
==> default: flag to force provisioning. Provisioners marked to run always will still run.
|
||||
Bringing machine 'default' up with 'virtualbox' provider...
|
||||
==> default: Checking if box 'generic/centos8' version '3.0.12' is up to date...
|
||||
==> default: Resuming suspended VM...
|
||||
==> default: Booting VM...
|
||||
==> default: Waiting for machine to boot. This may take a few minutes...
|
||||
default: SSH address: 127.0.0.1:2204
|
||||
default: SSH username: vagrant
|
||||
default: SSH auth method: private key
|
||||
==> default: Machine booted and ready!
|
||||
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
|
||||
==> default: flag to force provisioning. Provisioners marked to run always will still run.
|
||||
Bringing machine 'default' up with 'virtualbox' provider...
|
||||
==> default: Checking if box 'generic/freebsd11' version '3.0.12' is up to date...
|
||||
==> default: Resuming suspended VM...
|
||||
==> default: Booting VM...
|
||||
==> default: Waiting for machine to boot. This may take a few minutes...
|
||||
default: SSH address: 127.0.0.1:2206
|
||||
default: SSH username: vagrant
|
||||
default: SSH auth method: private key
|
||||
==> default: Machine booted and ready!
|
||||
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
|
||||
==> default: flag to force provisioning. Provisioners marked to run always will still run.
|
||||
make[1]: Leaving directory '~/privat/parallel/testsuite'
|
||||
|
|
|
@ -88,6 +88,18 @@ par_test_pipe_onall parallel@lo 3
|
|||
par_test_pipe_onall parallel@lo 1
|
||||
par_test_pipe_onall parallel@lo 2
|
||||
par_test_pipe_onall parallel@lo 3
|
||||
par_timeout_onall ### --timeout --onall on remote machines: 2*slept 1, 2 jobs failed
|
||||
par_timeout_onall slept 1
|
||||
par_timeout_onall parallel: Warning: This job was killed because it timed out:
|
||||
par_timeout_onall parallel: Warning: sleep 8; echo slept 8
|
||||
par_timeout_onall parallel: Warning: This job was killed because it timed out:
|
||||
par_timeout_onall parallel: Warning: sleep 9; echo slept 9
|
||||
par_timeout_onall slept 1
|
||||
par_timeout_onall parallel: Warning: This job was killed because it timed out:
|
||||
par_timeout_onall parallel: Warning: sleep 8; echo slept 8
|
||||
par_timeout_onall parallel: Warning: This job was killed because it timed out:
|
||||
par_timeout_onall parallel: Warning: sleep 9; echo slept 9
|
||||
par_timeout_onall jobs failed: 2
|
||||
par_wd_braces ### Test --wd {}
|
||||
par_wd_braces wd1
|
||||
par_wd_braces wd2
|
||||
|
|
|
@ -2,6 +2,8 @@ par_bar_m ### test --bar -m
|
|||
par_bar_m 0
|
||||
par_bar_m 50
|
||||
par_bar_m 100
|
||||
par_csh_environment_variables_set ### Check $PARALLEL_PID $PARALLEL_SEQ are set in csh
|
||||
par_csh_environment_variables_set 3
|
||||
par_keep_order ### Test --keep-order
|
||||
par_keep_order job0
|
||||
par_keep_order job1
|
||||
|
@ -32,3 +34,5 @@ par_retries_2 ### Test of --retries - it should run 25 jobs in total
|
|||
par_retries_2 OK
|
||||
par_retries_4 ### Test of --retries - it should run 49 jobs in total
|
||||
par_retries_4 OK
|
||||
par_transfer_special_char_names ### Test --return of weirdly named file
|
||||
par_transfer_special_char_names aa<${#}" b
|
||||
|
|
|
@ -304,6 +304,8 @@ parallel: Warning: Only enough file handles to run 2 jobs in parallel.
|
|||
parallel: Warning: Running 'parallel -j0 -N 2 --pipe parallel -j0' or
|
||||
parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
||||
parallel: Warning: or /proc/sys/fs/file-max may help.
|
||||
parallel: Warning: No more file handles.
|
||||
parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help.
|
||||
echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
|
||||
bug #34241: --pipe should not spawn unneeded processes - part 2
|
||||
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$; wait; CHAR=$(cat /tmp/a$$ | wc -c); LINES=$(cat /tmp/a$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/awc$$; rm /tmp/a$$ /tmp/awc$$
|
||||
### Test of xargs -m command lines > 130k
|
||||
c78bd0799bc23d8946732f8b3ae3c94e -
|
||||
51736abdee4738369ce04b354d40c887 -
|
||||
Chars per line: 116300
|
||||
6 119994 697800
|
||||
echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$
|
||||
### Test of xargs -X command lines > 130k
|
||||
201ecb8ca789cecf39ee914a6d75611b -
|
||||
88ab30e1d8b7459fddf88986ff282950 -
|
||||
Chars per line: 116826
|
||||
7 60000 817788
|
||||
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum
|
||||
### Test of xargs -m command lines > 130k
|
||||
590091fd85dcb98f91c5e89cdddf21ef -
|
||||
e606ff4068f4b48582d3305d39f93caf -
|
||||
echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec.
|
||||
### This causes problems if we kill child processes
|
||||
seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum
|
||||
|
|
|
@ -73,8 +73,8 @@ please cite as described in 'parallel --citation'.
|
|||
echo '### bug #39787: --xargs broken'
|
||||
### bug #39787: --xargs broken
|
||||
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
|
||||
131052
|
||||
37842
|
||||
131058
|
||||
37836
|
||||
echo '### --delay should grow by 3 sec per arg'
|
||||
### --delay should grow by 3 sec per arg
|
||||
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'
|
||||
|
|
|
@ -1,120 +1,16 @@
|
|||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 2168 52032
|
||||
par_big_func 1 156 3684
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 2168 52032
|
||||
par_big_func_name 1 156 3684
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 2168 52032
|
||||
par_big_var_func_name 1 156 3684
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 16156 32312
|
||||
par_many_args 1 3504 7008
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 1260 30240
|
||||
par_many_func 1 416 9924
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 1344 32256
|
||||
par_many_var 1 332 7908
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 1304 31296
|
||||
par_many_var_big_func 1 972 23268
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 1260 30240
|
||||
par_many_var_func 1 416 9924
|
||||
par_big_func 1 2124 50976
|
||||
par_big_func 1 1212 29028
|
||||
par_big_func_name 1 1324 31776
|
||||
par_big_func_name 1 1176 28224
|
||||
par_big_var_func_name 1 1324 31776
|
||||
par_big_var_func_name 1 344 8228
|
||||
par_many_args 1 16420 32840
|
||||
par_many_args 1 3580 7160
|
||||
par_many_func 1 1168 28032
|
||||
par_many_func 1 500 11972
|
||||
par_many_var 1 1368 32832
|
||||
par_many_var 1 300 7172
|
||||
par_many_var_big_func 1 1176 28224
|
||||
par_many_var_big_func 1 492 11780
|
||||
par_many_var_func 1 1768 42432
|
||||
par_many_var_func 1 1568 37572
|
||||
|
|
|
@ -109,6 +109,9 @@ vagrant@parallel-server3
|
|||
echo '### test --filter-hosts with server w/o ssh, non-existing server'
|
||||
### test --filter-hosts with server w/o ssh, non-existing server
|
||||
parallel -S 192.168.1.197,8.8.8.8,vagrant@parallel-server1,vagrant@parallel-server2,vagrant@parallel-server3 --filter-hosts --nonall -k --tag echo
|
||||
vagrant@parallel-server1
|
||||
vagrant@parallel-server2
|
||||
vagrant@parallel-server3
|
||||
echo '### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host'
|
||||
### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host
|
||||
(parallel -S vagrant@parallel-server1 true ::: {1..20}; echo No --controlmaster - finish last) & (parallel -M -S vagrant@parallel-server1 true ::: {1..20}; echo With --controlmaster - finish first) & wait
|
||||
|
@ -124,13 +127,3 @@ echo '### test --workdir . in $HOME'
|
|||
OK
|
||||
echo '### TODO: test --filter-hosts proxied through the one host'
|
||||
### TODO: test --filter-hosts proxied through the one host
|
||||
echo '### bug #43358: shellshock breaks exporting functions using --env'
|
||||
### bug #43358: shellshock breaks exporting functions using --env
|
||||
echo shellshock-hardened to shellshock-hardened; funky() { echo Function $1; }; export -f funky; parallel --env funky -S parallel@localhost funky ::: shellshock-hardened
|
||||
shellshock-hardened to shellshock-hardened
|
||||
Function shellshock-hardened
|
||||
echo '2bug #43358: shellshock breaks exporting functions using --env'
|
||||
2bug #43358: shellshock breaks exporting functions using --env
|
||||
echo shellshock-hardened to non-shellshock-hardened; funky() { echo Function $1; }; export -f funky; parallel --env funky -S centos3.tange.dk funky ::: non-shellshock-hardened
|
||||
shellshock-hardened to non-shellshock-hardened
|
||||
Function non-shellshock-hardened
|
||||
|
|
|
@ -1425,4 +1425,4 @@ C
|
|||
echo A
|
||||
echo B
|
||||
echo C
|
||||
8
|
||||
7
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
### These tests requires VirtualBox running with the following images
|
||||
tange@redhat9
|
||||
tange@centos3
|
||||
tange@centos5
|
||||
tange@freebsd7
|
||||
### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error
|
||||
centos3.tange.dk OK_if_no_perl_warnings
|
||||
centos5.tange.dk OK_if_no_perl_warnings
|
||||
freebsd7.tange.dk OK_if_no_perl_warnings
|
||||
redhat9.tange.dk OK_if_no_perl_warnings
|
||||
par_shellshock ### bug #43358: shellshock breaks exporting functions using --env
|
||||
par_shellshock shellshock-hardened to shellshock-hardened
|
||||
par_shellshock Function shellshock-hardened
|
||||
par_shellshock 2bug #43358: shellshock breaks exporting functions using --env
|
||||
par_shellshock shellshock-hardened to non-shellshock-hardened
|
||||
par_shellshock parallel: Warning: Could not figure out number of cpus on centos3 (). Using 1.
|
||||
par_shellshock Function non-shellshock-hardened
|
||||
par_warning_on_centos3 ### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error
|
||||
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Bareword found where operator expected at /tmp/parallel-20120822 line 1249, near "$Global::original_stderr init_progress"
|
||||
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 (Missing operator before init_progress?)
|
||||
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Bareword found where operator expected at /tmp/parallel-20120822 line 1294, near "$Global::original_stderr init_progress"
|
||||
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 (Missing operator before init_progress?)
|
||||
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel-20120822 Old_must_fail_New_must_be_OK
|
||||
par_warning_on_centos3 vagrant@centos3 /usr/local/bin/parallel Old_must_fail_New_must_be_OK
|
||||
par_warning_on_centos3 vagrant@rhel8 /usr/local/bin/parallel-20120822 Old_must_fail_New_must_be_OK
|
||||
par_warning_on_centos3 vagrant@rhel8 /usr/local/bin/parallel Old_must_fail_New_must_be_OK
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
echo '### Test of --eta'
|
||||
### Test of --eta
|
||||
seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l
|
||||
16
|
||||
echo '### Test of --eta with no jobs'
|
||||
### Test of --eta with no jobs
|
||||
stdout parallel --eta "sleep 1; echo {}" < /dev/null
|
||||
|
||||
Computers / CPU cores / Max jobs to run
|
||||
1:local / 8 / 1
|
||||
ETA: 0s Left: 0 AVG: 0.00s 0
|
||||
echo '### Test of --progress'
|
||||
### Test of --progress
|
||||
seq 1 10 | stdout parallel --progress "sleep 1; echo {}" | wc -l
|
||||
16
|
||||
echo '### Test of --progress with no jobs'
|
||||
### Test of --progress with no jobs
|
||||
stdout parallel --progress "sleep 1; echo {}" < /dev/null
|
||||
|
||||
Computers / CPU cores / Max jobs to run
|
||||
1:local / 8 / 1
|
||||
0
|
||||
echo '### --timeout --onall on remote machines: 2*slept 1, 2 jobs failed'
|
||||
### --timeout --onall on remote machines: 2*slept 1, 2 jobs failed
|
||||
parallel -j0 --timeout 6 --onall -S localhost,$SSHLOGIN1 'sleep {}; echo slept {}' ::: 1 8 9 ; echo jobs failed: $?
|
||||
slept 1
|
||||
slept 1
|
||||
jobs failed: 2
|
|
@ -1,13 +0,0 @@
|
|||
echo '### Test --return of weirdly named file'
|
||||
### Test --return of weirdly named file
|
||||
stdout parallel --return {} -vv -S parallel\@parallel-server1 echo '>'{} ::: 'aa<${#}" b' | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'; rm 'aa<${#}" b'
|
||||
ssh -l parallel one-server -- exec 'perl -e '"'"'$ENV{"PARALLEL_PID"}="XXXXX";$ENV{"PARALLEL_SEQ"}="1";$ENV{"PARALLEL_SSHLOGIN"}="parallel\@parallel-server1";$ENV{"PARALLEL_SSHHOST"}="parallel-server1";$ENV{"PARALLEL_JOBSLOT"}="1";$bashfunc = "";@ARGV="echo >'"'"'"'"'"'"'"'"'aa<\${#}\" b'"'"'"'"'"'"'"'"'";$shell="$ENV{SHELL}";$tmpdir="/tmp/test61-tmpdir";$nice=0;do{$ENV{PARALLEL_TMP}=$tmpdir."/par".join"",map{(0..9,"a".."z","A".."Z")[rand(62)]}(1..5);}while(-e$ENV{PARALLEL_TMP});$SIG{CHLD}=sub{$done=1;};$pid=fork;unless($pid){eval{setpgrp};eval{setpriority(0,0,$nice)};exec$shell,"-c",($bashfunc."@ARGV");die"exec:$!\n";}do{$s=$s<1?0.001+$s*1.03:$s;select(undef,undef,undef,$s);}until($done||getppid==1);kill(SIGHUP,-${pid})unless$done;wait;exit($?&127?128+($?&127):1+$?>>8)'"'";_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 --rsync-path='cd ././.; rsync' -rlDzR -e'ssh -l parallel' parallel-server1:"'"'./aa<${#}" b'"'" ./.;exit $_EXIT_status;
|
||||
echo '### Test if remote login shell is csh'
|
||||
### Test if remote login shell is csh
|
||||
stdout parallel -k -vv -S csh@localhost 'echo $PARALLEL_PID $PARALLEL_SEQ {}| wc -w' ::: a b c | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'
|
||||
ssh -l csh localhost -- exec 'perl -e '"'"'$ENV{"PARALLEL_PID"}="XXXXX";$ENV{"PARALLEL_SEQ"}="1";$ENV{"PARALLEL_SSHLOGIN"}="csh\@localhost";$ENV{"PARALLEL_SSHHOST"}="localhost";$ENV{"PARALLEL_JOBSLOT"}="1";$bashfunc = "";@ARGV="echo \$PARALLEL_PID \$PARALLEL_SEQ a| wc -w";$shell="$ENV{SHELL}";$tmpdir="/tmp/test61-tmpdir";$nice=0;do{$ENV{PARALLEL_TMP}=$tmpdir."/par".join"",map{(0..9,"a".."z","A".."Z")[rand(62)]}(1..5);}while(-e$ENV{PARALLEL_TMP});$SIG{CHLD}=sub{$done=1;};$pid=fork;unless($pid){eval{setpgrp};eval{setpriority(0,0,$nice)};exec$shell,"-c",($bashfunc."@ARGV");die"exec:$!\n";}do{$s=$s<1?0.001+$s*1.03:$s;select(undef,undef,undef,$s);}until($done||getppid==1);kill(SIGHUP,-${pid})unless$done;wait;exit($?&127?128+($?&127):1+$?>>8)'"'";
|
||||
3
|
||||
ssh -l csh localhost -- exec 'perl -e '"'"'$ENV{"PARALLEL_PID"}="XXXXX";$ENV{"PARALLEL_SEQ"}="2";$ENV{"PARALLEL_SSHLOGIN"}="csh\@localhost";$ENV{"PARALLEL_SSHHOST"}="localhost";$ENV{"PARALLEL_JOBSLOT"}="2";$bashfunc = "";@ARGV="echo \$PARALLEL_PID \$PARALLEL_SEQ b| wc -w";$shell="$ENV{SHELL}";$tmpdir="/tmp/test61-tmpdir";$nice=0;do{$ENV{PARALLEL_TMP}=$tmpdir."/par".join"",map{(0..9,"a".."z","A".."Z")[rand(62)]}(1..5);}while(-e$ENV{PARALLEL_TMP});$SIG{CHLD}=sub{$done=1;};$pid=fork;unless($pid){eval{setpgrp};eval{setpriority(0,0,$nice)};exec$shell,"-c",($bashfunc."@ARGV");die"exec:$!\n";}do{$s=$s<1?0.001+$s*1.03:$s;select(undef,undef,undef,$s);}until($done||getppid==1);kill(SIGHUP,-${pid})unless$done;wait;exit($?&127?128+($?&127):1+$?>>8)'"'";
|
||||
3
|
||||
ssh -l csh localhost -- exec 'perl -e '"'"'$ENV{"PARALLEL_PID"}="XXXXX";$ENV{"PARALLEL_SEQ"}="3";$ENV{"PARALLEL_SSHLOGIN"}="csh\@localhost";$ENV{"PARALLEL_SSHHOST"}="localhost";$ENV{"PARALLEL_JOBSLOT"}="3";$bashfunc = "";@ARGV="echo \$PARALLEL_PID \$PARALLEL_SEQ c| wc -w";$shell="$ENV{SHELL}";$tmpdir="/tmp/test61-tmpdir";$nice=0;do{$ENV{PARALLEL_TMP}=$tmpdir."/par".join"",map{(0..9,"a".."z","A".."Z")[rand(62)]}(1..5);}while(-e$ENV{PARALLEL_TMP});$SIG{CHLD}=sub{$done=1;};$pid=fork;unless($pid){eval{setpgrp};eval{setpriority(0,0,$nice)};exec$shell,"-c",($bashfunc."@ARGV");die"exec:$!\n";}do{$s=$s<1?0.001+$s*1.03:$s;select(undef,undef,undef,$s);}until($done||getppid==1);kill(SIGHUP,-${pid})unless$done;wait;exit($?&127?128+($?&127):1+$?>>8)'"'";
|
||||
3
|
Loading…
Reference in a new issue