[-]
[+]
|
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">20220522+git1</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/CREDITS
^
|
@@ -1,5 +1,6 @@
People who have helped GNU Parallel different ways.
+Wu Zhenyu: Code snips for --completion zsh.
Morten Rønne: Donating his old Mac for testing.
Renan Valieris: Maintaining GNU Parallel for Anaconda Cloud.
Jakub Kulík: Maintaining GNU Parallel for Solaris-userland.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/Makefile.in
^
|
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -137,8 +137,8 @@
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir distdir-am dist dist-all distcheck
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
- $(LISP)config.h.in
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
+ config.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
@@ -155,9 +155,6 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in NEWS \
README install-sh missing
@@ -199,6 +196,8 @@
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
+# Exists only to be overridden by the user if desired.
+AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -210,11 +209,14 @@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+ETAGS = @ETAGS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -438,7 +440,6 @@
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -522,6 +523,10 @@
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
+dist-zstd: distdir
+ tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
+ $(am__post_remove_distdir)
+
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@@ -564,6 +569,8 @@
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
+ *.tar.zst*) \
+ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
@@ -579,7 +586,7 @@
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
@@ -740,7 +747,7 @@
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
- distcheck distclean distclean-generic distclean-hdr \
+ dist-zstd distcheck distclean distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/NEWS
^
|
@@ -1,3 +1,65 @@
+20220522
+
+New in this release:
+
+* --latest-line shows only the latest line of running jobs.
+
+* --color colors output in different colors per job (this obsoletes --ctag).
+
+* xargs compatibility: --process-slot-var foo sets $foo to jobslot-1.
+
+* xargs compatibility: --open-tty opens the terminal on stdin (standard input).
+
+* Bug fixes and man page updates.
+
+News about GNU Parallel:
+
+* Building a fault-tolerant work queue for command-line executions
+ with GNU Parallel https://www.jvt.me/posts/2022/04/28/shell-queue/
+
+* Make your code do more, with less
+ https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/
+
+* W09 B IntroHPC II 20220513 gnu parallel
+ https://www.youtube.com/watch?v=2udvC90rIa4
+
+
+20220422
+
+New in this release:
+
+* sash is no longer supported as shell.
+
+* --retries 0 is an alias for --retries 2147483647.
+
+* --shell-completion returns shell completion code.
+
+* --ssh-login-file reloads every second.
+
+* --parset is replaced with --_parset because it is only used internally.
+
+* sem --pipe passes STDIN (standard input) to the command.
+
+* Bug fixes and man page updates.
+
+
+20220322
+
+New in this release:
+
+* --sshlogin user:password@host is now supported by using sshpass.
+
+* Bug fixes and man page updates.
+
+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-20220522+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-20220522.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20220522.tar.bz2.sig
+ gpg parallel-20220522.tar.bz2.sig
+ bzip2 -dc parallel-20220522.tar.bz2 | tar xvf -
+ cd parallel-20220522
./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-20220522.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20220522.tar.bz2.sig
+ gpg parallel-20220522.tar.bz2.sig
+ bzip2 -dc parallel-20220522.tar.bz2 | tar xvf -
+ cd parallel-20220522
./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, May 22). GNU Parallel 20220522 ('NATO').
+ Zenodo. https://doi.org/10.5281/zenodo.6570228
-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-20220522+git1.tar.bz2/upstream/aclocal.m4
^
|
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,13 +14,13 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
+[m4_warning([this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2018 Free Software Foundation, Inc.
+# Copyright (C) 2002-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.1], [],
+m4_if([$1], [1.16.5], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.1])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -143,7 +143,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -171,6 +171,10 @@
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+ [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -207,7 +211,7 @@
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
@@ -259,6 +263,20 @@
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+ CTAGS=ctags
+fi
+AC_SUBST([CTAGS])
+if test -z "$ETAGS"; then
+ ETAGS=etags
+fi
+AC_SUBST([ETAGS])
+if test -z "$CSCOPE"; then
+ CSCOPE=cscope
+fi
+AC_SUBST([CSCOPE])
+
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
@@ -340,7 +358,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -361,7 +379,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2018 Free Software Foundation, Inc.
+# Copyright (C) 2003-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -382,7 +400,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -403,12 +421,7 @@
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
@@ -421,7 +434,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -452,7 +465,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -533,7 +546,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+# Copyright (C) 2009-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -593,7 +606,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -621,7 +634,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+# Copyright (C) 2006-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -640,7 +653,7 @@
# Check how to create a tarball. -*- Autoconf -*-
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/configure
^
|
@@ -1,11 +1,12 @@
#! /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.71 for parallel 20220522.
#
# Report bugs to <bug-parallel@gnu.org>.
#
#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -16,14 +17,16 @@
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
-else
+else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
@@ -33,46 +36,46 @@
fi
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" "" $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -81,13 +84,6 @@
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
@@ -96,8 +92,12 @@
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
@@ -109,30 +109,10 @@
as_myself=$0
fi
if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
@@ -154,20 +134,22 @@
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
-else
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/configure.ac
^
|
@@ -1,4 +1,4 @@
-AC_INIT([parallel],[20220222],[bug-parallel@gnu.org])
+AC_INIT([parallel],[20220522],[bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/doc/citation-notice-faq.txt
^
|
@@ -51,8 +51,15 @@
nothing else gives you the right to change it. And if you accept this,
you do not need to change it to make it compliant.
+What you can not do is to simultaneously claim that the software both
+is and is not available under GPLv3. You need to pick one.
+
+This is also covered in section 9 of GPLv3: "However, nothing other
+than this License grants you permission to propagate or modify any
+covered work." https://www.gnu.org/licenses/gpl-3.0.en.html
+
So: If you do not feel the citation notice adheres to GPLv3, you need
-to treat it as software that you have no license to use.
+to treat it as software that you have no license to modify.
== Do automated scripts break if the notice is not silenced? ==
@@ -218,9 +225,29 @@
and retirement.
-== I do not want to cite ==
+== Would it not be hell if all tools showed a citation notice? ==
+
+Most software is not financed through citations, thus this is unlikely
+to happen.
+
+You can even get GNU Parallel in a version with the citation notice
+silenced and which you do not have to cite: You just have to pay for
+it and help finance the development that way.
+
+Many tools require configuration before use, or give you 'OK. Do not
+show this again'-dialog boxes until you silence those, so it is not
+uncommon, that you have to do a little extra work, when running the
+software for the first time.
-If you do not want to cite, then you should use another tool.
+Running 'parallel --citation' takes less than 10 seconds to run, and
+if GNU Parallel does not save you 10 seconds, then you should probably
+use a different tool.
+
+
+== I do not want to cite and do not want to help fund development ==
+
+If you neither want to cite nor fund development, then you should use
+another tool.
If you do not want to help fund GNU Parallel, then you will not be a
happy GNU Parallel user, and thus you using another tool is the best
@@ -236,6 +263,8 @@
it. You only need to do that if you do not want to see the citation
notice.
+You can also buy a version with the citation notice silenced.
+
But it really only takes 10 seconds to run.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/doc/haikus
^
|
@@ -4,6 +4,32 @@
Quote of the month:
+ xargs諦めてGNU Parallel使ったら一瞬で問題が解決したので終わり
+ -- aria_moto @moto_aria@twitter
+
+ Such a life saver of a tool.
+ -- winrid@ycombinator
+
+ I used GNU Parallel to run a script locally that did what a big distributed system did, quicker and more reliably. It got to the point where people would just ask me to "run the thing" on my laptop instead of waiting for the cron.
+ -- winrid@ycombinator
+
+ Parallel has been (and still is) super useful and simple tool for speeding up all kinds of shell tasks during my career.
+ -- ValtteriL@ycombinator
+
+ parallel is so useful and i use it multiple times daily.
+ -- arrakeen@ycombinator
+
+ Parallel is Good Stuff (tm)
+ -- bloopernova@ycombinator
+
+ GNU Parallel is one of my favorite utilities of all time.
+ -- paskozdilar@ycombinator
+
+ Tool, was ich sehr ausgiebig nutze inzwischen und lieben gelernt habe: "GNU parallel"
+ -- nuit @nv1t@twitter
+
+ 아 parallel 너무 좋지요.
+ -- 어엉부엉@d_ijk_stra
GNU parallel すごいな、シェルスクリプトを make -jX みたいにして並列
に走らせたいときに超便利
@@ -18,13 +44,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 +57,7 @@
Deus salve o gnu parallel
-- marcos @guv_Tuv@twitter
-@a201
+@a
4
اليوم علمت بأداة تساعد على تشغيل أوامر الصدفة بشكل متوازي حسب عدد الأنوية الموجودة مما يجعلها أداة أساسية في عدة تنفيذ المهام.
الأداة اسمها gnu parallel
@@ -166,6 +189,15 @@
=== Used ===
+ It's amazing how fast you can get with bash pipelines and GNU Parallel.
+ -- Eric Pauley @EricPauley_
+
+ Immensely useful which I am forever grateful that it exists.
+ -- AlexDragusin@ycombinator
+
+ 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-20220522+git1.tar.bz2/upstream/doc/release_new_version
^
|
@@ -254,37 +254,34 @@
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 20220522 ('NATO') released
-GNU Parallel 20220222 ('Donetsk Luhansk') 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.
+GNU Parallel 20220522 ('NATO') has been released. It is available for download at: lbry://@GnuParallel:4
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
+ It's amazing how fast you can get with bash pipelines and GNU Parallel.
+ -- Eric Pauley @EricPauley_
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.
+* --latest-line shows only the latest line of running jobs.
-* Time functions hh_mm_ss() hhmmss() hh_mm() hhmm() are now available for {= =}.
+* --color colors output in different colors per job (this obsoletes --ctag).
-* parallel_options_map.pdf is a map showing which options other options relate to.
+* xargs compatibility: --process-slot-var foo sets $foo to jobslot-1.
-* {uniq} added to --plus to only run jobs with unique values.
+* xargs compatibility: --open-tty opens the terminal on stdin (standard input).
-* Bug fixes and man page updates: Many options now have a 'See also' section.
+* Bug fixes and man page updates.
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
+* Building a fault-tolerant work queue for command-line executions with GNU Parallel https://www.jvt.me/posts/2022/04/28/shell-queue/
-* linux 命令 -- parallel https://blog.csdn.net/qq_38197157/article/details/112596389
+* Make your code do more, with less https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/
-* Iterating Over Each Line of ls -l Output https://www.baeldung.com/linux/iterating-ls-l-output
+* W09 B IntroHPC II 20220513 gnu parallel https://www.youtube.com/watch?v=2udvC90rIa4
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
@@ -364,4 +361,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-20220522+git1.tar.bz2/upstream/packager/debian/debian-template/compat
^
|
@@ -1 +1 @@
-5
+7
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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="325" vrev="1" srcmd5="0e4e7b85fb839b1b92a506e1b2992935">
+ <entry name="PKGBUILD" md5="eef8ab7c0ccf83a0e08cbf0b111047fd" size="936" mtime="1653216427" />
+ <entry name="parallel-20220522.tar.bz2" md5="3fb2288f04f550dc246c9388558a67bb" size="2372700" mtime="1653216428" />
+ <entry name="parallel.spec" md5="dfa4b6691d57f32d68d5fe022d0e1801" size="5713" mtime="1653216428" />
+ <entry name="parallel_20220422.dsc" md5="53564c7e423948f3c25fb82bae7754ee" size="556" mtime="1653216428" />
+ <entry name="parallel_20220422.tar.gz" md5="4ece6ee823ae7b492081af3991b4ae86" size="2638371" mtime="1653216428" />
</directory>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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: 20220522
Release: 1.3
License: GPL-3.0-or-later
Group: Productivity/File utilities
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/src/env_parallel
^
|
@@ -128,6 +128,16 @@
env_parallel --install
+In a script you need to run this before using env_parallel:
+
+bash: . `which env_parallel.bash`
+ksh: source `which env_parallel.ksh`
+mksh: source `which env_parallel.mksh`
+pdksh: source `which env_parallel.pdksh`
+zsh: . `which env_parallel.zsh`
+ash: . `which env_parallel.ash`
+dash: . `which env_parallel.dash`
+
For details: see man env_parallel
_EOS
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.ash
^
|
@@ -27,6 +27,7 @@
#
# 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 shell=dash
env_parallel() {
# based on env_parallel.sh
@@ -36,8 +37,8 @@
for _i in `alias 2>/dev/null | perl -ne 's/^alias //;s/^(\S+)=.*/$1/ && print' 2>/dev/null`; do
# Check if this name really is an alias
# or just part of a multiline alias definition
- if alias $_i >/dev/null 2>/dev/null; then
- echo $_i
+ if alias "$_i" >/dev/null 2>/dev/null; then
+ echo "$_i"
fi
done
}
@@ -47,7 +48,7 @@
# alias myalias='definition' (FreeBSD ash)
# so remove 'alias ' from first line
for _i in "$@"; do
- echo 'alias '"`alias $_i | perl -pe '1..1 and s/^alias //'`"
+ echo 'alias '"`alias "$_i" | perl -pe '1..1 and s/^alias //'`"
done
}
_names_of_maybe_FUNCTIONS() {
@@ -55,6 +56,7 @@
}
_names_of_FUNCTIONS() {
# myfunc is a function
+ # shellcheck disable=SC2046
LANG=C type `_names_of_maybe_FUNCTIONS` |
perl -ne '/^(\S+) is a function$/ and not $seen{$1}++ and print "$1\n"'
}
@@ -70,22 +72,24 @@
for _i in "$@"
do
perl -e 'print @ARGV' "$_i="
- eval echo \"\$$_i\" | perl -e '$/=undef; $a=<>; chop($a); print $a' |
+ eval echo "\"\$$_i\"" | perl -e '$/=undef; $a=<>; chop($a); print $a' |
perl -pe 's/[\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\<\=\>\~\|\; \"\!\$\&\202-\377]/\\$&/go;'"s/'/\\\'/g; s/[\n]/'\\n'/go;";
echo
done
}
_ignore_HARDCODED() {
# These names cannot be detected
- echo '(_|TIMEOUT)'
+ echo '(_|TIMEOUT|IFS)'
}
_ignore_READONLY() {
+ # shellcheck disable=SC1078,SC1079,SC2026
readonly | perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
# ksh: var='val'
- s/^(readonly )?([^= ]*)(=.*|)$/$2/ or
+ # mksh: PIPESTATUS[0]
+ s/^(readonly )?([^=\[ ]*?)(\[\d+\])?(=.*|)$/$2/ or
# bash: declare -ar BASH_VERSINFO=([0]="4" [1]="4")
# zsh: typeset -r var='val'
s/^\S+\s+\S+\s+(\S[^=]*)(=.*|$)/$1/;
@@ -96,7 +100,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -203,24 +209,27 @@
END { exit not $exit }'
}
_warning_PAR() {
- echo "env_parallel: Warning: $@" >&2
+ echo "env_parallel: Warning: $*" >&2
}
_error_PAR() {
- echo "env_parallel: Error: $@" >&2
+ echo "env_parallel: Error: $*" >&2
}
if _which_PAR parallel >/dev/null; then
true parallel found in path
else
+ # shellcheck disable=SC2016
_error_PAR 'parallel must be in $PATH.'
return 255
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
-
+
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -231,7 +240,7 @@
(_names_of_ALIASES;
_names_of_FUNCTIONS;
_names_of_VARIABLES) |
- cat > $HOME/.parallel/ignored_vars
+ cat > "$HOME"/.parallel/ignored_vars
return 0
fi
@@ -241,6 +250,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -264,6 +274,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -271,6 +282,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -280,6 +292,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -289,6 +302,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -297,6 +311,7 @@
fi
unset _variable_NAMES
+ # shellcheck disable=SC2006
PARALLEL_ENV="`
$_list_alias_BODIES;
$_list_function_BODIES;
@@ -309,7 +324,8 @@
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
unset _remove_bad_NAMES _grep_REGEXP
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
+ # Test if environment is too big by running 'true'
+ # shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
parallel "$@"
_parallel_exit_CODE=$?
@@ -363,13 +379,6 @@
# parset "var_a4 var_b4 var_c4" echo ::: {1..3}
# echo $var_c4
- _make_TEMP() {
- # mktemp does not exist on some OS
- perl -e 'use File::Temp qw(tempfile);
- $ENV{"TMPDIR"} ||= "/tmp";
- print((tempfile(DIR=>$ENV{"TMPDIR"}, TEMPLATE => "parXXXXX"))[1])'
- }
-
_parset_NAME="$1"
if [ "$_parset_NAME" = "" ] ; then
echo parset: Error: No destination variable given. >&2
@@ -385,7 +394,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -400,45 +410,21 @@
return 255
fi
shift
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.bash
^
|
@@ -27,6 +27,7 @@
#
# 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
@@ -73,7 +74,8 @@
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
# ksh: var='val'
- s/^(readonly )?([^= ]*)(=.*|)$/$2/ or
+ # mksh: PIPESTATUS[0]
+ s/^(readonly )?([^=\[ ]*?)(\[\d+\])?(=.*|)$/$2/ or
# bash: declare -ar BASH_VERSINFO=([0]="4" [1]="4")
# zsh: typeset -r var='val'
s/^\S+\s+\S+\s+(\S[^=]*)(=.*|$)/$1/;
@@ -84,7 +86,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -214,10 +218,12 @@
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -242,6 +248,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -267,6 +274,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -274,6 +282,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -283,6 +292,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -292,6 +302,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -385,7 +396,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -404,14 +416,17 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
+ # shellcheck disable=SC2039,SC2169
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
- eval "`$_parset_PARALLEL_PRG -k --parset assoc,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset assoc,"$_parset_NAME" "$@"`"
# The eval returns the function!
else
# This is a normal array or a list of variable names
- eval "`$_parset_PARALLEL_PRG -k --parset var,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset var,"$_parset_NAME" "$@"`"
# The eval returns the function!
fi
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.dash
^
|
@@ -27,6 +27,7 @@
#
# 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() {
# based on env_parallel.sh
@@ -36,8 +37,8 @@
for _i in `alias 2>/dev/null | perl -ne 's/^alias //;s/^(\S+)=.*/$1/ && print' 2>/dev/null`; do
# Check if this name really is an alias
# or just part of a multiline alias definition
- if alias $_i >/dev/null 2>/dev/null; then
- echo $_i
+ if alias "$_i" >/dev/null 2>/dev/null; then
+ echo "$_i"
fi
done
}
@@ -47,7 +48,7 @@
# alias myalias='definition' (FreeBSD ash)
# so remove 'alias ' from first line
for _i in "$@"; do
- echo 'alias '"`alias $_i | perl -pe '1..1 and s/^alias //'`"
+ echo 'alias '"`alias "$_i" | perl -pe '1..1 and s/^alias //'`"
done
}
_names_of_maybe_FUNCTIONS() {
@@ -55,6 +56,7 @@
}
_names_of_FUNCTIONS() {
# myfunc is a function
+ # shellcheck disable=SC2046
LANG=C type `_names_of_maybe_FUNCTIONS` |
perl -ne '/^(\S+) is a function$/ and not $seen{$1}++ and print "$1\n"'
}
@@ -70,22 +72,24 @@
for _i in "$@"
do
perl -e 'print @ARGV' "$_i="
- eval echo \"\$$_i\" | perl -e '$/=undef; $a=<>; chop($a); print $a' |
+ eval echo "\"\$$_i\"" | perl -e '$/=undef; $a=<>; chop($a); print $a' |
perl -pe 's/[\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\<\=\>\~\|\; \"\!\$\&\202-\377]/\\$&/go;'"s/'/\\\'/g; s/[\n]/'\\n'/go;";
echo
done
}
_ignore_HARDCODED() {
# These names cannot be detected
- echo '(_|TIMEOUT)'
+ echo '(_|TIMEOUT|IFS)'
}
_ignore_READONLY() {
+ # shellcheck disable=SC1078,SC1079,SC2026
readonly | perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
# ksh: var='val'
- s/^(readonly )?([^= ]*)(=.*|)$/$2/ or
+ # mksh: PIPESTATUS[0]
+ s/^(readonly )?([^=\[ ]*?)(\[\d+\])?(=.*|)$/$2/ or
# bash: declare -ar BASH_VERSINFO=([0]="4" [1]="4")
# zsh: typeset -r var='val'
s/^\S+\s+\S+\s+(\S[^=]*)(=.*|$)/$1/;
@@ -96,7 +100,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -203,24 +209,27 @@
END { exit not $exit }'
}
_warning_PAR() {
- echo "env_parallel: Warning: $@" >&2
+ echo "env_parallel: Warning: $*" >&2
}
_error_PAR() {
- echo "env_parallel: Error: $@" >&2
+ echo "env_parallel: Error: $*" >&2
}
if _which_PAR parallel >/dev/null; then
true parallel found in path
else
+ # shellcheck disable=SC2016
_error_PAR 'parallel must be in $PATH.'
return 255
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -231,7 +240,7 @@
(_names_of_ALIASES;
_names_of_FUNCTIONS;
_names_of_VARIABLES) |
- cat > $HOME/.parallel/ignored_vars
+ cat > "$HOME"/.parallel/ignored_vars
return 0
fi
@@ -241,6 +250,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -264,6 +274,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -271,6 +282,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -280,6 +292,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -289,6 +302,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -297,6 +311,7 @@
fi
unset _variable_NAMES
+ # shellcheck disable=SC2006
PARALLEL_ENV="`
$_list_alias_BODIES;
$_list_function_BODIES;
@@ -309,7 +324,8 @@
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
unset _remove_bad_NAMES _grep_REGEXP
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
+ # Test if environment is too big by running 'true'
+ # shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
parallel "$@"
_parallel_exit_CODE=$?
@@ -363,13 +379,6 @@
# parset "var_a4 var_b4 var_c4" echo ::: {1..3}
# echo $var_c4
- _make_TEMP() {
- # mktemp does not exist on some OS
- perl -e 'use File::Temp qw(tempfile);
- $ENV{"TMPDIR"} ||= "/tmp";
- print((tempfile(DIR=>$ENV{"TMPDIR"}, TEMPLATE => "parXXXXX"))[1])'
- }
-
_parset_NAME="$1"
if [ "$_parset_NAME" = "" ] ; then
echo parset: Error: No destination variable given. >&2
@@ -385,7 +394,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -400,45 +410,21 @@
return 255
fi
shift
- echo "$_parset_NAME" |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.ksh
^
|
@@ -27,6 +27,7 @@
#
# 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.ksh
@@ -64,6 +65,7 @@
echo '(_|TIMEOUT|IFS)'
}
_ignore_READONLY() {
+ # shellcheck disable=SC1078,SC1079,SC2026
readonly | perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
@@ -81,7 +83,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -188,24 +192,27 @@
END { exit not $exit }'
}
_warning_PAR() {
- echo "env_parallel: Warning: $@" >&2
+ echo "env_parallel: Warning: $*" >&2
}
_error_PAR() {
- echo "env_parallel: Error: $@" >&2
+ echo "env_parallel: Error: $*" >&2
}
if _which_PAR parallel >/dev/null; then
true parallel found in path
else
+ # shellcheck disable=SC2016
_error_PAR 'parallel must be in $PATH.'
return 255
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -226,6 +233,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -249,6 +257,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -256,6 +265,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -265,6 +275,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -274,6 +285,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -282,6 +294,7 @@
fi
unset _variable_NAMES
+ # shellcheck disable=SC2006
PARALLEL_ENV="`
$_list_alias_BODIES;
$_list_function_BODIES;
@@ -294,7 +307,8 @@
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
unset _remove_bad_NAMES _grep_REGEXP
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
+ # Test if environment is too big by running 'true'
+ # shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
parallel "$@"
_parallel_exit_CODE=$?
@@ -363,7 +377,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -382,14 +397,17 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
+ # shellcheck disable=SC2039,SC2169
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
- eval "`$_parset_PARALLEL_PRG -k --parset assoc,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset assoc,"$_parset_NAME" "$@"`"
# The eval returns the function!
else
# This is a normal array or a list of variable names
- eval "`$_parset_PARALLEL_PRG -k --parset var,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset var,"$_parset_NAME" "$@"`"
# The eval returns the function!
fi
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.mksh
^
|
@@ -27,6 +27,7 @@
#
# 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.mksh
@@ -66,6 +67,7 @@
echo '(_)'
}
_ignore_READONLY() {
+ # shellcheck disable=SC1078,SC1079,SC2026
readonly | perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
@@ -83,7 +85,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -190,24 +194,27 @@
END { exit not $exit }'
}
_warning_PAR() {
- echo "env_parallel: Warning: $@" >&2
+ echo "env_parallel: Warning: $*" >&2
}
_error_PAR() {
- echo "env_parallel: Error: $@" >&2
+ echo "env_parallel: Error: $*" >&2
}
if _which_PAR parallel >/dev/null; then
true parallel found in path
else
+ # shellcheck disable=SC2016
_error_PAR 'parallel must be in $PATH.'
return 255
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -228,6 +235,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -251,6 +259,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -258,6 +267,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -267,6 +277,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -276,6 +287,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -284,6 +296,7 @@
fi
unset _variable_NAMES
+ # shellcheck disable=SC2006
PARALLEL_ENV="`
$_list_alias_BODIES;
$_list_function_BODIES;
@@ -296,7 +309,8 @@
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
unset _remove_bad_NAMES _grep_REGEXP
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
+ # Test if environment is too big by running 'true'
+ # shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
parallel "$@"
_parallel_exit_CODE=$?
@@ -365,7 +379,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -384,14 +399,17 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
+ # shellcheck disable=SC2039,SC2169
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
- eval "`$_parset_PARALLEL_PRG -k --parset assoc,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset assoc,"$_parset_NAME" "$@"`"
# The eval returns the function!
else
# This is a normal array or a list of variable names
- eval "`$_parset_PARALLEL_PRG -k --parset var,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset var,"$_parset_NAME" "$@"`"
# The eval returns the function!
fi
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.sh
^
|
@@ -79,7 +79,7 @@
}
_ignore_HARDCODED() {
# These names cannot be detected
- echo '(_|TIMEOUT)'
+ echo '(_|TIMEOUT|IFS)'
}
_ignore_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
@@ -88,7 +88,8 @@
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
# ksh: var='val'
- s/^(readonly )?([^= ]*)(=.*|)$/$2/ or
+ # mksh: PIPESTATUS[0]
+ s/^(readonly )?([^=\[ ]*?)(\[\d+\])?(=.*|)$/$2/ or
# bash: declare -ar BASH_VERSINFO=([0]="4" [1]="4")
# zsh: typeset -r var='val'
s/^\S+\s+\S+\s+(\S[^=]*)(=.*|$)/$1/;
@@ -99,7 +100,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -221,10 +224,12 @@
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -245,6 +250,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -268,6 +274,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -275,6 +282,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -284,6 +292,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -293,6 +302,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -301,6 +311,7 @@
fi
unset _variable_NAMES
+ # shellcheck disable=SC2006
PARALLEL_ENV="`
$_list_alias_BODIES;
$_list_function_BODIES;
@@ -313,8 +324,8 @@
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
unset _remove_bad_NAMES _grep_REGEXP
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
- # shellcheck disable=SC2092
+ # Test if environment is too big by running 'true'
+ # shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
parallel "$@"
_parallel_exit_CODE=$?
@@ -368,13 +379,6 @@
# parset "var_a4 var_b4 var_c4" echo ::: {1..3}
# echo $var_c4
- _make_TEMP() {
- # mktemp does not exist on some OS
- perl -e 'use File::Temp qw(tempfile);
- $ENV{"TMPDIR"} ||= "/tmp";
- print((tempfile(DIR=>$ENV{"TMPDIR"}, TEMPLATE => "parXXXXX"))[1])'
- }
-
_parset_NAME="$1"
if [ "$_parset_NAME" = "" ] ; then
echo parset: Error: No destination variable given. >&2
@@ -390,7 +394,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -405,46 +410,21 @@
return 255
fi
shift
- echo "$_parset_NAME" |
- perl -ne 'chomp;for (split /[, ]/) {
- # Allow: var_32 var[3]
- if(not /^[a-zA-Z_][a-zA-Z_0-9]*(\[\d+\])?$/) {
- print STDERR "parset: Error: $_ is an invalid variable name.\n";
- print STDERR "parset: Error: Variable names must be letter followed by letters or digits.\n";
- print STDERR "parset: Error: Usage:\n";
- print STDERR "parset: Error: parset varname GNU Parallel options and command\n";
- $exitval = 255;
- }
- }
- exit $exitval;
- ' || return 255
- _exit_FILE=`_make_TEMP`
- if perl -e 'exit not grep /,| /, @ARGV' "$_parset_NAME" ; then
- # $_parset_NAME contains , or space
- # Split on , or space to get the names
- # shellcheck disable=SC2016,SC2046
- eval "`
- # Compute results into files
- ($_parset_PARALLEL_PRG --files -k "$@"; echo $? > "$_exit_FILE") |
- # var1= cat tmpfile1; rm tmpfile1
- # var2= cat tmpfile2; rm tmpfile2
- parallel --plain -q echo '{2}=\`cat {1}; rm {1}\`' :::: - :::+ \`
- echo "$_parset_NAME" |
- perl -pe 's/,/ /g'
- \`
- `"
+
+ # Bash: declare -A myassoc=( )
+ # Zsh: typeset -A myassoc=( )
+ # Ksh: typeset -A myassoc=( )
+ # shellcheck disable=SC2039,SC2169
+ if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
+ perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
+ # This is an associative array
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset assoc,"$_parset_NAME" "$@"`"
+ # The eval returns the function!
else
- # $_parset_NAME does not contain , or space
- # => $_parset_NAME is the name of the array to put data into
- # Supported in: bash zsh ksh mksh
- # Arrays do not work in: sh ash dash
- eval "$_parset_NAME=( $(
- # Compute results into files. Save exit value
- ($_parset_PARALLEL_PRG --files -k "$@"; echo $? > "$_exit_FILE") |
- perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
- ) )"
- fi
- unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
- # Unset _exit_FILE before return
- eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
+ # This is a normal array or a list of variable names
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset var,"$_parset_NAME" "$@"`"
+ # The eval returns the function!
+ fi
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/env_parallel.zsh
^
|
@@ -27,6 +27,7 @@
#
# 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.zsh
@@ -62,7 +63,8 @@
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
# ksh: var='val'
- s/^(readonly )?([^= ]*)(=.*|)$/$2/ or
+ # mksh: PIPESTATUS[0]
+ s/^(readonly )?([^=\[ ]*?)(\[\d+\])?(=.*|)$/$2/ or
# bash: declare -ar BASH_VERSINFO=([0]="4" [1]="4")
# zsh: typeset -r var='val'
s/^\S+\s+\S+\s+(\S[^=]*)(=.*|$)/$1/;
@@ -73,7 +75,9 @@
}
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
+ # shellcheck disable=SC2006
_ignore_RO="`_ignore_READONLY`"
+ # shellcheck disable=SC2006
_ignore_HARD="`_ignore_HARDCODED`"
# Macos-grep does not like long patterns
# Old Solaris grep does not support -E
@@ -180,24 +184,27 @@
END { exit not $exit }'
}
_warning_PAR() {
- echo "env_parallel: Warning: $@" >&2
+ echo "env_parallel: Warning: $*" >&2
}
_error_PAR() {
- echo "env_parallel: Error: $@" >&2
+ echo "env_parallel: Error: $*" >&2
}
if _which_PAR parallel >/dev/null; then
true parallel found in path
else
+ # shellcheck disable=SC2016
_error_PAR 'parallel must be in $PATH.'
return 255
fi
# Grep regexp for vars given by --env
+ # shellcheck disable=SC2006
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
unset _make_grep_REGEXP
# Deal with --env _
+ # shellcheck disable=SC2006
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
unset _get_ignored_VARS
@@ -218,6 +225,7 @@
else
# Insert ::: between each level of session
# so you can pop off the last ::: at --end-session
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`echo \"$PARALLEL_IGNORED_NAMES\";
echo :::;
(_names_of_ALIASES;
@@ -241,6 +249,7 @@
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
+ # shellcheck disable=SC2006
PARALLEL_IGNORED_NAMES="`perl -e '
$ENV{PARALLEL_IGNORED_NAMES} =~ s/(.*):::.*?$/$1/s;
print $ENV{PARALLEL_IGNORED_NAMES}
@@ -248,6 +257,7 @@
return 0
fi
# Grep alias names
+ # shellcheck disable=SC2006
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
@@ -257,6 +267,7 @@
unset _alias_NAMES
# Grep function names
+ # shellcheck disable=SC2006
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
@@ -266,6 +277,7 @@
unset _function_NAMES
# Grep variable names
+ # shellcheck disable=SC2006
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
@@ -274,6 +286,7 @@
fi
unset _variable_NAMES
+ # shellcheck disable=SC2006
PARALLEL_ENV="`
eval $_list_alias_BODIES;
eval $_list_function_BODIES;
@@ -286,7 +299,8 @@
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
unset _remove_bad_NAMES _grep_REGEXP
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
+ # Test if environment is too big by running 'true'
+ # shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
parallel "$@"
_parallel_exit_CODE=$?
@@ -355,7 +369,8 @@
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
- echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
+ # shellcheck disable=SC2006
+ echo "parset 20220522 (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>"
@@ -374,14 +389,17 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
+ # shellcheck disable=SC2039,SC2169
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
- eval "`$_parset_PARALLEL_PRG -k --parset assoc,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset assoc,"$_parset_NAME" "$@"`"
# The eval returns the function!
else
# This is a normal array or a list of variable names
- eval "`$_parset_PARALLEL_PRG -k --parset var,"$_parset_NAME" "$@"`"
+ # shellcheck disable=SC2006
+ eval "`$_parset_PARALLEL_PRG -k --_parset var,"$_parset_NAME" "$@"`"
# The eval returns the function!
fi
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/niceload
^
|
@@ -26,7 +26,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
-$Global::version = 20220222;
+$Global::version = 20220522;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+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<{%}>
@@ -748,6 +748,15 @@
See also: B<--basefile> B<--transfer> B<--transferfile> B<--sshlogin>
B<--return>
+=item B<--color> (alpha testing)
+
+Colour output.
+
+Colour the output. Each job gets its own colour combination
+(background+foreground).
+
+B<--color> is ignored when using B<-u>.
+
=item B<--colsep> I<regexp>
@@ -825,7 +834,7 @@
See also: B<--pipe> B<--link> B<{>I<n>B<}> B<--colsep> B<--header>
-=item B<--ctag> I<str>
+=item B<--ctag> (obsolete: use B<--color> B<--tag>)
Color tag.
@@ -833,14 +842,14 @@
to tell when a new value is used. B<--ctag> gives each value a random
color.
-See also: B<--tag>
+See also: B<--color> B<--tag>
-=item B<--ctagstring> I<str>
+=item B<--ctagstring> I<str> (obsolete: use B<--color> B<--tagstring>)
Color tagstring.
-See also: B<--ctag> B<--tagstring>
+See also: B<--color> B<--ctag> B<--tagstring>
=item B<--delay> I<duration>
@@ -933,7 +942,7 @@
=item B<--env> I<var>
-Copy environment variable I<var>.
+Copy exported environment variable I<var>.
This will copy I<var> to the environment that the command is run
in. This is especially useful for remote execution.
@@ -1341,7 +1350,7 @@
Run up to N jobs in parallel. 0 means as many as possible (this can
take a while to determine). Default is 100% which will run one job per
-CPU on each machine.
+CPU thread on each machine.
Due to a bug B<-j 0> will also evaluate replacement strings twice up
to the number of joblots:
@@ -1353,6 +1362,10 @@
If B<--semaphore> is set, the default is 1 thus making a mutex.
+See also: B<--use-cores-instead-of-threads>
+B<--use-sockets-instead-of-threads>
+
+
=item B<--jobs> I<+N>
@@ -1536,9 +1549,29 @@
See also: B<--memfree> B<--load>
-=item B<--line-buffer>
+=item B<--latest-line> (alpha testing)
+
+=item B<--ll> (alpha testing)
-=item B<--lb>
+Print the lastest line of each running job.
+
+This only works if the currently running jobs fit on the screen.
+
+Example:
+
+ slow_seq() {
+ seq "$@" |
+ perl -ne '$|=1; for(split//){ print; select($a,$a,$a,0.03);}'
+ }
+ export -f slow_seq
+ parallel --shuf -j10 --ll --tag --bar --color slow_seq {} ::: {1..100}
+
+See also: B<--line-buffer>
+
+
+=item B<--line-buffer> (alpha testing)
+
+=item B<--lb> (alpha testing)
Buffer output on line basis.
@@ -1778,6 +1811,17 @@
See also: B<--nonall> B<--sshlogin>
+=item B<--open-tty> (alpha testing)
+
+=item B<-o> (alpha testing)
+
+Open terminal tty.
+
+Similar to B<--tty> but does not set B<--jobs> or B<--ungroup>.
+
+See also: B<--tty>
+
+
=item B<--output-as-files>
=item B<--outputasfiles>
@@ -1854,7 +1898,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>
@@ -1918,6 +1962,13 @@
See also: B<--rpl> B<{}>
+=item B<--process-slot-var> I<varname> (alpha testing)
+
+Set the environment variable I<varname> to the jobslot number-1.
+
+ seq 10 | parallel --process-slot-var=name echo '$name' {}
+
+
=item B<--progress>
Show progress of computations.
@@ -2011,6 +2062,17 @@
with 'y' or 'Y'. Implies B<-t>.
+=item B<--_parset> I<type>,I<varname>
+
+Used internally by B<parset>.
+
+Generate shell code to be eval'ed which will set the variable(s)
+I<varname>. I<type> can be 'assoc' for associative array or 'var' for
+normal variables.
+
+The only supported use is as part of B<parset>.
+
+
=item B<--parens> I<parensstring>
Use I<parensstring> instead of B<{==}>.
@@ -2100,10 +2162,12 @@
=item B<--record-env>
-Record environment.
+Record exported environment.
-Record current environment variables in ~/.parallel/ignored_vars. This
-is useful before using B<--env _>.
+Record current exported environment variables in
+B<~/.parallel/ignored_vars>. This will ignore variables currently set
+when using B<--env _>. So you should set the variables/fuctions, you
+want to use I<after> running B<--record-env>.
See also: B<--env> B<--session> B<env_parallel>
@@ -2287,7 +2351,7 @@
my_foo/stderr
my_foo/stdout
-See also: B<--files> B<--tag> B<--header> B<--joblog>
+See also: B<--output-as-files> B<--tag> B<--header> B<--joblog>
=item B<--resume>
@@ -2401,6 +2465,8 @@
useful if some jobs fail for no apparent reason (such as network
failure).
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/parallel_alternatives.pod
^
|
@@ -91,7 +91,7 @@
=item O7. Buffering on disk
-=item O8. Cleanup of temporary files if killed
+=item O8. No temporary files left if killed
=item O9. Test if disk runs full during run
@@ -235,7 +235,7 @@
GNU B<parallel>'s newline separation can be emulated with:
-B<cat | xargs -d "\n" -n1 I<command>>
+ cat | xargs -d "\n" -n1 command
B<xargs> can run a given number of jobs in parallel, but has no
support for running number-of-cpu-cores jobs in parallel.
@@ -978,21 +978,41 @@
=head2 DIFFERENCES BETWEEN jobflow AND GNU Parallel
+Summary (see legend above):
+
+=over
+
+=item I1 - - - - - I7
+
+=item - - M3 - - (M6)
+
+=item O1 O2 O3 - O5 O6 (O7) - - O10
+
+=item E1 - - - - E6 -
+
+=item - - - - - - - - -
+
+=item - -
+
+=back
+
+
B<jobflow> can run multiple jobs in parallel.
Just like B<xargs> output from B<jobflow> jobs running in parallel mix
-together by default. B<jobflow> can buffer into files (placed in
-/run/shm), but these are not cleaned up if B<jobflow> dies
-unexpectedly (e.g. by Ctrl-C). If the total output is big (in the
-order of RAM+swap) it can cause the system to slow to a crawl and
-eventually run out of memory.
-
-B<jobflow> gives no error if the command is unknown, and like B<xargs>
-redirection and composed commands require wrapping with B<bash -c>.
-
-Input lines can at most be 4096 bytes. You can at most have 16 {}'s in
-the command template. More than that either crashes the program or
-simple does not execute the command.
+together by default. B<jobflow> can buffer into files with
+B<-buffered> (placed in /run/shm), but these are not cleaned up if
+B<jobflow> dies unexpectedly (e.g. by Ctrl-C). If the total output is
+big (in the order of RAM+swap) it can cause the system to slow to a
+crawl and eventually run out of memory.
+
+Just like B<xargs> redirection and composed commands require wrapping
+with B<bash -c>.
+
+Input lines can at most be 4096 bytes.
+
+B<jobflow> is faster than GNU B<parallel> but around 6 times slower
+than B<parallel-bash>.
B<jobflow> has no equivalent for B<--pipe>, or B<--sshlogin>.
@@ -1024,7 +1044,13 @@
4$ find . -name '*.bmp' | \
parallel -j8 bmp2jpeg {.}.bmp {.}.jpg
-https://github.com/rofl0r/jobflow
+ 5$ seq 100 | jobflow -skip 10 -count 10
+
+ 5$ seq 100 | parallel --filter '{1} > 10 and {1} <= 20' echo
+
+ 5$ seq 100 | parallel echo '{= $_>10 and $_<=20 or skip() =}'
+
+https://github.com/rofl0r/jobflow (Last checked: 2022-05)
=head2 DIFFERENCES BETWEEN gargs AND GNU Parallel
@@ -3162,7 +3188,7 @@
=back
B<parallel-bash> is written in pure bash. It is really fast (overhead
-of ~0.05 ms/job compared to GNU B<parallel>'s ~3 ms/job). So if your
+of ~0.05 ms/job compared to GNU B<parallel>'s 3-10 ms/job). So if your
jobs are extremely short lived, and you can live with the quite
limited command, this may be useful.
@@ -3352,6 +3378,64 @@
(Last checked: 2021-07)
+=head2 DIFFERENCES BETWEEN p AND GNU Parallel
+
+Summary (see legend above):
+
+=over
+
+=item - - - I4 - - N/A
+
+=item - - - - - M6
+
+=item - O2 O3 - O5 O6 - x x - O10
+
+=item E1 - - - - - -
+
+=item - - - - - - - - -
+
+=item - -
+
+=back
+
+B<p> is a tiny shell script. It can color output with some predefined
+colors, but is otherwise quite limited.
+
+It maxes out at around 116000 jobs (probably due to limitations in Bash).
+
+=head3 EXAMPLES FROM p
+
+Some of the examples from B<p> cannot be implemented 100% by GNU
+B<parallel>: The coloring is a bit different, and GNU B<parallel>
+cannot have B<--tag> for some inputs and not for others.
+
+The coloring done by GNU B<parallel> is not exactly the same as B<p>.
+
+ 1$ p -bc blue "ping 127.0.0.1" -uc red "ping 192.168.0.1" \
+ -rc yellow "ping 192.168.1.1" -t example "ping example.com"
+
+ 1$ parallel --lb -j0 --color --tag ping \
+ ::: 127.0.0.1 192.168.0.1 192.168.1.1 example.com
+
+ 2$ p "tail -f /var/log/httpd/access_log" \
+ -bc red "tail -f /var/log/httpd/error_log"
+
+ 2$ cd /var/log/httpd;
+ parallel --lb --color --tag tail -f ::: access_log error_log
+
+ 3$ p tail -f "some file" \& p tail -f "other file with space.txt"
+
+ 3$ parallel --lb tail -f ::: 'some file' "other file with space.txt"
+
+ 4$ p -t project1 "hg pull project1" -t project2 \
+ "hg pull project2" -t project3 "hg pull project3"
+
+ 4$ parallel --lb hg pull ::: project{1..3}
+
+https://github.com/rudymatela/evenmoreutils/blob/master/man/p.1.adoc
+(Last checked: 2022-04)
+
+
=head2 Todo
http://code.google.com/p/push/ (cannot compile)
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/parallel_design.pod
^
|
@@ -47,6 +47,9 @@
Perl has the added benefit that implementing the {= perlexpr =}
replacement string was fairly easy.
+The primary drawback is that Perl is slow. So there is an overhead of
+3-10 ms/job and 1 ms/MB output (and even more if you use B<--tag>).
+
=head2 Old Perl style
@@ -221,7 +224,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 +620,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 +637,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 +694,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 +788,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 +1014,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,13 +1202,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
multiple B<:::>.
@@ -1159,6 +1218,10 @@
linking of B<:::> and B<::::>. B<:::+> and B<::::+> were chosen, so
that they were similar to B<:::> and B<::::>.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/parset
^
|
@@ -79,6 +79,7 @@
cat <<'_EOS'
+
parset only works if it is a function. The function is defined as part
of env_parallel.
@@ -122,6 +123,16 @@
parset --install
+In a script you need to run this before using parset:
+
+bash: . `which env_parallel.bash`
+ksh: source `which env_parallel.ksh`
+mksh: source `which env_parallel.mksh`
+pdksh: source `which env_parallel.pdksh`
+zsh: . `which env_parallel.zsh`
+ash: . `which env_parallel.ash`
+dash: . `which env_parallel.dash`
+
For details: see man parset
_EOS
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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 = 20220522;
if($opt::version) { version(); exit 0; }
@Global::sortoptions = grep { ! /^-D$/ }
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/src/pod2rst-fix
^
|
@@ -0,0 +1,99 @@
+#!/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 {
+ # Emulate a shell pipe but between Perl functions
+ # stdin | func1 | func2 | ... | funcN
+ # pipefunc(*func1, *func2, ..., *funcN);
+ my $func = pop;
+
+ my $pid = open(my $kid_to_read, "-|");
+ 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 pre1 {
+ while(<STDIN>) {
+ # Remove comments
+ /^\#/ and next;
+ # quote -
+ s/^=item -/=item \001/;
+ print;
+ }
+}
+
+sub pre2 {
+ $/="\n\n";
+ while(<STDIN>) {
+ # join lines in each paragraph
+ s/(\S)\n(\S)/$1 $2/g;
+ print;
+ }
+}
+
+sub pod2rst {
+ exec "pod2rst";
+}
+
+sub post {
+ while(<STDIN>) {
+ # =item in =item
+ s/- \\[*]/- /;
+ # B<*.log>
+ s/\\\\[*]/\\*/g;
+ # - -
+ s/^-(\s+)\001/-$1\\-/g;
+ print;
+ }
+}
+
+# stdin | pre1() | pre2() | pod2rst() | post()
+pipefunc(*pre1,*pre2,*pod2rst,*post);
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/sem.pod
^
|
@@ -116,6 +116,13 @@
10.
+=item B<--pipe> (beta testing)
+
+Pass stdin (standard input) to I<command>.
+
+If I<command> read from stdin (standard input), use B<--pipe>.
+
+
=item B<--semaphorename> I<name>
=item B<--id> I<name>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/src/sql
^
|
@@ -600,7 +600,7 @@
exit ($err);
sub parse_options {
- $Global::version = 20220222;
+ $Global::version = 20220522;
$Global::progname = 'sql';
# This must be done first as this may exec myself
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/REQUIREMENTS
^
|
@@ -34,7 +34,7 @@
# Shells
# (csh = bsd-csh that is broken)
- shell_pkgs="ash dash fdclone fish fizsh ksh ksh93 mksh posh rc rush sash"
+ shell_pkgs="ash dash fdclone fish fizsh ksh ksh93u+m ksh93 mksh posh rc rush sash"
shell_pkgs="$shell_pkgs tcsh yash zsh"
# Databases
@@ -45,6 +45,7 @@
build_pkgs="$build_pkgs python3-cmarkgfm graphviz"
sudo dpkg --add-architecture i386; sudo apt update
+ pip install sphinx-rtd-theme
if $INSTALL $test_pkgs $packaging_pkgs $shebang_pkgs $sql_pkgs \
$compression_pkgs $shell_pkgs $database_pkgs $build_pkgs ; then
# OK
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/niceload04.sh
^
|
@@ -19,11 +19,13 @@
sleep 2 &
export PID3=$!
echo '### multiple -p'
- stdout /usr/bin/time -f %e niceload -l 9 -H -p $PID1 -p $PID2 -p $PID3 | perl -ne '$_ > 5 and print "Multiple -p OK\n"' &
+stdout /usr/bin/time -f %e niceload -l 9 -H -p $PID1 -p $PID2 -p $PID3 |
+ perl -ne '$_ > 5 and print "Multiple -p OK\n"' &
/tmp/mysleep 4 &
/tmp/mysleep 4 &
/tmp/mysleep 4 &
echo '### --prg'
- stdout /usr/bin/time -f %e niceload -l 8 -H --prg /tmp/mysleep | perl -ne '$_ > 8 and print "--prg OK\n"'
+stdout /usr/bin/time -f %e niceload -l 8 -H --prg /tmp/mysleep |
+ perl -ne '$_ > 8 and print "--prg OK\n"'
rm /tmp/mysleep
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-centos3.sh
^
|
@@ -7,6 +7,17 @@
echo "### These tests requires VirtualBox running with the following images"
echo 'vagrant@centos3'
+# add this to .ssh/config
+# Host centos3
+# HostKeyAlgorithms +ssh-rsa,ssh-dss
+# PubkeyAcceptedAlgorithms +ssh-dss
+# user vagrant
+
+# add this to: /etc/ssh/sshd_config on 172.27.27.1
+# HostKeyAlgorithms +ssh-rsa
+# and:
+# systemctl restart sshd
+
SERVER1=centos3
SSHUSER1=vagrant
SSHLOGIN1=$SSHUSER1@$SERVER1
@@ -15,18 +26,29 @@
SSHUSER2=parallel
export SSHLOGIN2=$SSHUSER2@$SERVER2
-stdout ping -w 1 -c 1 centos3 >/dev/null || (
- # Vagrant does not set the IP addr
- cd testsuite/vagrant/tange/centos3/ 2>/dev/null
- cd vagrant/tange/centos3/ 2>/dev/null
- cd ../vagrant/tange/centos3/ 2>/dev/null
- (
- stdout vagrant up >/dev/null
- vagrant ssh -c 'sudo ifconfig eth1 172.27.27.3' |
- # Ignore empty ^M line
- grep ..
- ) &
-)
+start_centos3() {
+ stdout ping -w 1 -c 1 centos3 >/dev/null || (
+ # Vagrant does not set the IP addr
+ cd testsuite/vagrant/tange/centos3/ 2>/dev/null
+ cd vagrant/tange/centos3/ 2>/dev/null
+ cd ../vagrant/tange/centos3/ 2>/dev/null
+ vagrantssh() {
+ port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile)
+ w4it-for-port-open localhost $port
+ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \
+ -oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
+ -oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" |
+ # Ignore empty ^M line
+ grep ..
+ }
+ (
+ stdout vagrant up >/dev/null
+ vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3'
+ ) &
+ )
+}
+start_centos3
+
(
# Copy binaries to server
cd testsuite/vagrant/tange/centos3/ 2>/dev/null
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-0.3s.sh
^
|
@@ -16,6 +16,21 @@
# Test amount of parallelization
# parallel --shuf --jl /tmp/myjl -j1 'export JOBS={1};'bash tests-to-run/parallel-local-0.3s.sh ::: {1..16} ::: {1..5}
+par_open-tty() {
+ echo '### bug #62310: xargs compatibility: --open-tty'
+ parallel --open-tty ::: tty
+ parallel -o ::: tty
+}
+
+par_shellcompletion() {
+ echo '### --shellcompletion'
+ # This will change, if you change options
+ parallel --shellcompletion bash | md5sum
+ bash -c 'parallel --shellcompletion auto;true' | md5sum
+ parallel --shellcompletion zsh | md5sum
+ zsh -c 'parallel --shellcompletion auto;true' | md5sum
+}
+
par_ctagstring() {
echo '### --ctag --ctagstring should be different from --tag --tagstring'
parallel --tag echo ::: 1 ::: a| wc -c
@@ -132,7 +147,7 @@
par_resume_k() {
echo '### --resume -k'
- tmp=$(tempfile)
+ tmp=$(mktemp)
parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5
echo try 2 = nothing
parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5
@@ -673,8 +688,8 @@
}
par_basic_halt() {
- cpuburn=$(tempfile)
- cpuburn2=$(tempfile)
+ cpuburn=$(mktemp)
+ cpuburn2=$(mktemp)
(echo '#!/usr/bin/perl'
echo "eval{setpriority(0,0,9)}; while(1){}") > $cpuburn
chmod 700 $cpuburn
@@ -730,8 +745,8 @@
par_parcat_args_stdin() {
echo 'bug #51690: parcat: read args from stdin'
- tmp1=$(tempfile)
- tmp2=$(tempfile)
+ tmp1=$(mktemp)
+ tmp2=$(mktemp)
echo OK1 > $tmp1
echo OK2 > $tmp2
(echo $tmp1
@@ -741,7 +756,7 @@
par_parcat_rm() {
echo 'bug #51691: parcat --rm remove fifo when opened'
- tmp1=$(tempfile)
+ tmp1=$(mktemp)
echo OK1 > $tmp1
parcat --rm $tmp1
rm $tmp1 2>/dev/null || echo OK file removed
@@ -777,7 +792,7 @@
par_pipepart_recend_recstart() {
echo 'bug #52343: --recend/--recstart does wrong thing with --pipepart'
- tmp1=$(tempfile)
+ tmp1=$(mktemp)
seq 10 > $tmp1
parallel -k --pipepart -a $tmp1 --recend '\n' --recstart '6' --block 1 'echo a; cat'
parallel -k --pipe < $tmp1 --recend '\n' --recstart '6' --block 1 'echo a; cat'
@@ -855,13 +870,27 @@
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()*=?'"'" |
- PARALLEL_SHELL=$1 parallel -0 echo
+ PARALLEL_SHELL="$1" parallel -0 echo
}
export -f testquote
- parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
+ # "sash script" does not work
+ # "sash -f script" does, but is currently not supported by GNU Parallel
+ # "fdsh" is currently not supported by GNU Parallel:
+ # It gives ioctl(): Interrupted system call
+ parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh "sash -f" sh static-sh tcsh yash zsh
}
par_locale_quoting() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-10s.sh
^
|
@@ -8,6 +8,23 @@
# Each should be taking 10-30s and be possible to run in parallel
# I.e.: No race conditions, no logins
+par_reload_slf_every_second() {
+ echo "### --slf should reload every second"
+ tmp=$(mktemp)
+ echo 1/lo >"$tmp"
+ (
+ sleep 3
+ (echo 1/localhost
+ echo 1/127.0.0.1) >>"$tmp"
+ ) &
+ # This used to take 20 seconds (version 20220322) because the
+ # updated --slf would only read after first job finished
+ seq 3 |
+ stdout /usr/bin/time -f %e parallel --slf "$tmp" 'true {};sleep 10' |
+ perl -ne '$_ < 20 and print "OK\n"'
+ rm "$tmp"
+}
+
par_load_blocks() {
echo "### Test if --load blocks. Bug.";
export PARALLEL="--load 300%"
@@ -20,6 +37,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() {
@@ -402,8 +454,8 @@
par_line_buffer() {
echo "### --line-buffer"
- tmp1=$(tempfile)
- tmp2=$(tempfile)
+ tmp1=$(mktemp)
+ tmp2=$(mktemp)
seq 10 | parallel -j20 --line-buffer 'seq {} 10 | pv -qL 10' > $tmp1
seq 10 | parallel -j20 'seq {} 10 | pv -qL 10' > $tmp2
@@ -415,8 +467,8 @@
par_pipe_line_buffer() {
echo "### --pipe --line-buffer"
- tmp1=$(tempfile)
- tmp2=$(tempfile)
+ tmp1=$(mktemp)
+ tmp2=$(mktemp)
nowarn() {
# Ignore certain warnings
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-1s.sh
^
|
@@ -8,12 +8,45 @@
# 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)
+ tmp=$(mktemp)
(echo `seq 10000`;echo MyHeader; seq 10) |
parallel -k --skip-first-line --pipe --block 10 --header '1' cat
- (echo `seq 10000`;echo MyHeader; seq 10) > "$tmpdir"
- parallel -k --skip-first-line --pipepart -a "$tmpdir" --block 10 --header '1' cat
+ (echo `seq 10000`;echo MyHeader; seq 10) > "$tmp"
+ parallel -k --skip-first-line --pipepart -a "$tmp" --block 10 --header '1' cat
}
par_long_input() {
@@ -29,14 +62,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 +75,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 +83,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-20220522+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%"
@@ -325,7 +289,7 @@
generator="$1"
colsep="$2"
groupby="$3"
- tmp=`tempfile`
+ tmp=`mktemp`
echo "### test $generator | --colsep $colsep --groupby $groupby"
$generator > $tmp
@@ -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-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-3s.sh
^
|
@@ -8,6 +8,25 @@
# Each should be taking 3-10s and be possible to run in parallel
# I.e.: No race conditions, no logins
+par_process_slot_var() {
+ echo '### bug #62310: xargs compatibility: --process-slot-var=name'
+ seq 0.1 0.1 0.5 |
+ parallel -n1 -P4 --process-slot-var=name -q bash -c 'sleep $1; echo "$name"' _
+ seq 0.1 0.1 0.5 |
+ xargs -n1 -P4 --process-slot-var=name bash -c 'sleep $1; echo "$name"' _
+ seq 0.1 0.1 0.5 |
+ parallel -P4 --process-slot-var=name sleep {}\; echo '$name'
+}
+
+par_retries_0() {
+ echo '--retries 0 = inf'
+ echo this wraps at 256 and should retry until it wraps
+ tmp=$(mktemp)
+ parallel --retries 0 -u 'printf {} >> '$tmp';a=`stat -c %s '$tmp'`; echo -n " $a"; exit $a' ::: a
+ echo
+ rm -f $tmp
+}
+
par_prefix_for_L_n_N_s() {
echo Must give xxx000 args
seq 10000 | parallel -N 1k 'echo {} | wc -w' | sort
@@ -108,7 +127,7 @@
true
}
run() {
- tmp=`tempfile`
+ tmp=`mktemp`
"$@" > "$tmp"
chmod +x "$tmp"
"$tmp" A B C
@@ -232,12 +251,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() {
@@ -281,7 +300,7 @@
correct="$(seq 1000000 | parallel -k --tee --pipe ::: wc head tail 'sleep 1')"
echo "$correct"
echo 'tee without --output-error=warn-nopipe support'
- mkdir -p tmp
+ tmpdir=$(mktemp)
cat > tmp/tee <<-EOF
#!/usr/bin/perl
@@ -307,7 +326,7 @@
par_tee_too_many_args() {
echo '### Fail if there are more arguments than --jobs'
seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
- tmp=`tempfile`
+ tmp=`mktemp`
seq 11 | parallel -k --tag --pipe -j0 --tee grep {} ::: {1..10000} 2> "$tmp"
cat "$tmp" | perl -pe 's/\d+/999/g'
rm "$tmp"
@@ -468,31 +487,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-20220522+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-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race01.sh
^
|
@@ -13,8 +13,8 @@
par_parcat_mixing() {
echo 'parcat output should mix: a b a b'
- mktmpfifo() {
- tmp=$(tempfile)
+ mktempfifo() {
+ tmp=$(mktemp)
rm $tmp
mkfifo $tmp
echo $tmp
@@ -25,8 +25,8 @@
sleep 2
perl -e 'print "'$string'"x9000,"end\n"'
}
- tmp1=$(mktmpfifo)
- tmp2=$(mktmpfifo)
+ tmp1=$(mktempfifo)
+ tmp2=$(mktempfifo)
slow_output a > $tmp1 &
sleep 1
slow_output b > $tmp2 &
@@ -106,7 +106,7 @@
par_delay_Xauto() {
echo 'TODO: --retries for those that fail and --sshdelay'
echo '### bug #58911: --delay Xauto'
- tmp=$(tempfile)
+ tmp=$(mktemp)
doit() {
perl -e '$a=shift;
$m = -M $a < 0.0000001;
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race02.sh
^
|
@@ -6,6 +6,41 @@
# These fail regularly
+par_ll_lb_color() {
+ echo 'bug #62386: --color (--ctag but without --tag)'
+ echo 'bug #62438: See last line from multiple jobslots'
+ # This is really a race condition - might have to be moved
+ # # delay modulo 4 seconds
+ # perl -MTime::HiRes -E 'Time::HiRes::usleep(1000000*(((time|3)+1)-Time::HiRes::time()));'
+ # # delay modulo 2 seconds
+ # perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|1)));say time;'
+ # # delay modulo 1 second
+ # perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|0)));say time;'
+ # perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time*4|0)/4));say time;'
+ # # delay modulo 1/4 second
+ # perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(-time+(1+time*3|0)/3));say time;';
+ # # delay modulo 1/4 second + 100 ms
+ # perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.1-time+(1+time*3|0)/3));say time;';
+ # # delay modulo 1 second + 200 ms
+ # perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.2-time+(1+time*1|0)/1));say time;';
+ # # delay modulo 1 second + delta ms
+ # perl -E 'use Time::HiRes qw(usleep time); $d=shift; for(1..shift){
+ # usleep(1000000*($d-time+(1+time*1|0)/1));say;}' 0.2 6;
+ offset_seq() {
+ perl -E 'use Time::HiRes qw(usleep time); $|=1;$d=shift; for(1..shift){
+ usleep(1000000*($d-time+(1+time*1|0)/1));say;}' $@;
+ }
+ export -f offset_seq
+ run() {
+ seq 4 -1 1 | parallel -j0 $@ offset_seq 0.{#} {}
+ }
+ export -f run
+
+ parallel --delay 0.17 -vkj0 run \
+ ::: --lb --ll '' ::: --color '' ::: '--tagstring {}{}' --tag '' ::: -k '' |
+ md5sum
+}
+
ctrlz_should_suspend_children() {
echo 'bug #46120: Suspend should suspend (at least local) children'
echo 'it should burn 1.9 CPU seconds, but no more than that'
@@ -85,11 +120,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
}
@@ -153,7 +189,7 @@
par_resume_failed_k() {
echo '### bug #38299: --resume-failed -k'
- tmp=$(tempfile)
+ tmp=$(mktemp)
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1
echo try 2. Gives failing - not 0
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-sql.sh
^
|
@@ -22,8 +22,8 @@
SERVERURL=$(eval echo $2)
TABLE=TBL$RANDOM
DBURL=$SERVERURL/$TABLE
- T1=$(tempfile)
- T2=$(tempfile)
+ T1=$(mktemp)
+ T2=$(mktemp)
eval "$INNER"
echo Exit=$?
wait
@@ -114,7 +114,7 @@
parallel -k --joblog - --sqlmaster $DBURL --wait sleep .3\;echo ::: {1..5} ::: {a..e} |
perl -pe 's/\d+\.\d+/999.999/g' | sort -n &
sleep 0.5
- T=$(tempfile)
+ T=$(mktemp)
parallel -k --joblog - --sqlworker $DBURL > $T
wait
# Needed because of race condition
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-sql01.sh
^
|
@@ -17,112 +17,123 @@
mkdir -p /run/shm/csv
p_showsqlresult() {
- SERVERURL=$1
- TABLE=$2
- sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;"
+ # print results stored in $SERVERURL/$TABLE
+ SERVERURL=$1
+ TABLE=$2
+ sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;"
}
p_wrapper() {
- INNER=$1
- SERVERURL=$(eval echo $2)
- TABLE=TBL$RANDOM
- DBURL=$SERVERURL/$TABLE
- T1=$(tempfile)
- T2=$(tempfile)
- eval "$INNER"
- echo Exit=$?
- wait
- echo Exit=$?
- $DEBUG && sort -u $T1 $T2;
- rm $T1 $T2
- p_showsqlresult $SERVERURL $TABLE
- $DEBUG || sql $SERVERURL "drop table $TABLE;" >/dev/null 2>/dev/null
+ INNER=$1
+ SERVERURL=$(eval echo $2)
+ # Use a random table for each test
+ TABLE=TBL$RANDOM
+ DBURL=$SERVERURL/$TABLE
+ T1=$(mktemp)
+ T2=$(mktemp)
+ # Run $INNER (all the par_* functions)
+ eval "$INNER"
+ echo Exit=$?
+ # $INNER can start background processes - wait for those
+ wait
+ echo Exit=$?
+ # For debugging show the tempfiles
+ $DEBUG && sort -u $T1 $T2;
+ rm $T1 $T2
+ p_showsqlresult $SERVERURL $TABLE
+ # Drop the table if not debugging
+ $DEBUG || sql $SERVERURL "drop table $TABLE;" >/dev/null 2>/dev/null
}
p_template() {
- (sleep 6;
- parallel --sqlworker $DBURL "$@" sleep .3\;echo >$T1) &
- parallel --sqlandworker $DBURL "$@" sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
+ # Run the
+ (
+ # Make sure there is work to be done
+ sleep 6;
+ parallel --sqlworker $DBURL "$@" sleep .3\;echo >$T1
+ ) &
+ parallel --sqlandworker $DBURL "$@" sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
}
par_sqlandworker() {
- p_template
+ p_template
}
par_sqlandworker_lo() {
- p_template -S lo
+ p_template -S lo
}
par_sqlandworker_results() {
- p_template --results /tmp/out--sql
+ p_template --results /tmp/out--sql
}
par_sqlandworker_linebuffer() {
- p_template --linebuffer
+ p_template --linebuffer
}
par_sqlandworker_tag() {
- p_template --tag
+ p_template --tag
}
par_sqlandworker_linebuffer_tag() {
- p_template --linebuffer --tag
+ p_template --linebuffer --tag
}
par_sqlandworker_compress_linebuffer_tag() {
- p_template --compress --linebuffer --tag
+ p_template --compress --linebuffer --tag
}
par_sqlandworker_unbuffer() {
- p_template -u
+ p_template -u
}
par_sqlandworker_total_jobs() {
- p_template echo {#} of '{=1 $_=total_jobs(); =};'
+ p_template echo {#} of '{=1 $_=total_jobs(); =};'
}
par_append() {
- parallel --sqlmaster $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
- parallel --sqlmaster +$DBURL sleep .3\;echo ::: {11..15} ::: {A..E} >>$T2;
- parallel --sqlworker $DBURL sleep .3\;echo >$T1
+ parallel --sqlmaster $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
+ parallel --sqlmaster +$DBURL sleep .3\;echo ::: {11..15} ::: {A..E} >>$T2;
+ parallel --sqlworker $DBURL sleep .3\;echo >$T1
}
par_shuf() {
- MD5=$(echo $SERVERURL | md5sum | perl -pe 's/(...).*/$1/')
- T=/tmp/parallel-bug49791-$MD5
- [ -e $T ] && rm -rf $T
- export PARALLEL="--shuf --result $T"
- parallel --sqlandworker $DBURL sleep .3\;echo \
- ::: {1..5} ::: {a..e} >$T2;
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- unset PARALLEL
- wait;
- # Did it compute correctly?
- cat $T/1/*/*/*/stdout
- # Did it shuffle (Compare job table to non-shuffled)
- SHUF=$(sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;")
- export PARALLEL="--result $T"
- parallel --sqlandworker $DBURL sleep .3\;echo \
- ::: {1..5} ::: {a..e} >$T2;
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
- unset PARALLEL
- wait;
- NOSHUF=$(sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;")
- DIFFSIZE=$(diff <(echo "$SHUF") <(echo "$NOSHUF") | wc -c)
- if [ $DIFFSIZE -gt 2500 ]; then
- echo OK: Diff bigger than 2500 char
- fi
- [ -e $T ] && rm -rf $T
- touch $T1
+ MD5=$(echo $SERVERURL | md5sum | perl -pe 's/(...).*/$1/')
+ T=/tmp/parallel-bug49791-$MD5
+ [ -e $T ] && rm -rf $T
+ export PARALLEL="--shuf --result $T"
+ parallel --sqlandworker $DBURL sleep .3\;echo \
+ ::: {1..5} ::: {a..e} >$T2;
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ unset PARALLEL
+ wait;
+ # Did it compute correctly?
+ cat $T/1/*/*/*/stdout
+ # Did it shuffle (Compare job table to non-shuffled)
+ SHUF=$(sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;")
+ export PARALLEL="--result $T"
+ parallel --sqlandworker $DBURL sleep .3\;echo \
+ ::: {1..5} ::: {a..e} >$T2;
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
+ unset PARALLEL
+ wait;
+ NOSHUF=$(sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;")
+ DIFFSIZE=$(diff <(echo "$SHUF") <(echo "$NOSHUF") | wc -c)
+ if [ $DIFFSIZE -gt 2500 ]; then
+ echo OK: Diff bigger than 2500 char
+ fi
+ [ -e $T ] && rm -rf $T
+ touch $T1
}
par_empty() {
+ echo Do nothing: TBL99999 does not exist because it is not created
true;
}
@@ -131,12 +142,12 @@
# Tested that -j0 in parallel is fastest (up to 15 jobs)
# -j5: SQLite complains about locked database.
compgen -A function | grep par_ | sort |
- stdout parallel -vj4 -k --tag --joblog /tmp/jl-`basename $0` p_wrapper \
- :::: - ::: \$MYSQL \$PG \$SQLITE \$CSV |
- perl -pe 's/tbl\d+/TBL99999/gi;' |
- perl -pe 's/(from TBL99999 order) .*/$1/g' |
- perl -pe 's/ *\b'"$hostname"'\b */hostname/g' |
- grep -v -- --------------- |
- perl -pe 's/ *\bhost\b */host/g' |
- perl -pe 's/ +/ /g'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh3.sh
^
|
@@ -90,9 +90,10 @@
par_header_in_return() {
echo '### bug #45907: --header : + --return {header}'
- rm returnfile45907
+ rm -f returnfile45907
parallel --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907
ls returnfile45907
+ rm -f returnfile45907
}
par_trc_with_space() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh4.sh
^
|
@@ -9,6 +9,18 @@
# SSH only allowed to localhost/lo
+par_sshloginfile() {
+ echo '### --slf with mIxEd cAsE'
+ tmp=$(mktemp)
+ (
+ echo 2/bash@LO
+ echo 3/parallel@Lo:22
+ echo 4/ksh@lO:ssh
+ ) > "$tmp"
+ seq 9 | parallel --slf "$tmp" 'whoami;sleep 1;echo' | sort
+ rm -f "$tmp"
+}
+
par_env_underscore() {
echo '### --env _'
echo ignored_var >> ~/.parallel/ignored_vars
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh7.sh
^
|
@@ -699,9 +699,7 @@
echo "OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^" >&2;
_EOF
)
- stdout ssh bash@lo "$myscript" |
- perl -pe 's/line ..:/line XX:/;
- s@environment:@/bin/bash:@;'
+ stdout ssh bash@lo "$myscript"
}
par_csh_underscore() {
@@ -844,8 +842,7 @@
# Old versions of fish sometimes throw up bugs all over,
# but seem to work OK otherwise. So ignore these errors.
ssh fish@lo "$myscript" 2>&1 |
- perl -ne '/fish:|fish\(/ and next; print' |
- perl -pe 's:/tmp/par.....:script:'
+ perl -ne '/fish:|fish\(/ and next; print'
}
par_ksh_underscore() {
@@ -1871,7 +1868,7 @@
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_functions=-$(functions|wc -c)/1000
len_variables=-$(typeset -p | wc -c)/1000
- len_var=$len_variables+45
+ len_var=$len_variables+40
len_var_remote=$len_variables+30
len_var_quote=$len_variables+43
len_var_quote_remote=$len_variables+30
@@ -2941,8 +2938,7 @@
set -e PARALLEL_IGNORED_NAMES
_EOF
)
- ssh fish@lo "$myscript" 2>&1 |
- perl -pe 's:/tmp/par.....:script:g'
+ ssh fish@lo "$myscript" 2>&1
}
par_ksh_env_parallel_session() {
@@ -3325,13 +3321,13 @@
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
# 2019-07-14 200% too high for 16 GB/4 thread
parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' |
- perl -pe 's/line \d?\d\d:/line XXX:/g;
+ perl -pe 's/line \d\d+/line XXX/g;
s/\d+ >= \d+/XXX >= XXX/;
s/sh:? \d?\d\d:/sh: XXX:/;
s/:\d?\d\d:/:XXX:/;
s/sh\[\d+\]/sh[XXX]/;
s/.*(tange|zenodo).*//i;
s:/usr/bin:/bin:g;
- s:/tmp/par.....\[\d+\]:script[9]:g;
- s!/tmp/par.....:!script:!g;
+ s:/tmp/par-job-\d+_.....\[\d+\]:script[9]:g;
+ s!/tmp/par-job-\d+_.....!script!g;
'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh9.sh
^
|
@@ -174,7 +174,7 @@
# Random hosts
findhosts() {
ip='$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256))'
- seq 10000 | parallel -N0 echo $ip
+ seq 10000 | parallel -N0 echo $ip | grep -v ^127
}
# See if the hosts fail fast
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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'
}
@@ -156,12 +156,10 @@
for a in `seq 10`; do eval "export a$big$a=1" ; done
for a in `seq 10`; do eval "a$big$a() { 1; }" ; done
for a in `seq 10`; do eval export -f a$big$a ; done
- gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc' |
+ gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc -c' |
perl -pe 's/\d{10,}.\d+ //g'
}
-#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-20220522+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
@@ -97,7 +99,7 @@
echo '### Copy commands to servers'
# Dont copy stdout - it depends on /bin/bash
- env_parallel -vj$MAXPROC $RET_TIME_K --delay 0.03 --tag copy {2} {1} {1/} \
+ env_parallel -j$MAXPROC $RET_TIME_K --delay 0.03 --tag copy {2} {1} {1/} \
::: bin/{parallel,env_parallel,env_parallel.*[^~],parcat} \
::: $POLAR minix
echo Done copying
@@ -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:par-job-\d+_\w+:parScript:g'
# eval 'myfunc() { echo '$(perl -e 'print "x"x20000')'; }'
# env_parallel myfunc ::: a | wc # OK
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-tutorial.sh
^
|
@@ -1,5 +1,4 @@
#!/bin/bash
-
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -79,7 +78,7 @@
# Race condition
s/^4-(middle|end)\n//;
# Base 64 string with quotes
- s:['"'"'"\\+/a-z0-9=]{50,}(\s['"'"'"\\+/a-z0-9=]*)*:BASE64:ig;
+ s:['"'"'"\\+/a-z.0-9=]{50,}(\s['"'"'"\\+/a-z.0-9=]*)*:BASE64:ig;
# Timings are often off
s/^(\d)$/9/;
s/^(\d\d)$/99/;
@@ -102,7 +101,8 @@
s/doi.*=.*//;
s/url.*= .*doi.org.*//;
s/.Feel free to use .nocite.*//;
- s:^/tmp/par.*(.) my_func2:script$1 my_func2:;
+ s:/tmp/parallel-tutorial-tmpdir/par-job-\S+:script:g;
+ s:/tmp/par-job-\S+:script:g;
' | uniq
# 3+3 .par files (from --files), 1 .tms-file from tmux attach
find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | wc -l
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-virtualbox1.sh
^
|
@@ -4,16 +4,28 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
-stdout ping -w 1 -c 1 centos3 >/dev/null || (
- # Vagrant does not set the IP addr
- cd testsuite/vagrant/tange/centos3/ 2>/dev/null
- cd vagrant/tange/centos3/ 2>/dev/null
- cd ../vagrant/tange/centos3/ 2>/dev/null
- stdout vagrant up >/dev/null
- vagrant ssh -c 'sudo ifconfig eth1 172.27.27.3' |
- # Ignore empty ^M line
- grep ..
-)
+start_centos3() {
+ stdout ping -w 1 -c 1 centos3 >/dev/null || (
+ # Vagrant does not set the IP addr
+ cd testsuite/vagrant/tange/centos3/ 2>/dev/null
+ cd vagrant/tange/centos3/ 2>/dev/null
+ cd ../vagrant/tange/centos3/ 2>/dev/null
+ vagrantssh() {
+ port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile)
+ w4it-for-port-open localhost $port
+ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \
+ -oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
+ -oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" |
+ # Ignore empty ^M line
+ grep ..
+ }
+ (
+ stdout vagrant up >/dev/null
+ vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3'
+ ) &
+ )
+}
+start_centos3
stdout parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up)' ::: rhel8 centos3 |
grep -v 'default' | grep -v '==>' | grep -E '^$' &
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/tests-to-run/parsort-local-01.sh
^
|
@@ -8,7 +8,7 @@
echo 'bug #59779: parsort does not work with white characters as delimiters'
doit() {
del="$1"
- tmp=$(tempfile)
+ tmp=$(mktemp)
(
printf "a%s8%se\n" "$del" "$del"
printf "b%s7%sf\n" "$del" "$del"
|
[-]
[+]
|
Added |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/vagrant/tange/centos3/Vagrantfile
^
|
@@ -0,0 +1,77 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# All Vagrant configuration is done below. The "2" in Vagrant.configure
+# configures the configuration version (we support older styles for
+# backwards compatibility). Please don't change it unless you know what
+# you're doing.
+Vagrant.configure("2") do |config|
+ # The most common configuration options are documented and commented below.
+ # For a complete reference, please see the online documentation at
+ # https://docs.vagrantup.com.
+
+ # Every Vagrant development environment requires a box. You can search for
+ # boxes at https://vagrantcloud.com/search.
+ config.vm.box = "tange/centos3"
+
+ # Disable automatic box update checking. If you disable this, then
+ # boxes will only be checked for updates when the user runs
+ # `vagrant box outdated`. This is not recommended.
+ # config.vm.box_check_update = false
+
+ # Create a forwarded port mapping which allows access to a specific port
+ # within the machine from a port on the host machine. In the example below,
+ # accessing "localhost:8080" will access port 80 on the guest machine.
+ # NOTE: This will enable public access to the opened port
+ config.vm.network :forwarded_port, guest: 22, host: 50036, id: 'ssh'
+
+ config.vm.boot_timeout = 600
+
+ # Create a forwarded port mapping which allows access to a specific port
+ # within the machine from a port on the host machine and only allow access
+ # via 127.0.0.1 to disable public access
+ # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
+
+ # Create a private network, which allows host-only access to the machine
+ # using a specific IP.
+ config.vm.network "private_network", ip: "172.27.27.3"
+
+ # Create a public network, which generally matched to bridged network.
+ # Bridged networks make the machine appear as another physical device on
+ # your network.
+ # config.vm.network "public_network"
+
+ # Share an additional folder to the guest VM. The first argument is
+ # the path on the host to the actual folder. The second argument is
+ # the path on the guest to mount the folder. And the optional third
+ # argument is a set of non-required options.
+ # config.vm.synced_folder "../data", "/vagrant_data"
+
+ # Provider-specific configuration so you can fine-tune various
+ # backing providers for Vagrant. These expose provider-specific options.
+ # Example for VirtualBox:
+ #
+ config.vm.provider "virtualbox" do |vb|
+ # # Display the VirtualBox GUI when booting the machine
+ # vb.gui = true
+ #
+ # # Customize the amount of memory on the VM:
+ vb.memory = "256"
+ end
+ #
+ # View the documentation for the provider you are using for more
+ # information on available options.
+
+ # Enable provisioning with a shell script. Additional provisioners such as
+ # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
+ # documentation for more information about their specific syntax and use.
+ config.vm.provision "shell" do |s|
+ ssh_pub_key = File.readlines("../../authorized_keys").first.strip
+ s.inline = <<-SHELL
+ mkdir /root/.ssh
+ echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
+ echo #{ssh_pub_key} >> /root/.ssh/authorized_keys
+ sudo apt install rsync || sudo yum install -y rsync || sudo pkg install -y rsync
+ SHELL
+ end
+end
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-0.3s
^
|
@@ -110,9 +110,9 @@
par_csv_pipe 11000"
par_ctagstring ### --ctag --ctagstring should be different from --tag --tagstring
par_ctagstring 8
-par_ctagstring 33
+par_ctagstring 37
par_ctagstring 10
-par_ctagstring 35
+par_ctagstring 39
par_delimiter ### Test --delimiter and -d: Delimiter instead of newline
par_delimiter # Yes there is supposed to be an extra newline for -d N
par_delimiter This is line 1
@@ -530,11 +530,14 @@
par_nice_locally a b
par_no_command_given ### Test bugfix if no command given
par_no_command_given 1 2
-par_no_command_given /bin/bash: 3: command not found
+par_no_command_given /bin/bash: line 1: 3: command not found
par_no_command_given parallel: Error: Command line too long (1000002 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_no_joblog_with_dryrun bug #46016: --joblog should not log when --dryrun
par_no_joblog_with_dryrun echo Only_this
par_no_run_if_empty ### Test --no-run-if-empty and -r: This should give no output
+par_open-tty ### bug #62310: xargs compatibility: --open-tty
+par_open-tty /dev/tty
+par_open-tty /dev/tty
par_opt_gnu ### Test --tollef
par_opt_gnu parallel: Error: --tollef has been retired.
par_opt_gnu parallel: Error: Remove --tollef or use --gnu to override --tollef.
@@ -902,6 +905,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
@@ -940,6 +952,11 @@
par_sem_quote ### sem --quote should not add empty argument
par_sem_quote echo
par_sem_quote
+par_shellcompletion ### --shellcompletion
+par_shellcompletion 329fc284cae55cbfed49ed5546eb2b29 -
+par_shellcompletion 329fc284cae55cbfed49ed5546eb2b29 -
+par_shellcompletion 4869360b2bf2f084c17bdc60413faace -
+par_shellcompletion 4869360b2bf2f084c17bdc60413faace -
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
par_slow_pipe_regexp 0 1 1
@@ -1054,8 +1071,7 @@
par_testquote rc ()*=?'
par_testquote rzsh "#&/
par_testquote rzsh ()*=?'
-par_testquote sash "#&/
-par_testquote sash ()*=?'
+par_testquote sash -f parallel: Error: Shell 'sash -f' not found.
par_testquote sh "#&/
par_testquote sh ()*=?'
par_testquote static-sh "#&/
|
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-10s
^
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-300s
^
|
@@ -18,7 +18,7 @@
par_halt_on_error -2 false true sleep 2;true
par_halt_on_error -2 false false 3
par_halt_on_error -2 false false 4
-par_halt_on_error -2 false false /bin/bash: non_exist: command not found
+par_halt_on_error -2 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 true true 0
par_halt_on_error -1 true true 0
par_halt_on_error -1 true true parallel: This job succeeded:
@@ -38,7 +38,7 @@
par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 3;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
-par_halt_on_error -1 true true /bin/bash: non_exist: command not found
+par_halt_on_error -1 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 true false 0
par_halt_on_error -1 true false 0
par_halt_on_error -1 true false parallel: This job succeeded:
@@ -52,7 +52,7 @@
par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 3;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
-par_halt_on_error -1 true false /bin/bash: non_exist: command not found
+par_halt_on_error -1 true false /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 false true 0
par_halt_on_error -1 false true 0
par_halt_on_error -1 false true parallel: This job succeeded:
@@ -61,25 +61,25 @@
par_halt_on_error -1 false true parallel: This job succeeded:
par_halt_on_error -1 false true sleep 2;true
par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
-par_halt_on_error -1 false true /bin/bash: non_exist: command not found
+par_halt_on_error -1 false true /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 false false 3
par_halt_on_error -1 false false 4
-par_halt_on_error -1 false false /bin/bash: non_exist: command not found
+par_halt_on_error -1 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 true true 0
par_halt_on_error 0 true true 1
-par_halt_on_error 0 true true /bin/bash: non_exist: command not found
+par_halt_on_error 0 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 true false 1
par_halt_on_error 0 true false 2
-par_halt_on_error 0 true false /bin/bash: non_exist: command not found
+par_halt_on_error 0 true false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 false true 2
par_halt_on_error 0 false true 3
-par_halt_on_error 0 false true /bin/bash: non_exist: command not found
+par_halt_on_error 0 false true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 false false 3
par_halt_on_error 0 false false 4
-par_halt_on_error 0 false false /bin/bash: non_exist: command not found
+par_halt_on_error 0 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 true true 0
par_halt_on_error 1 true true 127
-par_halt_on_error 1 true true /bin/bash: non_exist: command not found
+par_halt_on_error 1 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 true true parallel: This job failed:
par_halt_on_error 1 true true sleep 4;non_exist
par_halt_on_error 1 true false 1
@@ -90,7 +90,7 @@
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 2;false
par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
-par_halt_on_error 1 true false /bin/bash: non_exist: command not found
+par_halt_on_error 1 true false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 4;non_exist
par_halt_on_error 1 false true 1
@@ -106,7 +106,7 @@
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 3;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
-par_halt_on_error 1 false true /bin/bash: non_exist: command not found
+par_halt_on_error 1 false true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 4;non_exist
par_halt_on_error 1 false false 1
@@ -128,12 +128,12 @@
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 3;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
-par_halt_on_error 1 false false /bin/bash: non_exist: command not found
+par_halt_on_error 1 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 4;non_exist
par_halt_on_error 2 true true 0
par_halt_on_error 2 true true 127
-par_halt_on_error 2 true true /bin/bash: non_exist: command not found
+par_halt_on_error 2 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 2 true true parallel: This job failed:
par_halt_on_error 2 true true sleep 4;non_exist
par_halt_on_error 2 true false 1
@@ -201,7 +201,7 @@
par_test_build_and_install ### Test normal build and install
par_test_build_and_install checking for a BSD-compatible install... /bin/install -c
par_test_build_and_install checking whether build environment is sane... yes
-par_test_build_and_install checking for a thread-safe mkdir -p... /bin/mkdir -p
+par_test_build_and_install checking for a race-free mkdir -p... /bin/mkdir -p
par_test_build_and_install checking for gawk... gawk
par_test_build_and_install checking whether make sets $(MAKE)... yes
par_test_build_and_install checking whether make supports nested variables... yes
@@ -241,7 +241,7 @@
par_test_build_and_install ### Test installation missing pod2*
par_test_build_and_install checking for a BSD-compatible install... /bin/install -c
par_test_build_and_install checking whether build environment is sane... yes
-par_test_build_and_install checking for a thread-safe mkdir -p... /bin/mkdir -p
+par_test_build_and_install checking for a race-free mkdir -p... /bin/mkdir -p
par_test_build_and_install checking for gawk... gawk
par_test_build_and_install checking whether make sets $(MAKE)... yes
par_test_build_and_install checking whether make supports nested variables... yes
@@ -259,221 +259,221 @@
par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \
par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/env_parallel.pod > "."/env_parallel.1n \
par_test_build_and_install && mv "."/env_parallel.1n "."/env_parallel.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old env_parallel.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old env_parallel.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/sem.pod > "."/sem.1n \
par_test_build_and_install && mv "."/sem.1n "."/sem.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old sem.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old sem.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/sql > "."/sql.1n \
par_test_build_and_install && mv "."/sql.1n "."/sql.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old sql.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old sql.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/niceload.pod > "."/niceload.1n \
par_test_build_and_install && mv "."/niceload.1n "."/niceload.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old niceload.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old niceload.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_tutorial.pod > "."/parallel_tutorial.7n \
par_test_build_and_install && mv "."/parallel_tutorial.7n "."/parallel_tutorial.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_tutorial.7"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_tutorial.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_book.pod > "."/parallel_book.7n \
par_test_build_and_install && mv "."/parallel_book.7n "."/parallel_book.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_book.7"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_book.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_design.pod > "."/parallel_design.7n \
par_test_build_and_install && mv "."/parallel_design.7n "."/parallel_design.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_design.7"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_design.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_alternatives.pod > "."/parallel_alternatives.7n \
par_test_build_and_install && mv "."/parallel_alternatives.7n "."/parallel_alternatives.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_alternatives.7"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_alternatives.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parcat.pod > "."/parcat.1n \
par_test_build_and_install && mv "."/parcat.1n "."/parcat.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parcat.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parcat.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parset.pod > "."/parset.1n \
par_test_build_and_install && mv "."/parset.1n "."/parset.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parset.1"
-par_test_build_and_install /bin/bash: pod2man: command not found
+par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parset.1
par_test_build_and_install pod2html --title "GNU Parallel" "."/parallel.pod > "."/parallel.htmln \
par_test_build_and_install && mv "."/parallel.htmln "."/parallel.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel.html"
-par_test_build_and_install /bin/bash: pod2html: command not found
+par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel.html
par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel with environment" "."/env_parallel.pod > "."/env_parallel.htmln \
par_test_build_and_install && mv "."/env_parallel.htmln "."/env_parallel.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old env_parallel.html"
-par_test_build_and_install /bin/bash: pod2html: command not found
+par_test_build_and_install /bin/bash: line 1: pod2html: command not found
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-30s
^
|
@@ -88,16 +88,16 @@
par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137
par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0
par_exit_code fizsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100
-par_exit_code ksh2020 /tmp/mysleep 100 137
-par_exit_code ksh2020 parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
-par_exit_code ksh2020 parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
-par_exit_code ksh2020 parallel --halt-on-error now,done=1 /bin/true ::: 100 0
-par_exit_code ksh2020 parallel --halt-on-error now,done=1 exit ::: 100 100
-par_exit_code ksh2020 true;/tmp/mysleep 100 137
-par_exit_code ksh2020 parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137
-par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137
-par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0
-par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;exit' ::: 100 100
+par_exit_code ksh2020 /tmp/mysleep 100 open3: exec of ksh2020 -c /tmp/mysleep 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,done=1 /bin/true ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 /bin/true ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,done=1 exit ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 exit ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 true;/tmp/mysleep 100 open3: exec of ksh2020 -c true;/tmp/mysleep 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 failed: No such file or directory at -e line 1.
+par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;exit' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 'true;exit' ::: 100 failed: No such file or directory at -e line 1.
par_exit_code posh /tmp/mysleep 100 137
par_exit_code posh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
par_exit_code posh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
@@ -153,7 +153,7 @@
par_exit_code bash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 /bin/true ::: 100 0
par_exit_code bash parallel --halt-on-error now,done=1 exit ::: 100 100
-par_exit_code bash true;/tmp/mysleep 100 137
+par_exit_code bash true;/tmp/mysleep 100 0
par_exit_code bash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0
@@ -1481,13 +1481,13 @@
par_macron ¯ -q "¯" ¯
par_macron ¯ -q ¯¯
par_macron ¯ -q "¯"¯
-par_macron ¯ -q /usr/bin/bash: $'echo \257': command not found
+par_macron ¯ -q /usr/bin/bash: line 1: $'echo \257': command not found
par_macron ¯ -Xq ¯
par_macron ¯ -Xq ¯ ¯
par_macron ¯ -Xq "¯" ¯
par_macron ¯ -Xq ¯¯
par_macron ¯ -Xq "¯"¯
-par_macron ¯ -Xq /usr/bin/bash: $'echo \257': command not found
+par_macron ¯ -Xq /usr/bin/bash: line 1: $'echo \257': command not found
par_macron ¯ -k ¯
par_macron ¯ -k ¯
par_macron ¯ -k ¯ ¯
@@ -1505,13 +1505,13 @@
par_macron ¯® -q "¯®" ¯®
par_macron ¯® -q ¯®¯®
par_macron ¯® -q "¯®"¯®
-par_macron ¯® -q /usr/bin/bash: $'echo \257\256': command not found
+par_macron ¯® -q /usr/bin/bash: line 1: $'echo \257\256': command not found
par_macron ¯® -Xq ¯®
par_macron ¯® -Xq ¯® ¯®
par_macron ¯® -Xq "¯®" ¯®
par_macron ¯® -Xq ¯®¯®
par_macron ¯® -Xq "¯®"¯®
-par_macron ¯® -Xq /usr/bin/bash: $'echo \257\256': command not found
+par_macron ¯® -Xq /usr/bin/bash: line 1: $'echo \257\256': command not found
par_macron ¯® -k ¯®
par_macron ¯® -k ¯®
par_macron ¯® -k ¯® ¯®
@@ -1529,13 +1529,13 @@
par_macron ¯¯® -q "¯¯®" ¯¯®
par_macron ¯¯® -q ¯¯®¯¯®
par_macron ¯¯® -q "¯¯®"¯¯®
-par_macron ¯¯® -q /usr/bin/bash: $'echo \257\257\256': command not found
+par_macron ¯¯® -q /usr/bin/bash: line 1: $'echo \257\257\256': command not found
par_macron ¯¯® -Xq ¯¯®
par_macron ¯¯® -Xq ¯¯® ¯¯®
par_macron ¯¯® -Xq "¯¯®" ¯¯®
par_macron ¯¯® -Xq ¯¯®¯¯®
par_macron ¯¯® -Xq "¯¯®"¯¯®
-par_macron ¯¯® -Xq /usr/bin/bash: $'echo \257\257\256': command not found
+par_macron ¯¯® -Xq /usr/bin/bash: line 1: $'echo \257\257\256': command not found
par_macron ¯¯® -k ¯¯®
par_macron ¯¯® -k ¯¯®
par_macron ¯¯® -k ¯¯® ¯¯®
@@ -1545,29 +1545,29 @@
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯>
-par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 0: syntax error near unexpected token `newline'
-par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 0: `echo ¯<¯<¯>¯>'
-par_macron ¯<¯<¯>¯> -X /usr/bin/bash: ¯: No such file or directory
-par_macron ¯<¯<¯>¯> -X /usr/bin/bash: ¯: No such file or directory
+par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline'
+par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>'
+par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory
+par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>"¯<¯<¯>¯>
-par_macron ¯<¯<¯>¯> -q /usr/bin/bash: $'echo \257<\257<\257>\257>': command not found
+par_macron ¯<¯<¯>¯> -q /usr/bin/bash: line 1: $'echo \257<\257<\257>\257>': command not found
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>" ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>"¯<¯<¯>¯>
-par_macron ¯<¯<¯>¯> -Xq /usr/bin/bash: $'echo \257<\257<\257>\257>': command not found
+par_macron ¯<¯<¯>¯> -Xq /usr/bin/bash: line 1: $'echo \257<\257<\257>\257>': command not found
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯>
-par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 0: syntax error near unexpected token `newline'
-par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 0: `echo ¯<¯<¯>¯>'
-par_macron ¯<¯<¯>¯> -k /usr/bin/bash: ¯: No such file or directory
-par_macron ¯<¯<¯>¯> -k /usr/bin/bash: ¯: No such file or directory
+par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline'
+par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>'
+par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory
+par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory
par_max_length_len_128k ### BUG: The length for -X is not close to max (131072)
par_max_length_len_128k 64xxx
par_max_length_len_128k 64xxx
@@ -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
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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
@@ -481,6 +569,22 @@
par_prefix_for_L_n_N_s 246
par_prefix_for_L_n_N_s 246
par_prefix_for_L_n_N_s 273
+par_process_slot_var ### bug #62310: xargs compatibility: --process-slot-var=name
+par_process_slot_var 0
+par_process_slot_var 1
+par_process_slot_var 2
+par_process_slot_var 3
+par_process_slot_var 0
+par_process_slot_var 0
+par_process_slot_var 1
+par_process_slot_var 2
+par_process_slot_var 3
+par_process_slot_var 0
+par_process_slot_var 0
+par_process_slot_var 1
+par_process_slot_var 2
+par_process_slot_var 3
+par_process_slot_var 0
par_progress ### Test of --progress
par_progress 16
par_progress ### Test of --progress with no jobs
@@ -526,6 +630,9 @@
par_replacement_slashslash . ./a.jpg
par_replacement_slashslash ./a ./a/b.jpg
par_replacement_slashslash ./a/b ./a/b/c.jpg
+par_retries_0 --retries 0 = inf
+par_retries_0 this wraps at 256 and should retry until it wraps
+par_retries_0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
par_shebang ### Test different shebangs
par_shebang gp A
par_shebang gp B
@@ -552,7 +659,7 @@
par_show_limits Maximal size of command: 131xxx
par_show_limits Maximal usable size of command: 64xxx
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+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
@@ -118,6 +118,9 @@
par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
par_kill_hup bash---pstree
+par_ll_lb_color bug #62386: --color (--ctag but without --tag)
+par_ll_lb_color bug #62438: See last line from multiple jobslots
+par_ll_lb_color 715a389ad9d92c8fab448a74494617d1 -
par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins
par_more_than_9_relative_sshlogin 1
par_more_than_9_relative_sshlogin 2
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-sql01
^
|
@@ -270,20 +270,24 @@
par_append $CSV
par_append $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
par_empty $MYSQL p_wrapper par_empty '$MYSQL'
+par_empty $MYSQL Do nothing: TBL99999 does not exist because it is not created
par_empty $MYSQL Exit=0
par_empty $MYSQL Exit=0
par_empty $MYSQL ERROR 1146 (42S02) at line 1: Table 'tange.TBL99999' doesn't exist
par_empty $PG p_wrapper par_empty '$PG'
+par_empty $PG Do nothing: TBL99999 does not exist because it is not created
par_empty $PG Exit=0
par_empty $PG Exit=0
par_empty $PG ERROR: relation "TBL99999" does not exist
par_empty $PG LINE 1: select Host,Command,V1,V2,Stdout,Stderr from TBL99999 order
par_empty $PG ^
par_empty $SQLITE p_wrapper par_empty '$SQLITE'
+par_empty $SQLITE Do nothing: TBL99999 does not exist because it is not created
par_empty $SQLITE Exit=0
par_empty $SQLITE Exit=0
-par_empty $SQLITE Error: near line 1: no such table: TBL99999
+par_empty $SQLITE Error: near line 1: in prepare, no such table: TBL99999 (1)
par_empty $CSV p_wrapper par_empty '$CSV'
+par_empty $CSV Do nothing: TBL99999 does not exist because it is not created
par_empty $CSV Exit=0
par_empty $CSV Exit=0
par_empty $CSV Error:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh4
^
|
@@ -42,6 +42,25 @@
par_multiple_hosts_repeat_arg 1
par_multiple_hosts_repeat_arg 2
par_multiple_hosts_repeat_arg 3
+par_sshloginfile ### --slf with mIxEd cAsE
+par_sshloginfile 1
+par_sshloginfile 2
+par_sshloginfile 3
+par_sshloginfile 4
+par_sshloginfile 5
+par_sshloginfile 6
+par_sshloginfile 7
+par_sshloginfile 8
+par_sshloginfile 9
+par_sshloginfile bash
+par_sshloginfile bash
+par_sshloginfile ksh
+par_sshloginfile ksh
+par_sshloginfile ksh
+par_sshloginfile ksh
+par_sshloginfile parallel
+par_sshloginfile parallel
+par_sshloginfile parallel
par_tmux_different_shells ### Test tmux works on different shells
par_tmux_different_shells 0
par_tmux_different_shells 4
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh5
^
|
@@ -608,5 +608,5 @@
par_autossh stderr
par_autossh
par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
-par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.3]
+par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(228) [Receiver=3.2.3]
par_autossh foo_autossh
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh7
^
|
@@ -659,25 +659,25 @@
par_sh_env_parallel_session /bin/sh: XXX: Bad substitution
par_sh_env_parallel_session ### level0+1+2 should be transferred
par_sh_env_parallel_session l0var
-par_sh_env_parallel_session script: 29: level0func: not found
-par_sh_env_parallel_session script: 29: level0alias: not found
-par_sh_env_parallel_session script: 29: Bad substitution
+par_sh_env_parallel_session script: 27: level0func: not found
+par_sh_env_parallel_session script: 27: level0alias: not found
+par_sh_env_parallel_session script: 27: Bad substitution
par_sh_env_parallel_session l0var
par_sh_env_parallel_session /bin/sh: XXX: level0func: not found
par_sh_env_parallel_session /bin/sh: XXX: level0alias: not found
par_sh_env_parallel_session /bin/sh: XXX: Bad substitution
par_sh_env_parallel_session l1var
-par_sh_env_parallel_session script: 29: level1func: not found
-par_sh_env_parallel_session script: 29: level1alias: not found
-par_sh_env_parallel_session script: 29: Bad substitution
+par_sh_env_parallel_session script: 27: level1func: not found
+par_sh_env_parallel_session script: 27: level1alias: not found
+par_sh_env_parallel_session script: 27: Bad substitution
par_sh_env_parallel_session l1var
par_sh_env_parallel_session /bin/sh: XXX: level1func: not found
par_sh_env_parallel_session /bin/sh: XXX: level1alias: not found
par_sh_env_parallel_session /bin/sh: XXX: Bad substitution
par_sh_env_parallel_session l2var
-par_sh_env_parallel_session script: 29: level2func: not found
-par_sh_env_parallel_session script: 29: level2alias: not found
-par_sh_env_parallel_session script: 29: Bad substitution
+par_sh_env_parallel_session script: 27: level2func: not found
+par_sh_env_parallel_session script: 27: level2alias: not found
+par_sh_env_parallel_session script: 27: Bad substitution
par_sh_env_parallel_session l2var
par_sh_env_parallel_session /bin/sh: XXX: level2func: not found
par_sh_env_parallel_session /bin/sh: XXX: level2alias: not found
@@ -718,8 +718,8 @@
par_mksh_underscore variables in aliases in and arrays in functions work
par_mksh_underscore variables in aliases in and arrays in functions work
par_mksh_underscore variables in aliases in and arrays in functions work
-par_mksh_underscore script[9]: not_copied_alias: inaccessible or not found
-par_mksh_underscore script[9]: not_copied_func: inaccessible or not found
+par_mksh_underscore W: script[9]: not_copied_alias: inaccessible or not found
+par_mksh_underscore W: script[9]: not_copied_func: inaccessible or not found
par_mksh_underscore error=OK
par_mksh_underscore error=OK
par_mksh_underscore aliases in and arrays in functions work
@@ -730,9 +730,9 @@
par_mksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_mksh_underscore aliases in functions work
par_mksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
-par_mksh_underscore /bin/mksh: myfunc: inaccessible or not found
+par_mksh_underscore W: /bin/mksh: myfunc: inaccessible or not found
par_mksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
-par_mksh_underscore script[9]: myfunc: inaccessible or not found
+par_mksh_underscore W: script[9]: myfunc: inaccessible or not found
par_mksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_mksh_parset parset
par_mksh_parset ### parset into array
@@ -880,12 +880,12 @@
par_mksh_env_parallel_session ### level0 should be hidden, level1 should be transferred
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session script[9]: level0func: inaccessible or not found
-par_mksh_env_parallel_session script[9]: level0alias: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level0func: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level0alias: inaccessible or not found
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session /bin/mksh: level0func: inaccessible or not found
-par_mksh_env_parallel_session /bin/mksh: level0alias: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level0func: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level0alias: inaccessible or not found
par_mksh_env_parallel_session l1var
par_mksh_env_parallel_session l1func
par_mksh_env_parallel_session l1alias
@@ -897,20 +897,20 @@
par_mksh_env_parallel_session ### level0+1 should be hidden, level2 should be transferred
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session script[9]: level0func: inaccessible or not found
-par_mksh_env_parallel_session script[9]: level0alias: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level0func: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level0alias: inaccessible or not found
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session /bin/mksh: level0func: inaccessible or not found
-par_mksh_env_parallel_session /bin/mksh: level0alias: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level0func: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level0alias: inaccessible or not found
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session script[9]: level1func: inaccessible or not found
-par_mksh_env_parallel_session script[9]: level1alias: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level1func: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level1alias: inaccessible or not found
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session /bin/mksh: level1func: inaccessible or not found
-par_mksh_env_parallel_session /bin/mksh: level1alias: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level1func: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level1alias: inaccessible or not found
par_mksh_env_parallel_session l2var
par_mksh_env_parallel_session l2func
par_mksh_env_parallel_session l2alias
@@ -922,12 +922,12 @@
par_mksh_env_parallel_session ### level0 should be hidden, level1+2 should be transferred
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session script[9]: level0func: inaccessible or not found
-par_mksh_env_parallel_session script[9]: level0alias: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level0func: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: level0alias: inaccessible or not found
par_mksh_env_parallel_session
par_mksh_env_parallel_session fail
-par_mksh_env_parallel_session /bin/mksh: level0func: inaccessible or not found
-par_mksh_env_parallel_session /bin/mksh: level0alias: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level0func: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: level0alias: inaccessible or not found
par_mksh_env_parallel_session l1var
par_mksh_env_parallel_session l1func
par_mksh_env_parallel_session l1alias
@@ -969,10 +969,10 @@
par_mksh_env_parallel_session l2func
par_mksh_env_parallel_session l2alias
par_mksh_env_parallel_session level2 array OK
-par_mksh_env_parallel_session /bin/mksh: aliasbefore: inaccessible or not found
-par_mksh_env_parallel_session script[9]: aliasbefore: inaccessible or not found
-par_mksh_env_parallel_session /bin/mksh: funcbefore: inaccessible or not found
-par_mksh_env_parallel_session script[9]: funcbefore: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: aliasbefore: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: aliasbefore: inaccessible or not found
+par_mksh_env_parallel_session W: /bin/mksh: funcbefore: inaccessible or not found
+par_mksh_env_parallel_session W: script[9]: funcbefore: inaccessible or not found
par_mksh_env_parallel_session no_before
par_mksh_env_parallel_session no_before
par_mksh_env_parallel_session no_before
@@ -1021,21 +1021,21 @@
par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work
-par_ksh_underscore script[9]: not_copied_alias: not found [No such file or directory]
-par_ksh_underscore script[9]: not_copied_func: not found [No such file or directory]
+par_ksh_underscore script: line 5: not_copied_alias: not found
+par_ksh_underscore script: line 5: not_copied_func: not found
par_ksh_underscore error=OK
par_ksh_underscore error=OK
par_ksh_underscore aliases in and arrays in functions work
par_ksh_underscore aliases in and arrays in functions work
par_ksh_underscore aliases in functions work
par_ksh_underscore aliases in functions work
-par_ksh_underscore /bin/ksh: myecho: not found [No such file or directory]
+par_ksh_underscore /bin/ksh: myecho: not found
par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
-par_ksh_underscore script[9]: myecho: not found [No such file or directory]
+par_ksh_underscore script[9]: myecho: not found
par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ksh_underscore /bin/ksh: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
-par_ksh_underscore script[9]: myfunc: not found [No such file or directory]
+par_ksh_underscore script: line 2: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_ksh_parset parset
par_ksh_parset ### parset into array
@@ -1142,9 +1142,9 @@
par_ksh_man too
par_ksh_man This may never work
par_ksh_man https://unix.stackexchange.com/questions/457031/extract-full-function-definitions
-par_ksh_man /bin/ksh: line XXX: syntax error at line XXX: `{' unmatched
-par_ksh_man /bin/ksh: line XXX: syntax error at line XXX: `{' unmatched
-par_ksh_man /bin/ksh: line XXX: syntax error at line XXX: `{' unmatched
+par_ksh_man /bin/ksh: line 3: syntax error at line XXX: `{' unmatched
+par_ksh_man /bin/ksh: line 3: syntax error at line XXX: `{' unmatched
+par_ksh_man /bin/ksh: line 3: syntax error at line XXX: `{' unmatched
par_ksh_man exit value 2 should be 2
par_ksh_man Unknown option: no-such-option
par_ksh_man exit value 255 should be 255
@@ -1187,12 +1187,12 @@
par_ksh_env_parallel_session ### level0 should be hidden, level1 should be transferred
par_ksh_env_parallel_session
par_ksh_env_parallel_session fail
-par_ksh_env_parallel_session script[9]: level0func: not found [No such file or directory]
-par_ksh_env_parallel_session script[9]: level0alias: not found [No such file or directory]
+par_ksh_env_parallel_session script[9]: level0func: not found
+par_ksh_env_parallel_session script[9]: level0alias: not found
par_ksh_env_parallel_session
par_ksh_env_parallel_session fail
-par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found [No such file or directory]
-par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found [No such file or directory]
+par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found
+par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found
par_ksh_env_parallel_session l1var
par_ksh_env_parallel_session l1func
par_ksh_env_parallel_session l1alias
@@ -1204,20 +1204,20 @@
par_ksh_env_parallel_session ### level0+1 should be hidden, level2 should be transferred
par_ksh_env_parallel_session
par_ksh_env_parallel_session fail
-par_ksh_env_parallel_session script[9]: level0func: not found [No such file or directory]
-par_ksh_env_parallel_session script[9]: level0alias: not found [No such file or directory]
+par_ksh_env_parallel_session script[9]: level0func: not found
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local12
^
|
@@ -13,7 +13,7 @@
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
More about funding GNU Parallel and the citation notice:
-https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
+https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
To silence this citation notice: run 'parallel --citation' once.
@@ -33,7 +33,7 @@
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
More about funding GNU Parallel and the citation notice:
-https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
+https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
To silence this citation notice: run 'parallel --citation' once.
@@ -50,7 +50,7 @@
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
More about funding GNU Parallel and the citation notice:
-https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
+https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
To silence this citation notice: run 'parallel --citation' once.
@@ -71,7 +71,7 @@
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
More about funding GNU Parallel and the citation notice:
-https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
+https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
To silence this citation notice: run 'parallel --citation' once.
@@ -88,7 +88,7 @@
More about funding GNU Parallel and the citation notice:
https://lists.gnu.org/archive/html/parallel/2013-11/msg00006.html
-https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
+https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
mentioned in the release notes of next version of GNU Parallel.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local13
^
|
@@ -89,6 +89,7 @@
xargs: argument list too long
stdsort parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi
+from one to xoney
parallel: Error: Command line too long (32 >= 26) at input 0: 

echo '### -l -0 echo < ldata-0.xi'
### -l -0 echo < ldata-0.xi
@@ -314,6 +315,7 @@
echo '### -P3 -n1 -IARG sh -c ARG < Pdata.xi'
### -P3 -n1 -IARG sh -c ARG < Pdata.xi
stdout xargs -P3 -n1 -IARG sh -c ARG < Pdata.xi
+xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value
three
two
one
@@ -441,7 +443,7 @@
echo '### -t -0 echo this plus that < space.xi'
### -t -0 echo this plus that < space.xi
stdout xargs -t -0 echo this plus that < space.xi
-echo this plus that ''$'\n'' '$'\f\r\t\v\n'
+echo this plus that ''$'\n'' '$'\f\r\t\v\n'
this plus that


@@ -599,6 +601,7 @@
echo '### -L2 -n2 echo < ldata.xi'
### -L2 -n2 echo < ldata.xi
stdout xargs -L2 -n2 echo < ldata.xi
+xargs: warning: options --max-lines and --max-args/-n are mutually exclusive, ignoring previous --max-lines value
1 22
333 4444
55555 666666
@@ -1267,6 +1270,7 @@
echo '### -l1 -n4 echo < files.xi'
### -l1 -n4 echo < files.xi
stdout xargs -l1 -n4 echo < files.xi
+xargs: warning: options --max-lines and --max-args/-n are mutually exclusive, ignoring previous --max-lines value
/src/gnu/autoconf-1.11 /src/gnu/autoconf-1.11/README /src/gnu/autoconf-1.11/Makefile.in /src/gnu/autoconf-1.11/INSTALL
/src/gnu/autoconf-1.11/NEWS /src/gnu/autoconf-1.11/COPYING /src/gnu/autoconf-1.11/ChangeLog /src/gnu/autoconf-1.11/autoconf.texi
/src/gnu/autoconf-1.11/acconfig.h /src/gnu/autoconf-1.11/autoconf.sh /src/gnu/autoconf-1.11/acgeneral.m4 /src/gnu/autoconf-1.11/acspecific.m4
@@ -1309,15 +1313,15 @@
echo '### -s30 -t echo < stairs.xi - xargs'
### -s30 -t echo < stairs.xi - xargs
stdout xargs -s30 -t echo < stairs.xi
-echo 1 22 333 4444 55555
+echo 1 22 333 4444 55555
1 22 333 4444 55555
-echo 666666 7777777 88888888
+echo 666666 7777777 88888888
666666 7777777 88888888
-echo 999999999 1 22 333 4444
+echo 999999999 1 22 333 4444
999999999 1 22 333 4444
-echo 55555 666666 7777777
+echo 55555 666666 7777777
55555 666666 7777777
-echo 88888888 999999999
+echo 88888888 999999999
88888888 999999999
echo '### -s30 -t echo < stairs.xi - parallel'
### -s30 -t echo < stairs.xi - parallel
@@ -1339,7 +1343,7 @@
echo '### -t echo this plus that < space.xi'
### -t echo this plus that < space.xi
stdout xargs -t echo this plus that < space.xi
-echo this plus that
+echo this plus that
this plus that
stdout parallel -k -t echo this plus that < space.xi | sort
echo this plus that ' 
'
@@ -1360,9 +1364,9 @@
@foo '' bar@n@baz ''@n@'' fnord@necho '### -n2 -t echo < foobar.xi'
### -n2 -t echo < foobar.xi
stdout xargs -n2 -t echo < foobar.xi
-echo foo bar
+echo foo bar
foo bar
-echo baz ugh
+echo baz ugh
baz ugh
stdout parallel -k -n2 -t echo < foobar.xi | sort
echo 'foo bar' 'baz '
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local7
^
|
@@ -16,7 +16,7 @@
parallel: Error: Command line too long (3012 >= 523) at input 0: 3001
255
seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tm
-/usr/bin/bash: par_tm: command not found
+/usr/bin/bash: line 1: par_tm: command not found
echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux
parallel: Error: Command line too long (4047 >= 523) at input 0: 4036
255
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-macos
^
|
@@ -1,100 +1,102 @@
-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 45XXX
+par_big_func_name 19XXX
+par_big_func_name 19XXX
+par_big_func_name 19XXX
+par_big_func_name 19XXX
+par_big_func_name 19XXX
+par_big_func_name 19XXX
+par_big_func_name 3XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 19XXX
+par_big_var_func_name 9XXX
+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 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 224 5XXX
+par_many_func 1 172 4XXX
+par_many_var 1 976 23XXX
+par_many_var 1 976 23XXX
+par_many_var 1 976 23XXX
+par_many_var 1 976 23XXX
+par_many_var 1 976 23XXX
+par_many_var 1 976 23XXX
+par_many_var 1 812 19XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 6XXX
+par_many_var_big_func 260
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-polarhome
^
|
@@ -14,370 +14,6 @@
< beaglebone
< cubieboard2
### Copy commands to servers
-bin/parallel qnx copy qnx bin/parallel parallel
-bin/parallel pidora copy pidora bin/parallel parallel
-bin/parallel tru64 copy tru64 bin/parallel parallel
-bin/parallel hpux-ia64 copy hpux-ia64 bin/parallel parallel
-bin/parallel raspbian copy raspbian bin/parallel parallel
-bin/parallel solaris copy solaris bin/parallel parallel
-bin/parallel openindiana copy openindiana bin/parallel parallel
-bin/parallel aix copy aix bin/parallel parallel
-bin/parallel hpux copy hpux bin/parallel parallel
-bin/parallel debian-ppc copy debian-ppc bin/parallel parallel
-bin/parallel suse copy suse bin/parallel parallel
-bin/parallel solaris-x86 copy solaris-x86 bin/parallel parallel
-bin/parallel mandriva copy mandriva bin/parallel parallel
-bin/parallel ubuntu copy ubuntu bin/parallel parallel
-bin/parallel scosysv copy scosysv bin/parallel parallel
-bin/parallel unixware copy unixware bin/parallel parallel
-bin/parallel centos copy centos bin/parallel parallel
-bin/parallel miros copy miros bin/parallel parallel
-bin/parallel macosx copy macosx bin/parallel parallel
-bin/parallel redhat copy redhat bin/parallel parallel
-bin/parallel netbsd copy netbsd bin/parallel parallel
-bin/parallel openbsd copy openbsd bin/parallel parallel
-bin/parallel freebsd copy freebsd bin/parallel parallel
-bin/parallel debian copy debian bin/parallel parallel
-bin/parallel hurd copy hurd bin/parallel parallel
-bin/parallel minix copy minix bin/parallel parallel
-bin/env_parallel qnx copy qnx bin/env_parallel env_parallel
-bin/env_parallel pidora copy pidora bin/env_parallel env_parallel
-bin/env_parallel tru64 copy tru64 bin/env_parallel env_parallel
-bin/env_parallel hpux-ia64 copy hpux-ia64 bin/env_parallel env_parallel
-bin/env_parallel raspbian copy raspbian bin/env_parallel env_parallel
-bin/env_parallel solaris copy solaris bin/env_parallel env_parallel
-bin/env_parallel openindiana copy openindiana bin/env_parallel env_parallel
-bin/env_parallel aix copy aix bin/env_parallel env_parallel
-bin/env_parallel hpux copy hpux bin/env_parallel env_parallel
-bin/env_parallel debian-ppc copy debian-ppc bin/env_parallel env_parallel
-bin/env_parallel suse copy suse bin/env_parallel env_parallel
-bin/env_parallel solaris-x86 copy solaris-x86 bin/env_parallel env_parallel
-bin/env_parallel mandriva copy mandriva bin/env_parallel env_parallel
-bin/env_parallel ubuntu copy ubuntu bin/env_parallel env_parallel
-bin/env_parallel scosysv copy scosysv bin/env_parallel env_parallel
-bin/env_parallel unixware copy unixware bin/env_parallel env_parallel
-bin/env_parallel centos copy centos bin/env_parallel env_parallel
-bin/env_parallel miros copy miros bin/env_parallel env_parallel
-bin/env_parallel macosx copy macosx bin/env_parallel env_parallel
-bin/env_parallel redhat copy redhat bin/env_parallel env_parallel
-bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel
-bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel
-bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel
-bin/env_parallel debian copy debian bin/env_parallel env_parallel
-bin/env_parallel hurd copy hurd bin/env_parallel env_parallel
-bin/env_parallel minix copy minix bin/env_parallel env_parallel
-bin/env_parallel.ash qnx copy qnx bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash pidora copy pidora bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash tru64 copy tru64 bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash hpux-ia64 copy hpux-ia64 bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash raspbian copy raspbian bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash solaris copy solaris bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash openindiana copy openindiana bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash aix copy aix bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash hpux copy hpux bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash debian-ppc copy debian-ppc bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash suse copy suse bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash solaris-x86 copy solaris-x86 bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash mandriva copy mandriva bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash ubuntu copy ubuntu bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash scosysv copy scosysv bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash unixware copy unixware bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash centos copy centos bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash miros copy miros bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash macosx copy macosx bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash redhat copy redhat bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash
-bin/env_parallel.bash qnx copy qnx bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash pidora copy pidora bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash tru64 copy tru64 bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash hpux-ia64 copy hpux-ia64 bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash raspbian copy raspbian bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash solaris copy solaris bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash openindiana copy openindiana bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash aix copy aix bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash hpux copy hpux bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash debian-ppc copy debian-ppc bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash suse copy suse bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash solaris-x86 copy solaris-x86 bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash mandriva copy mandriva bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash ubuntu copy ubuntu bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash scosysv copy scosysv bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash unixware copy unixware bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash centos copy centos bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash miros copy miros bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash macosx copy macosx bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash redhat copy redhat bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash
-bin/env_parallel.csh qnx copy qnx bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh pidora copy pidora bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh tru64 copy tru64 bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh hpux-ia64 copy hpux-ia64 bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh raspbian copy raspbian bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh solaris copy solaris bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh openindiana copy openindiana bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh aix copy aix bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh hpux copy hpux bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh debian-ppc copy debian-ppc bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh suse copy suse bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh solaris-x86 copy solaris-x86 bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh mandriva copy mandriva bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh ubuntu copy ubuntu bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh scosysv copy scosysv bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh unixware copy unixware bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh centos copy centos bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh miros copy miros bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh macosx copy macosx bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh redhat copy redhat bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh
-bin/env_parallel.dash qnx copy qnx bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash pidora copy pidora bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash tru64 copy tru64 bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash hpux-ia64 copy hpux-ia64 bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash raspbian copy raspbian bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash solaris copy solaris bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash openindiana copy openindiana bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash aix copy aix bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash hpux copy hpux bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash debian-ppc copy debian-ppc bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash suse copy suse bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash solaris-x86 copy solaris-x86 bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash mandriva copy mandriva bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash ubuntu copy ubuntu bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash scosysv copy scosysv bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash unixware copy unixware bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash centos copy centos bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash miros copy miros bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash macosx copy macosx bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash redhat copy redhat bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash debian copy debian bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash
-bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish tru64 copy tru64 bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish hpux-ia64 copy hpux-ia64 bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish raspbian copy raspbian bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish solaris copy solaris bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish openindiana copy openindiana bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish aix copy aix bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish hpux copy hpux bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish debian-ppc copy debian-ppc bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish suse copy suse bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish solaris-x86 copy solaris-x86 bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish mandriva copy mandriva bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish ubuntu copy ubuntu bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish scosysv copy scosysv bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish unixware copy unixware bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish centos copy centos bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish miros copy miros bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish macosx copy macosx bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish redhat copy redhat bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish
-bin/env_parallel.ksh qnx copy qnx bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh pidora copy pidora bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh tru64 copy tru64 bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh hpux-ia64 copy hpux-ia64 bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh raspbian copy raspbian bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh solaris copy solaris bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh openindiana copy openindiana bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh aix copy aix bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh hpux copy hpux bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh debian-ppc copy debian-ppc bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh suse copy suse bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh solaris-x86 copy solaris-x86 bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh mandriva copy mandriva bin/env_parallel.ksh env_parallel.ksh
-bin/env_parallel.ksh ubuntu copy ubuntu bin/env_parallel.ksh env_parallel.ksh
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-tutorial
^
|
@@ -8,8 +8,8 @@
40f53af6 9e20dae5 713ba06c f517006d 9897747b ed8a4694 b1acba1b 1464beb4
60055629 3f2356f3 3e9c4e3c 76e3f3af a9db4b32 bd33322b 975696fc e6b23cfb
$ bash install.sh
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: ` fetch -o - http://pi.dk/3 ) > install.sh'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: ` fetch -o - http://pi.dk/3 ) > install.sh'
parallel -k echo ::: A B C > abc-file
parallel -k echo ::: D E F > def-file
perl -e 'printf "A\0B\0C\0"' > abc0-file
@@ -21,11 +21,11 @@
perl -e 'for(1..1000000){print "$_\n"}' > num1000000
(echo %head1; echo %head2; \
sleep .3
-/usr/bin/bash: -c: line 2: syntax error: unexpected end of file
+/usr/bin/bash: -c: line 3: syntax error: unexpected end of file
sleep .3
perl -e 'for(1..10){print "$_\n"}') > num_%header
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: ` perl -e 'for(1..10){print "$_\n"}') > num_%header'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: ` perl -e 'for(1..10){print "$_\n"}') > num_%header'
perl -e 'print "HHHHAAABBBCCC"' > fixedlen
parallel echo ::: A B C
parallel -a abc-file echo
@@ -213,7 +213,7 @@
foo
parallel --rpl '{..} s:\.[^.]+$::;s:\.[^.]+$::;' echo '{..}'
::: foo.tar.gz
-/usr/bin/bash: line 1: :::: command not found
+/usr/bin/bash: line 2: :::: command not found
parallel --rpl '{%(.+?)} s/$$1$//;' echo {%.tar.gz}.zip ::: foo.tar.gz
foo.zip
parallel --rpl '{/(.+?)/(.*?)} s/$$1/$$2/;' echo {/tar.gz/zip} \
@@ -227,13 +227,13 @@
eval "use File::Basename; 1;"; $_ = dirname($_);'
--rpl '{/.} s:.*/::; s:\.[^/.]+$::;'
--rpl '{.} s:\.[^/.]+$::'
-/usr/bin/bash: --rpl: command not found
/usr/bin/bash: line 1: --rpl: command not found
/usr/bin/bash: line 2: --rpl: command not found
/usr/bin/bash: line 3: --rpl: command not found
-/usr/bin/bash: line 5: --rpl: command not found
+/usr/bin/bash: line 4: --rpl: command not found
/usr/bin/bash: line 6: --rpl: command not found
/usr/bin/bash: line 7: --rpl: command not found
+/usr/bin/bash: line 8: --rpl: command not found
parallel echo {1} and {2} ::: A B ::: C D
A and C
A and D
@@ -351,9 +351,9 @@
Warning: Press CTRL-D to exit.
perl -e 'print "@ARGV\n"'
[CTRL-D]
-/usr/bin/bash: line 1: Warning:: command not found
-/usr/bin/bash: -c: line 2: syntax error near unexpected token `('
-/usr/bin/bash: -c: line 2: ` Warning: are doing (in which case: YOU ARE AWESOME!) or you forgot'
+/usr/bin/bash: line 2: Warning:: command not found
+/usr/bin/bash: -c: line 3: syntax error near unexpected token `('
+/usr/bin/bash: -c: line 3: ` Warning: are doing (in which case: YOU ARE AWESOME!) or you forgot'
parallel --trim r echo pre-{}-post ::: ' A '
pre- A-post
parallel --trim l echo pre-{}-post ::: ' A '
@@ -365,26 +365,26 @@
=bash
=ls
parallel 'set a="{}"; if( { test -d "$a" } ) echo "$a is a dir"' ::: *
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="abc-file"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="abc0-file"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="abc_-file"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="def-file"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="fixedlen"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="num1000000"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="num128"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="num30000"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="num8"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 0: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 0: `set a="tsv-file.tsv"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="abc-file"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="abc0-file"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="abc_-file"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="def-file"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="fixedlen"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="num1000000"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="num128"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="num30000"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="num8"; if( { test -d "$a" } ) echo "$a is a dir"'
+/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
+/usr/bin/bash: -c: line 1: `set a="tsv-file.tsv"; if( { test -d "$a" } ) echo "$a is a dir"'
parallel --tag echo foo-{} ::: A B C
A foo-A
B foo-B
@@ -452,15 +452,15 @@
outdir/1/C/seq
outdir/1/C/stderr
outdir/1/C/stdout
-/usr/bin/bash: outdir/1/A/seq: No such file or directory
-/usr/bin/bash: line 1: outdir/1/A/stderr: No such file or directory
-/usr/bin/bash: line 2: outdir/1/A/stdout: No such file or directory
-/usr/bin/bash: line 3: outdir/1/B/seq: No such file or directory
-/usr/bin/bash: line 4: outdir/1/B/stderr: No such file or directory
-/usr/bin/bash: line 5: outdir/1/B/stdout: No such file or directory
-/usr/bin/bash: line 6: outdir/1/C/seq: No such file or directory
-/usr/bin/bash: line 7: outdir/1/C/stderr: No such file or directory
-/usr/bin/bash: line 8: outdir/1/C/stdout: No such file or directory
+/usr/bin/bash: line 1: outdir/1/A/seq: No such file or directory
+/usr/bin/bash: line 2: outdir/1/A/stderr: No such file or directory
+/usr/bin/bash: line 3: outdir/1/A/stdout: No such file or directory
+/usr/bin/bash: line 4: outdir/1/B/seq: No such file or directory
+/usr/bin/bash: line 5: outdir/1/B/stderr: No such file or directory
+/usr/bin/bash: line 6: outdir/1/B/stdout: No such file or directory
+/usr/bin/bash: line 7: outdir/1/C/seq: No such file or directory
+/usr/bin/bash: line 8: outdir/1/C/stderr: No such file or directory
+/usr/bin/bash: line 9: outdir/1/C/stdout: No such file or directory
parallel --header : --results outdir echo ::: f1 A B ::: f2 C D
outdir/f1/A/f2/C/seq
outdir/f1/A/f2/C/stderr
@@ -474,18 +474,18 @@
outdir/f1/B/f2/D/seq
outdir/f1/B/f2/D/stderr
outdir/f1/B/f2/D/stdout
-/usr/bin/bash: outdir/f1/A/f2/C/seq: No such file or directory
-/usr/bin/bash: line 1: outdir/f1/A/f2/C/stderr: No such file or directory
-/usr/bin/bash: line 2: outdir/f1/A/f2/C/stdout: No such file or directory
-/usr/bin/bash: line 3: outdir/f1/A/f2/D/seq: No such file or directory
-/usr/bin/bash: line 4: outdir/f1/A/f2/D/stderr: No such file or directory
-/usr/bin/bash: line 5: outdir/f1/A/f2/D/stdout: No such file or directory
-/usr/bin/bash: line 6: outdir/f1/B/f2/C/seq: No such file or directory
-/usr/bin/bash: line 7: outdir/f1/B/f2/C/stderr: No such file or directory
-/usr/bin/bash: line 8: outdir/f1/B/f2/C/stdout: No such file or directory
-/usr/bin/bash: line 9: outdir/f1/B/f2/D/seq: No such file or directory
-/usr/bin/bash: line 10: outdir/f1/B/f2/D/stderr: No such file or directory
-/usr/bin/bash: line 11: outdir/f1/B/f2/D/stdout: No such file or directory
+/usr/bin/bash: line 1: outdir/f1/A/f2/C/seq: No such file or directory
+/usr/bin/bash: line 2: outdir/f1/A/f2/C/stderr: No such file or directory
+/usr/bin/bash: line 3: outdir/f1/A/f2/C/stdout: No such file or directory
+/usr/bin/bash: line 4: outdir/f1/A/f2/D/seq: No such file or directory
+/usr/bin/bash: line 5: outdir/f1/A/f2/D/stderr: No such file or directory
+/usr/bin/bash: line 6: outdir/f1/A/f2/D/stdout: No such file or directory
+/usr/bin/bash: line 7: outdir/f1/B/f2/C/seq: No such file or directory
+/usr/bin/bash: line 8: outdir/f1/B/f2/C/stderr: No such file or directory
+/usr/bin/bash: line 9: outdir/f1/B/f2/C/stdout: No such file or directory
+/usr/bin/bash: line 10: outdir/f1/B/f2/D/seq: No such file or directory
+/usr/bin/bash: line 11: outdir/f1/B/f2/D/stderr: No such file or directory
+/usr/bin/bash: line 12: outdir/f1/B/f2/D/stdout: No such file or directory
/usr/bin/time -f %e parallel -N0 -j64 sleep 1 :::: num128
9
/usr/bin/time -f %e parallel -N0 sleep 1 :::: num128
@@ -499,8 +499,8 @@
sleep 1
echo 0 > my_jobs
wait
-parallel: Warning: Only enough file handles to run 248 jobs in parallel.
-parallel: Warning: Try running 'parallel -j0 -N 248 --pipe parallel -j0'
+parallel: Warning: Only enough file handles to run 247 jobs in parallel.
+parallel: Warning: Try running 'parallel -j0 -N 247 --pipe parallel -j0'
parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
parallel: Warning: or increasing /proc/sys/fs/file-max
@@ -634,7 +634,7 @@
parallel: Warning: show_signals ''
echo | parallel --termseq INT,200,TERM,100,KILL,25 \
-u --timeout 1 show_signals
-/usr/bin/bash: show_signals: command not found
+/usr/bin/bash: line 1: show_signals: command not found
parallel --load 100% echo load is less than {} job per cpu ::: 1
load is less than 1 job per cpu
parallel --noswap echo the system is not swapping ::: now
@@ -692,6 +692,7 @@
parallel -S $SERVER1 --trc {}.out cat {} ">"{}.out ::: input_file
cat input_file.out
This is input_file
+rsync: [sender] link_stat "/home/parallel/input_file.out" failed: No such file or directory (2)
echo common data > common_file
parallel --basefile common_file -S $SERVER1 \
cat common_file\; echo {} ::: foo
@@ -761,6 +762,14 @@
Supports: variables, aliases, arrays with no special chars
To install in all shells run:
env_parallel --install
+In a script you need to run this before using env_parallel:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/sem01
^
|
@@ -110,12 +110,10 @@
par_exit 31 Bash exit value 159
par_exit 31 Sem exit value 159
par_exit 31 environment: line 1: PID Bad system call (core dumped) bash -c 'kill -'$1' $$'
-par_exit 32 Bash exit value 160
-par_exit 32 Sem exit value 160
-par_exit 32 environment: line 1: PID Unknown signal 32 bash -c 'kill -'$1' $$'
-par_exit 33 Bash exit value 161
-par_exit 33 Sem exit value 161
-par_exit 33 environment: line 1: PID Unknown signal 33 bash -c 'kill -'$1' $$'
+par_exit 32 Bash exit value 0
+par_exit 32 Sem exit value 0
+par_exit 33 Bash exit value 0
+par_exit 33 Sem exit value 0
par_exit 34 Bash exit value 162
par_exit 34 Sem exit value 162
par_exit 34 environment: line 1: PID Real-time signal 0 bash -c 'kill -'$1' $$'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/sql01
^
|
@@ -55,30 +55,23 @@
### Test -r
dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
### Test --retries=s
dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
-psql: error: could not connect to server: Connection refused
- Is the server running on host "127.0.0.3" and accepting
- TCP/IP connections on port 2227?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
+psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
+ Is the server running on that host and accepting TCP/IP connections?
### Test --help -h
Usage:
sql [options] dburl [sqlcommand]
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+git1.tar.bz2/upstream/testsuite/wanted-results/sql02
^
|
@@ -37,7 +37,7 @@
3072
Current command: sqlite3
foo
-sqltest.sqlite3: SQLite 3.x database, last written using SQLite version 3031001
+sqltest.sqlite3: SQLite 3.x database, last written using SQLite version 3037002, file counter 1, database pages 2, cookie 0x1, schema 4, UTF-8, version-valid-for 1
n|t
1|Line 1
2|Line 2
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20220522+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 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 cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
+-l vagrant one-server -- exec mkdir -p ./.
+-l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./.
+-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.iLsfxCIvu . './parallel.file.
newlineX.out'
--l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
+-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxCIvu . './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 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 cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
+-l vagrant one-server -- exec mkdir -p ./.
+-l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./.
+-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.iLsfxCIvu . './parallel.file.
newlineX.out'
--l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file.
+-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxCIvu . './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;'
|