[-]
[+]
|
Changed |
_service:tar_git:parallel.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/nephros/parallel</param>
<param name="branch"></param>
- <param name="revision">20220222+git22</param>
+ <param name="revision">20220322+git1</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/NEWS
^
|
@@ -1,3 +1,18 @@
+202203022
+
+New in this release:
+
+* --sshlogin user:password@host is now supported by using sshpass.
+
+* Bug fixes and man page updates: Many options now have a 'See also' section.
+
+News about GNU Parallel:
+
+* Bash: GNU Parallel with Curl https://gist.github.com/CMCDragonkai/5914e02df62137e47f32?permalink_comment_id=2617456
+
+* The Pipe Operator Explained https://medium.com/geekculture/the-pipe-operator-explained-cbd41e23775a
+
+
20220222
New in this release:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/README
^
|
@@ -57,11 +57,11 @@
Full installation of GNU Parallel is as simple as:
- wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2.sig
- gpg parallel-20220222.tar.bz2.sig
- bzip2 -dc parallel-20220222.tar.bz2 | tar xvf -
- cd parallel-20220222
+ wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2.sig
+ gpg parallel-20220322.tar.bz2.sig
+ bzip2 -dc parallel-20220322.tar.bz2 | tar xvf -
+ cd parallel-20220322
./configure && make && sudo make install
@@ -70,11 +70,11 @@
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-20220222.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2.sig
- gpg parallel-20220222.tar.bz2.sig
- bzip2 -dc parallel-20220222.tar.bz2 | tar xvf -
- cd parallel-20220222
+ wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2.sig
+ gpg parallel-20220322.tar.bz2.sig
+ bzip2 -dc parallel-20220322.tar.bz2 | tar xvf -
+ cd parallel-20220322
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
@@ -122,12 +122,11 @@
When using programs that use GNU Parallel to process data for
publication please cite:
- Tange, O. (2022, February 22). GNU Parallel 20220222 ('Donetsk Luhansk').
- Zenodo. https://doi.org/10.5281/zenodo.6213471
+ Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль').
+ Zenodo. https://doi.org/10.5281/zenodo.6377950
-Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
-2016, 2017, 2018, 2019, 2020, 2021 Ole Tange, http://ole.tange.dk and
-Free Software Foundation, Inc.
+Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
+Software Foundation, Inc.
= New versions =
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/configure
^
|
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for parallel 20220222.
+# Generated by GNU Autoconf 2.69 for parallel 20220322.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@@ -579,8 +579,8 @@
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20220222'
-PACKAGE_STRING='parallel 20220222'
+PACKAGE_VERSION='20220322'
+PACKAGE_STRING='parallel 20220322'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@@ -1214,7 +1214,7 @@
# 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 20220222 to adapt to many kinds of systems.
+\`configure' configures parallel 20220322 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1281,7 +1281,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of parallel 20220222:";;
+ short | recursive ) echo "Configuration of parallel 20220322:";;
esac
cat <<\_ACEOF
@@ -1357,7 +1357,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-parallel configure 20220222
+parallel configure 20220322
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1374,7 +1374,7 @@
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 20220222, which was
+It was created by parallel $as_me 20220322, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2237,7 +2237,7 @@
# Define the identity of the package.
PACKAGE='parallel'
- VERSION='20220222'
+ VERSION='20220322'
cat >>confdefs.h <<_ACEOF
@@ -2880,7 +2880,7 @@
# 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 20220222, which was
+This file was extended by parallel $as_me 20220322, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2942,7 +2942,7 @@
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 20220222
+parallel config.status 20220322
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/configure.ac
^
|
@@ -1,4 +1,4 @@
-AC_INIT([parallel],[20220222],[bug-parallel@gnu.org])
+AC_INIT([parallel],[20220322],[bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/doc/haikus
^
|
@@ -4,6 +4,12 @@
Quote of the month:
+ 아 parallel 너무 좋지요.
+ -- 어엉부엉@d_ijk_stra
+
+
+ It's amazing how fast you can get with bash pipelines and GNU Parallel.
+ -- Eric Pauley @EricPauley_
GNU parallel すごいな、シェルスクリプトを make -jX みたいにして並列
に走らせたいときに超便利
@@ -18,13 +24,10 @@
haberlo conocido antes :)
-- Juan Sierra Pons @juasiepo
-
-
If I could only keep 5 GNU utils, parallel would make it to the list
:)
-- 5heikki@reddit
-
Gnu Parallel: installed in every computer i have access to.
-- raffaele messuti @atomotic@twitter
@@ -34,7 +37,7 @@
Deus salve o gnu parallel
-- marcos @guv_Tuv@twitter
-@a201
+@a
4
اليوم علمت بأداة تساعد على تشغيل أوامر الصدفة بشكل متوازي حسب عدد الأنوية الموجودة مما يجعلها أداة أساسية في عدة تنفيذ المهام.
الأداة اسمها gnu parallel
@@ -166,6 +169,9 @@
=== Used ===
+ My favorite software, ever. Keep the good work.
+ -- Federico Alves @federicoalves@twitter
+
I also prefer gnu parallel. Mainly because it makes embarrassingly
parallel tasks embarrassingly easy to run on the command line.
-- Vincent D. Warmerdam @fishnets88@twitter
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/doc/release_new_version
^
|
@@ -254,37 +254,28 @@
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
-Subject: GNU Parallel 20220222 ('Donetsk Luhansk') released
+Subject: GNU Parallel 20220322 ('Маріу́поль') released
-GNU Parallel 20220222 ('Donetsk Luhansk') has been released. It is available for download at: lbry://@GnuParallel:4
+GNU Parallel 20220322 ('Маріу́поль') has been released. It is available for download at: lbry://@GnuParallel:4
-This release has a major change in the remote code. This makes this release beta quality.
+No new functionality was introduced so this is a good candidate for a stable release.
Quote of the month:
- I also prefer gnu parallel. Mainly because it makes embarrassingly
- parallel tasks embarrassingly easy to run on the command line.
- -- Vincent D. Warmerdam @fishnets88@twitter
+ My favorite software, ever. Keep the good work.
+ -- Federico Alves @federicoalves@twitter
New in this release:
-* Encoding of remote commands has changed. This limits the length of remote commands to less than half. It also requires $REMOTE_TMPDIR to be writable.
-
-* Time functions hh_mm_ss() hhmmss() hh_mm() hhmm() are now available for {= =}.
-
-* parallel_options_map.pdf is a map showing which options other options relate to.
-
-* {uniq} added to --plus to only run jobs with unique values.
+* --sshlogin user:password@host is now supported by using sshpass.
* Bug fixes and man page updates: Many options now have a 'See also' section.
News about GNU Parallel:
-* HPC at Noon - GNU Parallel u SLURM srun , 22 February 2022 https://kim.uni-hohenheim.de/en/96097?tx_ttnews%5Btt_news%5D=53919&cHash=985f4f4ac1a166d180d81f6e9be832a3
-
-* linux 命令 -- parallel https://blog.csdn.net/qq_38197157/article/details/112596389
+* Bash: GNU Parallel with Curl https://gist.github.com/CMCDragonkai/5914e02df62137e47f32?permalink_comment_id=2617456
-* Iterating Over Each Line of ls -l Output https://www.baeldung.com/linux/iterating-ls-l-output
+* The Pipe Operator Explained https://medium.com/geekculture/the-pipe-operator-explained-cbd41e23775a
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
@@ -364,4 +355,4 @@
= About GNU Niceload =
-GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.
\ No newline at end of file
+GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/packager/obs/home:tange/parallel/.osc/_files
^
|
@@ -1,7 +1,7 @@
-<directory name="parallel" rev="320" vrev="2" srcmd5="905f81629a5ed7087d429ae28a9b91af">
- <entry name="PKGBUILD" md5="de26b2954eee4fb4892176227e2952c8" size="936" mtime="1645552790" />
- <entry name="parallel-20220222.tar.bz2" md5="73a869af30a1d44979c62d53de571560" size="2356561" mtime="1645552790" />
- <entry name="parallel.spec" md5="9acb4b8654ecfdde83dc7192d258cda1" size="5713" mtime="1645489450" />
- <entry name="parallel_20220222.dsc" md5="cdaacd2e8292275283ed1bcfa7f517aa" size="556" mtime="1645552791" />
- <entry name="parallel_20220222.tar.gz" md5="a875e2da6fd97629650833defda51891" size="2601791" mtime="1645552791" />
+<directory name="parallel" rev="323" vrev="3" srcmd5="c565cbe04658889d22a7e5032d77984d">
+ <entry name="PKGBUILD" md5="35856b239fc5c5d674b23b0b29372514" size="936" mtime="1647986244" />
+ <entry name="parallel-20220322.tar.bz2" md5="56609a884c192cd3789f0a088f0e0f2c" size="2359966" mtime="1647986244" />
+ <entry name="parallel.spec" md5="2a5340a2f652e86d5ba722cbeb27ecaa" size="5713" mtime="1647985150" />
+ <entry name="parallel_20220322.dsc" md5="50c65faae3e1960012a9ec4e2c7c8bf3" size="556" mtime="1647985150" />
+ <entry name="parallel_20220322.tar.gz" md5="fbe1fe020e93180ecd2275c2cefa85c4" size="2606124" mtime="1647985150" />
</directory>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/packager/obs/home:tange/parallel/.osc/parallel.spec
^
|
@@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
-Version: 20220222
+Version: 20220322
Release: 1.3
License: GPL-3.0-or-later
Group: Productivity/File utilities
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/Makefile.am
^
|
@@ -246,51 +246,51 @@
|| echo "Warning: pod2texi not found. Using old parsort.texi"
parallel.rst: parallel.pod
- pod2rst --outfile "$(srcdir)"/parallel.rst --infile="$(srcdir)"/parallel.pod \
+ ./pod2rst-fix < "$(srcdir)"/parallel.pod > "$(srcdir)"/parallel.rst \
|| echo "Warning: pod2rst not found. Using old parallel.rst"
env_parallel.rst: env_parallel.pod
- pod2rst --outfile "$(srcdir)"/env_parallel.rst --infile="$(srcdir)"/env_parallel.pod \
+ ./pod2rst-fix < "$(srcdir)"/env_parallel.pod > "$(srcdir)"/env_parallel.rst \
|| echo "Warning: pod2rst not found. Using old env_parallel.rst"
parallel_tutorial.rst: parallel_tutorial.pod
- pod2rst --outfile "$(srcdir)"/parallel_tutorial.rst --infile="$(srcdir)"/parallel_tutorial.pod \
+ ./pod2rst-fix < "$(srcdir)"/parallel_tutorial.pod > "$(srcdir)"/parallel_tutorial.rst \
|| echo "Warning: pod2rst not found. Using old parallel_tutorial.rst"
parallel_book.rst: parallel_book.pod
- pod2rst --outfile "$(srcdir)"/parallel_book.rst --infile="$(srcdir)"/parallel_book.pod \
+ ./pod2rst-fix "$(srcdir)"/parallel_book.pod > "$(srcdir)"/parallel_book.rst \
|| echo "Warning: pod2rst not found. Using old parallel_book.rst"
parallel_design.rst: parallel_design.pod
- pod2rst --outfile "$(srcdir)"/parallel_design.rst --infile="$(srcdir)"/parallel_design.pod \
+ ./pod2rst-fix "$(srcdir)"/parallel_design.pod > "$(srcdir)"/parallel_design.rst \
|| echo "Warning: pod2rst not found. Using old parallel_design.rst"
parallel_alternatives.rst: parallel_alternatives.pod
- pod2rst --outfile "$(srcdir)"/parallel_alternatives.rst --infile="$(srcdir)"/parallel_alternatives.pod \
+ ./pod2rst-fix "$(srcdir)"/parallel_alternatives.pod > "$(srcdir)"/parallel_alternatives.rst \
|| echo "Warning: pod2rst not found. Using old parallel_alternatives.rst"
sem.rst: sem.pod
- pod2rst --outfile "$(srcdir)"/sem.rst --infile="$(srcdir)"/sem.pod \
+ ./pod2rst-fix "$(srcdir)"/sem.pod > "$(srcdir)"/sem.rst \
|| echo "Warning: pod2rst not found. Using old sem.rst"
sql.rst: sql
- pod2rst --outfile "$(srcdir)"/sql.rst --infile="$(srcdir)"/sql \
+ ./pod2rst-fix "$(srcdir)"/sql > "$(srcdir)"/sql.rst \
|| echo "Warning: pod2rst not found. Using old sql.rst"
niceload.rst: niceload.pod
- pod2rst --outfile "$(srcdir)"/niceload.rst --infile="$(srcdir)"/niceload.pod \
+ ./pod2rst-fix "$(srcdir)"/niceload.pod > "$(srcdir)"/niceload.rst \
|| echo "Warning: pod2rst not found. Using old niceload.rst"
parcat.rst: parcat.pod
- pod2rst --outfile "$(srcdir)"/parcat.rst --infile="$(srcdir)"/parcat.pod \
+ ./pod2rst-fix "$(srcdir)"/parcat.pod > "$(srcdir)"/parcat.rst \
|| echo "Warning: pod2rst not found. Using old parcat.rst"
parset.rst: parset.pod
- pod2rst --outfile "$(srcdir)"/parset.rst --infile="$(srcdir)"/parset.pod \
+ ./pod2rst-fix "$(srcdir)"/parset.pod > "$(srcdir)"/parset.rst \
|| echo "Warning: pod2rst not found. Using old parset.rst"
parsort.rst: parsort
- pod2rst --outfile "$(srcdir)"/parsort.rst --infile="$(srcdir)"/parsort \
+ ./pod2rst-fix "$(srcdir)"/parsort > "$(srcdir)"/parsort.rst \
|| echo "Warning: pod2rst not found. Using old parsort.rst"
parallel.pdf: parallel.pod
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.ash
^
|
@@ -385,7 +385,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.bash
^
|
@@ -28,6 +28,8 @@
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
+# shellcheck disable=SC2006
+
env_parallel() {
# env_parallel.bash
@@ -385,7 +387,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.dash
^
|
@@ -385,7 +385,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.ksh
^
|
@@ -363,7 +363,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.mksh
^
|
@@ -365,7 +365,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.sh
^
|
@@ -390,7 +390,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/env_parallel.zsh
^
|
@@ -355,7 +355,7 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20220322 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/niceload
^
|
@@ -26,7 +26,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
-$Global::version = 20220222;
+$Global::version = 20220322;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/parallel
^
|
@@ -10,7 +10,7 @@
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
@@ -192,9 +192,9 @@
# Run 'tee fifo1 fifo2 fifo3 ... fifoN' in the background
# This will spread the input to fifos
# Generate commands that reads from fifo1..N:
- # cat fifo | user_command
+ # cat fifo | user_command
# Changes:
- # @Global::cat_prepends
+ # @Global::cat_prepends
my @fifos;
for(1..$Global::JobQueue->total_jobs()) {
push @fifos, tmpfifo();
@@ -222,9 +222,9 @@
exit(0);
}
# For each fifo
- # (rm fifo1; grep 1) < fifo1
- # (rm fifo2; grep 2) < fifo2
- # (rm fifo3; grep 3) < fifo3
+ # (rm fifo1; grep 1) < fifo1
+ # (rm fifo2; grep 2) < fifo2
+ # (rm fifo3; grep 3) < fifo3
# Remove the tmpfifo as soon as it is open
@Global::cat_prepends = map { "(rm $_;" } @fifos;
@Global::cat_appends = map { ") < $_" } @fifos;
@@ -391,9 +391,9 @@
sub set_fh_non_blocking {
# Set filehandle as non-blocking
# Inputs:
- # $fh = filehandle to be blocking
+ # $fh = filehandle to be blocking
# Returns:
- # N/A
+ # N/A
my $fh = shift;
my $flags;
fcntl($fh, &F_GETFL, $flags) || die $!; # Get the current flags on the filehandle
@@ -425,7 +425,7 @@
# so unlink only happens when it is ready
unlink $_;
}
- if($perlexpr) {
+ if($perlexpr) {
my $subref = eval("sub { no strict; no warnings; $perlexpr }");
while(<STDIN>) {
# Split into $col columns (no need to split into more)
@@ -466,15 +466,15 @@
# Open fifos for writing, fh{0..$bins}
my $t = 0;
my %fh;
- # Let the last output fifo be the 0'th
- open $fh{$t++}, ">", pop @ARGV;
+ # Let the last output fifo be the 0'th
+ open $fh{$t++}, ">", pop @ARGV;
for(@ARGV) {
open $fh{$t++}, ">", $_;
# open blocks until it is opened by reader
# so unlink only happens when it is ready
unlink $_;
}
- if($perlexpr) {
+ if($perlexpr) {
my $subref = eval("sub { no strict; no warnings; $perlexpr }");
while(<STDIN>) {
# Split into $col columns (no need to split into more)
@@ -505,13 +505,13 @@
# Run 'shard.pl sep col fifo1 fifo2 fifo3 ... fifoN' in the background
# This will spread the input to fifos
# Generate commands that reads from fifo1..N:
- # cat fifo | user_command
+ # cat fifo | user_command
# Changes:
- # @Global::cat_prepends
+ # @Global::cat_prepends
my @shardfifos;
my @parcatfifos;
# TODO $opt::jobs should be evaluated (100%)
- # TODO $opt::jobs should be number of total_jobs if there are argugemts
+ # TODO $opt::jobs should be number of total_jobs if there are arguments
max_jobs_running();
my $njobs = $Global::max_jobs_running;
for my $m (0..$njobs-1) {
@@ -537,7 +537,7 @@
my($read,$char,@line);
# A full line, but nothing more (the rest must be read by the child)
# $Global::header used to prepend block to each job
- do {
+ do {
$read = sysread(STDIN,$char,1);
push @line, $char;
} while($read and $char ne "\n");
@@ -557,9 +557,9 @@
$col, $perlexpr, '{}', (map { (':::+', @{$_}) } @parcatfifos);
}
# For each fifo
- # (rm fifo1; grep 1) < fifo1
- # (rm fifo2; grep 2) < fifo2
- # (rm fifo3; grep 3) < fifo3
+ # (rm fifo1; grep 1) < fifo1
+ # (rm fifo2; grep 2) < fifo2
+ # (rm fifo3; grep 3) < fifo3
my $parcat = Q(parcat_script());
if(not $parcat) {
::error("'parcat' must be in path.");
@@ -573,9 +573,9 @@
# find header and split positions
# make commands that 'cat's the partial file
# Input:
- # $file = the file to read
+ # $file = the file to read
# Returns:
- # @commands that will cat_partial each part
+ # @commands that will cat_partial each part
my ($file) = @_;
my $buf = "";
if(not -f $file and not -b $file) {
@@ -610,14 +610,14 @@
sub find_header($$) {
# Compute the header based on $opt::header
# Input:
- # $buf_ref = reference to read-in buffer
- # $fh = filehandle to read from
+ # $buf_ref = reference to read-in buffer
+ # $fh = filehandle to read from
# Uses:
- # $opt::header
- # $Global::blocksize
- # $Global::header
+ # $opt::header
+ # $Global::blocksize
+ # $Global::header
# Returns:
- # $header string
+ # $header string
my ($buf_ref, $fh) = @_;
my $header = "";
# $Global::header may be set in group_by_loop()
@@ -639,14 +639,14 @@
sub find_split_positions($$$) {
# Find positions in bigfile where recend is followed by recstart
# Input:
- # $file = the file to read
- # $block = (minimal) --block-size of each chunk
- # $header = header to be skipped
+ # $file = the file to read
+ # $block = (minimal) --block-size of each chunk
+ # $header = header to be skipped
# Uses:
- # $opt::recstart
- # $opt::recend
+ # $opt::recstart
+ # $opt::recend
# Returns:
- # @positions of block start/end
+ # @positions of block start/end
my($file, $block, $header, $firstlinelen) = @_;
my $skiplen = $firstlinelen + length $header;
my $size = -s $file;
@@ -691,7 +691,7 @@
} else {
# If match $recend$recstart => Record position
# TODO optimize to only look at the appended
- # $dd_block_size + len $recendrecstart
+ # $dd_block_size + len $recendrecstart
# TODO increase $dd_block_size to optimize for longer records
my $i = index64(\$buf,$recendrecstart);
if($i != -1) {
@@ -829,10 +829,10 @@
sub cat_partial($@) {
# Efficient command to copy from byte X to byte Y
# Input:
- # $file = the file to read
- # ($start, $end, [$start2, $end2, ...]) = start byte, end byte
+ # $file = the file to read
+ # ($start, $end, [$start2, $end2, ...]) = start byte, end byte
# Returns:
- # Efficient command to copy $start..$end, $start2..$end2, ... to stdout
+ # Efficient command to copy $start..$end, $start2..$end2, ... to stdout
my($file, @start_end) = @_;
my($start, $i);
# Convert (start,end) to (start,len)
@@ -849,19 +849,19 @@
#
# I choose 2^15-1 = 32767
# q{
- # expseq() {
- # perl -E '
- # $last = pop @ARGV;
- # $first = shift || 1;
- # $inc = shift || 1.03;
- # for($i=$first; $i<=$last;$i*=$inc) { say int $i }
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/parallel.pod
^
|
@@ -205,7 +205,7 @@
This replacement string will be replaced by the sequence number of the
job being run. It contains the same number as $PARALLEL_SEQ.
-See also: B<{#}> B<--seqreplace>
+See also: B<{}> B<--seqreplace>
=item B<{%}>
@@ -1854,7 +1854,7 @@
=back
-See also: <--pipe> B<--recstart> B<--recend> B<--arg-file> B<::::>
+See also: B<--pipe> B<--recstart> B<--recend> B<--arg-file> B<::::>
=item B<--plain>
@@ -2798,7 +2798,7 @@
Combined with B<--halt soon,done=1%> you can run a random 1% sample of
all jobs:
- seq 1000 | parallel --shuf --halt soon,done=1% echo
+ parallel --shuf --halt soon,done=1% echo ::: {1..100} ::: {1..100}
See also: B<--halt>
@@ -2927,10 +2927,11 @@
An I<sshlogin> is of the form:
- [sshcommand [options]] [username@]hostname
+ [sshcommand [options]] [username[:password]@]hostname
-The sshlogin must not require a password (B<ssh-agent>,
-B<ssh-copy-id>, and B<sshpass> may help with that).
+If I<password> is given, B<sshpass> will be used. Otherwise the
+sshlogin must not require a password (B<ssh-agent> and B<ssh-copy-id>
+may help with that).
The sshlogin ':' is special, it means 'no ssh' and will therefore run
on the local computer.
@@ -3312,10 +3313,12 @@
=item B<-u>
-Ungroup output. Output is printed as soon as possible and bypasses
-GNU B<parallel> internal processing. This may cause output from
-different commands to be mixed thus should only be used if you do not
-care about the output. Compare these:
+Ungroup output.
+
+Output is printed as soon as possible and bypasses GNU B<parallel>
+internal processing. This may cause output from different commands to
+be mixed thus should only be used if you do not care about the
+output. Compare these:
seq 4 | parallel -j0 \
'sleep {};echo -n start{};sleep {};echo {}end'
@@ -4760,7 +4763,11 @@
You can use B<outrun> in an sshlogin this way:
- parallel -S 'outrun user@server eval' command
+ parallel -S 'outrun user@server' command
+
+or:
+
+ parallel --ssh outrun -S server command
=head2 EXAMPLE: Slurm cluster
@@ -5978,10 +5985,11 @@
If you cannot reproduce the error on any of the VirtualBox images
above, see if you can build a VirtualBox image on which you can
reproduce the error. If not you should assume the debugging will be
-done through you. That will put more burden on you and it is extra
-important you give any information that help. In general the problem
-will be fixed faster and with less work for you if you can reproduce
-the error on a VirtualBox.
+done through you. That will put a lot more burden on you and it is
+extra important you give any information that help. In general the
+problem will be fixed faster and with much less work for you if you
+can reproduce the error on a VirtualBox - even if you have to build a
+VirtualBox image.
=head2 In summary
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/parallel_design.pod
^
|
@@ -221,7 +221,7 @@
=head2 Compression
-GNU B<parallel> buffers output in temporary files. B<--compress>
+GNU B<parallel> buffers output in temporary files. B<--compress>
compresses the buffered data. This is a bit tricky because there
should be no files to clean up if GNU B<parallel> is killed by a power
outage.
@@ -617,11 +617,12 @@
The shell shock bug in B<bash> did not affect GNU B<parallel>, but the
solutions did. B<bash> first introduced functions in variables named:
-I<BASH_FUNC_myfunc()> and later changed that to I<BASH_FUNC_myfunc%%>. When
-transferring functions GNU B<parallel> reads off the function and changes
-that into a function definition, which is copied to the remote system and
-executed before the actual command is executed. Therefore GNU B<parallel>
-needs to know how to read the function.
+I<BASH_FUNC_myfunc()> and later changed that to
+I<BASH_FUNC_myfunc%%>. When transferring functions GNU B<parallel>
+reads off the function and changes that into a function definition,
+which is copied to the remote system and executed before the actual
+command is executed. Therefore GNU B<parallel> needs to know how to
+read the function.
From version 20150122 GNU B<parallel> tries both the ()-version and
the %%-version, and the function definition works on both pre- and
@@ -633,6 +634,28 @@
The remote system wrapper does some initialization before starting the
command on the remote system.
+=head3 Make quoting unnecessary by hex encoding everything
+
+When you run B<ssh server foo> then B<foo> has to be quoted once:
+
+ ssh server "echo foo; echo bar"
+
+If you run B<ssh server1 ssh server2 foo> then B<foo> has to be quoted
+twice:
+
+ ssh server1 ssh server2 \'"echo foo; echo bar"\'
+
+GNU B<parallel> avoids this by packing everyting into hex values and
+running a command that does not need quoting:
+
+ perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV
+
+This command reads hex from the command line and converts that to
+bytes that are then eval'ed as a Perl expression.
+
+The string B<GNU_Parallel_worker> is not needed. It is simply there to
+let the user know, that this process is GNU B<parallel> working.
+
=head3 Ctrl-C and standard error (stderr)
If the user presses Ctrl-C the user expects jobs to stop. This works
@@ -668,44 +691,78 @@
few old systems do not implement this and B<--nice> is unsupported on
those.
+
=head3 Setting $PARALLEL_TMP
B<$PARALLEL_TMP> is used by B<--fifo> and B<--cat> and must point to a
non-exitent file in B<$TMPDIR>. This file name is computed on the
remote system.
+
=head3 The wrapper
The wrapper looks like this:
$shell = $PARALLEL_SHELL || $SHELL;
- $tmpdir = $TMPDIR;
+ $tmpdir = $TMPDIR || $PARALLEL_REMOTE_TMPDIR;
$nice = $opt::nice;
+ $termseq = $opt::termseq;
+
+ # Check that $tmpdir is writable
+ -w $tmpdir ||
+ die("$tmpdir is not writable.".
+ " Set PARALLEL_REMOTE_TMPDIR");
# Set $PARALLEL_TMP to a non-existent file name in $TMPDIR
do {
$ENV{PARALLEL_TMP} = $tmpdir."/par".
join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..5);
} while(-e $ENV{PARALLEL_TMP});
+ # Set $script to a non-existent file name in $TMPDIR
+ do {
+ $script = $tmpdir."/par".
+ join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..5);
+ } while(-e $script);
+ # Create a script from the hex code
+ # that removes itself and runs the commands
+ open($fh,">",$script) || die;
+ # ' needed due to rc-shell
+ print($fh("rm \'$script\'\n",$bashfunc.$cmd));
+ close $fh;
+ my $parent = getppid;
+ my $done = 0;
$SIG{CHLD} = sub { $done = 1; };
$pid = fork;
unless($pid) {
# Make own process group to be able to kill HUP it later
- setpgrp;
+ eval { setpgrp };
+ # Set nice value
eval { setpriority(0,0,$nice) };
- exec $shell, "-c", ($bashfunc."@ARGV");
- die "exec: $!\n";
+ # Run the script
+ exec($shell,$script);
+ die("exec failed: $!");
}
- do {
- # Parent is not init (ppid=1), so sshd is alive
+ while((not $done) and (getppid == $parent)) {
+ # Parent pid is not changed, so sshd is alive
# Exponential sleep up to 1 sec
$s = $s < 1 ? 0.001 + $s * 1.03 : $s;
select(undef, undef, undef, $s);
- } until ($done || getppid == 1);
- # Kill HUP the process group if job not done
- kill(SIGHUP, -${pid}) unless $done;
+ }
+ if(not $done) {
+ # sshd is dead: User pressed Ctrl-C
+ # Kill as per --termseq
+ my @term_seq = split/,/,$termseq;
+ if(not @term_seq) {
+ @term_seq = ("TERM",200,"TERM",100,"TERM",50,"KILL",25);
+ }
+ while(@term_seq && kill(0,-$pid)) {
+ kill(shift @term_seq, -$pid);
+ select(undef, undef, undef, (shift @term_seq)/1000);
+ }
+ }
wait;
exit ($?&127 ? 128+($?&127) : 1+$?>>8)
+
=head2 Transferring of variables and functions
Transferring of variables and functions given by B<--env> is done by
@@ -728,9 +785,9 @@
When the line to run is > 1000 chars, GNU B<parallel> therefore
encodes the line to run. The encoding B<bzip2>s the line to run,
-converts this to base64, splits the base64 into 1000 char blocks (so B<csh>
-does not fail), and prepends it with this Perl script that decodes,
-decompresses and B<eval>s the line.
+converts this to base64, splits the base64 into 1000 char blocks (so
+B<csh> does not fail), and prepends it with this Perl script that
+decodes, decompresses and B<eval>s the line.
@GNU_Parallel=("use","IPC::Open3;","use","MIME::Base64");
eval "@GNU_Parallel";
@@ -954,7 +1011,7 @@
With B<--pipepart> GNU B<parallel> can compute the B<--block-size>
automatically. A B<--block-size> of B<-1> will use a block size so
-that each jobslot will receive approximately 1 block. B<--block -2>
+that each jobslot will receive approximately 1 block. B<--block -2>
will pass 2 blocks to each jobslot and B<-I<n>> will pass I<n> blocks
to each jobslot.
@@ -1142,12 +1199,12 @@
=head2 Argument separators ::: :::: :::+ ::::+
-The argument separator B<:::> was chosen because I have never seen B<:::>
-used in any command. The natural choice B<--> would be a bad idea since
-it is not unlikely that the template command will contain B<-->. I have
-seen B<::> used in programming languanges to separate classes, and I
-did not want the user to be confused that the separator had anything
-to do with classes.
+The argument separator B<:::> was chosen because I have never seen
+B<:::> used in any command. The natural choice B<--> would be a bad
+idea since it is not unlikely that the template command will contain
+B<-->. I have seen B<::> used in programming languanges to separate
+classes, and I did not want the user to be confused that the separator
+had anything to do with classes.
B<:::> also makes a visual separation, which is good if there are
@@ -1400,14 +1457,4 @@
was obsoleted 20130222 and removed one year later.
-=head2 Transferring of variables and functions
-
-Until 20150122 variables and functions were transferred by looking at
-$SHELL to see whether the shell was a B<*csh> shell. If so the
-variables would be set using B<setenv>. Otherwise they would be set
-using B<=>. This caused the content of the variable to be repeated:
-
-echo $SHELL | grep "/t\{0,1\}csh" > /dev/null && setenv VAR foo ||
-export VAR=foo
-
=cut
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/parsort
^
|
@@ -122,7 +122,7 @@
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
-$Global::version = 20220222;
+$Global::version = 20220322;
if($opt::version) { version(); exit 0; }
@Global::sortoptions = grep { ! /^-D$/ }
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/pod2graph
^
|
@@ -1,5 +1,26 @@
#!/usr/bin/perl
+# Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
+# Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <https://www.gnu.org/licenses/>
+# or write to the Free Software Foundation, Inc., 51 Franklin St,
+# Fifth Floor, Boston, MA 02110-1301 USA
+#
+# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-License-Identifier: GPL-3.0-or-later
+
# Convert .pod file containing:
#
# =item --option
|
[-]
[+]
|
Added |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/pod2rst-fix
^
|
@@ -0,0 +1,88 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
+# Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <https://www.gnu.org/licenses/>
+# or write to the Free Software Foundation, Inc., 51 Franklin St,
+# Fifth Floor, Boston, MA 02110-1301 USA
+#
+# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# This fixes problems in pod2rst conversion
+
+# Conversion errors:
+
+# Fixed:
+# ... B<foo>
+# bar
+
+# Fixed:
+# =item - - a
+
+# Not fixed (RST does not support Bold-Italic):
+# B<cat | xargs -d "\n" -n1 I<command>>
+
+sub pipefunc {
+ my $func = pop;
+
+ my $pid = open(my $kid_to_read, "-|");
+ defined($pid) || die "can't fork: $!";
+ if ($pid) {
+ open STDIN, "<&", $kid_to_read or die;
+ &$func();
+ } else { # child
+ close $kid_to_read;
+ if($_[1]) {
+ # More than one function remaining: Recurse
+ pipefunc(@_);
+ } else {
+ # Only one function remaining: Run it
+ $func = pop;
+ &$func();
+ }
+ exit 0;
+ }
+}
+
+sub pre {
+ # Remove comments
+ $_=join("", grep { ! /^#/ } <>);
+ # join lines in each paragraph
+ s/(\S)\n(\S)/$1 $2/g;
+ # quote -
+ s/^=item -/=item \001/gm;
+ print $_;
+}
+
+sub pod2rst {
+ exec "pod2rst";
+}
+
+sub post {
+ while(<STDIN>) {
+ # =item in =item
+ s/- \\[*]/- /;
+ # B<*.log>
+ s/\\\\[*]/\\*/g;
+ # - -
+ s/^-(\s+)\001/-$1\\-/g;
+ print;
+ }
+}
+
+# stdin | pre() | pod2rst() | post()
+pipefunc(*pre,*pod2rst,*post);
+
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/src/sql
^
|
@@ -600,7 +600,7 @@
exit ($err);
sub parse_options {
- $Global::version = 20220222;
+ $Global::version = 20220322;
$Global::progname = 'sql';
# This must be done first as this may exec myself
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-0.3s.sh
^
|
@@ -855,6 +855,16 @@
rm -r $tmp "$tmp"-dir
}
+par_results_json() {
+ echo "### --results test.json"
+ tmp=$(mktemp -d)
+ parallel -k --results "$tmp"/foo.json seq ::: 2 3 ::: 4 5
+ cat "$tmp"/foo.json | perl -pe 's/\d+\.\d{3}/9.999/g'
+ rm -r $tmp
+ parallel -k --results -.json seq ::: 2 3 ::: 4 5 |
+ perl -pe 's/\d+\.\d{3}/9.999/g'
+}
+
par_testquote() {
testquote() {
printf '"#&/\n()*=?'"'" |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-10s.sh
^
|
@@ -20,6 +20,41 @@
grep -Ev 'processes took|Consider adjusting -j'
}
+par_round_robin_blocks() {
+ echo "bug #49664: --round-robin does not complete"
+ seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l
+}
+
+par_test_diff_roundrobin_k() {
+ echo '### test there is difference on -k'
+ . $(which env_parallel.bash)
+ mytest() {
+ K=$1
+ doit() {
+ # Sleep random time ever 1k line
+ # to mix up which process gets the next block
+ perl -ne '$t++ % 1000 or select(undef, undef, undef, rand()/10);print' |
+ md5sum
+ }
+ export -f doit
+ seq 1000000 |
+ parallel --block 65K --pipe $K --roundrobin doit |
+ sort
+ }
+ export -f mytest
+ parset a,b,c mytest ::: -k -k ''
+ # a == b and a != c or error
+ if [ "$a" == "$b" ]; then
+ if [ "$a" != "$c" ]; then
+ echo OK
+ else
+ echo error a c
+ fi
+ else
+ echo error a b
+ fi
+}
+
par_compress_prg_fails() {
echo '### bug #44546: If --compress-program fails: fail'
doit() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-1s.sh
^
|
@@ -8,6 +8,40 @@
# Each should be taking 1-3s and be possible to run in parallel
# I.e.: No race conditions, no logins
+
+par_commandline_with_newline() {
+ echo 'bug #51299: --retry-failed with command with newline'
+ echo 'The format must remain the same'
+ (
+ parallel --jl - 'false "command
+with
+newlines"' ::: a b | sort
+
+ echo resume
+ parallel --resume --jl - 'false "command
+with
+newlines"' ::: a b c | sort
+
+ echo resume-failed
+ parallel --resume-failed --jl - 'false "command
+with
+newlines"' ::: a b c d | sort
+
+ echo retry-failed
+ parallel --retry-failed --jl - 'false "command
+with
+newlines"' ::: a b c d e | sort
+ ) | perl -pe 's/\0/<null>/g;s/\d+/./g'
+}
+
+par_compute_command_len() {
+ echo "### Computing length of command line"
+ seq 1 2 | parallel -k -N2 echo {1} {2}
+ parallel --xapply -k -a <(seq 11 12) -a <(seq 1 3) echo
+ parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
+ parallel -k -C %+ echo {4} ::: 'a% c %%b'
+}
+
par_skip_first_line() {
tmpdir=$(mktemp)
(echo `seq 10000`;echo MyHeader; seq 10) |
@@ -29,14 +63,6 @@
parallel --colsep '\t' echo {-5} {-3//} {-2/.} '{=-1 s/.*\.// =}'
}
-par_plus_slot_replacement() {
- echo '### show {slot} {0%} {0#}'
- parallel -k --plus 'sleep 0.{%};echo {slot}=$PARALLEL_JOBSLOT={%}' ::: A B C
- parallel -j15 -k --plus 'echo Seq: {0#} {#}' ::: {1..100} | sort
- parallel -j15 -k --plus 'sleep 0.{}; echo Slot: {0%} {%}' ::: {1..100} |
- sort -u
-}
-
par_recend_recstart_hash() {
echo "### bug #59843: --regexp --recstart '#' fails"
(echo '#rec1'; echo 'bar'; echo '#rec2') |
@@ -50,7 +76,7 @@
}
par_sqlandworker_uninstalled_dbd() {
- echo 'bug #56096: dbi-csv no such column'
+ echo '### bug #56096: dbi-csv no such column'
mkdir -p /tmp/parallel-bug-56096
sudo mv /usr/share/perl5/DBD/CSV.pm /usr/share/perl5/DBD/CSV.pm.gone
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: must_fail
@@ -58,6 +84,14 @@
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: works
}
+par_uninstalled_sshpass() {
+ echo '### sshpass must be installed for --sshlogin user:pass@host'
+ sshpass=$(command -v sshpass)
+ sudo mv "$sshpass" "$sshpass".hidden
+ parallel -S user:pass@host echo ::: must fail
+ sudo mv "$sshpass".hidden "$sshpass"
+}
+
par_results_compress() {
tmpdir=$(mktemp)
rm -r "$tmpdir"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-30s.sh
^
|
@@ -25,7 +25,7 @@
parallel --pipe --colsep '\t' --bin 2 wc | sort
}
-par_shard_a() {
+par_shard() {
echo '### --shard'
# Each of the 5 lines should match:
# ##### ##### ######
@@ -40,9 +40,7 @@
}
shard_on_col 1
shard_on_col 2
-}
-par_shard_b() {
echo '### --shard'
shard_on_col_name() {
colname=$1
@@ -53,9 +51,7 @@
}
shard_on_col_name A 1
shard_on_col_name B 2
-}
-par_shard_c() {
echo '### --shard'
shard_on_col_expr() {
colexpr="$1"
@@ -66,9 +62,7 @@
}
shard_on_col_expr '1 $_%=3' 1
shard_on_col_expr '2 $_%=3' 2
-}
-par_shard_d() {
shard_on_col_name_expr() {
colexpr="$1"
col=$2
@@ -88,36 +82,6 @@
perl -pe 's/(.*\d{5,}){3}/OK/'
}
-par_test_diff_roundrobin_k() {
- echo '### test there is difference on -k'
- . $(which env_parallel.bash)
- mytest() {
- K=$1
- doit() {
- # Sleep random time ever 1k line
- # to mix up which process gets the next block
- perl -ne '$t++ % 1000 or select(undef, undef, undef, rand()/10);print' |
- md5sum
- }
- export -f doit
- seq 1000000 |
- parallel --block 65K --pipe $K --roundrobin doit |
- sort
- }
- export -f mytest
- parset a,b,c mytest ::: -k -k ''
- # a == b and a != c or error
- if [ "$a" == "$b" ]; then
- if [ "$a" != "$c" ]; then
- echo OK
- else
- echo error a c
- fi
- else
- echo error a b
- fi
-}
-
par_load_from_PARALLEL() {
echo "### Test reading load from PARALLEL"
export PARALLEL="--load 300%"
@@ -468,11 +432,6 @@
) | perl -pe 's/(\d\d+)\d\d\d/${1}xxx/g'
}
-par_round_robin_blocks() {
- echo "bug #49664: --round-robin does not complete"
- seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l
-}
-
par_plus_dyn_repl() {
echo "Dynamic replacement strings defined by --plus"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-3s.sh
^
|
@@ -232,12 +232,12 @@
perl -ne 'print($_ > 1.30 ? "OK\n" : "Not OK\n")'
}
-par_compute_command_len() {
- echo "### Computing length of command line"
- seq 1 2 | parallel -k -N2 echo {1} {2}
- parallel --xapply -k -a <(seq 11 12) -a <(seq 1 3) echo
- parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
- parallel -k -C %+ echo {4} ::: 'a% c %%b'
+par_plus_slot_replacement() {
+ echo '### show {slot} {0%} {0#}'
+ parallel -k --plus 'sleep 0.{%};echo {slot}=$PARALLEL_JOBSLOT={%}' ::: A B C
+ parallel -j15 -k --plus 'echo Seq: {0#} {#}' ::: {1..100} | sort
+ parallel -j15 -k --plus 'sleep 0.{}; echo Slot: {0%} {%}' ::: {1..100} |
+ sort -u
}
par_replacement_slashslash() {
@@ -468,31 +468,6 @@
perl -pe "s/$hostname/<hostname>/g"
}
-par_commandline_with_newline() {
- echo 'bug #51299: --retry-failed with command with newline'
- echo 'The format must remain the same'
- (
- parallel --jl - 'false "command
-with
-newlines"' ::: a b | sort
-
- echo resume
- parallel --resume --jl - 'false "command
-with
-newlines"' ::: a b c | sort
-
- echo resume-failed
- parallel --resume-failed --jl - 'false "command
-with
-newlines"' ::: a b c d | sort
-
- echo retry-failed
- parallel --retry-failed --jl - 'false "command
-with
-newlines"' ::: a b c d e | sort
- ) | perl -pe 's/\0/<null>/g;s/\d+/./g'
-}
-
par_delay_human_readable() {
# Test that you can use d h m s in --delay
parallel --delay 0.1s echo ::: a b c
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-load.sh
^
|
@@ -8,6 +8,21 @@
seq 12 |
stdout parallel --nice 11 --timeout 10 -j0 -N0 "bzip2 < /dev/zero" > /dev/null &
+par_limit_load() {
+ force_load_to_6() {
+ burn() { bzip2 -9 </dev/zero >/dev/null; }
+ export -f burn
+ parallel --timeout 5 -j0 --nice 19 burn ::: 1 2 3 4 5 6 2>/dev/null
+ }
+ force_load_to_6 &
+ # Give load time to start
+ sleep 1
+ # This should only start after the load stops
+ # and thus take > 4 sec
+ stdout /usr/bin/time -f %e parallel --limit "load 4" sleep ::: 0.8 |
+ perl -ne 'print $_ > 5 ? "OK\n" : "Broken: $_\n"'
+}
+
par_load_more_10s() {
echo '### Test --load locally - should take >10s'
stdout /usr/bin/time -f %e parallel --load 10 sleep ::: 1 |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race02.sh
^
|
@@ -85,11 +85,12 @@
par_PARALLEL_RSYNC_OPTS() {
echo '### test rsync opts'
touch parallel_rsync_opts.test
+
parallel --rsync-opts -rlDzRRRR -vv -S parallel@lo --trc {}.out touch {}.out ::: parallel_rsync_opts.test |
- perl -nE 's/(rsync .*?RRRR)/say $1/ge'
- export PARALLEL_RSYNC_OPTS=-zzrrllddRRRR
+ perl -nE 's/(\S+RRRR)/say $1/ge'
+ export PARALLEL_RSYNC_OPTS=-zzzzrldRRRR
parallel -vv -S parallel@lo --trc {}.out touch {}.out ::: parallel_rsync_opts.test |
- perl -nE 's/(rsync .*?RRRR)/say $1/ge'
+ perl -nE 's/(\S+RRRR)/say $1/ge'
rm parallel_rsync_opts.test parallel_rsync_opts.test.out
echo
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh1.sh
^
|
@@ -18,6 +18,21 @@
EOF
+par_sshpass_with_password() {
+ echo '### sshpass'
+ echo OK | parallel -S "sshpass -p $withpassword ssh withpassword@lo:22" echo
+ echo OK | parallel -S withpassword:"$withpassword"@lo:22 echo
+}
+
+par_ssh_ssh() {
+ echo '### bug #61894: Pack ssh code in eval protection'
+ echo Unquoted ssh should work
+ parallel --ssh 'ssh lo ssh' -S lo 'hostname;echo' ::: OK
+ parallel --ssh 'eval ssh lo ssh' -S lo 'hostname;echo' ::: OK
+ parallel --ssh 'eval ssh lo eval ssh' -S lo 'hostname;echo' ::: OK
+ parallel --ssh 'sshpass ssh bash@lo eval ssh' -S csh@lo 'hostname;echo' ::: OK
+}
+
par_stop_if_no_hosts_left() {
echo '### Stop if all hosts are filtered and there are no hosts left to run on'
stdout parallel --filter-hosts -S no-such.host echo ::: 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-macos.sh
^
|
@@ -130,7 +130,7 @@
for a in `seq 5000`; do eval "export a$a=1" ; done
for a in `seq 10`; do eval "a$a() { '$big'; }" ; done
for a in `seq 10`; do eval export -f a$a ; done
- gen 40000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc' |
+ gen 40000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc -c' |
perl -pe 's/\d{10,}.\d+ //g'
}
@@ -142,7 +142,7 @@
export -f pecho
big=`perl -e print\"x\"x10000`
for a in `seq 10`; do eval "export a$big$a=1" ; done
- gen 30000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc' |
+ gen 30000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc -c' |
perl -pe 's/\d{10,}.\d+ //g'
}
@@ -160,8 +160,6 @@
perl -pe 's/\d{10,}.\d+ //g'
}
-#macsshlogin=ota@mac
-#macsshlogin=macosx.p
macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p)
scp /usr/local/bin/parallel $macsshlogin:bin/
@@ -171,4 +169,5 @@
compgen -A function |
grep par_ |
LC_ALL=C sort |
- env_parallel --timeout 3000% --tag -k -S 6/$macsshlogin 'PATH=$HOME/bin:$PATH; {}'
+ env_parallel --timeout 3000% --tag -k -S 6/$macsshlogin 'PATH=$HOME/bin:$PATH; {}' |
+ perl -pe 's/(\d+)\d\d\d/${1}XXX/g'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-polarhome.sh
^
|
@@ -45,6 +45,8 @@
export MAXPROC
export RET_TIME_K="--memfree 100m -k --retries $RETRIES --timeout $MAXTIME"
LC_ALL=C
+ . `which env_parallel.bash`
+ env_parallel --session
MAXPROC=$(echo $(seq 300 | parallel -j0 echo {%} | sort -n | tail -n1) /$MAXINNERPROC | bc)
echo MAXTIME=$MAXTIME RETRIES=$RETRIES MAXPROC=$MAXPROC MAXINNERPROC=$MAXINNERPROC
@@ -206,8 +208,9 @@
print'
}
-env_parallel -u -S$MASTER doit ::: 1 |
- perl -pe 's:/home/(t/)?tange:~:g'
+env_parallel -u -S$MASTER doit ::: 1|
+ perl -pe 's:/home/(t/)?tange:~:g' |
+ perl -pe 's:/tmp/par\w+:/tmp/parScript:g'
# eval 'myfunc() { echo '$(perl -e 'print "x"x20000')'; }'
# env_parallel myfunc ::: a | wc # OK
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-remote1.sh
^
|
@@ -50,9 +50,10 @@
par_controlmaster_is_faster() {
echo '### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host'
+ echo '-M should finish first - eventhough there are 2x jobs'
(parallel -S $SSHLOGIN1 true ::: {1..20};
echo No --controlmaster - finish last) &
- (parallel -M -S $SSHLOGIN1 true ::: {1..20};
+ (parallel -M -S $SSHLOGIN1 true ::: {1..40};
echo With --controlmaster - finish first) &
wait
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-0.3s
^
|
@@ -902,6 +902,15 @@
par_results_arg_256 ### bug #42089: --results with arg > 256 chars (should be 1 char shorter)
par_results_arg_256 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
par_results_arg_256 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
+par_results_json ### --results test.json
+par_results_json { "Seq": 1, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 2 4", "V": [ "2","4" ], "Stdout": "2\u000a3\u000a4\u000a", "Stderr": "" }
+par_results_json { "Seq": 2, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 8, "Exitval": 0, "Signal": 0, "Command": "seq 2 5", "V": [ "2","5" ], "Stdout": "2\u000a3\u000a4\u000a5\u000a", "Stderr": "" }
+par_results_json { "Seq": 3, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 4, "Exitval": 0, "Signal": 0, "Command": "seq 3 4", "V": [ "3","4" ], "Stdout": "3\u000a4\u000a", "Stderr": "" }
+par_results_json { "Seq": 4, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 3 5", "V": [ "3","5" ], "Stdout": "3\u000a4\u000a5\u000a", "Stderr": "" }
+par_results_json { "Seq": 1, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 2 4", "V": [ "2","4" ], "Stdout": "2\u000a3\u000a4\u000a", "Stderr": "" }
+par_results_json { "Seq": 2, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 8, "Exitval": 0, "Signal": 0, "Command": "seq 2 5", "V": [ "2","5" ], "Stdout": "2\u000a3\u000a4\u000a5\u000a", "Stderr": "" }
+par_results_json { "Seq": 3, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 4, "Exitval": 0, "Signal": 0, "Command": "seq 3 4", "V": [ "3","4" ], "Stdout": "3\u000a4\u000a", "Stderr": "" }
+par_results_json { "Seq": 4, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 3 5", "V": [ "3","5" ], "Stdout": "3\u000a4\u000a5\u000a", "Stderr": "" }
par_resume_k ### --resume -k
par_resume_k job0id
par_resume_k job1id
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-10s
^
|
@@ -901,6 +901,8 @@
par_retries_all_fail 6
par_retries_all_fail 7
par_retries_all_fail 8
+par_round_robin_blocks bug #49664: --round-robin does not complete
+par_round_robin_blocks 8
par_sem_2jobs ### Test semaphore 2 jobs running simultaneously
par_sem_2jobs job1a 1
par_sem_2jobs job2a 2
@@ -967,6 +969,8 @@
par_sockets_cores_threads threads done
par_sockets_cores_threads sockets done
par_sockets_cores_threads Threads should complete first on machines with less than 8 sockets
+par_test_diff_roundrobin_k ### test there is difference on -k
+par_test_diff_roundrobin_k OK
par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this
par_tmp_full parallel: Error: Output is incomplete.
par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-1s
^
|
@@ -86,6 +86,37 @@
par_bug37042 abc
par_bug43654 bug #43654: --bar with command not using {} - only last output line
par_bug43654
par_bug43654 [7m100% 1:0=0s 1 [0m[0m
+par_commandline_with_newline bug #51299: --retry-failed with command with newline
+par_commandline_with_newline The format must remain the same
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
+par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+par_commandline_with_newline resume
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
+par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+par_commandline_with_newline resume-failed
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
+par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+par_commandline_with_newline retry-failed
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
+par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" e
+par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+par_compute_command_len ### Computing length of command line
+par_compute_command_len 1 2
+par_compute_command_len 11 1
+par_compute_command_len 12 2
+par_compute_command_len 11 3
+par_compute_command_len a_b_c_
+par_compute_command_len a_b_c_d
+par_compute_command_len
par_empty_string_command_line ### Test of ignore-empty string on :::
par_empty_string_command_line foo
par_empty_string_command_line ole
@@ -377,125 +408,6 @@
par_pipepart_block 18-20
par_pipepart_block 19-20
par_pipepart_block 20-20
-par_plus_slot_replacement ### show {slot} {0%} {0#}
-par_plus_slot_replacement 1=1=1
-par_plus_slot_replacement 2=2=2
-par_plus_slot_replacement 3=3=3
-par_plus_slot_replacement Seq: 001 1
-par_plus_slot_replacement Seq: 002 2
-par_plus_slot_replacement Seq: 003 3
-par_plus_slot_replacement Seq: 004 4
-par_plus_slot_replacement Seq: 005 5
-par_plus_slot_replacement Seq: 006 6
-par_plus_slot_replacement Seq: 007 7
-par_plus_slot_replacement Seq: 008 8
-par_plus_slot_replacement Seq: 009 9
-par_plus_slot_replacement Seq: 010 10
-par_plus_slot_replacement Seq: 011 11
-par_plus_slot_replacement Seq: 012 12
-par_plus_slot_replacement Seq: 013 13
-par_plus_slot_replacement Seq: 014 14
-par_plus_slot_replacement Seq: 015 15
-par_plus_slot_replacement Seq: 016 16
-par_plus_slot_replacement Seq: 017 17
-par_plus_slot_replacement Seq: 018 18
-par_plus_slot_replacement Seq: 019 19
-par_plus_slot_replacement Seq: 020 20
-par_plus_slot_replacement Seq: 021 21
-par_plus_slot_replacement Seq: 022 22
-par_plus_slot_replacement Seq: 023 23
-par_plus_slot_replacement Seq: 024 24
-par_plus_slot_replacement Seq: 025 25
-par_plus_slot_replacement Seq: 026 26
-par_plus_slot_replacement Seq: 027 27
-par_plus_slot_replacement Seq: 028 28
-par_plus_slot_replacement Seq: 029 29
-par_plus_slot_replacement Seq: 030 30
-par_plus_slot_replacement Seq: 031 31
-par_plus_slot_replacement Seq: 032 32
-par_plus_slot_replacement Seq: 033 33
-par_plus_slot_replacement Seq: 034 34
-par_plus_slot_replacement Seq: 035 35
-par_plus_slot_replacement Seq: 036 36
-par_plus_slot_replacement Seq: 037 37
-par_plus_slot_replacement Seq: 038 38
-par_plus_slot_replacement Seq: 039 39
-par_plus_slot_replacement Seq: 040 40
-par_plus_slot_replacement Seq: 041 41
-par_plus_slot_replacement Seq: 042 42
-par_plus_slot_replacement Seq: 043 43
-par_plus_slot_replacement Seq: 044 44
-par_plus_slot_replacement Seq: 045 45
-par_plus_slot_replacement Seq: 046 46
-par_plus_slot_replacement Seq: 047 47
-par_plus_slot_replacement Seq: 048 48
-par_plus_slot_replacement Seq: 049 49
-par_plus_slot_replacement Seq: 050 50
-par_plus_slot_replacement Seq: 051 51
-par_plus_slot_replacement Seq: 052 52
-par_plus_slot_replacement Seq: 053 53
-par_plus_slot_replacement Seq: 054 54
-par_plus_slot_replacement Seq: 055 55
-par_plus_slot_replacement Seq: 056 56
-par_plus_slot_replacement Seq: 057 57
-par_plus_slot_replacement Seq: 058 58
-par_plus_slot_replacement Seq: 059 59
-par_plus_slot_replacement Seq: 060 60
-par_plus_slot_replacement Seq: 061 61
-par_plus_slot_replacement Seq: 062 62
-par_plus_slot_replacement Seq: 063 63
-par_plus_slot_replacement Seq: 064 64
-par_plus_slot_replacement Seq: 065 65
-par_plus_slot_replacement Seq: 066 66
-par_plus_slot_replacement Seq: 067 67
-par_plus_slot_replacement Seq: 068 68
-par_plus_slot_replacement Seq: 069 69
-par_plus_slot_replacement Seq: 070 70
-par_plus_slot_replacement Seq: 071 71
-par_plus_slot_replacement Seq: 072 72
-par_plus_slot_replacement Seq: 073 73
-par_plus_slot_replacement Seq: 074 74
-par_plus_slot_replacement Seq: 075 75
-par_plus_slot_replacement Seq: 076 76
-par_plus_slot_replacement Seq: 077 77
-par_plus_slot_replacement Seq: 078 78
-par_plus_slot_replacement Seq: 079 79
-par_plus_slot_replacement Seq: 080 80
-par_plus_slot_replacement Seq: 081 81
-par_plus_slot_replacement Seq: 082 82
-par_plus_slot_replacement Seq: 083 83
-par_plus_slot_replacement Seq: 084 84
-par_plus_slot_replacement Seq: 085 85
-par_plus_slot_replacement Seq: 086 86
-par_plus_slot_replacement Seq: 087 87
-par_plus_slot_replacement Seq: 088 88
-par_plus_slot_replacement Seq: 089 89
-par_plus_slot_replacement Seq: 090 90
-par_plus_slot_replacement Seq: 091 91
-par_plus_slot_replacement Seq: 092 92
-par_plus_slot_replacement Seq: 093 93
-par_plus_slot_replacement Seq: 094 94
-par_plus_slot_replacement Seq: 095 95
-par_plus_slot_replacement Seq: 096 96
-par_plus_slot_replacement Seq: 097 97
-par_plus_slot_replacement Seq: 098 98
-par_plus_slot_replacement Seq: 099 99
-par_plus_slot_replacement Seq: 100 100
-par_plus_slot_replacement Slot: 01 1
-par_plus_slot_replacement Slot: 02 2
-par_plus_slot_replacement Slot: 03 3
-par_plus_slot_replacement Slot: 04 4
-par_plus_slot_replacement Slot: 05 5
-par_plus_slot_replacement Slot: 06 6
-par_plus_slot_replacement Slot: 07 7
-par_plus_slot_replacement Slot: 08 8
-par_plus_slot_replacement Slot: 09 9
-par_plus_slot_replacement Slot: 10 10
-par_plus_slot_replacement Slot: 11 11
-par_plus_slot_replacement Slot: 12 12
-par_plus_slot_replacement Slot: 13 13
-par_plus_slot_replacement Slot: 14 14
-par_plus_slot_replacement Slot: 15 15
par_profiles_with_space ### bug #42902: profiles containing arguments with space
par_profiles_with_space /bin/bash=/bin/bash
par_profiles_with_space echo '/bin/bash=/bin/bash'
@@ -894,7 +806,7 @@
par_sql_colsep b B 4 44 b B 5 55 b B 6 66
par_sql_colsep c C 1 11 c C 2 22 c C 3 33
par_sql_colsep c C 4 44 c C 5 55 c C 6 66
-par_sqlandworker_uninstalled_dbd bug #56096: dbi-csv no such column
+par_sqlandworker_uninstalled_dbd ### bug #56096: dbi-csv no such column
par_sqlandworker_uninstalled_dbd parallel: Error: CSV not supported. Are you missing a perl DBD::CSV module?
par_sqlandworker_uninstalled_dbd works
par_test_E ### Test -E
@@ -1086,3 +998,5 @@
par_trailing_space_line_continuation foo ole
par_trailing_space_line_continuation foo ole
par_trailing_space_line_continuation foo ole
+par_uninstalled_sshpass ### sshpass must be installed for --sshlogin user:pass@host
+par_uninstalled_sshpass parallel: Error: --sshlogin with password requires sshpass installed
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-30s
^
|
@@ -1674,99 +1674,97 @@
par_race_condition1 8
par_race_condition1 9
par_race_condition1 10
-par_round_robin_blocks bug #49664: --round-robin does not complete
-par_round_robin_blocks 8
-par_shard_a ### --shard
-par_shard_a OK
-par_shard_a OK
-par_shard_a OK
-par_shard_a OK
-par_shard_a OK
-par_shard_a 10 1
-par_shard_a 10 2
-par_shard_a 10 3
-par_shard_a 10 4
-par_shard_a 10 5
-par_shard_a 10 6
-par_shard_a 10 7
-par_shard_a 10 8
-par_shard_a 10 9
-par_shard_a 9 0
-par_shard_a 9 1
-par_shard_a 9 2
-par_shard_a 9 3
-par_shard_a 9 4
-par_shard_a 9 5
-par_shard_a 9 6
-par_shard_a 9 7
-par_shard_a 9 8
-par_shard_a 9 9
-par_shard_b ### --shard
-par_shard_b 10 1
-par_shard_b 10 2
-par_shard_b 10 3
-par_shard_b 10 4
-par_shard_b 10 5
-par_shard_b 10 6
-par_shard_b 10 7
-par_shard_b 10 8
-par_shard_b 10 9
-par_shard_b 9 0
-par_shard_b 9 1
-par_shard_b 9 2
-par_shard_b 9 3
-par_shard_b 9 4
-par_shard_b 9 5
-par_shard_b 9 6
-par_shard_b 9 7
-par_shard_b 9 8
-par_shard_b 9 9
-par_shard_c ### --shard
-par_shard_c 10 1
-par_shard_c 10 2
-par_shard_c 10 3
-par_shard_c 10 4
-par_shard_c 10 5
-par_shard_c 10 6
-par_shard_c 10 7
-par_shard_c 10 8
-par_shard_c 10 9
-par_shard_c 2 c1
-par_shard_c 9 0
-par_shard_c 9 1
-par_shard_c 9 2
-par_shard_c 9 3
-par_shard_c 9 4
-par_shard_c 9 5
-par_shard_c 9 6
-par_shard_c 9 7
-par_shard_c 9 8
-par_shard_c 9 9
-par_shard_c 2 c2
-par_shard_d 10 1
-par_shard_d 10 2
-par_shard_d 10 3
-par_shard_d 10 4
-par_shard_d 10 5
-par_shard_d 10 6
-par_shard_d 10 7
-par_shard_d 10 8
-par_shard_d 10 9
-par_shard_d 2 c1
-par_shard_d 9 0
-par_shard_d 9 1
-par_shard_d 9 2
-par_shard_d 9 3
-par_shard_d 9 4
-par_shard_d 9 5
-par_shard_d 9 6
-par_shard_d 9 7
-par_shard_d 9 8
-par_shard_d 9 9
-par_shard_d 2 c2
-par_shard_d *** broken
-par_shard_d parallel: Error: --shard requires --jobs to be higher than the number of
-par_shard_d parallel: Error: arguments. Increase --jobs.
+par_shard ### --shard
+par_shard OK
+par_shard OK
+par_shard OK
+par_shard OK
+par_shard OK
+par_shard 10 1
+par_shard 10 2
+par_shard 10 3
+par_shard 10 4
+par_shard 10 5
+par_shard 10 6
+par_shard 10 7
+par_shard 10 8
+par_shard 10 9
+par_shard 9 0
+par_shard 9 1
+par_shard 9 2
+par_shard 9 3
+par_shard 9 4
+par_shard 9 5
+par_shard 9 6
+par_shard 9 7
+par_shard 9 8
+par_shard 9 9
+par_shard ### --shard
+par_shard 10 1
+par_shard 10 2
+par_shard 10 3
+par_shard 10 4
+par_shard 10 5
+par_shard 10 6
+par_shard 10 7
+par_shard 10 8
+par_shard 10 9
+par_shard 9 0
+par_shard 9 1
+par_shard 9 2
+par_shard 9 3
+par_shard 9 4
+par_shard 9 5
+par_shard 9 6
+par_shard 9 7
+par_shard 9 8
+par_shard 9 9
+par_shard ### --shard
+par_shard 10 1
+par_shard 10 2
+par_shard 10 3
+par_shard 10 4
+par_shard 10 5
+par_shard 10 6
+par_shard 10 7
+par_shard 10 8
+par_shard 10 9
+par_shard 2 c1
+par_shard 9 0
+par_shard 9 1
+par_shard 9 2
+par_shard 9 3
+par_shard 9 4
+par_shard 9 5
+par_shard 9 6
+par_shard 9 7
+par_shard 9 8
+par_shard 9 9
+par_shard 2 c2
+par_shard 10 1
+par_shard 10 2
+par_shard 10 3
+par_shard 10 4
+par_shard 10 5
+par_shard 10 6
+par_shard 10 7
+par_shard 10 8
+par_shard 10 9
+par_shard 2 c1
+par_shard 9 0
+par_shard 9 1
+par_shard 9 2
+par_shard 9 3
+par_shard 9 4
+par_shard 9 5
+par_shard 9 6
+par_shard 9 7
+par_shard 9 8
+par_shard 9 9
+par_shard 2 c2
+par_shard *** broken
+par_shard parallel: Error: --shard requires --jobs to be higher than the number of
+par_shard parallel: Error: arguments. Increase --jobs.
par_sighup ### Test SIGHUP
par_sighup 1
par_sighup 10
@@ -1845,5 +1843,3 @@
par_test_detected_shell test_known_shell_pipe tcsh Global::shell /usr/bin/tcsh
par_test_detected_shell test_known_shell_pipe yash Global::shell /usr/bin/yash
par_test_detected_shell test_known_shell_pipe zsh Global::shell /usr/bin/zsh
-par_test_diff_roundrobin_k ### test there is difference on -k
-par_test_diff_roundrobin_k OK
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-3s
^
|
@@ -22,37 +22,6 @@
par_children_receive_sig parallel: Warning: show_signals ''
par_children_receive_sig Got INT
par_children_receive_sig Got TERM
-par_commandline_with_newline bug #51299: --retry-failed with command with newline
-par_commandline_with_newline The format must remain the same
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
-par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_commandline_with_newline resume
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
-par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_commandline_with_newline resume-failed
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
-par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_commandline_with_newline retry-failed
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" a
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" b
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" c
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
-par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" e
-par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_compute_command_len ### Computing length of command line
-par_compute_command_len 1 2
-par_compute_command_len 11 1
-par_compute_command_len 12 2
-par_compute_command_len 11 3
-par_compute_command_len a_b_c_
-par_compute_command_len a_b_c_d
-par_compute_command_len
par_delay ### Test --delay
par_delay More than 3.3 secs: OK
par_delay_halt_soon bug #59893: --halt soon doesn't work with --delay
@@ -401,6 +370,125 @@
par_pipe_regexp_non_quoted Start this line is a false Start line
par_pipe_regexp_non_quoted End this line is a false End line
par_pipe_regexp_non_quoted End
+par_plus_slot_replacement ### show {slot} {0%} {0#}
+par_plus_slot_replacement 1=1=1
+par_plus_slot_replacement 2=2=2
+par_plus_slot_replacement 3=3=3
+par_plus_slot_replacement Seq: 001 1
+par_plus_slot_replacement Seq: 002 2
+par_plus_slot_replacement Seq: 003 3
+par_plus_slot_replacement Seq: 004 4
+par_plus_slot_replacement Seq: 005 5
+par_plus_slot_replacement Seq: 006 6
+par_plus_slot_replacement Seq: 007 7
+par_plus_slot_replacement Seq: 008 8
+par_plus_slot_replacement Seq: 009 9
+par_plus_slot_replacement Seq: 010 10
+par_plus_slot_replacement Seq: 011 11
+par_plus_slot_replacement Seq: 012 12
+par_plus_slot_replacement Seq: 013 13
+par_plus_slot_replacement Seq: 014 14
+par_plus_slot_replacement Seq: 015 15
+par_plus_slot_replacement Seq: 016 16
+par_plus_slot_replacement Seq: 017 17
+par_plus_slot_replacement Seq: 018 18
+par_plus_slot_replacement Seq: 019 19
+par_plus_slot_replacement Seq: 020 20
+par_plus_slot_replacement Seq: 021 21
+par_plus_slot_replacement Seq: 022 22
+par_plus_slot_replacement Seq: 023 23
+par_plus_slot_replacement Seq: 024 24
+par_plus_slot_replacement Seq: 025 25
+par_plus_slot_replacement Seq: 026 26
+par_plus_slot_replacement Seq: 027 27
+par_plus_slot_replacement Seq: 028 28
+par_plus_slot_replacement Seq: 029 29
+par_plus_slot_replacement Seq: 030 30
+par_plus_slot_replacement Seq: 031 31
+par_plus_slot_replacement Seq: 032 32
+par_plus_slot_replacement Seq: 033 33
+par_plus_slot_replacement Seq: 034 34
+par_plus_slot_replacement Seq: 035 35
+par_plus_slot_replacement Seq: 036 36
+par_plus_slot_replacement Seq: 037 37
+par_plus_slot_replacement Seq: 038 38
+par_plus_slot_replacement Seq: 039 39
+par_plus_slot_replacement Seq: 040 40
+par_plus_slot_replacement Seq: 041 41
+par_plus_slot_replacement Seq: 042 42
+par_plus_slot_replacement Seq: 043 43
+par_plus_slot_replacement Seq: 044 44
+par_plus_slot_replacement Seq: 045 45
+par_plus_slot_replacement Seq: 046 46
+par_plus_slot_replacement Seq: 047 47
+par_plus_slot_replacement Seq: 048 48
+par_plus_slot_replacement Seq: 049 49
+par_plus_slot_replacement Seq: 050 50
+par_plus_slot_replacement Seq: 051 51
+par_plus_slot_replacement Seq: 052 52
+par_plus_slot_replacement Seq: 053 53
+par_plus_slot_replacement Seq: 054 54
+par_plus_slot_replacement Seq: 055 55
+par_plus_slot_replacement Seq: 056 56
+par_plus_slot_replacement Seq: 057 57
+par_plus_slot_replacement Seq: 058 58
+par_plus_slot_replacement Seq: 059 59
+par_plus_slot_replacement Seq: 060 60
+par_plus_slot_replacement Seq: 061 61
+par_plus_slot_replacement Seq: 062 62
+par_plus_slot_replacement Seq: 063 63
+par_plus_slot_replacement Seq: 064 64
+par_plus_slot_replacement Seq: 065 65
+par_plus_slot_replacement Seq: 066 66
+par_plus_slot_replacement Seq: 067 67
+par_plus_slot_replacement Seq: 068 68
+par_plus_slot_replacement Seq: 069 69
+par_plus_slot_replacement Seq: 070 70
+par_plus_slot_replacement Seq: 071 71
+par_plus_slot_replacement Seq: 072 72
+par_plus_slot_replacement Seq: 073 73
+par_plus_slot_replacement Seq: 074 74
+par_plus_slot_replacement Seq: 075 75
+par_plus_slot_replacement Seq: 076 76
+par_plus_slot_replacement Seq: 077 77
+par_plus_slot_replacement Seq: 078 78
+par_plus_slot_replacement Seq: 079 79
+par_plus_slot_replacement Seq: 080 80
+par_plus_slot_replacement Seq: 081 81
+par_plus_slot_replacement Seq: 082 82
+par_plus_slot_replacement Seq: 083 83
+par_plus_slot_replacement Seq: 084 84
+par_plus_slot_replacement Seq: 085 85
+par_plus_slot_replacement Seq: 086 86
+par_plus_slot_replacement Seq: 087 87
+par_plus_slot_replacement Seq: 088 88
+par_plus_slot_replacement Seq: 089 89
+par_plus_slot_replacement Seq: 090 90
+par_plus_slot_replacement Seq: 091 91
+par_plus_slot_replacement Seq: 092 92
+par_plus_slot_replacement Seq: 093 93
+par_plus_slot_replacement Seq: 094 94
+par_plus_slot_replacement Seq: 095 95
+par_plus_slot_replacement Seq: 096 96
+par_plus_slot_replacement Seq: 097 97
+par_plus_slot_replacement Seq: 098 98
+par_plus_slot_replacement Seq: 099 99
+par_plus_slot_replacement Seq: 100 100
+par_plus_slot_replacement Slot: 01 1
+par_plus_slot_replacement Slot: 02 2
+par_plus_slot_replacement Slot: 03 3
+par_plus_slot_replacement Slot: 04 4
+par_plus_slot_replacement Slot: 05 5
+par_plus_slot_replacement Slot: 06 6
+par_plus_slot_replacement Slot: 07 7
+par_plus_slot_replacement Slot: 08 8
+par_plus_slot_replacement Slot: 09 9
+par_plus_slot_replacement Slot: 10 10
+par_plus_slot_replacement Slot: 11 11
+par_plus_slot_replacement Slot: 12 12
+par_plus_slot_replacement Slot: 13 13
+par_plus_slot_replacement Slot: 14 14
+par_plus_slot_replacement Slot: 15 15
par_prefix_for_L_n_N_s Must give xxx000 args
par_prefix_for_L_n_N_s 1000
par_prefix_for_L_n_N_s 1000
@@ -552,7 +640,7 @@
par_show_limits Maximal size of command: 131xxx
par_show_limits Maximal usable size of command: 64xxx
par_show_limits
-par_show_limits Execution of will continue now, and it will try to read its input
+par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please
par_show_limits press CTRL-D or CTRL-C
par_show_limits bar
@@ -561,7 +649,7 @@
par_show_limits Maximal size of command: 131xxx
par_show_limits Maximal usable size of command: 100
par_show_limits
-par_show_limits Execution of will continue now, and it will try to read its input
+par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please
par_show_limits press CTRL-D or CTRL-C
par_show_limits bar car far
@@ -569,7 +657,7 @@
par_show_limits Maximal size of command: 131xxx
par_show_limits Maximal usable size of command: 64xxx
par_show_limits
-par_show_limits Execution of will continue now, and it will try to read its input
+par_show_limits Execution will continue now, and it will try to read its input
par_show_limits and run commands; if this is not what you wanted to happen, please
par_show_limits press CTRL-D or CTRL-C
par_slow_args_generation ### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-load
^
|
@@ -1,3 +1,4 @@
+par_limit_load OK
par_load_file_less_10s ### Test --load read from a file - less than 10s
par_load_file_less_10s OK
par_load_file_more_10s ### Test --load read from a file - more than 10s
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-race02
^
|
@@ -12,10 +12,10 @@
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1
1=OK 1
par_PARALLEL_RSYNC_OPTS ### test rsync opts
-par_PARALLEL_RSYNC_OPTS rsync --protocol 30 -rlDzRRRR
-par_PARALLEL_RSYNC_OPTS rsync --protocol 30 --rsync-path='cd ././.; rsync' -rlDzRRRR
-par_PARALLEL_RSYNC_OPTS rsync --protocol 30 -zzrrllddRRRR
-par_PARALLEL_RSYNC_OPTS rsync --protocol 30 --rsync-path='cd ././.; rsync' -zzrrllddRRRR
+par_PARALLEL_RSYNC_OPTS -rlDzRRRR
+par_PARALLEL_RSYNC_OPTS -rlDzRRRR
+par_PARALLEL_RSYNC_OPTS -zzzzrldRRRR
+par_PARALLEL_RSYNC_OPTS -zzzzrldRRRR
par_PARALLEL_RSYNC_OPTS
par_continuous_output Test delayed output with ''
par_continuous_output -u is optimal but hard to reach, due to non-mixing
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh1
^
|
@@ -83,6 +83,19 @@
par_ssh ### use --ssh
par_ssh Run through BARSSH?
par_ssh BARSSH
+par_ssh_ssh ### bug #61894: Pack ssh code in eval protection
+par_ssh_ssh Unquoted ssh should work
+par_ssh_ssh aspire
+par_ssh_ssh OK
+par_ssh_ssh aspire
+par_ssh_ssh OK
+par_ssh_ssh aspire
+par_ssh_ssh OK
+par_ssh_ssh aspire
+par_ssh_ssh OK
+par_sshpass_with_password ### sshpass
+par_sshpass_with_password OK
+par_sshpass_with_password OK
par_stop_if_no_hosts_left ### Stop if all hosts are filtered and there are no hosts left to run on
par_stop_if_no_hosts_left parallel: Warning: Removed no-such.host.
par_stop_if_no_hosts_left parallel: Error: Cannot run any jobs.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-macos
^
|
@@ -1,100 +1,100 @@
-par_big_func 1 3824 91776
-par_big_func 1 3824 91776
-par_big_func 1 3824 91776
-par_big_func 1 1864 44676
-par_big_func_name 1 820 19680
-par_big_func_name 1 820 19680
-par_big_func_name 1 820 19680
-par_big_func_name 1 820 19680
-par_big_func_name 1 820 19680
-par_big_func_name 1 820 19680
-par_big_func_name 1 80 1920
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 816 19584
-par_big_var_func_name 1 280 6660
-par_many_args 1 3148 6296
-par_many_args 1 3148 6296
-par_many_args 1 3148 6296
-par_many_args 1 3148 6296
-par_many_args 1 3148 6296
-par_many_args 1 3148 6296
-par_many_args 1 1112 2224
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 232 5568
-par_many_func 1 172 4100
-par_many_var 1 984 23616
-par_many_var 1 984 23616
-par_many_var 1 984 23616
-par_many_var 1 984 23616
-par_many_var 1 984 23616
-par_many_var 1 984 23616
-par_many_var 1 764 18308
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 264 6336
-par_many_var_big_func 1 68 1604
-par_many_var_func 1 2484 59616
-par_many_var_func 1 2484 59616
-par_many_var_func 1 1700 40772
+par_big_func 1 3XXX 91XXX
+par_big_func 1 3XXX 91XXX
+par_big_func 1 3XXX 91XXX
+par_big_func 1 1XXX 44XXX
+par_big_func_name 1 820 19XXX
+par_big_func_name 1 820 19XXX
+par_big_func_name 1 820 19XXX
+par_big_func_name 1 820 19XXX
+par_big_func_name 1 820 19XXX
+par_big_func_name 1 820 19XXX
+par_big_func_name 1 80 1XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 816 19XXX
+par_big_var_func_name 1 280 6XXX
+par_many_args 1 3XXX 6XXX
+par_many_args 1 3XXX 6XXX
+par_many_args 1 3XXX 6XXX
+par_many_args 1 3XXX 6XXX
+par_many_args 1 3XXX 6XXX
+par_many_args 1 3XXX 6XXX
+par_many_args 1 1XXX 2XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 232 5XXX
+par_many_func 1 172 4XXX
+par_many_var 1 980 23XXX
+par_many_var 1 980 23XXX
+par_many_var 1 980 23XXX
+par_many_var 1 980 23XXX
+par_many_var 1 980 23XXX
+par_many_var 1 980 23XXX
+par_many_var 1 788 18XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 264 6XXX
+par_many_var_big_func 1 68 1XXX
+par_many_var_func 1 2XXX 59XXX
+par_many_var_func 1 2XXX 59XXX
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-polarhome
^
|
@@ -395,7 +395,7 @@
hpux Works on hpux64
hpux-ia64 Works on hpux-ia64
hurd Works on hurd
-macosx Works on macosx
+macosx Works on macosx.polarhome.com
mandriva Works on mandriva.polarhome.com
miros Works on miros.polarhome.com
netbsd Works on netbsd.polarhome.com
@@ -413,6 +413,7 @@
tru64 Works on tru64.polarhome.com
ubuntu Works on ubuntu
unixware Works on unixware.polarhome.com
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
echo
echo '### --number-of-cores/--number-of-cpus should work with no error'
echo
@@ -473,10 +474,7 @@
ubuntu 2
unixware 1
unixware 1
-aix 1
-aix 1
-centos 1
-centos 1
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
debian 2
debian 2
debian-ppc 1
@@ -527,6 +525,7 @@
ubuntu 2
unixware 1
unixware 1
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
echo
echo '### Fails if tmpdir is R/O'
echo
@@ -594,6 +593,7 @@
ubuntu OK readonly tmp
unixware Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000
unixware OK readonly tmp
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
echo
echo '### Does exporting a bash function make parallel fail?'
echo 'If login shell is not bash compatible it fails'
@@ -617,7 +617,7 @@
debian test funcA
debian-ppc bash only A
debian-ppc test funcA
-freebsd Syntax error: "(" unexpected (expecting word)
+freebsd /tmp/parScript: 4: Syntax error: "(" unexpected (expecting word)
freebsd test funcA
hurd bash only A
hurd test funcA
@@ -645,7 +645,8 @@
openindiana test funcA
pidora bash only A
pidora test funcA
-qnx /bin/sh: syntax error: `(' unexpected
+qnx /tmp/parScript[4]: syntax error: `(' unexpected
+qnx test funcA
raspbian bash only A
raspbian test funcA
redhat bash only A
@@ -662,7 +663,8 @@
tru64 test funcA
ubuntu bash only A
ubuntu test funcA
-unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 3: `(' unexpected
+unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 4: `(' unexpected
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware test funcA
echo
echo '### Does PARALLEL_SHELL help exporting a bash function'
@@ -1034,6 +1036,7 @@
unixware ~/.cshrc
unixware ~/.tcshrc
unixware install-OK
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
echo
echo '### env_parallel echo env_parallel ::: run-OK'
echo '(bash ksh mksh zsh only)'
@@ -1060,9 +1063,9 @@
openindiana env_parallel run-OK
pidora env_parallel run-OK
qnx env_parallel run-OK
-qnx /bin/sh: compgen: cannot execute - No such file or directory
-qnx /bin/sh: compgen: cannot execute - No such file or directory
-qnx /bin/sh: compgen: cannot execute - No such file or directory
+qnx /tmp/parScript[3]: compgen: cannot execute - No such file or directory
+qnx /tmp/parScript[3]: compgen: cannot execute - No such file or directory
+qnx /tmp/parScript[3]: compgen: cannot execute - No such file or directory
qnx parallel: Warning: Cannot figure out number of cpus. Using 1.
qnx /bin/sh: shopt: cannot execute - No such file or directory
raspbian env_parallel run-OK
@@ -1073,6 +1076,7 @@
suse env_parallel run-OK
tru64 env_parallel run-OK
ubuntu env_parallel run-OK
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware env_parallel run-OK
echo
echo '### env_parallel echo reading from process substitution :::: <(echo OK)'
@@ -1089,7 +1093,7 @@
centos reading from process substitution OK
debian reading from process substitution OK
debian-ppc reading from process substitution OK
-freebsd Syntax error: "(" unexpected (expecting word)
+freebsd /tmp/parScript: 2: Syntax error: "(" unexpected (expecting word)
hurd reading from process substitution OK
hpux reading from process substitution OK
hpux-ia64 reading from process substitution OK
@@ -1103,7 +1107,7 @@
openbsd reading from process substitution OK
openindiana reading from process substitution OK
pidora reading from process substitution OK
-qnx /bin/sh: syntax error: `(' unexpected
+qnx /tmp/parScript[2]: syntax error: `(' unexpected
raspbian reading from process substitution OK
redhat reading from process substitution OK
scosysv reading from process substitution OK
@@ -1112,7 +1116,7 @@
suse reading from process substitution OK
tru64 reading from process substitution OK
ubuntu reading from process substitution OK
-unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `(' unexpected
+unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 2: `(' unexpected
echo
echo '### Test empty command name in process list'
echo '(bash ksh mksh zsh only)'
@@ -1200,7 +1204,7 @@
centos 1 2 1 2 3 1 2 3 4
debian 1 2 1 2 3 1 2 3 4
debian-ppc 1 2 1 2 3 1 2 3 4
-freebsd eval: 1: Syntax error: word unexpected (expecting ")")
+freebsd eval: 1: Syntax error: Bad function name
hurd 1 2 1 2 3 1 2 3 4
hpux
hpux-ia64 1 2 1 2 3 1 2 3 4
@@ -1215,7 +1219,7 @@
pidora 1 2 1 2 3 1 2 3 4
qnx
qnx parset: Warning: Cannot figure out number of cpus. Using 1.
-qnx /bin/sh: syntax error: `(' unexpected
+qnx /tmp/parScript: syntax error: `(' unexpected
raspbian 1 2 1 2 3 1 2 3 4
redhat 1 2 1 2 3 1 2 3 4
scosysv 1 2 1 2 3 1 2 3 4
@@ -1224,7 +1228,8 @@
suse 1 2 1 2 3 1 2 3 4
tru64 1 2 1 2 3 1 2 3 4
ubuntu 1 2 1 2 3 1 2 3 4
-unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpected
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
+unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected
### env_parset arr seq ::: 2 3 4
aix 2 2 3 2 3 4
centos 2 2 3 2 3 4
@@ -1245,14 +1250,14 @@
openindiana 2 2 3 2 3 4
pidora 2 2 3 2 3 4
qnx
-qnx /bin/sh: compgen: cannot execute - No such file or directory
-qnx /bin/sh: compgen: cannot execute - No such file or directory
-qnx /bin/sh: compgen: cannot execute - No such file or directory
+qnx /tmp/parScript[3]: compgen: cannot execute - No such file or directory
+qnx /tmp/parScript[3]: compgen: cannot execute - No such file or directory
+qnx /tmp/parScript[3]: compgen: cannot execute - No such file or directory
qnx parset: Warning: Cannot figure out number of cpus. Using 1.
qnx /bin/sh: shopt: cannot execute - No such file or directory
qnx /bin/sh: shopt: cannot execute - No such file or directory
qnx /bin/sh: shopt: cannot execute - No such file or directory
-qnx /bin/sh: syntax error: `(' unexpected
+qnx /tmp/parScript: syntax error: `(' unexpected
raspbian 2 2 3 2 3 4
redhat 2 2 3 2 3 4
scosysv 2 2 3 2 3 4
@@ -1261,7 +1266,8 @@
suse 2 2 3 2 3 4
tru64 2 2 3 2 3 4
ubuntu 2 2 3 2 3 4
-unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpected
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
+unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected
echo
echo '### parset var1,var2,var3 seq ::: 2 3 4'
echo '(bash ksh mksh zsh ash dash only)'
@@ -1302,6 +1308,7 @@
tru64 1 2,1 2 3,1 2 3 4
ubuntu 1 2,1 2 3,1 2 3 4
unixware 1 2,1 2 3,1 2 3 4
+unixware UX:sh (/tmp/parScript): ERROR: source: Not found
### env_parset var1,var2,var3 seq ::: 2 3 4
aix 2,2 3,2 3 4
centos 2,2 3,2 3 4
@@ -1320,10 +1327,10 @@
openbsd 2 3,3 4,4 5
openindiana 2,2 3,2 3 4
pidora 2,2 3,2 3 4
-qnx ,,
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-remote1
^
|
@@ -1,4 +1,5 @@
par_controlmaster_is_faster ### bug #41964: --controlmaster not seems to reuse OpenSSH connections to the same host
+par_controlmaster_is_faster -M should finish first - eventhough there are 2x jobs
par_controlmaster_is_faster With --controlmaster - finish first
par_controlmaster_is_faster No --controlmaster - finish last
par_filter_hosts_different_errors ### --filter-hosts - OK, non-such-user, connection refused, wrong host
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-tutorial
^
|
@@ -847,7 +847,7 @@
export -f my_func3
parallel -vv --workdir ... --nice 17 --env _ --trc {}.out \
-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 -X -e GNU_Parallel,eval+pack+q/H10000000/,join+q//,@ARGV 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 -- 'sh -c '"'"'rm -f ./.TMPWORKDIR/abc-file 2>/dev/null;rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- 'sh -c '"'"'rm -f ./.TMPWORKDIR/abc-file.out 2>/dev/null;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 -- exec mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -e'ssh -l parallel' ./abc-file lo:./.TMPWORKDIR;ssh -l parallel lo -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV BASE64;_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 -rlDzR -e'ssh -l parallel' --rsync-path='cd ./.TMPWORKDIR/./.; rsync' -- lo:./abc-file.out ./.;ssh -l parallel lo -- exec 'sh -c '"'"'rm -f ./.TMPWORKDIR/abc-file 2>/dev/null;rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- exec 'sh -c '"'"'rm -f ./.TMPWORKDIR/abc-file.out 2>/dev/null;rmdir ./.TMPWORKDIR/ ./.parallel/tmp/ ./.parallel/ 2>/dev/null;rm -rf ./.TMPWORKDIR;'"'";ssh -l parallel lo -- exec rm -rf .TMPWORKDIR;exit $_EXIT_status;
parset myvar1,myvar2 echo ::: a b
echo $myvar1
echo $myvar2
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220322+git1.tar.bz2/upstream/testsuite/wanted-results/test19
^
|
@@ -75,29 +75,29 @@
ls: tmp/parallel.file*: No such file or directory
OK
Input for ssh
--l vagrant one-server -- mkdir -p ./.
+-l vagrant one-server -- exec mkdir -p ./.
-l vagrant one-server rsync --server -lDrRze.iLsfxC . ./.
--l vagrant one-server -- exec perl -X -e GNU_Parallel,eval+pack+q/H10000000/,join+q//,@ARGV hex
+-l vagrant one-server -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV hex
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
newlineX.out'
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
newlineX.out2'
--l vagrant one-server -- sh -c 'rm -f '"'"'./tmp/parallel.file.
+-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
--l vagrant one-server -- sh -c 'rm -f '"'"'./tmp/parallel.file.
+-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX.out'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
--l vagrant one-server -- sh -c 'rm -f '"'"'./tmp/parallel.file.
+-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX.out2'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
--l vagrant one-server -- mkdir -p ./.
+-l vagrant one-server -- exec mkdir -p ./.
-l vagrant one-server rsync --server -lDrRze.iLsfxC . ./.
--l vagrant one-server -- exec perl -X -e GNU_Parallel,eval+pack+q/H10000000/,join+q//,@ARGV hex
+-l vagrant one-server -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV hex
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
newlineX.out'
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
newlineX.out2'
--l vagrant one-server -- sh -c 'rm -f '"'"'./tmp/parallel.file.
+-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
--l vagrant one-server -- sh -c 'rm -f '"'"'./tmp/parallel.file.
+-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX.out'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
--l vagrant one-server -- sh -c 'rm -f '"'"'./tmp/parallel.file.
+-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX.out2'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
|