[-]
[+]
|
Changed |
_service:tar_git:parallel.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/sailfishos-chum/parallel</param>
<param name="branch"></param>
- <param name="revision">20231122+git1</param>
+ <param name="revision">20240122+git1</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Deleted |
_service:tar_git:parallel-20231122+git1.tar.bz2/upstream/testsuite/vagrant/FritsHoogland/centos39-oracle817/Vagrantfile
^
|
@@ -1,84 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-# SPDX-FileCopyrightText: 2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-# 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 = "FritsHoogland/centos39-oracle817"
-
- # 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: 80, host: 8080
- config.vm.network :forwarded_port, guest: 22, host: 50136, id: 'ssh'
-
- # 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 = "512"
- vb.memory = "300"
- vb.customize ["modifyvm", :id, "--usb", "on"]
- vb.customize ["modifyvm", :id, "--usbehci", "off"]
- 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
- # Ansible, Chef, Docker, Puppet and Salt 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
- sudo apt install perl || sudo yum install -y perl || sudo pkg install -y perl
- SHELL
- end
-end
|
[-]
[+]
|
Deleted |
_service:tar_git:parallel-20231122+git1.tar.bz2/upstream/testsuite/vagrant/tange/centos3-gone/Vagrantfile
^
|
@@ -1,81 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-# SPDX-FileCopyrightText: 2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-# 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-20240122+git1.tar.bz2/upstream/NEWS
^
|
@@ -1,3 +1,33 @@
+20240122
+
+New in this release:
+
+* --sshlogin supports ranges: server[01-12,15] 10.0.[1-10].[2-254]
+
+* --plus enables {slot-1} and {seq-1} = {%}-1 and {#}-1 to count from 0.
+
+* env_parallel.{sh,ash,dash,bash,ksh,zsh} is now the same script.
+
+* Bug fixes and man page updates.
+
+
+20231222
+
+New in this release:
+
+* --combine-exec combines GNU Parallel with any executable.
+
+* Bug fixes and man page updates.
+
+News about GNU Parallel:
+
+* The first GNU Parallel video that seems to be completely AI
+ generated: https://www.youtube.com/watch?v=Ie8eAhlEHOg
+
+* GNU Parallel and “fail immediately if any fails” problem
+ https://antiarchitect.medium.com/gnu-parallel-and-fail-immediately-if-any-fails-problem-481ddea690ba
+
+
20231122
New in this release:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+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-20231122.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20231122.tar.bz2.sig
- gpg parallel-20231122.tar.bz2.sig
- bzip2 -dc parallel-20231122.tar.bz2 | tar xvf -
- cd parallel-20231122
+ wget https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2.sig
+ gpg parallel-20240122.tar.bz2.sig
+ bzip2 -dc parallel-20240122.tar.bz2 | tar xvf -
+ cd parallel-20240122
./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-20231122.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20231122.tar.bz2.sig
- gpg parallel-20231122.tar.bz2.sig
- bzip2 -dc parallel-20231122.tar.bz2 | tar xvf -
- cd parallel-20231122
+ wget https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2.sig
+ gpg parallel-20240122.tar.bz2.sig
+ bzip2 -dc parallel-20240122.tar.bz2 | tar xvf -
+ cd parallel-20240122
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
@@ -122,8 +122,8 @@
When using programs that use GNU Parallel to process data for
publication please cite:
- Tange, O. (2023, November 22). GNU Parallel 20231122 ('Grindavík').
- Zenodo. https://doi.org/10.5281/zenodo.10199085
+ Tange, O. (2024, January 22). GNU Parallel 20240122 ('Frederik X').
+ Zenodo. https://doi.org/10.5281/zenodo.10558745
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/configure
^
|
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for parallel 20231122.
+# Generated by GNU Autoconf 2.71 for parallel 20240122.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@@ -610,8 +610,8 @@
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20231122'
-PACKAGE_STRING='parallel 20231122'
+PACKAGE_VERSION='20240122'
+PACKAGE_STRING='parallel 20240122'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@@ -1246,7 +1246,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures parallel 20231122 to adapt to many kinds of systems.
+\`configure' configures parallel 20240122 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1313,7 +1313,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of parallel 20231122:";;
+ short | recursive ) echo "Configuration of parallel 20240122:";;
esac
cat <<\_ACEOF
@@ -1390,7 +1390,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-parallel configure 20231122
+parallel configure 20240122
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1427,7 +1427,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by parallel $as_me 20231122, which was
+It was created by parallel $as_me 20240122, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -2379,7 +2379,7 @@
# Define the identity of the package.
PACKAGE='parallel'
- VERSION='20231122'
+ VERSION='20240122'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -3026,7 +3026,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by parallel $as_me 20231122, which was
+This file was extended by parallel $as_me 20240122, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3090,7 +3090,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-parallel config.status 20231122
+parallel config.status 20240122
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/configure.ac
^
|
@@ -1,4 +1,4 @@
-AC_INIT([parallel],[20231122],[bug-parallel@gnu.org])
+AC_INIT([parallel],[20240122],[bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/doc/haikus
^
|
@@ -4,6 +4,7 @@
Quote of the month:
+
GNU parallel ftw
-- hostux.social/@rmpr @_paulmairo@twitter
@@ -15,6 +16,23 @@
write a haiku about gnu parallel and the :::+ option
+ Stop paralyzing start parallelizing
+ -- @harshgandhi100@YouTube
+
+ GNU Parallel and Tmux are the two tools I rely on daily for my work. Indispensable.
+ -- @mitchelvalentino1569@YouTube
+
+ The most glorious 15,000 lines of Perl ever written.
+ -- @nibblrrr7124@YouTube
+
+
+ parallel is frickin great for launching jobs on multiple
+ machines. Ansible and Jenkins and others may be good too but I was
+ able to jump right in with parallel.
+ -- dwhite21787@reddit
+
+ Big fan of GNU parallel!
+ -- lovelyloafers@reddit
I’m a big fan of GNU parallel!
-- Scott Cain @scottjcain@twitter
@@ -213,6 +231,12 @@
=== Used ===
+ GNU Parallel alone provides more value than moreutils
+ -- Ferret7446@news.ycombinator.com
+
+Parallel is so damn good! You’ve got to use it.
+ -- @ThePrimeTimeagen@youtube.com
+
Got around to using GNU parallel for the first time from a suggestion by @jdwasmuth ... now I'm wishing I started using this years ago
-- Stefan Gavriliuc @GavriliucStefan@twitter
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/doc/release_new_version
^
|
@@ -38,7 +38,7 @@
https://zenodo.org/deposit/new
Do you already have a DOI for this upload? No
-(Reserve DOI)
+(Get a DOI now!)
Resource type: Software
GNU Parallel 20xxxx22 ('Xxxx')
Add creator: Person
@@ -54,8 +54,7 @@
[Save]
-10.5281/zenodo.4381888
-DOINO=3956817
+DOI=10.5281/zenodo.4381888
SPCTAG='Privacy Shield'
# Update version
@@ -274,27 +273,28 @@
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
-Subject: GNU Parallel 20231122 ('Perry<<>>') released <<[stable]>>
+Subject: GNU Parallel 20240122 ('Frederik X') released
-GNU Parallel 20231122 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
+GNU Parallel 20240122 ('Frederik X') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
- Got around to using GNU parallel for the first time from a suggestion by @jdwasmuth ... now I'm wishing I started using this years ago
- -- Stefan Gavriliuc @GavriliucStefan@twitter
-
+ GNU Parallel alone provides more value than moreutils
+ -- Ferret7446@news.ycombinator.com
+
New in this release:
-* -a file1 -a +file2 will link file2 to file1 similar to ::::+
+* --sshlogin supports ranges: server[01-12,15] 10.0.[1-10].[2-254]
+
+* --plus enables {slot-1} and {seq-1} = {%}-1 and {#}-1 to count from 0.
-* --bar shows total time when all jobs are done.
+* env_parallel.{sh,ash,dash,bash,ksh,zsh} is now the same script.
* Bug fixes and man page updates.
News about GNU Parallel:
-* Using GNU Parallel in bash scripts to optimize python processes
- https://climate-cms.org/posts/2023-11-02-gnu-parallel.html
+* <<>>
GNU Parallel - For people who live life in the parallel lane.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/packager/obs/README
^
|
@@ -1,4 +1,6 @@
make
-Edit home\:tange/parallel/parallel.spec
-Then go to https://build.opensuse.org/package/files?package=parallel&project=home%3Atange
-and add all the files
+Check that the .spec looks ok: home\:tange/parallel/parallel.spec
+
+Then go to
+https://build.opensuse.org/package/files?package=parallel&project=home%3Atange
+for status.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/packager/obs/home-tange/parallel/.osc/_files
^
|
@@ -1,8 +1,8 @@
-<directory name="parallel" rev="380" vrev="2" srcmd5="b4c607559e7426c692eea3e056a82bb7">
+<directory name="parallel" rev="383" vrev="2" srcmd5="bff8bdaf4b92073489319c65b662e66d">
<entry name="Makefile" md5="a165cdcca90c744dc5a5b17cde72ad8e" size="1182" mtime="1698101769" />
- <entry name="PKGBUILD" md5="31dcf1dd50e82729f300b954b2f6ce1e" size="714" mtime="1700699803" />
- <entry name="parallel-20231122.tar.bz2" md5="ea1d46d922bbe0f8c179f01d06046ba7" size="2526069" mtime="1700699804" />
- <entry name="parallel.spec" md5="240e17b0a3a255a05de17097afe5a991" size="6224" mtime="1700699804" />
- <entry name="parallel_20231122.dsc" md5="657c77879e09eb8d5fa1bc80111931f9" size="556" mtime="1700699804" />
- <entry name="parallel_20231122.tar.gz" md5="f85f6ce79a4b1ea64a282effc1059e21" size="2802667" mtime="1700699805" />
+ <entry name="PKGBUILD" md5="f3824101e43b5d4b0274d8faeaf8a42b" size="714" mtime="1706058997" />
+ <entry name="parallel-20240122.tar.bz2" md5="b127719ee7084fe359385805eddb96d7" size="2586008" mtime="1706059000" />
+ <entry name="parallel.spec" md5="287678d487318da5021591b141f83e70" size="6224" mtime="1706059001" />
+ <entry name="parallel_20240122.dsc" md5="b118659d64cbb338fb3545925f135b60" size="556" mtime="1706059002" />
+ <entry name="parallel_20240122.tar.gz" md5="afaf310110de5b00ea50acdf1c5e77f7" size="2830093" mtime="1706059005" />
</directory>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+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: 20231122
+Version: 20240122
Release: 2.1
License: GPL-3.0-or-later
Group: Productivity/File utilities
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/packager/releasescripts/updateversion
^
|
@@ -3,25 +3,31 @@
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
+# Set DOI and SPCTAG then run this
+
updater() {
- export DOINO
+ export DOI
export TAG
export SPCTAG
export YYYYMMDD=`yyyymmdd`
- export DOI=10.5281/zenodo.$DOINO
export YYYY=${YYYYMMDD:0:4}
export YYYYMM=${YYYYMMDD:0:6}
export YYYYMMDD=${YYYYMM}22
export MON=`date +%b`
export MONTH=`date +%B`
+ # Space Tag => SpaceTag
TAG=$(echo $SPCTAG | perl -pe 's/ //g')
- echo Tag=$TAG=\"$SPCTAG\" Date:$YYYYMMDD Year:$YYYY Mon:$MON Month:$MONTH DOI:$DOI
+ # DOI=10.5281/zenodo.
+ # DOINO=10428184
+ DOINO=$(echo $DOI | perl -pe 's/.*\.//')
+ export DOINO
+ echo Tag=$TAG=\"$SPCTAG\" Date:$YYYYMMDD Year:$YYYY Mon:$MON Month:$MONTH DOI:$DOI DOINO=$DOINO
export TITLE="GNU Parallel $YYYYMMDD ('$SPCTAG')"
- if [ -z "$DOINO" ] ; then
- echo '*** Set DOINO and try again ***'
- echo 'https://zenodo.org/deposit/new (Reserve DOI)'
- echo '[Save]'
+ if [ -z "$DOI" ] ; then
+ echo '*** Set DOI and try again ***'
+ echo 'https://zenodo.org/deposit/new (Get a DOI now!)'
+ echo '[Save draft]'
cat .last-doitag.txt
echo . .last-doitag.txt
return
@@ -32,11 +38,12 @@
echo . .last-doitag.txt
return
fi
- echo "export DOINO=$DOINO" > .last-doitag.txt
+ echo "export DOI=$DOI" > .last-doitag.txt
+ echo "export DOINO=$DOINO" >> .last-doitag.txt
echo "export TAG='$TAG'" >> .last-doitag.txt
echo "export SPCTAG='$SPCTAG'" >> .last-doitag.txt
echo "export YYYYMMDD=$YYYYMMDD" >> .last-doitag.txt
- echo 'echo "$DOINO $YYYYMMDD ($TAG)"' >> .last-doitag.txt
+ echo 'echo "$DOINO $DOI $YYYYMMDD ($TAG)"' >> .last-doitag.txt
perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" configure.ac
perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/sql
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/Makefile.am
^
|
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2002-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2002-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/christmastree
^
|
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
=head1 NAME
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
grepq() {
@@ -79,9 +79,11 @@
cat <<'_EOS'
+You have called the dummy script "env_parallel".
+
env_parallel only works if it is a function.
-Do this and restart your shell:
+You need to do this and restart your shell:
bash: Put this in $HOME/.bashrc: . env_parallel.bash
E.g. by doing: echo '. env_parallel.bash' >> $HOME/.bashrc
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.ash
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env ash
-# This file must be sourced in ash:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
-# . env_parallel.ash
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
+# source env_parallel.bash
+# source env_parallel.ksh
+# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,14 +31,36 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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
+# shellcheck disable=SC2006
env_parallel() {
- # based on env_parallel.sh
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT="sh"
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
# alias fails on Unixware 5
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
@@ -42,7 +70,22 @@
fi
done
}
+ _names_of_ALIASES_bash() {
+ # No aliases will return false. This error should be ignored.
+ # shellcheck disable=SC3044
+ compgen -a || true
+ }
+ _names_of_ALIASES_ksh() {
+ alias | perl -pe 's/=.*//'
+ }
+ _names_of_ALIASES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)aliases}
+ }
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
# alias may return:
# myalias='definition' (GNU/Linux ash)
# alias myalias='definition' (FreeBSD ash)
@@ -51,23 +94,104 @@
echo 'alias '"`alias "$_i" | perl -pe '1..1 and s/^alias //'`"
done
}
+ _bodies_of_ALIASES_bash() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ # shellcheck disable=SC2046
+ if [ $(alias "$_i" | wc -l) = 1 ] ; then
+ true Alias is a single line. Good.
+ else
+ _warning_PAR "Alias '$_i' contains newline."
+ _warning_PAR "Make sure the command has at least one newline after '$_i'."
+ _warning_PAR "See BUGS in 'man env_parallel'."
+ fi
+ done
+ alias "$@"
+ }
+ _bodies_of_ALIASES_ksh() {
+ alias "$@" | perl -pe 's/^/alias /;
+ sub warning { print STDERR "env_parallel: Warning: @_\n"; }
+ if(/^alias (\S+)=\$.*\\n/) {
+ warning("Alias \"$1\" contains newline.");
+ warning("Make sure the command has at least one newline after \"$1\".");
+ warning("See BUGS in \"man env_parallel\".");
+ }'
+
+ }
+ _bodies_of_ALIASES_zsh() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ echo 'alias '"$(alias "$_i")"
+ done
+ }
+ _names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ compgen -A function
+ }
_names_of_maybe_FUNCTIONS() {
set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
}
- _names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_sh() {
# 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"'
}
+ _names_of_FUNCTIONS_ksh() {
+ # shellcheck disable=SC3044
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)functions}
+ }
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
}
+ _bodies_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
+ functions "$@"
+ }
+ _bodies_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
_names_of_VARIABLES() {
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
# This may screw up if variables contain \n and =
set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
}
+ _names_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ compgen -A variable
+ }
+ _names_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset +p |
+ perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ uniq
+ }
+ _names_of_VARIABLES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)parameters}
+ }
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
# Crappy typeset -p
for _i in "$@"
do
@@ -77,13 +201,44 @@
echo
done
}
+ _bodies_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
+ # Copying $RANDOM will cause it not to be random
+ # The rest cannot be detected as read-only
+ echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
+ }
+ _ignore_HARDCODED_ksh() {
# These names cannot be detected
echo '(_|TIMEOUT|IFS)'
}
+ _ignore_HARDCODED_zsh() {
+ # These names cannot be detected
+ echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
+ }
_ignore_READONLY() {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
- readonly | perl -e '@r = map {
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -98,6 +253,19 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ # shellcheck disable=SC3044
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -132,7 +300,7 @@
_names_of_maybe_FUNCTIONS|
_parallel_exit_CODE|
_prefix_PARALLEL_ENV|
- _prefix_PARALLEL_ENV|
+ _prefix_PARALLEL_ENV_bash|
_remove_bad_NAMES|
_remove_readonly|
_variable_NAMES|
@@ -146,6 +314,15 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
+ _prefix_PARALLEL_ENV_bash() {
+ # shellcheck disable=SC3044
+ shopt 2>/dev/null |
+ perl -pe 's:\s+off:;: and s/^/shopt -u /;
+ s:\s+on:;: and s/^/shopt -s /;
+ s:;$:&>/dev/null;:';
+ echo 'shopt -s expand_aliases &>/dev/null';
+ }
+
_get_ignored_VARS() {
perl -e '
for(@ARGV){
@@ -309,19 +486,50 @@
fi
unset _variable_NAMES
- # shellcheck disable=SC2006
- PARALLEL_ENV="`
- $_list_alias_BODIES;
- $_list_function_BODIES;
- $_list_variable_VALUES;
- `"
+ if $_eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_prefix_PARALLEL_ENV;
+ eval $_list_alias_BODIES;
+ eval $_list_function_BODIES;
+ eval $_list_variable_VALUES;
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
- unset _remove_bad_NAMES _grep_REGEXP
+ unset _remove_bad_NAMES _grep_REGEXP _parse_READONLY
unset _prefix_PARALLEL_ENV
+ unset _ignore_READONLY_sh _ignore_READONLY_bash
+ unset _ignore_READONLY_ksh _ignore_READONLY_zsh
+ unset _ignore_HARDCODED_sh _ignore_HARDCODED_bash
+ unset _ignore_HARDCODED_ksh _ignore_HARDCODED_zsh
+ unset _bodies_of_ALIASES_ksh _bodies_of_ALIASES_sh
+ unset _bodies_of_ALIASES_zsh _bodies_of_FUNCTIONS_bash
+ unset _bodies_of_FUNCTIONS_ksh _bodies_of_FUNCTIONS_sh
+ unset _bodies_of_FUNCTIONS_zsh _bodies_of_VARIABLES_bash
+ unset _bodies_of_VARIABLES_ksh _bodies_of_VARIABLES_sh
+ unset _bodies_of_VARIABLES_zsh
+ unset _names_of_ALIASES _names_of_ALIASES_bash
+ unset _names_of_ALIASES_ksh _names_of_ALIASES_sh
+ unset _names_of_ALIASES_zsh _names_of_FUNCTIONS
+ unset _names_of_FUNCTIONS_bash _names_of_FUNCTIONS_ksh
+ unset _names_of_FUNCTIONS_sh _names_of_FUNCTIONS_zsh
+ unset _names_of_VARIABLES _names_of_VARIABLES_bash
+ unset _names_of_VARIABLES_ksh _names_of_VARIABLES_sh
+ unset _names_of_VARIABLES_zsh _names_of_maybe_FUNCTIONS
+
# Test if environment is too big by running 'true'
# shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
@@ -393,8 +601,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
@@ -412,7 +620,7 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
- # shellcheck disable=SC2039,SC2169
+ # shellcheck disable=SC2039,SC2169,SC3044
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.bash
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env bash
-# This file must be sourced in bash:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
# source env_parallel.bash
+# source env_parallel.ksh
+# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,22 +31,75 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT="sh"
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
+ # alias fails on Unixware 5
+ 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"
+ fi
+ done
+ }
+ _names_of_ALIASES_bash() {
# No aliases will return false. This error should be ignored.
+ # shellcheck disable=SC3044
compgen -a || true
}
+ _names_of_ALIASES_ksh() {
+ alias | perl -pe 's/=.*//'
+ }
+ _names_of_ALIASES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)aliases}
+ }
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
+ # alias may return:
+ # myalias='definition' (GNU/Linux ash)
+ # 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 //'`"
+ done
+ }
+ _bodies_of_ALIASES_bash() {
+ # shellcheck disable=SC3043
local _i
for _i in "$@"; do
# shellcheck disable=SC2046
- if [ $(alias "$_i" | wc -l) == 1 ] ; then
+ if [ $(alias "$_i" | wc -l) = 1 ] ; then
true Alias is a single line. Good.
else
_warning_PAR "Alias '$_i' contains newline."
@@ -50,26 +109,140 @@
done
alias "$@"
}
+ _bodies_of_ALIASES_ksh() {
+ alias "$@" | perl -pe 's/^/alias /;
+ sub warning { print STDERR "env_parallel: Warning: @_\n"; }
+ if(/^alias (\S+)=\$.*\\n/) {
+ warning("Alias \"$1\" contains newline.");
+ warning("Make sure the command has at least one newline after \"$1\".");
+ warning("See BUGS in \"man env_parallel\".");
+ }'
+
+ }
+ _bodies_of_ALIASES_zsh() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ echo 'alias '"$(alias "$_i")"
+ done
+ }
_names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
compgen -A function
}
+ _names_of_maybe_FUNCTIONS() {
+ set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
+ }
+ _names_of_FUNCTIONS_sh() {
+ # 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"'
+ }
+ _names_of_FUNCTIONS_ksh() {
+ # shellcheck disable=SC3044
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)functions}
+ }
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
+ LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
+ }
+ _bodies_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
+ functions "$@"
+ }
+ _bodies_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC3044
typeset -f "$@"
}
_names_of_VARIABLES() {
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
+ # This may screw up if variables contain \n and =
+ set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
+ }
+ _names_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
compgen -A variable
}
+ _names_of_VARIABLES_ksh() {
+ # mksh: typeset +p |
+ # perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ # uniq
+ # ksh: typeset +p | perl -pe 's/^typeset .. //'
+ # shellcheck disable=SC3044
+ typeset +p |
+ perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ uniq
+ }
+ _names_of_VARIABLES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)parameters}
+ }
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
+ # Crappy typeset -p
+ for _i in "$@"
+ do
+ perl -e 'print @ARGV' "$_i="
+ 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
+ }
+ _bodies_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
+ # shellcheck disable=SC3044
typeset -p "$@"
}
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
# Copying $RANDOM will cause it not to be random
# The rest cannot be detected as read-only
echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
}
+ _ignore_HARDCODED_ksh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_zsh() {
+ # These names cannot be detected
+ echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
+ }
_ignore_READONLY() {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
- readonly | perl -e '@r = map {
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -84,6 +257,19 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ # shellcheck disable=SC3044
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -118,7 +304,7 @@
_names_of_maybe_FUNCTIONS|
_parallel_exit_CODE|
_prefix_PARALLEL_ENV|
- _prefix_PARALLEL_ENV|
+ _prefix_PARALLEL_ENV_bash|
_remove_bad_NAMES|
_remove_readonly|
_variable_NAMES|
@@ -132,7 +318,8 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
- _prefix_PARALLEL_ENV() {
+ _prefix_PARALLEL_ENV_bash() {
+ # shellcheck disable=SC3044
shopt 2>/dev/null |
perl -pe 's:\s+off:;: and s/^/shopt -u /;
s:\s+on:;: and s/^/shopt -s /;
@@ -207,9 +394,9 @@
echo "env_parallel: Error: $*" >&2
}
- # Bash is broken in version 3.2.25 and 4.2.39
- # The crazy '[ "`...`" == "" ]' is needed for the same reason
- if [ "`_which_PAR parallel`" == "" ]; then
+ 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
@@ -226,9 +413,7 @@
unset _get_ignored_VARS
# --record-env
- # Bash is broken in version 3.2.25 and 4.2.39
- # The crazy '[ "`...`" == 0 ]' is needed for the same reason
- if [ "`perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; echo $?`" == 0 ] ; then
+ if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
true skip
else
(_names_of_ALIASES;
@@ -239,9 +424,7 @@
fi
# --session
- # Bash is broken in version 3.2.25 and 4.2.39
- # The crazy '[ "`...`" == 0 ]' is needed for the same reason
- if [ "`perl -e 'exit grep { /^--session$/ } @ARGV' -- "$@"; echo $?`" == 0 ] ; then
+ if perl -e 'exit grep { /^--session$/ } @ARGV' -- "$@"; then
true skip
else
# Insert ::: between each level of session
@@ -266,9 +449,7 @@
export PARALLEL_IGNORED_NAMES
return 0
fi
- # Bash is broken in version 3.2.25 and 4.2.39
- # The crazy '[ "`...`" == 0 ]' is needed for the same reason
- if [ "`perl -e 'exit grep { /^--end.?session$/ } @ARGV' -- "$@"; echo $?`" == 0 ] ; then
+ if perl -e 'exit grep { /^--end.?session$/ } @ARGV' -- "$@"; then
true skip
else
# Pop off last ::: from PARALLEL_IGNORED_NAMES
@@ -309,24 +490,53 @@
fi
unset _variable_NAMES
- _which_TRUE="`_which_PAR true`"
- # Copy shopt (so e.g. extended globbing works)
- # But force expand_aliases as aliases otherwise do not work
- PARALLEL_ENV="`
- _prefix_PARALLEL_ENV
- $_list_alias_BODIES;
- $_list_function_BODIES;
- $_list_variable_VALUES;
- `"
+ if $_eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_prefix_PARALLEL_ENV;
+ eval $_list_alias_BODIES;
+ eval $_list_function_BODIES;
+ eval $_list_variable_VALUES;
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
- unset _remove_bad_NAMES _grep_REGEXP
+ unset _remove_bad_NAMES _grep_REGEXP _parse_READONLY
unset _prefix_PARALLEL_ENV
- # Test if environment is too big
- if [ "`_which_PAR true`" == "$_which_TRUE" ] ; then
+ unset _ignore_READONLY_sh _ignore_READONLY_bash
+ unset _ignore_READONLY_ksh _ignore_READONLY_zsh
+ unset _ignore_HARDCODED_sh _ignore_HARDCODED_bash
+ unset _ignore_HARDCODED_ksh _ignore_HARDCODED_zsh
+ unset _bodies_of_ALIASES_ksh _bodies_of_ALIASES_sh
+ unset _bodies_of_ALIASES_zsh _bodies_of_FUNCTIONS_bash
+ unset _bodies_of_FUNCTIONS_ksh _bodies_of_FUNCTIONS_sh
+ unset _bodies_of_FUNCTIONS_zsh _bodies_of_VARIABLES_bash
+ unset _bodies_of_VARIABLES_ksh _bodies_of_VARIABLES_sh
+ unset _bodies_of_VARIABLES_zsh
+ unset _names_of_ALIASES _names_of_ALIASES_bash
+ unset _names_of_ALIASES_ksh _names_of_ALIASES_sh
+ unset _names_of_ALIASES_zsh _names_of_FUNCTIONS
+ unset _names_of_FUNCTIONS_bash _names_of_FUNCTIONS_ksh
+ unset _names_of_FUNCTIONS_sh _names_of_FUNCTIONS_zsh
+ unset _names_of_VARIABLES _names_of_VARIABLES_bash
+ unset _names_of_VARIABLES_ksh _names_of_VARIABLES_sh
+ unset _names_of_VARIABLES_zsh _names_of_maybe_FUNCTIONS
+
+ # 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=$?
# Clean up variables/functions
@@ -395,8 +605,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
@@ -414,7 +624,7 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
- # shellcheck disable=SC2039,SC2169
+ # shellcheck disable=SC2039,SC2169,SC3044
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.csh
^
|
@@ -7,7 +7,7 @@
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
set _parallel_exit_CODE=0
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.dash
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env dash
-# This file must be sourced in dash:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
-# . env_parallel.dash
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
+# source env_parallel.bash
+# source env_parallel.ksh
+# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,14 +31,36 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT="sh"
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
# alias fails on Unixware 5
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
@@ -42,7 +70,22 @@
fi
done
}
+ _names_of_ALIASES_bash() {
+ # No aliases will return false. This error should be ignored.
+ # shellcheck disable=SC3044
+ compgen -a || true
+ }
+ _names_of_ALIASES_ksh() {
+ alias | perl -pe 's/=.*//'
+ }
+ _names_of_ALIASES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)aliases}
+ }
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
# alias may return:
# myalias='definition' (GNU/Linux ash)
# alias myalias='definition' (FreeBSD ash)
@@ -51,23 +94,104 @@
echo 'alias '"`alias "$_i" | perl -pe '1..1 and s/^alias //'`"
done
}
+ _bodies_of_ALIASES_bash() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ # shellcheck disable=SC2046
+ if [ $(alias "$_i" | wc -l) = 1 ] ; then
+ true Alias is a single line. Good.
+ else
+ _warning_PAR "Alias '$_i' contains newline."
+ _warning_PAR "Make sure the command has at least one newline after '$_i'."
+ _warning_PAR "See BUGS in 'man env_parallel'."
+ fi
+ done
+ alias "$@"
+ }
+ _bodies_of_ALIASES_ksh() {
+ alias "$@" | perl -pe 's/^/alias /;
+ sub warning { print STDERR "env_parallel: Warning: @_\n"; }
+ if(/^alias (\S+)=\$.*\\n/) {
+ warning("Alias \"$1\" contains newline.");
+ warning("Make sure the command has at least one newline after \"$1\".");
+ warning("See BUGS in \"man env_parallel\".");
+ }'
+
+ }
+ _bodies_of_ALIASES_zsh() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ echo 'alias '"$(alias "$_i")"
+ done
+ }
+ _names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ compgen -A function
+ }
_names_of_maybe_FUNCTIONS() {
set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
}
- _names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_sh() {
# 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"'
}
+ _names_of_FUNCTIONS_ksh() {
+ # shellcheck disable=SC3044
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)functions}
+ }
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
}
+ _bodies_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
+ functions "$@"
+ }
+ _bodies_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
_names_of_VARIABLES() {
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
# This may screw up if variables contain \n and =
set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
}
+ _names_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ compgen -A variable
+ }
+ _names_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset +p |
+ perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ uniq
+ }
+ _names_of_VARIABLES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)parameters}
+ }
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
# Crappy typeset -p
for _i in "$@"
do
@@ -77,13 +201,44 @@
echo
done
}
+ _bodies_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
+ # Copying $RANDOM will cause it not to be random
+ # The rest cannot be detected as read-only
+ echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
+ }
+ _ignore_HARDCODED_ksh() {
# These names cannot be detected
echo '(_|TIMEOUT|IFS)'
}
+ _ignore_HARDCODED_zsh() {
+ # These names cannot be detected
+ echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
+ }
_ignore_READONLY() {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
- readonly | perl -e '@r = map {
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -98,6 +253,19 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ # shellcheck disable=SC3044
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -132,7 +300,7 @@
_names_of_maybe_FUNCTIONS|
_parallel_exit_CODE|
_prefix_PARALLEL_ENV|
- _prefix_PARALLEL_ENV|
+ _prefix_PARALLEL_ENV_bash|
_remove_bad_NAMES|
_remove_readonly|
_variable_NAMES|
@@ -146,6 +314,15 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
+ _prefix_PARALLEL_ENV_bash() {
+ # shellcheck disable=SC3044
+ shopt 2>/dev/null |
+ perl -pe 's:\s+off:;: and s/^/shopt -u /;
+ s:\s+on:;: and s/^/shopt -s /;
+ s:;$:&>/dev/null;:';
+ echo 'shopt -s expand_aliases &>/dev/null';
+ }
+
_get_ignored_VARS() {
perl -e '
for(@ARGV){
@@ -309,19 +486,50 @@
fi
unset _variable_NAMES
- # shellcheck disable=SC2006
- PARALLEL_ENV="`
- $_list_alias_BODIES;
- $_list_function_BODIES;
- $_list_variable_VALUES;
- `"
+ if $_eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_prefix_PARALLEL_ENV;
+ eval $_list_alias_BODIES;
+ eval $_list_function_BODIES;
+ eval $_list_variable_VALUES;
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
- unset _remove_bad_NAMES _grep_REGEXP
+ unset _remove_bad_NAMES _grep_REGEXP _parse_READONLY
unset _prefix_PARALLEL_ENV
+ unset _ignore_READONLY_sh _ignore_READONLY_bash
+ unset _ignore_READONLY_ksh _ignore_READONLY_zsh
+ unset _ignore_HARDCODED_sh _ignore_HARDCODED_bash
+ unset _ignore_HARDCODED_ksh _ignore_HARDCODED_zsh
+ unset _bodies_of_ALIASES_ksh _bodies_of_ALIASES_sh
+ unset _bodies_of_ALIASES_zsh _bodies_of_FUNCTIONS_bash
+ unset _bodies_of_FUNCTIONS_ksh _bodies_of_FUNCTIONS_sh
+ unset _bodies_of_FUNCTIONS_zsh _bodies_of_VARIABLES_bash
+ unset _bodies_of_VARIABLES_ksh _bodies_of_VARIABLES_sh
+ unset _bodies_of_VARIABLES_zsh
+ unset _names_of_ALIASES _names_of_ALIASES_bash
+ unset _names_of_ALIASES_ksh _names_of_ALIASES_sh
+ unset _names_of_ALIASES_zsh _names_of_FUNCTIONS
+ unset _names_of_FUNCTIONS_bash _names_of_FUNCTIONS_ksh
+ unset _names_of_FUNCTIONS_sh _names_of_FUNCTIONS_zsh
+ unset _names_of_VARIABLES _names_of_VARIABLES_bash
+ unset _names_of_VARIABLES_ksh _names_of_VARIABLES_sh
+ unset _names_of_VARIABLES_zsh _names_of_maybe_FUNCTIONS
+
# Test if environment is too big by running 'true'
# shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
@@ -393,8 +601,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
@@ -412,7 +620,7 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
- # shellcheck disable=SC2039,SC2169
+ # shellcheck disable=SC2039,SC2169,SC3044
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.fish
^
|
@@ -7,7 +7,7 @@
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
# If you are a fisherman feel free to improve the code
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.ksh
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env ksh
-# This file must be sourced in ksh:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
+# source env_parallel.bash
# source env_parallel.ksh
+# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,17 +31,85 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT="sh"
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
+ # alias fails on Unixware 5
+ 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"
+ fi
+ done
+ }
+ _names_of_ALIASES_bash() {
+ # No aliases will return false. This error should be ignored.
+ # shellcheck disable=SC3044
+ compgen -a || true
+ }
+ _names_of_ALIASES_ksh() {
alias | perl -pe 's/=.*//'
}
+ _names_of_ALIASES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)aliases}
+ }
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
+ # alias may return:
+ # myalias='definition' (GNU/Linux ash)
+ # 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 //'`"
+ done
+ }
+ _bodies_of_ALIASES_bash() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ # shellcheck disable=SC2046
+ if [ $(alias "$_i" | wc -l) = 1 ] ; then
+ true Alias is a single line. Good.
+ else
+ _warning_PAR "Alias '$_i' contains newline."
+ _warning_PAR "Make sure the command has at least one newline after '$_i'."
+ _warning_PAR "See BUGS in 'man env_parallel'."
+ fi
+ done
+ alias "$@"
+ }
+ _bodies_of_ALIASES_ksh() {
alias "$@" | perl -pe 's/^/alias /;
sub warning { print STDERR "env_parallel: Warning: @_\n"; }
if(/^alias (\S+)=\$.*\\n/) {
@@ -45,28 +119,126 @@
}'
}
- _names_of_maybe_FUNCTIONS() {
- true not used
+ _bodies_of_ALIASES_zsh() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ echo 'alias '"$(alias "$_i")"
+ done
}
_names_of_FUNCTIONS() {
- typeset +p -f | perl -pe 's/\(\).*//'
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ compgen -A function
+ }
+ _names_of_maybe_FUNCTIONS() {
+ set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
+ }
+ _names_of_FUNCTIONS_sh() {
+ # 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"'
+ }
+ _names_of_FUNCTIONS_ksh() {
+ # shellcheck disable=SC3044
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)functions}
}
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
+ LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
+ }
+ _bodies_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
functions "$@"
}
+ _bodies_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
_names_of_VARIABLES() {
- typeset +p | perl -pe 's/^typeset .. //'
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
+ # This may screw up if variables contain \n and =
+ set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
+ }
+ _names_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ compgen -A variable
+ }
+ _names_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset +p |
+ perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ uniq
+ }
+ _names_of_VARIABLES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)parameters}
}
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
+ # Crappy typeset -p
+ for _i in "$@"
+ do
+ perl -e 'print @ARGV' "$_i="
+ 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
+ }
+ _bodies_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
+ # shellcheck disable=SC3044
typeset -p "$@"
}
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
+ # Copying $RANDOM will cause it not to be random
+ # The rest cannot be detected as read-only
+ echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
+ }
+ _ignore_HARDCODED_ksh() {
# These names cannot be detected
echo '(_|TIMEOUT|IFS)'
}
+ _ignore_HARDCODED_zsh() {
+ # These names cannot be detected
+ echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
+ }
_ignore_READONLY() {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
- readonly | perl -e '@r = map {
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -81,6 +253,19 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ # shellcheck disable=SC3044
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -115,7 +300,7 @@
_names_of_maybe_FUNCTIONS|
_parallel_exit_CODE|
_prefix_PARALLEL_ENV|
- _prefix_PARALLEL_ENV|
+ _prefix_PARALLEL_ENV_bash|
_remove_bad_NAMES|
_remove_readonly|
_variable_NAMES|
@@ -129,6 +314,15 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
+ _prefix_PARALLEL_ENV_bash() {
+ # shellcheck disable=SC3044
+ shopt 2>/dev/null |
+ perl -pe 's:\s+off:;: and s/^/shopt -u /;
+ s:\s+on:;: and s/^/shopt -s /;
+ s:;$:&>/dev/null;:';
+ echo 'shopt -s expand_aliases &>/dev/null';
+ }
+
_get_ignored_VARS() {
perl -e '
for(@ARGV){
@@ -292,19 +486,50 @@
fi
unset _variable_NAMES
- # shellcheck disable=SC2006
- PARALLEL_ENV="`
- $_list_alias_BODIES;
- $_list_function_BODIES;
- $_list_variable_VALUES;
- `"
+ if $_eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_prefix_PARALLEL_ENV;
+ eval $_list_alias_BODIES;
+ eval $_list_function_BODIES;
+ eval $_list_variable_VALUES;
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
- unset _remove_bad_NAMES _grep_REGEXP
+ unset _remove_bad_NAMES _grep_REGEXP _parse_READONLY
unset _prefix_PARALLEL_ENV
+ unset _ignore_READONLY_sh _ignore_READONLY_bash
+ unset _ignore_READONLY_ksh _ignore_READONLY_zsh
+ unset _ignore_HARDCODED_sh _ignore_HARDCODED_bash
+ unset _ignore_HARDCODED_ksh _ignore_HARDCODED_zsh
+ unset _bodies_of_ALIASES_ksh _bodies_of_ALIASES_sh
+ unset _bodies_of_ALIASES_zsh _bodies_of_FUNCTIONS_bash
+ unset _bodies_of_FUNCTIONS_ksh _bodies_of_FUNCTIONS_sh
+ unset _bodies_of_FUNCTIONS_zsh _bodies_of_VARIABLES_bash
+ unset _bodies_of_VARIABLES_ksh _bodies_of_VARIABLES_sh
+ unset _bodies_of_VARIABLES_zsh
+ unset _names_of_ALIASES _names_of_ALIASES_bash
+ unset _names_of_ALIASES_ksh _names_of_ALIASES_sh
+ unset _names_of_ALIASES_zsh _names_of_FUNCTIONS
+ unset _names_of_FUNCTIONS_bash _names_of_FUNCTIONS_ksh
+ unset _names_of_FUNCTIONS_sh _names_of_FUNCTIONS_zsh
+ unset _names_of_VARIABLES _names_of_VARIABLES_bash
+ unset _names_of_VARIABLES_ksh _names_of_VARIABLES_sh
+ unset _names_of_VARIABLES_zsh _names_of_maybe_FUNCTIONS
+
# Test if environment is too big by running 'true'
# shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
@@ -376,8 +601,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
@@ -395,7 +620,7 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
- # shellcheck disable=SC2039,SC2169
+ # shellcheck disable=SC2039,SC2169,SC3044
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.mksh
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env ksh
-# This file must be sourced in mksh:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
+# source env_parallel.bash
+# source env_parallel.ksh
# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,17 +31,82 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT=sh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
+ # alias fails on Unixware 5
+ 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"
+ fi
+ done
+ }
+ _names_of_ALIASES_bash() {
+ # No aliases will return false. This error should be ignored.
+ compgen -a || true
+ }
+ _names_of_ALIASES_ksh() {
alias | perl -pe 's/=.*//'
}
+ _names_of_ALIASES_zsh() {
+ print -l ${(k)aliases}
+ }
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
+ # alias may return:
+ # myalias='definition' (GNU/Linux ash)
+ # 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 //'`"
+ done
+ }
+ _bodies_of_ALIASES_bash() {
+ local _i
+ for _i in "$@"; do
+ # shellcheck disable=SC2046
+ if [ $(alias "$_i" | wc -l) == 1 ] ; then
+ true Alias is a single line. Good.
+ else
+ _warning_PAR "Alias '$_i' contains newline."
+ _warning_PAR "Make sure the command has at least one newline after '$_i'."
+ _warning_PAR "See BUGS in 'man env_parallel'."
+ fi
+ done
+ alias "$@"
+ }
+ _bodies_of_ALIASES_ksh() {
alias "$@" | perl -pe 's/^/alias /;
sub warning { print STDERR "env_parallel: Warning: @_\n"; }
if(/^alias (\S+)=\$.*\\n/) {
@@ -45,30 +116,120 @@
}'
}
- _names_of_maybe_FUNCTIONS() {
- true not used
+ _bodies_of_ALIASES_zsh() {
+ local _i
+ for _i in "$@"; do
+ echo 'alias '"$(alias $_i)"
+ done
}
_names_of_FUNCTIONS() {
- typeset +f
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ compgen -A function
+ }
+ _names_of_maybe_FUNCTIONS() {
+ set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
+ }
+ _names_of_FUNCTIONS_sh() {
+ # 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"'
+ }
+ _names_of_FUNCTIONS_ksh() {
+ # mksh = typeset +f
+ # ksh = typeset +p -f | perl -pe 's/\(\).*//'
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ print -l ${(k)functions}
}
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
+ LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
+ }
+ _bodies_of_FUNCTIONS_bash() {
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
+ functions "$@"
+ }
+ _bodies_of_FUNCTIONS_zsh() {
typeset -f "$@"
}
_names_of_VARIABLES() {
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
+ # This may screw up if variables contain \n and =
+ set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
+ }
+ _names_of_VARIABLES_bash() {
+ compgen -A variable
+ }
+ _names_of_VARIABLES_ksh() {
+ # mksh: typeset +p |
+ # perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ # uniq
+ # ksh: typeset +p | perl -pe 's/^typeset .. //'
typeset +p |
perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
uniq
}
+ _names_of_VARIABLES_zsh() {
+ print -l ${(k)parameters}
+ }
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
+ # Crappy typeset -p
+ for _i in "$@"
+ do
+ perl -e 'print @ARGV' "$_i="
+ 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
+ }
+ _bodies_of_VARIABLES_bash() {
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
typeset -p "$@"
}
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
# These names cannot be detected
- echo '(_)'
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
+ # Copying $RANDOM will cause it not to be random
+ # The rest cannot be detected as read-only
+ echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
+ }
+ _ignore_HARDCODED_ksh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_zsh() {
+ # These names cannot be detected
+ echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
}
_ignore_READONLY() {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
- readonly | perl -e '@r = map {
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -83,6 +244,18 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -131,6 +304,14 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
+ _prefix_PARALLEL_ENV_bash() {
+ shopt 2>/dev/null |
+ perl -pe 's:\s+off:;: and s/^/shopt -u /;
+ s:\s+on:;: and s/^/shopt -s /;
+ s:;$:&>/dev/null;:';
+ echo 'shopt -s expand_aliases &>/dev/null';
+ }
+
_get_ignored_VARS() {
perl -e '
for(@ARGV){
@@ -294,13 +475,24 @@
fi
unset _variable_NAMES
- # shellcheck disable=SC2006
- PARALLEL_ENV="`
- $_list_alias_BODIES;
- $_list_function_BODIES;
- $_list_variable_VALUES;
- `"
+ if $eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_list_alias_BODIES;
+ eval $_list_function_BODIES;
+ eval $_list_variable_VALUES;
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
@@ -378,8 +570,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.pdksh
^
|
@@ -7,7 +7,7 @@
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
env_parallel() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -25,37 +25,44 @@
If the shell function is not loaded, a dummy script will be run
instead that explains how to install the function.
-B<env_parallel> is 100 ms slower at startup than pure GNU
-B<parallel>, and takes up to 30% longer to start a job (typically 15 ms).
+B<env_parallel> is 100 ms slower at startup than pure GNU B<parallel>,
+and takes up to 30% longer to start a job (typically 15 ms).
-Due to the problem with environment space (see below) the recommended
-usage is either:
+Due to the problem with environment space (see below) you are
+recommended only to transfer the environment that you need.
- # Do --record-env into $PARALLEL_IGNORED_NAMES
- env_parallel --session
+To help you do that, you can mark names that should not be
+transferred. This can be done with either B<--session> or
+B<--record-env>.
+
+ # Record the "clean" environment (this only needs to be run once)
+ env_parallel --record-env
+
+ # Optionally edit ~/.parallel/ignored_vars (only needed once)
# Define whatever you want to use
myfunc() { myalias and functions $myvar work. $1.; }
alias myalias='echo Aliases'
myvar='and variables'
- # env_parallel will not export names in $PARALLEL_IGNORED_NAMES
- env_parallel -S localhost myfunc ::: Hooray
+ # Use --env _ to only transfer the names not in the "empty" environment
+ env_parallel --env _ -S localhost myfunc ::: Hooray
Or:
- # Record the "clean" environment (this only needs to be run once)
- env_parallel --record-env
-
- # Optionally edit ~/.parallel/ignored_vars (only needed once)
+ # Do --record-env into $PARALLEL_IGNORED_NAMES
+ env_parallel --session
# Define whatever you want to use
myfunc() { myalias and functions $myvar work. $1.; }
alias myalias='echo Aliases'
myvar='and variables'
- # Use --env _ to only transfer the names not in the "empty" environment
- env_parallel --env _ -S localhost myfunc ::: Hooray
+ # env_parallel will not export names in $PARALLEL_IGNORED_NAMES
+ env_parallel -S localhost myfunc ::: Hooray
+
+ # Optionally
+ env_parallel --end-session
In B<csh> B<--session> is not supported:
@@ -807,7 +814,7 @@
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.sh
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env sh
-# This file must be sourced in sh:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
-# . `which env_parallel.sh`
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
+# source env_parallel.bash
+# source env_parallel.ksh
+# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,14 +31,36 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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.sh
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT="sh"
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
# alias fails on Unixware 5
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
@@ -42,7 +70,22 @@
fi
done
}
+ _names_of_ALIASES_bash() {
+ # No aliases will return false. This error should be ignored.
+ # shellcheck disable=SC3044
+ compgen -a || true
+ }
+ _names_of_ALIASES_ksh() {
+ alias | perl -pe 's/=.*//'
+ }
+ _names_of_ALIASES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)aliases}
+ }
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
# alias may return:
# myalias='definition' (GNU/Linux ash)
# alias myalias='definition' (FreeBSD ash)
@@ -51,23 +94,104 @@
echo 'alias '"`alias "$_i" | perl -pe '1..1 and s/^alias //'`"
done
}
+ _bodies_of_ALIASES_bash() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ # shellcheck disable=SC2046
+ if [ $(alias "$_i" | wc -l) = 1 ] ; then
+ true Alias is a single line. Good.
+ else
+ _warning_PAR "Alias '$_i' contains newline."
+ _warning_PAR "Make sure the command has at least one newline after '$_i'."
+ _warning_PAR "See BUGS in 'man env_parallel'."
+ fi
+ done
+ alias "$@"
+ }
+ _bodies_of_ALIASES_ksh() {
+ alias "$@" | perl -pe 's/^/alias /;
+ sub warning { print STDERR "env_parallel: Warning: @_\n"; }
+ if(/^alias (\S+)=\$.*\\n/) {
+ warning("Alias \"$1\" contains newline.");
+ warning("Make sure the command has at least one newline after \"$1\".");
+ warning("See BUGS in \"man env_parallel\".");
+ }'
+
+ }
+ _bodies_of_ALIASES_zsh() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ echo 'alias '"$(alias "$_i")"
+ done
+ }
+ _names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ compgen -A function
+ }
_names_of_maybe_FUNCTIONS() {
set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
}
- _names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_sh() {
# 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"'
}
+ _names_of_FUNCTIONS_ksh() {
+ # shellcheck disable=SC3044
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)functions}
+ }
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
}
+ _bodies_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
+ functions "$@"
+ }
+ _bodies_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
_names_of_VARIABLES() {
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
# This may screw up if variables contain \n and =
set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
}
+ _names_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ compgen -A variable
+ }
+ _names_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset +p |
+ perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ uniq
+ }
+ _names_of_VARIABLES_zsh() {
+ # shellcheck disable=SC2086,SC2296
+ print -l ${(k)parameters}
+ }
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
# Crappy typeset -p
for _i in "$@"
do
@@ -77,13 +201,44 @@
echo
done
}
+ _bodies_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
+ # Copying $RANDOM will cause it not to be random
+ # The rest cannot be detected as read-only
+ echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
+ }
+ _ignore_HARDCODED_ksh() {
# These names cannot be detected
echo '(_|TIMEOUT|IFS)'
}
+ _ignore_HARDCODED_zsh() {
+ # These names cannot be detected
+ echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
+ }
_ignore_READONLY() {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
# shellcheck disable=SC1078,SC1079,SC2026
- readonly | perl -e '@r = map {
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -98,6 +253,19 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ # shellcheck disable=SC3044
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -132,7 +300,7 @@
_names_of_maybe_FUNCTIONS|
_parallel_exit_CODE|
_prefix_PARALLEL_ENV|
- _prefix_PARALLEL_ENV|
+ _prefix_PARALLEL_ENV_bash|
_remove_bad_NAMES|
_remove_readonly|
_variable_NAMES|
@@ -146,6 +314,15 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
+ _prefix_PARALLEL_ENV_bash() {
+ # shellcheck disable=SC3044
+ shopt 2>/dev/null |
+ perl -pe 's:\s+off:;: and s/^/shopt -u /;
+ s:\s+on:;: and s/^/shopt -s /;
+ s:;$:&>/dev/null;:';
+ echo 'shopt -s expand_aliases &>/dev/null';
+ }
+
_get_ignored_VARS() {
perl -e '
for(@ARGV){
@@ -309,19 +486,50 @@
fi
unset _variable_NAMES
- # shellcheck disable=SC2006
- PARALLEL_ENV="`
- $_list_alias_BODIES;
- $_list_function_BODIES;
- $_list_variable_VALUES;
- `"
+ if $_eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_prefix_PARALLEL_ENV;
+ eval $_list_alias_BODIES;
+ eval $_list_function_BODIES;
+ eval $_list_variable_VALUES;
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
- unset _remove_bad_NAMES _grep_REGEXP
+ unset _remove_bad_NAMES _grep_REGEXP _parse_READONLY
unset _prefix_PARALLEL_ENV
+ unset _ignore_READONLY_sh _ignore_READONLY_bash
+ unset _ignore_READONLY_ksh _ignore_READONLY_zsh
+ unset _ignore_HARDCODED_sh _ignore_HARDCODED_bash
+ unset _ignore_HARDCODED_ksh _ignore_HARDCODED_zsh
+ unset _bodies_of_ALIASES_ksh _bodies_of_ALIASES_sh
+ unset _bodies_of_ALIASES_zsh _bodies_of_FUNCTIONS_bash
+ unset _bodies_of_FUNCTIONS_ksh _bodies_of_FUNCTIONS_sh
+ unset _bodies_of_FUNCTIONS_zsh _bodies_of_VARIABLES_bash
+ unset _bodies_of_VARIABLES_ksh _bodies_of_VARIABLES_sh
+ unset _bodies_of_VARIABLES_zsh
+ unset _names_of_ALIASES _names_of_ALIASES_bash
+ unset _names_of_ALIASES_ksh _names_of_ALIASES_sh
+ unset _names_of_ALIASES_zsh _names_of_FUNCTIONS
+ unset _names_of_FUNCTIONS_bash _names_of_FUNCTIONS_ksh
+ unset _names_of_FUNCTIONS_sh _names_of_FUNCTIONS_zsh
+ unset _names_of_VARIABLES _names_of_VARIABLES_bash
+ unset _names_of_VARIABLES_ksh _names_of_VARIABLES_sh
+ unset _names_of_VARIABLES_zsh _names_of_maybe_FUNCTIONS
+
# Test if environment is too big by running 'true'
# shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
@@ -393,8 +601,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
@@ -412,7 +620,7 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
- # shellcheck disable=SC2039,SC2169
+ # shellcheck disable=SC2039,SC2169,SC3044
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.tcsh
^
|
@@ -7,7 +7,7 @@
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,7 +25,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
set _parallel_exit_CODE=0
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/env_parallel.zsh
^
|
@@ -1,13 +1,19 @@
#!/usr/bin/env zsh
-# This file must be sourced in zsh:
+# This file must be sourced in sh/ash/dash/bash/ksh/mksh/zsh:
#
-# source =env_parallel.zsh
+# . env_parallel.sh
+# source env_parallel.ash
+# source env_parallel.dash
+# source env_parallel.bash
+# source env_parallel.ksh
+# source env_parallel.mksh
+# source env_parallel.zsh
#
# after which 'env_parallel' works
#
#
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -25,40 +31,214 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 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
+ # env_parallel.{sh,ash,dash,bash,ksh,mksh,zsh}
+ # Check shell dialect
+ if [ -n "$BASH_VERSION" ]; then
+ _shell_DIALECT=bash
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=_prefix_PARALLEL_ENV_bash
+ elif [ -n "$ZSH_VERSION" ]; then
+ _shell_DIALECT=zsh
+ _eval_needed=true
+ _prefix_PARALLEL_ENV=false
+ elif [ -n "$KSH_VERSION" ]; then
+ _shell_DIALECT=ksh
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ else
+ # Dash/ash - can these be detected better?
+ _shell_DIALECT="sh"
+ _eval_needed=false
+ _prefix_PARALLEL_ENV=false
+ fi
_names_of_ALIASES() {
+ _names_of_ALIASES_$_shell_DIALECT
+ }
+ _names_of_ALIASES_sh() {
+ # alias fails on Unixware 5
+ 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"
+ fi
+ done
+ }
+ _names_of_ALIASES_bash() {
+ # No aliases will return false. This error should be ignored.
+ # shellcheck disable=SC3044
+ compgen -a || true
+ }
+ _names_of_ALIASES_ksh() {
+ alias | perl -pe 's/=.*//'
+ }
+ _names_of_ALIASES_zsh() {
+ # shellcheck disable=SC2086,SC2296
print -l ${(k)aliases}
}
_bodies_of_ALIASES() {
+ _bodies_of_ALIASES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_ALIASES_sh() {
+ # alias may return:
+ # myalias='definition' (GNU/Linux ash)
+ # 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 //'`"
+ done
+ }
+ _bodies_of_ALIASES_bash() {
+ # shellcheck disable=SC3043
+ local _i
+ for _i in "$@"; do
+ # shellcheck disable=SC2046
+ if [ $(alias "$_i" | wc -l) = 1 ] ; then
+ true Alias is a single line. Good.
+ else
+ _warning_PAR "Alias '$_i' contains newline."
+ _warning_PAR "Make sure the command has at least one newline after '$_i'."
+ _warning_PAR "See BUGS in 'man env_parallel'."
+ fi
+ done
+ alias "$@"
+ }
+ _bodies_of_ALIASES_ksh() {
+ alias "$@" | perl -pe 's/^/alias /;
+ sub warning { print STDERR "env_parallel: Warning: @_\n"; }
+ if(/^alias (\S+)=\$.*\\n/) {
+ warning("Alias \"$1\" contains newline.");
+ warning("Make sure the command has at least one newline after \"$1\".");
+ warning("See BUGS in \"man env_parallel\".");
+ }'
+
+ }
+ _bodies_of_ALIASES_zsh() {
+ # shellcheck disable=SC3043
local _i
- for _i ($@); do
- echo 'alias '"$(alias $_i)"
+ for _i in "$@"; do
+ echo 'alias '"$(alias "$_i")"
done
}
_names_of_FUNCTIONS() {
+ _names_of_FUNCTIONS_$_shell_DIALECT
+ }
+ _names_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ compgen -A function
+ }
+ _names_of_maybe_FUNCTIONS() {
+ set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
+ }
+ _names_of_FUNCTIONS_sh() {
+ # 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"'
+ }
+ _names_of_FUNCTIONS_ksh() {
+ # shellcheck disable=SC3044
+ typeset +f | perl -pe 's/\(\).*//; s/ .*//;'
+ }
+ _names_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC2086,SC2296
print -l ${(k)functions}
}
_bodies_of_FUNCTIONS() {
+ _bodies_of_FUNCTIONS_$_shell_DIALECT "$@"
+ }
+ _bodies_of_FUNCTIONS_sh() {
+ LANG=C type "$@" | perl -ne '/^(\S+) is a function$/ or print'
+ }
+ _bodies_of_FUNCTIONS_bash() {
+ # shellcheck disable=SC3044
+ typeset -f "$@"
+ }
+ _bodies_of_FUNCTIONS_ksh() {
+ functions "$@"
+ }
+ _bodies_of_FUNCTIONS_zsh() {
+ # shellcheck disable=SC3044
typeset -f "$@"
}
_names_of_VARIABLES() {
+ _names_of_VARIABLES_$_shell_DIALECT
+ }
+ _names_of_VARIABLES_sh() {
+ # This may screw up if variables contain \n and =
+ set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
+ }
+ _names_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ compgen -A variable
+ }
+ _names_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset +p |
+ perl -pe 's/^(type)?set( [-+][a-zA-Z0-9]*)* //; s/(\[\d+\])?=.*//' |
+ uniq
+ }
+ _names_of_VARIABLES_zsh() {
+ # shellcheck disable=SC2086,SC2296
print -l ${(k)parameters}
}
_bodies_of_VARIABLES() {
+ _bodies_of_VARIABLES_$_shell_DIALECT "$@"
+ }
+ _bodies_of_VARIABLES_sh() {
+ # Crappy typeset -p
+ for _i in "$@"
+ do
+ perl -e 'print @ARGV' "$_i="
+ 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
+ }
+ _bodies_of_VARIABLES_bash() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_ksh() {
+ # shellcheck disable=SC3044
+ typeset -p "$@"
+ }
+ _bodies_of_VARIABLES_zsh() {
+ # shellcheck disable=SC3044
typeset -p "$@"
}
_ignore_HARDCODED() {
+ _ignore_HARDCODED_$_shell_DIALECT
+ }
+ _ignore_HARDCODED_sh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_bash() {
+ # Copying $RANDOM will cause it not to be random
+ # The rest cannot be detected as read-only
+ echo '(RANDOM|_|TIMEOUT|GROUPS|FUNCNAME|DIRSTACK|PIPESTATUS|USERNAME|BASHPID|BASH_[A-Z_]+)'
+ }
+ _ignore_HARDCODED_ksh() {
+ # These names cannot be detected
+ echo '(_|TIMEOUT|IFS)'
+ }
+ _ignore_HARDCODED_zsh() {
# These names cannot be detected
echo '([-\?\#\!\$\*\@\_0]|zsh_eval_context|ZSH_EVAL_CONTEXT|LINENO|IFS|commands|functions|options|aliases|EUID|EGID|UID|GID|dis_patchars|patchars|terminfo|galiases|keymaps|parameters|jobdirs|dirstack|functrace|funcsourcetrace|zsh_scheduled_events|dis_aliases|dis_reswords|dis_saliases|modules|reswords|saliases|widgets|userdirs|historywords|nameddirs|termcap|dis_builtins|dis_functions|jobtexts|funcfiletrace|dis_galiases|builtins|history|jobstates|funcstack|run-help)'
}
_ignore_READONLY() {
- typeset -pr | perl -e '@r = map {
+ _ignore_READONLY_$_shell_DIALECT
+ }
+ _parse_READONLY() {
+ # shellcheck disable=SC1078,SC1079,SC2026
+ perl -e '@r = map {
chomp;
# sh on UnixWare: readonly TIMEOUT
# ash: readonly var='val'
@@ -73,6 +253,19 @@
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
'
}
+ _ignore_READONLY_sh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_bash() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_ksh() {
+ readonly | _parse_READONLY
+ }
+ _ignore_READONLY_zsh() {
+ # shellcheck disable=SC3044
+ typeset -pr | _parse_READONLY
+ }
_remove_bad_NAMES() {
# Do not transfer vars and funcs from env_parallel
# shellcheck disable=SC2006
@@ -107,7 +300,7 @@
_names_of_maybe_FUNCTIONS|
_parallel_exit_CODE|
_prefix_PARALLEL_ENV|
- _prefix_PARALLEL_ENV|
+ _prefix_PARALLEL_ENV_bash|
_remove_bad_NAMES|
_remove_readonly|
_variable_NAMES|
@@ -121,6 +314,15 @@
/^'"$_ignore_HARD"'$/ and next;
print;'
}
+ _prefix_PARALLEL_ENV_bash() {
+ # shellcheck disable=SC3044
+ shopt 2>/dev/null |
+ perl -pe 's:\s+off:;: and s/^/shopt -u /;
+ s:\s+on:;: and s/^/shopt -s /;
+ s:;$:&>/dev/null;:';
+ echo 'shopt -s expand_aliases &>/dev/null';
+ }
+
_get_ignored_VARS() {
perl -e '
for(@ARGV){
@@ -284,19 +486,50 @@
fi
unset _variable_NAMES
- # shellcheck disable=SC2006
- PARALLEL_ENV="`
+ if $_eval_needed ; then
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ eval $_prefix_PARALLEL_ENV;
eval $_list_alias_BODIES;
- eval $_list_function_BODIES;
+ eval $_list_function_BODIES;
eval $_list_variable_VALUES;
- `"
+ `"
+ else
+ # shellcheck disable=SC2006
+ PARALLEL_ENV="`
+ $_prefix_PARALLEL_ENV;
+ $_list_alias_BODIES;
+ $_list_function_BODIES;
+ $_list_variable_VALUES;
+ `"
+ fi
export PARALLEL_ENV
+ # Free up some env space
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
- unset _remove_bad_NAMES _grep_REGEXP
+ unset _remove_bad_NAMES _grep_REGEXP _parse_READONLY
unset _prefix_PARALLEL_ENV
+ unset _ignore_READONLY_sh _ignore_READONLY_bash
+ unset _ignore_READONLY_ksh _ignore_READONLY_zsh
+ unset _ignore_HARDCODED_sh _ignore_HARDCODED_bash
+ unset _ignore_HARDCODED_ksh _ignore_HARDCODED_zsh
+ unset _bodies_of_ALIASES_ksh _bodies_of_ALIASES_sh
+ unset _bodies_of_ALIASES_zsh _bodies_of_FUNCTIONS_bash
+ unset _bodies_of_FUNCTIONS_ksh _bodies_of_FUNCTIONS_sh
+ unset _bodies_of_FUNCTIONS_zsh _bodies_of_VARIABLES_bash
+ unset _bodies_of_VARIABLES_ksh _bodies_of_VARIABLES_sh
+ unset _bodies_of_VARIABLES_zsh
+ unset _names_of_ALIASES _names_of_ALIASES_bash
+ unset _names_of_ALIASES_ksh _names_of_ALIASES_sh
+ unset _names_of_ALIASES_zsh _names_of_FUNCTIONS
+ unset _names_of_FUNCTIONS_bash _names_of_FUNCTIONS_ksh
+ unset _names_of_FUNCTIONS_sh _names_of_FUNCTIONS_zsh
+ unset _names_of_VARIABLES _names_of_VARIABLES_bash
+ unset _names_of_VARIABLES_ksh _names_of_VARIABLES_sh
+ unset _names_of_VARIABLES_zsh _names_of_maybe_FUNCTIONS
+
# Test if environment is too big by running 'true'
# shellcheck disable=SC2006,SC2092
if `_which_PAR true` >/dev/null 2>/dev/null ; then
@@ -368,8 +601,8 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20231122 (GNU parallel `parallel --minversion 1`)"
- echo "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software"
+ echo "parset 20240122 (GNU parallel `parallel --minversion 1`)"
+ echo "Copyright (C) 2007-2024 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>"
echo "This is free software: you are free to change and redistribute it."
@@ -387,7 +620,7 @@
# Bash: declare -A myassoc=( )
# Zsh: typeset -A myassoc=( )
# Ksh: typeset -A myassoc=( )
- # shellcheck disable=SC2039,SC2169
+ # shellcheck disable=SC2039,SC2169,SC3044
if (typeset -p "$_parset_NAME" 2>/dev/null; echo) |
perl -ne 'exit not (/^declare[^=]+-A|^typeset[^=]+-A/)' ; then
# This is an associative array
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/niceload
^
|
@@ -2,7 +2,7 @@
# Copyright (C) 2004-2010 Ole Tange, http://ole.tange.dk
#
-# Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and
+# Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and
# Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -20,13 +20,13 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
use strict;
use Getopt::Long;
$Global::progname="niceload";
-$Global::version = 20231122;
+$Global::version = 20240122;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/niceload.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -309,7 +309,7 @@
Copyright (C) 2005-2010 Ole Tange, http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
=head1 LICENSE
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
-# Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2007-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2007-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
# open3 used in Job::start
@@ -299,7 +299,7 @@
my $file = shift;
my $output_fd = shift;
open(my $fh, "<", $file) || do {
- print STDERR "parcat: Cannot open $file\n";
+ print STDERR "parcat: Cannot open $file: $!\n";
exit(1);
};
# Remove file when it has been opened
@@ -597,9 +597,9 @@
}
sub pipe_part_files(@) {
- # Given the bigfile
- # find header and split positions
- # make commands that 'cat's the partial file
+ # Given the bigfile:
+ # - find header and split positions
+ # - make commands that 'cat's the partial file
# Input:
# $file = the file to read
# Returns:
@@ -612,7 +612,7 @@
::wait_and_exit(255);
}
- my $fh = open_or_exit($file);
+ my $fh = open_or_exit("<",$file);
my $firstlinelen = 0;
if($opt::skip_first_line) {
my $newline;
@@ -694,7 +694,7 @@
my @pos;
my ($recstart,$recend) = recstartrecend();
my $recendrecstart = $recend.$recstart;
- my $fh = ::open_or_exit($file);
+ my $fh = ::open_or_exit("<",$file);
push(@pos,$skiplen);
for(my $pos = $block+$skiplen; $pos < $size; $pos += $block) {
my $buf;
@@ -812,7 +812,7 @@
my ($file,$size,$block,$header,$firstlinelen) = @_;
my @pos;
- $fh = open_or_exit($file);
+ $fh = open_or_exit("<",$file);
# Set $Global::group_by_column $Global::group_by_perlexpr
group_by_loop($fh,$opt::recsep);
if($opt::max_args) {
@@ -2132,6 +2132,10 @@
"embed[Embed GNU parallel in a shell script]" => \$opt::embed,
("filter=s[Only run jobs where filter is true]:filter"
=> \@opt::filter),
+ "combineexec|combine-exec|combineexecutable|combine-executable=s".
+ "[Embed GNU parallel in a shell script]" => \$opt::combineexec,
+ ("filter=s[Only run jobs where filter is true]:filter"
+ => \@opt::filter),
"_parset=s[Generate shell code for parset]" => \$opt::_parset,
("shell-completion|shellcompletion=s".
"[Generate shell code for shell completion]:shell:(bash zsh)"
@@ -2222,7 +2226,6 @@
init_globals();
my @argv_before = @ARGV;
@ARGV = read_options();
-
# Before changing these line, please read
# 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
@@ -2367,16 +2370,8 @@
push @Global::transfer_files, @opt::transfer_files;
if(%opt::template) {
while (my ($source, $template_name) = each %opt::template) {
- if(open(my $tmpl, "<", $source)) {
- local $/; # $/ = undef => slurp whole file
- my $content = <$tmpl>;
- push @Global::template_names, $template_name;
- push @Global::template_contents, $content;
- ::debug("tmpl","Name: $template_name\n$content\n");
- } else {
- ::error("Cannot open '$source'.");
- wait_and_exit(255);
- }
+ push @Global::template_names, $template_name;
+ push @Global::template_contents, slurp_or_exit($source);
}
}
if(not defined $opt::recstart and
@@ -2523,7 +2518,12 @@
$Global::ContextReplace = 1;
}
# Deal with ::: :::+ :::: ::::+ and -a +file
+ my @ARGV_with_argsep = @ARGV;
@ARGV = read_args_from_command_line();
+ if(defined $opt::combineexec) {
+ pack_combined_executable(\@argv_before,\@ARGV_with_argsep,\@ARGV);
+ exit(0);
+ }
parse_semaphore();
if(defined $opt::eta) { $opt::progress = $opt::eta; }
@@ -2652,11 +2652,7 @@
delete $ENV{'PARALLEL_ENV'};
if(-e $penv) {
# This is a file/fifo: Replace envvar with content of file
- open(my $parallel_env, "<", $penv) ||
- ::die_bug("Cannot read parallel_env from $penv");
- local $/; # Put <> in slurp mode
- $penv = <$parallel_env>;
- close $parallel_env;
+ $penv = slurp_or_exit($penv);
}
# Map \001 to \n to make it easer to quote \n in $PARALLEL_ENV
$penv =~ s/\001/\n/g;
@@ -2798,7 +2794,7 @@
sub init_globals() {
# Defaults:
- $Global::version = 20231122;
+ $Global::version = 20240122;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@@ -2846,12 +2842,16 @@
'{uniq}' => 'if(::uniq(@arg) != @arg) { skip(); }',
# {##} = number of jobs
'{##}' => '1 $_=total_jobs()',
+ # {0#} = 0-padded seq
+ '{0#}' => ('1 $f=1+int((log(total_jobs())/log(10)));'.
+ '$_=sprintf("%0${f}d",seq())'),
# {0%} = 0-padded jobslot
'{0%}' => ('1 $f=1+int((log($Global::max_jobs_running||1)/log(10)));'.
'$_=sprintf("%0${f}d",slot())'),
- # {0%} = 0-padded seq
- '{0#}' => ('1 $f=1+int((log(total_jobs())/log(10)));'.
- '$_=sprintf("%0${f}d",seq())'),
+ # {seq-1} = seq-1 = counting from 0
+ '{seq(.*?)}' => '$_=eval q{$job->seq()}.qq{$$1}',
+ # {seq-1} = jobslot-1 = counting from 0
+ '{slot(.*?)}' => '$_=eval q{$job->slot()}.qq{$$1}',
## Bash inspired replacement strings
# Bash ${a:-myval}
@@ -3143,12 +3143,7 @@
# Record current %ENV-keys in $PARALLEL_HOME/ignored_vars
# Returns: N/A
my $ignore_filename = $Global::config_dir . "/ignored_vars";
- if(open(my $vars_fh, ">", $ignore_filename)) {
- print $vars_fh map { $_,"\n" } keys %ENV;
- } else {
- ::error("Cannot write to $ignore_filename.");
- ::wait_and_exit(255);
- }
+ write_or_exit($ignore_filename,map { $_,"\n" } keys %ENV);
}
sub open_joblog() {
@@ -3256,24 +3251,17 @@
}
if($opt::dryrun) {
# Do not write to joblog in a dry-run
- if(not open($Global::joblog, ">", "/dev/null")) {
- ::error("Cannot write to --joblog $opt::joblog.");
- ::wait_and_exit(255);
- }
+
} elsif($append) {
# Append to joblog
- if(not open($Global::joblog, ">>", $opt::joblog)) {
- ::error("Cannot append to --joblog $opt::joblog.");
- ::wait_and_exit(255);
- }
+ $Global::joblog = open_or_exit(">>", $opt::joblog);
} else {
if($opt::joblog eq "-") {
# Use STDOUT as joblog
$Global::joblog = $Global::fh{1};
- } elsif(not open($Global::joblog, ">", $opt::joblog)) {
+ } else {
# Overwrite the joblog
- ::error("Cannot write to --joblog $opt::joblog.");
- ::wait_and_exit(255);
+ $Global::joblog = open_or_exit(">", $opt::joblog);
}
print $Global::joblog
join("\t", "Seq", "Host", "Starttime", "JobRuntime",
@@ -3301,11 +3289,7 @@
$Global::fh{1} = $fd;
$Global::fh{2} = $fd;
} elsif($Global::csvsep or $Global::jsonout) {
- if(not open($Global::csv_fh,">",$opt::results)) {
- ::error("Cannot open results file `$opt::results': ".
- "$!.");
- wait_and_exit(255);
- }
+ $Global::csv_fh = open_or_exit(">",$opt::results);
}
}
}
@@ -3486,7 +3470,7 @@
return @ARGV;
}
-sub arrayindex() {
+sub arrayindex($$) {
# Similar to Perl's index function, but for arrays
# Input:
# $arr_ref1 = ref to @array1 to search in
@@ -3894,30 +3878,67 @@
}
}
-sub open_or_exit($) {
+sub open_or_exit($$) {
# Open a file name or exit if the file cannot be opened
# Inputs:
+ # $mode = read:"<" write:">"
# $file = filehandle or filename to open
# Uses:
# $Global::original_stdin
# Returns:
- # $fh = file handle to read-opened file
+ # $fh = file handle to opened file
+ my $mode = shift;
my $file = shift;
if($file eq "-") {
- return ($Global::original_stdin || *STDIN);
+ if($mode eq "<") {
+ return ($Global::original_stdin || *STDIN);
+ } else {
+ return ($Global::original_stderr || *STDERR);
+ }
}
if(ref $file eq "GLOB") {
# This is an open filehandle
return $file;
}
my $fh = gensym;
- if(not open($fh, "<", $file)) {
- ::error("Cannot open input file `$file': No such file or directory.");
+ if(not open($fh, $mode, $file)) {
+ ::error("Cannot open `$file': $!");
wait_and_exit(255);
}
return $fh;
}
+sub slurp_or_exit($) {
+ # Read content of a file or exit if the file cannot be opened
+ # Inputs:
+ # $file = filehandle or filename to open
+ # Returns:
+ # $content = content as scalar
+ my $fh = open_or_exit("<",shift);
+ # $/ = undef => slurp whole file
+ local $/;
+ my $content = <$fh>;
+ close $fh;
+ return $content;
+}
+
+sub write_or_exit(@) {
+ # Write content to a file or exit if the file cannot be opened
+ # Inputs:
+ # $file = filehandle or filename to open
+ # @content = content to be written
+ # Returns:
+ # N/A
+ my $file = shift;
+ sub failed {
+ error("Cannot write to `$file': $!");
+ wait_and_exit(255);
+ }
+ my $fh = open_or_exit(">",$file);
+ print($fh @_) or failed();
+ close($fh) or failed();
+}
+
sub set_fh_blocking($) {
# Set filehandle as blocking
# Inputs:
@@ -4255,9 +4276,11 @@
if($opt::bar) {
return("","");
}
- my %progress = progress();
- return ("\nComputers / CPU cores / Max jobs to run\n",
- $progress{'workerlist'});
+ my $progress = progress();
+ my $cpu_units = $opt::use_sockets_instead_of_threads ? "CPU sockets" :
+ ($opt::use_cores_instead_of_threads ? "CPU cores" : "CPU threads");
+ return ("\nComputers / $cpu_units / Max jobs to run\n",
+ $progress->{'workerlist'},"\n",$progress->{'header'});
}
sub drain_job_queue(@) {
@@ -4271,10 +4294,6 @@
# $Global::start_no_new_jobs
# Returns: N/A
my @command = @_;
- if($opt::progress) {
- ::status_no_nl(init_progress());
- }
- my $last_header = "";
my $sleep = 0.2;
my $sleepsum = 0;
do {
@@ -4289,12 +4308,8 @@
}
}
if($opt::progress) {
- my %progress = progress();
- if($last_header ne $progress{'header'}) {
- ::status("", $progress{'header'});
- $last_header = $progress{'header'};
- }
- ::status_no_nl("\r",$progress{'status'});
+ my $progress = progress();
+ ::status_no_nl("\r",$progress->{'status'});
}
if($Global::total_running < $Global::max_jobs_running
and not $Global::JobQueue->empty()) {
@@ -4356,8 +4371,8 @@
$opt::sqlmaster and not $Global::sql->finished());
$Global::all_jobs_done = 1;
if($opt::progress) {
- my %progress = progress();
- ::status("\r".$progress{'status'});
+ my $progress = progress();
+ ::status("\r".$progress->{'status'});
}
}
@@ -4372,165 +4387,148 @@
}
}
-sub progress() {
- # Uses:
- # $opt::bar
- # $opt::eta
- # %Global::host
- # $Global::total_started
- # Returns:
- # $workerlist = list of workers
- # $header = that will fit on the screen
- # $status = message that will fit on the screen
- if($opt::bar) {
- return ("workerlist" => "", "header" => "", "status" => bar());
- }
- my $eta = "";
- my ($status,$header)=("","");
- if($opt::eta) {
- my($total, $completed, $left, $pctcomplete, $avgtime, $this_eta) =
- compute_eta();
- $eta = sprintf("ETA: %ds Left: %d AVG: %.2fs ",
- $this_eta, $left, $avgtime);
- }
- my $termcols = terminal_columns();
- my @workers = sort keys %Global::host;
- my %sshlogin = map { $_ eq ":" ? ($_ => "local") : ($_ => $_) } @workers;
- my $workerno = 1;
- my %workerno = map { ($_=>$workerno++) } @workers;
- my $workerlist = "";
- for my $w (@workers) {
- $workerlist .=
- $workerno{$w}.":".$sshlogin{$w} ." / ".
- ($Global::host{$w}->ncpus() || "-")." / ".
- $Global::host{$w}->max_jobs_running()."\n";
- }
- $status = "c"x($termcols+1);
- # Select an output format that will fit on a single line
- if(length $status > $termcols) {
- # sshlogin1:XX/XX/XX%/XX.Xs s2:XX/XX/XX%/XX.Xs s3:XX/XX/XX%/XX.Xs
- $header = "Computer:jobs running/jobs completed/".
- "%of started jobs/Average seconds to complete";
- $status = $eta .
- join(" ",map
- {
- if($Global::total_started) {
- my $completed =
- ($Global::host{$_}->jobs_completed()||0);
- my $running = $Global::host{$_}->jobs_running();
- my $time = $completed ? (time-$^T)/($completed) : "0";
- sprintf("%s:%d/%d/%d%%/%.1fs ",
- $sshlogin{$_}, $running, $completed,
- ($running+$completed)*100
- / $Global::total_started, $time);
- }
- } @workers);
- }
- if(length $status > $termcols) {
- # 1:XX/XX/XX%/X.Xs 2:XX/XX/XX%/X.Xs 3:XX/XX/XX%/X.Xs 4:XX/XX/XX%/X.Xs
- $header = "Computer:jobs running/jobs completed/%of started jobs";
- $status = $eta .
- join(" ",map
- {
- if($Global::total_started) {
- my $completed =
- ($Global::host{$_}->jobs_completed()||0);
- my $running = $Global::host{$_}->jobs_running();
- my $time = $completed ? (time-$^T)/($completed) : "0";
- sprintf("%s:%d/%d/%d%%/%.1fs ",
- $workerno{$_}, $running, $completed,
- ($running+$completed)*100
- / $Global::total_started, $time);
- }
- } @workers);
- }
- if(length $status > $termcols) {
- # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX/XX%
- $header = "Computer:jobs running/jobs completed/%of started jobs";
- $status = $eta .
- join(" ",map
- {
- if($Global::total_started) {
- sprintf("%s:%d/%d/%d%%",
- $sshlogin{$_},
- $Global::host{$_}->jobs_running(),
- ($Global::host{$_}->jobs_completed()||0),
- ($Global::host{$_}->jobs_running()+
- ($Global::host{$_}->jobs_completed()||0))*100
- / $Global::total_started)
- }
- }
- @workers);
- }
- if(length $status > $termcols) {
- # 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX%
- $header = "Computer:jobs running/jobs completed/%of started jobs";
- $status = $eta .
- join(" ",map
- {
- if($Global::total_started) {
- sprintf("%s:%d/%d/%d%%",
- $workerno{$_},
- $Global::host{$_}->jobs_running(),
- ($Global::host{$_}->jobs_completed()||0),
- ($Global::host{$_}->jobs_running()+
- ($Global::host{$_}->jobs_completed()||0))*100
- / $Global::total_started)
- }
- }
- @workers);
- }
- if(length $status > $termcols) {
- # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX
- $header = "Computer:jobs running/jobs completed";
- $status = $eta .
- join(" ",
- map { sprintf("%s:%d/%d",
- $sshlogin{$_}, $Global::host{$_}->jobs_running(),
- ($Global::host{$_}->jobs_completed()||0)) }
- @workers);
- }
- if(length $status > $termcols) {
- # sshlogin1:XX/XX sshlogin2:XX/XX sshlogin3:XX/XX sshlogin4:XX/XX
- $header = "Computer:jobs running/jobs completed";
- $status = $eta .
- join(" ",
- map { sprintf("%s:%d/%d",
- $sshlogin{$_}, $Global::host{$_}->jobs_running(),
- ($Global::host{$_}->jobs_completed()||0)) }
- @workers);
- }
- if(length $status > $termcols) {
- # 1:XX/XX 2:XX/XX 3:XX/XX 4:XX/XX 5:XX/XX 6:XX/XX
- $header = "Computer:jobs running/jobs completed";
- $status = $eta .
- join(" ",
- map { sprintf("%s:%d/%d", $workerno{$_},
- $Global::host{$_}->jobs_running(),
- ($Global::host{$_}->jobs_completed()||0)) }
- @workers);
- }
- if(length $status > $termcols) {
- # sshlogin1:XX sshlogin2:XX sshlogin3:XX sshlogin4:XX sshlogin5:XX
- $header = "Computer:jobs completed";
- $status = $eta .
- join(" ",
- map { sprintf("%s:%d", $sshlogin{$_},
- ($Global::host{$_}->jobs_completed()||0)) }
- @workers);
- }
- if(length $status > $termcols) {
- # 1:XX 2:XX 3:XX 4:XX 5:XX 6:XX
- $header = "Computer:jobs completed";
- $status = $eta .
- join(" ",
- map { sprintf("%s:%d",
- $workerno{$_},
- ($Global::host{$_}->jobs_completed()||0)) }
- @workers);
+{
+ my $last_header;
+ my $eol;
+
+ sub progress() {
+ # Uses:
+ # $opt::bar
+ # $opt::eta
+ # %Global::host
+ # $Global::total_started
+ # Returns:
+ # $workerlist = list of workers
+ # $header = that will fit on the screen
+ # $status = message that will fit on the screen
+ if($opt::bar) {
+ return {"workerlist" => "", "header" => "", "status" => bar()};
+ }
+ my $eta = "";
+ my ($status,$header)=("","");
+ if($opt::eta) {
+ my($total, $completed, $left, $pctcomplete, $avgtime, $this_eta) =
+ compute_eta();
+ $eta = sprintf("ETA: %ds Left: %d AVG: %.2fs ",
+ $this_eta, $left, $avgtime);
+ }
+ my $termcols = terminal_columns();
+ my @workers = sort keys %Global::host;
+ my $workerno = 1;
+ my %wrk;
+ for my $w (@workers) {
+ my %i;
+ $i{'sshlogin'} = $w eq ":" ? "local" : $w;
+ $i{'no'} = $workerno++;
+ $i{'ncpu'} = ($Global::host{$w}->ncpus() || "-");
+ $i{'jobslots'} = $Global::host{$w}->max_jobs_running();
+ $i{'completed'} = ($Global::host{$w}->jobs_completed() || 0);
+ $i{'running'} = $Global::host{$w}->jobs_running();
+ $i{'pct'} = $Global::total_started ?
+ (($i{'running'}+$i{'completed'})*100 /
+ $Global::total_started) : 0;
+ $i{'time'} = $i{'completed'} ? (time-$^T)/($i{'completed'}) : 0;
+ $wrk{$w} = \%i;
+ }
+
+ my $workerlist = "";
+ for my $w (@workers) {
+ $workerlist .=
+ $wrk{$w}{'no'}.":".$wrk{$w}{'sshlogin'} ." / ".
+ $wrk{$w}{'ncpu'}." / ".
+ $wrk{$w}{'jobslots'}."\n";
+ }
+ # Force $status to select one of the below formats
+ $status = "c"x($termcols+1);
+ # Select an output format that will fit on a single line
+ if(length $status > $termcols) {
+ # sshlogin1:XX/XX/XX%/XX.Xs s2:XX/XX/XX%/XX.Xs s3:XX/XX/XX%/XX.Xs
+ $header = "Computer:jobs running/jobs completed/".
+ "%of started jobs/Average seconds to complete";
+ $status = $eta . join(" ",map {
+ sprintf("%s:%d/%d/%d%%/%.1fs ",
+ @{$wrk{$_}}
+ {'sshlogin','running','completed','pct','time'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # 1:XX/XX/XX%/X.Xs 2:XX/XX/XX%/X.Xs 3:XX/XX/XX%/X.Xs
+ $header = "Computer:jobs running/jobs completed/%of started jobs";
+ $status = $eta . join(" ",map {
+ sprintf("%s:%d/%d/%d%%/%.1fs ",
+ @{$wrk{$_}}
+ {'no','running','completed','pct','time'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX/XX%
+ $header = "Computer:jobs running/jobs completed/%of started jobs";
+ $status = $eta . join(" ",map {
+ sprintf("%s:%d/%d/%d%%",
+ @{$wrk{$_}}
+ {'sshlogin','running','completed','pct'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX%
+ $header = "Computer:jobs running/jobs completed/%of started jobs";
+ $status = $eta . join(" ",map {
+ sprintf("%s:%d/%d/%d%%",
+ @{$wrk{$_}}
+ {'no','running','completed','pct'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # sshlogin1:XX/XX sshlogin2:XX/XX sshlogin3:XX/XX
+ $header = "Computer:jobs running/jobs completed";
+ $status = $eta . join(" ", map {
+ sprintf("%s:%d/%d",
+ @{$wrk{$_}}
+ {'sshlogin','running','completed'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # 1:XX/XX 2:XX/XX 3:XX/XX 4:XX/XX 5:XX/XX 6:XX/XX
+ $header = "Computer:jobs running/jobs completed";
+ $status = $eta . join(" ", map {
+ sprintf("%s:%d/%d",
+ @{$wrk{$_}}
+ {'no','running','completed'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # sshlogin1:XX sshlogin2:XX sshlogin3:XX sshlogin4:XX sshlogin5:XX
+ $header = "Computer:jobs completed";
+ $status = $eta . join(" ", map {
+ sprintf("%s:%d",
+ @{$wrk{$_}}
+ {'sshlogin','completed'}
+ ); } @workers);
+ }
+ if(length $status > $termcols) {
+ # 1:XX 2:XX 3:XX 4:XX 5:XX 6:XX
+ $header = "Computer:jobs completed";
+ $status = $eta . join(" ", map {
+ sprintf("%s:%d",
+ @{$wrk{$_}}
+ {'no','completed'}
+ ); } @workers);
+ }
+ if($last_header ne $header) {
+ $header .= "\n";
+ $last_header = $header;
+ } else {
+ $header = "";
+ }
+ if(not $eol) {
+ $eol = `sh -c "tput el </dev/tty" 2>/dev/null`;
+ chomp($eol);
+ if($eol eq "") { $eol = "\033[K"; }
+ }
+
+ return {"workerlist" => $workerlist, "header" => $header,
+ "status" => $status.$eol};
}
- return ("workerlist" => $workerlist, "header" => $header,
- "status" => $status);
}
{
@@ -4805,11 +4803,7 @@
$in_fh = *STDIN;
$close = 0;
} else {
- if(not open($in_fh, "<", $file)) {
- # Try the filename
- ::error("Cannot open $file.");
- ::wait_and_exit(255);
- }
+ $in_fh = open_or_exit("<", $file);
}
while(<$in_fh>) {
chomp;
@@ -4835,6 +4829,31 @@
# @opt::basefile
# @opt::trc
# Returns: N/A
+ sub expand_range($) {
+ # Expand host[9-11,15]a[09-11]b
+ # [9-11,15] => 9 10 11 15
+ # [09-11] => 09 10 11
+ my ($in) = @_;
+ my ($prefix, $range, $suffix);
+ if(($prefix, $range, $suffix) = $in =~ /^(.*?)\[([-0-9,]*)\](.*)$/) {
+ my @res;
+ while(length $range) {
+ if($range =~ s/^,//) {
+ # skip
+ } elsif($range =~ s/^(\d+)-(\d+)//) {
+ my ($start, $end) = ($1, $2);
+ push @res, map { $prefix . $_ . $suffix } $start..$end;
+ } elsif($range =~ s/^(\d+)//) {
+ push @res, map { $prefix . $_ . $suffix } $1;
+ } else {
+ die "Cannot parse $in (at $range)";
+ }
+ }
+ return map { expand_range($_) } @res;
+ } else {
+ return $in;
+ }
+ }
my @login;
if(not @Global::sshlogin) { @Global::sshlogin = (":"); }
for my $sshlogin (@Global::sshlogin) {
@@ -4845,6 +4864,8 @@
# host2
# Protect \, and ,, as \0
$sshlogin =~ s/\\,|,,/\0/g;
+ # Protect , in ranges: [___,___] => [___\0___]
+ while($sshlogin =~ s/(\[[-0-9\0]*),(.*\])/$1\0$2/g) {}
for my $s (split /,|\n/, $sshlogin) {
# Replace \0 => ,
$s =~ s/\0/,/g;
@@ -4853,7 +4874,8 @@
read_sshloginfile(expand_slf_shorthand($s));
} else {
$s =~ s/\s*$//;
- push (@login, $s);
+ # Expand host[1-12,15]a[01-10]b
+ push @login, expand_range($s);
}
}
}
@@ -5469,8 +5491,7 @@
my %seen;
for my $joblog (@joblogs) {
# Append to $joblog
- open(my $fh, "<", $joblog) ||
- ::die_bug("Cannot open tmp joblog $joblog");
+ my $fh = open_or_exit("<", $joblog);
# Skip first line (header);
<$fh>;
print $Global::joblog (<$fh>);
@@ -5679,8 +5700,8 @@
$job->cleanup();
if($opt::progress) {
- my %progress = progress();
- ::status_no_nl("\r",$progress{'status'});
+ my $progress = progress();
+ ::status_no_nl("\r",$progress->{'status'});
}
debug("run", "jobdone \n");
@@ -5821,8 +5842,8 @@
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
- " Tange, O. (2023, November 22). GNU Parallel 20231122 ('Grindavík').",
- " Zenodo. https://doi.org/10.5281/zenodo.10199085",
+ " Tange, O. (2024, January 22). GNU Parallel 20240122 ('Frederik X').",
+ " Zenodo. https://doi.org/10.5281/zenodo.10558745",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
@@ -5854,8 +5875,8 @@
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
- " Tange, O. (2023, November 22). GNU Parallel 20231122 ('Grindavík').",
- " Zenodo. https://doi.org/10.5281/zenodo.10199085",
+ " Tange, O. (2024, January 22). GNU Parallel 20240122 ('Frederik X').",
+ " Zenodo. https://doi.org/10.5281/zenodo.10558745",
"",
# Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@@ -5954,7 +5975,7 @@
print join
("\n",
"GNU $Global::progname $Global::version",
- "Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software",
+ "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software",
"Foundation, Inc.",
"License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>",
"This is free software: you are free to change and redistribute it.",
@@ -5982,20 +6003,20 @@
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
- "\@software{tange_2023_10199085,",
+ "\@software{tange_2024_10558745,",
" author = {Tange, Ole},",
- " title = {GNU Parallel 20231122 ('Grindavík')},",
- " month = Nov,",
+ " title = {GNU Parallel 20240122 ('Frederik X')},",
+ " month = Jan,",
" year = 2023,",
" note = {{GNU Parallel is a general parallelizer to run",
" multiple serial command line programs in parallel",
" without changing them.}},",
" publisher = {Zenodo},",
- " doi = {10.5281/zenodo.10199085},",
- " url = {https://doi.org/10.5281/zenodo.10199085}",
+ " doi = {10.5281/zenodo.10558745},",
+ " url = {https://doi.org/10.5281/zenodo.10558745}",
"}",
"",
- "(Feel free to use \\nocite{tange_2023_10199085})",
+ "(Feel free to use \\nocite{tange_2024_10558745})",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@@ -6075,24 +6096,21 @@
::error("--embed only works if parallel is a readable file");
exit(255);
}
- if(open(my $fh, "<", $0)) {
- # Read the source from $0
- my @source = <$fh>;
- my $user = $ENV{LOGNAME} || $ENV{USERNAME} || $ENV{USER};
- my @env_parallel_source = ();
- my $shell = $Global::shell;
- $shell =~ s:.*/::;
- for(which("env_parallel.$shell")) {
- -r $_ or next;
- # Read the source of env_parallel.shellname
- open(my $env_parallel_source_fh, $_) || die;
- @env_parallel_source = <$env_parallel_source_fh>;
- close $env_parallel_source_fh;
- last;
- }
- print "#!$Global::shell
+ # Read the source from $0
+ my $source = slurp_or_exit($0);
+ my $user = $ENV{LOGNAME} || $ENV{USERNAME} || $ENV{USER};
+ my $env_parallel_source;
+ my $shell = $Global::shell;
+ $shell =~ s:.*/::;
+ for(which("env_parallel.$shell")) {
+ -r $_ or next;
+ # Read the source of env_parallel.shellname
+ $env_parallel_source .= slurp_or_exit($_);
+ last;
+ }
+ print "#!$Global::shell
-# Copyright (C) 2007-2023 $user, Ole Tange, http://ole.tange.dk
+# Copyright (C) 2007-2024 $user, Ole Tange, http://ole.tange.dk
# and Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -6137,7 +6155,7 @@
_file_with_GNU_Parallel_source=`mktemp`;
!,
"cat <<'$randomstring' > \$_file_with_GNU_Parallel_source\n",
- @source,
+ $source,
$randomstring,"\n",
q!
# Copy the source code from the file to the fifo
@@ -6150,7 +6168,7 @@
perl $_fifo_with_GNU_Parallel_source "$@"
}
!,
- @env_parallel_source,
+ $env_parallel_source,
q!
# This will call the functions above
@@ -6162,14 +6180,145 @@
echo You can also activate GNU Parallel for interactive use by:
echo . "$0"
!;
- } else {
- ::error("Cannot open $0");
- exit(255);
- }
::status("Redirect the output to a file and add your changes at the end:",
" $0 --embed > new_script");
}
+sub pack_combined_executable {
+ my ($before_ref,$with_argsep_ref,$argv_ref) = @_;
+ my @parallelopts;
+ my $skip_next;
+ # Remove '--combine-exec file' from options
+ for(@{$before_ref}[0..(arrayindex($before_ref,$with_argsep_ref))-1]) {
+ if (/^--combine-?exec(utable)?$/ || $skip_next) {
+ # Also skip the filename given to --combine-exec
+ $skip_next = !$skip_next;
+ next;
+ }
+ push @parallelopts, $_;
+ }
+ # From ::: and to end
+ my @argsep = @{$with_argsep_ref}[($#ARGV+1)..$#$with_argsep_ref];
+ # The executable is now the first in @ARGV
+ my $execname = shift @ARGV;
+ # The rest of @ARGV are options for $execname
+ my @execopts = @ARGV;
+ debug("combine",
+ "Parallel opts: @parallelopts ",
+ "Executable: $execname ",
+ "Execopts: @execopts ",
+ "Argsep: @argsep\n");
+ # Read the the executable
+ my $exec = slurp_or_exit(which($execname));
+ # Read the source of GNU Parallel and the executable
+ my $parallel = slurp_or_exit($0);
+ # Remove possibly __END__ from GNU Parallel
+ $parallel =~ s/^__END__.*//s;
+ if(-t $Global::original_stderr) {
+ ::status(
+ "Please be aware that combining GNU Parallel and '$execname'",
+ "into a combined executable will make the whole executable",
+ "licensed under GPLv3 (section 5.c).",
+ "",
+ "If the license of '$execname' is incompatible with GPLv3,",
+ "you cannot legally convey copies of the combined executable",
+ "to others. You can, however, still run them yourself.",
+ "",
+ "The combined executable will not have a citation notice,",
+ "so it is your resposibilty to advice that academic tradition",
+ "requires the users to cite GNU Parallel.",
+ ""
+ );
+ my $input;
+ do {
+ ::status_no_nl("\nType: 'I agree' and press enter.\n> ");
+ $input = <STDIN>;
+ if(not defined $input) {
+ exit(255);
+ }
+ } until($input =~ /I agree/i);
+ }
+ write_or_exit($opt::combineexec,
+ $parallel,
+ "\n__END__\n",
+ (map { "$_\0\n" } @parallelopts), "\0\0\n",
+ $execname, "\0\0\n",
+ (map { "$_\0\n" } @execopts), "\0\0\n",
+ (map { "$_\0\n" } @argsep), "\0\0\n",
+ $exec);
+ # Set +x permission
+ chmod 0700, $opt::combineexec;
+ exit(0);
+}
+
+sub unpack_combined_executable {
+ # If the script is a combined executable,
+ # it will have stuff in <DATA> (I.e. after __END__)
+ my $combine_exec = join("",<DATA>);
+ if(length $combine_exec) {
+ # Parse the <DATA>
+ #
+ # __END__
+ # Option for GNU Parallel\0\n
+ # Option for GNU Parallel\0\n
+ # \0\0\n
+ # Name of executable\0\0\n
+ # Option for executable\0\n
+ # Option for executable\0\n
+ # \0\0\n
+ # argsep + args if any\0\n
+ # argsep + args if any\0\n
+ # \0\0\n
+ # <<binary of exec>>
+ #
+ # parallel --combine --pipe -j10% --recend '' myscript --myopt myval
+ # __END__
+ # --pipe\0\n --pipe
+ # -j10%\0\n -j10%
+ # --recend\0\n --recend
+ # \0\n ''
+ # \0\0\n end-of-parallel-options
+ # myscript\0\0\n myscript
+ # --myopt\0\n --myopt
+ # myval\0\n myval
+ # \0\0\n end-of-myscript-options
+ # \0\0\n no argsep
+ # <<binary of myscript>>
+ #
+ # parallel --combine -j10% myscript :::
+ # __END__
+ # -j10%\0\n
+ # \0\0\n end-of-parallel-options
+ # myscript\0\0\n
+ # \0\0\n end-of-myscript-options
+ # :::\0\n
+ # \0\0\n
+ # <<binary of myscript>>
+
+ my ($opts,$execname,$execopts,$argsep,$exec) =
+ split /\0\0\n/,$combine_exec,5;
+ # Make a tmpdir with a file called $execname
+ local %ENV;
+ $ENV{TMPDIR} ||= "/tmp";
+ my $dir = File::Temp::tempdir($ENV{'TMPDIR'} . "/parXXXXX", CLEANUP => 1);
+ my $script = $dir."/".$execname;
+ write_or_exit($script,$exec);
+ # Set +x permission
+ chmod 0700, $script;
+ # Mark it for unlinking later
+ $Global::unlink{$script}++;
+ $Global::unlink{$dir}++;
+ # pass the options for GNU Parallel
+ my @opts = split /\0\n/, $opts;
+ my @execopts = split /\0\n/, $execopts;
+ if(length $argsep) {
+ # Only add argsep if set
+ unshift(@ARGV, split(/\0\n/,$argsep));
+ }
+ unshift(@ARGV,@opts,$script,@execopts);
+ }
+}
+
sub __GENERIC_COMMON_FUNCTION__() {}
@@ -6245,15 +6394,11 @@
# Returns:
# $size = in bytes, undef if error
my $blockdev = shift;
- if(open(my $fh, "<", $blockdev)) {
- seek($fh,0,2) || ::die_bug("cannot seek $blockdev");
- my $size = tell($fh);
- close $fh;
- return $size;
- } else {
- ::error("cannot open $blockdev");
- wait_and_exit(255);
- }
+ my $fh = open_or_exit("<", $blockdev);
+ seek($fh,0,2) || ::die_bug("cannot seek $blockdev");
+ my $size = tell($fh);
+ close $fh;
+ return $size;
}
sub qqx(@) {
@@ -8014,14 +8159,9 @@
} elsif (-f $loadspec) {
$Global::max_load_file = $loadspec;
$Global::max_load_file_last_mod = (stat($Global::max_load_file))[9];
- if(open(my $in_fh, "<", $Global::max_load_file)) {
- my $opt_load_file = join("",<$in_fh>);
- close $in_fh;
- $load = $self->compute_max_loadavg($opt_load_file);
- } else {
- ::error("Cannot open $loadspec.");
- ::wait_and_exit(255);
- }
+ $load = $self->compute_max_loadavg(
+ ::slurp_or_exit($Global::max_load_file)
+ );
} else {
::error("Parsing of --load failed.");
::die_usage();
@@ -8358,19 +8498,13 @@
if(defined $opt_P) {
if (-f $opt_P) {
$Global::max_procs_file = $opt_P;
- if(open(my $in_fh, "<", $Global::max_procs_file)) {
- my $opt_P_file = join("",<$in_fh>);
- close $in_fh;
- if($opt_P_file !~ /\S/) {
- ::warning_once("$Global::max_procs_file is empty. ".
- "Treated as 100%");
- $opt_P_file = "100%";
- }
- $processes = $self->user_requested_processes($opt_P_file);
- } else {
- ::error("Cannot open $opt_P.");
- ::wait_and_exit(255);
+ my $opt_P_file = ::slurp_or_exit($Global::max_procs_file);
+ if($opt_P_file !~ /\S/) {
+ ::warning_once("$Global::max_procs_file is empty. ".
+ "Treated as 100%");
+ $opt_P_file = "100%";
}
+ $processes = $self->user_requested_processes($opt_P_file);
} else {
if($opt_P eq "0") {
# -P 0 = infinity (or at least close)
@@ -8561,20 +8695,14 @@
for($thread = 0;
-r "$prefix/cpu$thread/topology/physical_package_id";
$thread++) {
- open(my $fh,"<",
- "$prefix/cpu$thread/topology/physical_package_id")
- || die;
- $socket{<$fh>}++;
- close $fh;
+ $socket{::slurp_or_exit(
+ "$prefix/cpu$thread/topology/physical_package_id")}++;
}
for($thread = 0;
-r "$prefix/cpu$thread/topology/thread_siblings";
$thread++) {
- open(my $fh,"<",
- "$prefix/cpu$thread/topology/thread_siblings")
- || die;
- $sibiling{<$fh>}++;
- close $fh;
+ $sibiling{::slurp_or_exit(
+ "$prefix/cpu$thread/topology/thread_siblings")}++;
}
$cpu->{'sockets'} = keys %socket;
$cpu->{'cores'} = keys %sibiling;
@@ -9417,21 +9545,9 @@
$errname = "$out.err";
$seqname = "$out.seq";
}
- my $seqfhw;
- if(not open($seqfhw, "+>", $seqname)) {
- ::error("Cannot write to `$seqname'.");
- ::wait_and_exit(255);
- }
- print $seqfhw $self->seq();
- close $seqfhw;
- if(not open($outfhw, "+>", $outname)) {
- ::error("Cannot write to `$outname'.");
- ::wait_and_exit(255);
- }
- if(not open($errfhw, "+>", $errname)) {
- ::error("Cannot write to `$errname'.");
- ::wait_and_exit(255);
- }
+ ::write_or_exit($seqname, $self->seq());
+ $outfhw = ::open_or_exit("+>", $outname);
+ $errfhw = ::open_or_exit("+>", $errname);
$self->set_fh(1,"unlink","");
$self->set_fh(2,"unlink","");
if($opt::sqlworker) {
@@ -9530,8 +9646,7 @@
# Re-open the file for reading
# so fdw can be closed seperately
# and fdr can be seeked seperately (for --line-buffer)
- open(my $fdr,"<", $self->fh($fdno,'name')) ||
- ::die_bug("fdr: Cannot open ".$self->fh($fdno,'name'));
+ my $fdr = ::open_or_exit("<", $self->fh($fdno,'name'));
$self->set_fh($fdno,'r',$fdr);
# Unlink if not debugging
$Global::debug or ::rm($self->fh($fdno,"unlink"));
@@ -10367,9 +10482,7 @@
if(-r $_ and not -d) {
# Read as environment definition bug #44041
# TODO parse this
- my $fh = ::open_or_exit($_);
- $Global::envdef = join("",<$fh>);
- close $fh;
+ $Global::envdef = ::slurp_or_exit($_);
}
}
if(grep { /^_$/ } @vars) {
@@ -10549,11 +10662,11 @@
@{$self->{'commandline'}{'template_names'}};
::debug("tmpl","Names: @template_name\n");
for(my $i = 0; $i <= $#template_name; $i++) {
- open(my $fh, ">", $template_name[$i]) || die;
- print $fh $self->{'commandline'}->
- replace_placeholders([$self->{'commandline'}
- {'template_contents'}[$i]],0,0);
- close $fh;
+ ::write_or_exit
+ ($template_name[$i],
+ $self->{'commandline'}->
+ replace_placeholders([$self->{'commandline'}
+ {'template_contents'}[$i]],0,0));
}
if($opt::cleanup) {
$self->add_rm(@template_name);
@@ -11036,7 +11149,7 @@
my $answer;
::status_no_nl("$command ?...");
do{
- open(my $tty_fh, "<", "/dev/tty") || ::die_bug("interactive-tty");
+ my $tty_fh = ::open_or_exit("<","/dev/tty");
$answer = <$tty_fh>;
close $tty_fh;
# Sometime we get an empty string (not even \n)
@@ -14590,7 +14703,7 @@
# local $/ needed if -0 set
local $/ = "\n";
if(-r $alias_file) {
- open(my $in, "<", $alias_file) || die;
+ my $in = ::open_or_exit("<",$alias_file);
push @urlalias, <$in>;
close $in;
}
@@ -15211,7 +15324,9 @@
package main;
+
sub main() {
+ unpack_combined_executable();
save_stdin_stdout_stderr();
save_original_signal_handler();
parse_options();
@@ -15229,7 +15344,7 @@
my @input_source_fh;
if($opt::pipepart) {
if($opt::tee) {
- @input_source_fh = map { open_or_exit($_) } @opt::a;
+ @input_source_fh = map { open_or_exit("<",$_) } @opt::a;
# Remove the first: It will be the file piped.
shift @input_source_fh;
if(not @input_source_fh and not $opt::pipe) {
@@ -15237,10 +15352,10 @@
}
} else {
# -a is used for data - not for command line args
- @input_source_fh = map { open_or_exit($_) } "/dev/null";
+ @input_source_fh = map { open_or_exit("<",$_) } "/dev/null";
}
} else {
- @input_source_fh = map { open_or_exit($_) } @opt::a;
+ @input_source_fh = map { open_or_exit("<",$_) } @opt::a;
if(not @input_source_fh and not $opt::pipe) {
@input_source_fh = (*STDIN);
}
@@ -15320,6 +15435,9 @@
$SIG{TERM} = $Global::original_sig{TERM};
$SIG{HUP} = \&start_no_new_jobs;
+ if($opt::progress) {
+ ::status_no_nl(init_progress());
+ }
if($opt::tee or $opt::shard or $opt::bin) {
# All jobs must be running in parallel for --tee/--shard/--bin
while(start_more_jobs()) {}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -536,9 +536,9 @@
See also: B<--delimiter>
-=item B<--arg-file> I<input-file> (alpha testing)
+=item B<--arg-file> I<input-file>
-=item B<-a> I<input-file> (alpha testing)
+=item B<-a> I<input-file>
Use I<input-file> as input source.
@@ -841,6 +841,50 @@
See also: B<--csv> B<{>I<n>B<}> B<--trim> B<--link>
+=item B<--combineexec> I<name> (beta testing)
+
+=item B<--combine-executable> I<name> (beta testing)
+
+Combine GNU B<parallel> with another program into a single executable.
+
+Let us say you have developed I<myprg> which takes a single
+argument. You do not want to parallelize it yourself.
+
+You could write a wrapper that uses GNU B<parallel> called B<myparprg>:
+
+ #!/bin/sh
+
+ parallel myprg ::: "$@"
+
+But for others to use this, they need to install: GNU B<parallel>,
+B<myprg>, and B<myparprg>.
+
+It would be easier to install if all could be packed into a single
+executable.
+
+If B<myprg> is written in shell, you can use B<--embed>.
+
+If B<myprg> is a binary you can use B<--combineexec>.
+
+Here we use B<gzip> as example:
+
+ parallel --combineexec pargzip gzip -9 :::
+
+You can now do:
+
+ ./pargzip foo bar baz
+
+If you want to pass options to B<gzip> you can do:
+
+ parallel --combineexec pargzip gzip
+
+Followed by:
+
+ ./pargzip -1 ::: foo bar baz
+
+See also: B<--embed> B<--shebang> B<--shebang-wrap>
+
+
=item B<--compress>
Compress temporary files.
@@ -1755,10 +1799,10 @@
suspend some of the running jobs. If the available memory falls below
I<size>, only one job will be running.
-If a single job takes up at most I<size> RAM, all jobs will complete
-without running out of memory. If you have swap available, you can
-usually lower I<size> to around half the size of a single job - with
-the slight risk of swapping a little.
+If a single job fits in the given size, all jobs will complete without
+running out of memory. If you have swap available, you can usually
+lower I<size> to around half the size of a single job - with the slight
+risk of swapping a little.
Jobs will be resumed when more RAM is available - typically when the
oldest job completes.
@@ -1997,6 +2041,10 @@
B<{0#}> zero-padded sequence number.
+B<{slot-1}> jobslot - 1 (i.e. counting from 0).
+
+B<{seq-1}> sequence number - 1 (i.e. counting from 0).
+
B<{choose_k}> is inspired by n choose k: Given a list of n elements,
choose k. k is the number of input sources and n is the number of
arguments in an input source. The content of the input sources must
@@ -2642,6 +2690,8 @@
log(10))); $_=sprintf("%0${f}d",slot())'
--rpl '{0#} 1 $f=1+int((log(total_jobs())/log(10)));
$_=sprintf("%0${f}d",seq())'
+ --rpl '{seq(.*?)} $_=eval q{$job->seq()}.qq{$$1}'
+ --rpl '{slot(.*?)} $_=eval q{$job->slot()}.qq{$$1}'
--rpl '{:-([^}]+?)} $_ ||= $$1'
--rpl '{:(\d+?)} substr($_,0,$$1) = ""'
@@ -3102,6 +3152,13 @@
with p or #. If the address is enclosed in [] you can also use :.
E.g. ::1p2222 ::1#2222 [::1]:2222
+Ranges of hostnames can be given in [] like this: server[1,3,8-10]
+(for server1, server3, server8, server9, server10) or
+server[001,003,008-010] (for server001, server003, server008,
+server009, server010). With Bash's brace expansion you can do:
+-S{dev,prod}[001-100] to get -Sdev[001-100] -Sprod[001-100]
+More [] are allowed: server[1-10].cluster[1-5].example.net
+
The sshlogin ':' is special, it means 'no ssh' and will therefore run
on the local computer.
@@ -4423,7 +4480,7 @@
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
Parts of the manual concerning B<xargs> compatibility is inspired by
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel_alternatives.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -4276,6 +4276,87 @@
(Last checked: 2023-10)
+=head2 DIFFERENCES BETWEEN repeater AND GNU Parallel
+
+Summary (see legend above):
+
+=over
+
+=item - - - - - - -
+
+=item - - - - - -
+
+=item - O2 O3 N/A - O6 - x x ?O10
+
+=item E1 - - - E5 - -
+
+=item - - - - - - - - -
+
+=item - -
+
+=back
+
+B<repeater> runs the same job repeatedly. In other words: It does not
+read arguments, thus is it an alternative for GNU B<parallel> for only
+quite limited applications.
+
+B<repeater> has an overhead of around 0.23 ms/job. Compared to GNU
+B<parallel>'s 2-3 ms this is fast. Compared to B<bash-parallel>'s 0.05
+ms/job it is slow.
+
+=head3 Memory use and run time for large output
+
+Output takes O(n^2) time for output of size n. 10 MB takes ~1 second,
+30 MB takes ~7 seconds, 100 MB takes ~60 seconds, 300 MB takes ~480
+seconds, 1000 GB takes
+
+100 MB of output takes around 1 GB of RAM.
+
+ # Run time = 15 sec
+ # Memory use = 20 MB
+ # Output = 1 GB per job
+ \time -v parallel -j1 seq ::: 120000000 120000000 >/dev/null
+
+ # Run time = 4.7 sec
+ # Memory use = 95 MB
+ # Output = 8 MB per job
+ \time -v repeater -w 1 -n 2 -reportFile ./run_output seq 1200000 >/dev/null
+
+ # Run time = 42 sec
+ # Memory use = 277 MB
+ # Output = 27 MB per job
+ \time -v repeater -w 1 -n 2 -reportFile ./run_output seq 3600000 >/dev/null
+
+ # Run time = 530 sec
+ # Memory use = 1000 MB
+ # Output = 97 MB per job
+ \time -v repeater -w 1 -n 2 -reportFile ./run_output seq 12000000 >/dev/null
+
+ # Run time = 2h41m
+ # Memory use = 8.6 GB
+ # Output = 1 GB per job
+ \time -v repeater -w 1 -n 2 -reportFile ./run_output seq 120000000 >/dev/null
+
+For even just moderate sized outputs GNU B<parallel> will be faster
+and use less memory.
+
+
+=head3 EXAMPLES
+
+ 1$ repeater -n 100 -w 10 -reportFile ./run_output
+ -output REPORT_FILE -progress BOTH curl example.com
+
+ 1$ seq 100 | parallel --joblog run.log --eta curl example.com > output
+
+ 2$ repeater -n 100 -increment -progress HIDDEN -reportFile foo
+ echo "this is increment: " INC
+ 2$ seq 100 | parallel echo {}
+ 2$ seq 100 | parallel echo '{= $_ = ++$myvar =}'
+
+https://github.com/baalimago/repeater
+(Last checked: 2023-12)
+
+
=head2 Todo
https://github.com/justanhduc/task-spooler
@@ -4553,7 +4634,7 @@
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
Parts of the manual concerning B<xargs> compatibility is inspired by
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel_book.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel_design.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel_examples.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -241,6 +241,23 @@
command; otherwise a green OK will be printed followed by the command.
+=head2 EXAMPLE: Identify few failing jobs
+
+B<--bar> works best if jobs have no output. If the failing jobs have
+output you can identify the jobs like this:
+
+ job-with-few-failures() {
+ # Force reproducibility
+ RANDOM=$1
+ # This fails 1% (328 of 32768)
+ if [ $RANDOM -lt 328 ] ; then
+ echo Failed $1
+ fi
+ }
+ export -f job-with-few-failures
+ seq 1000 | parallel --bar --tag job-with-few-failures
+
+
=head2 EXAMPLE: Continously show the latest line of output
It can be useful to monitor the output of running jobs.
@@ -1867,7 +1884,7 @@
Often it is not obvious which package you should install to get that
file. Debian has `apt-file` to search for a file. `tracefile` from
-https://gitlab.com/ole.tange/tangetools can tell which files a program
+https://codeberg.org/tange/tangetools can tell which files a program
tried to access. In this case we are interested in one of the last
files:
@@ -1888,7 +1905,7 @@
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
Parts of the manual concerning B<xargs> compatibility is inspired by
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parallel_tutorial.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -3003,7 +3003,7 @@
Output:
GNU parallel 20230122
- Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software
+ Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software
Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
@@ -3164,7 +3164,7 @@
=back
-(C) 2013-2023 Ole Tange, GFDLv1.3+ (See
+(C) 2013-2024 Ole Tange, GFDLv1.3+ (See
LICENSES/GFDL-1.3-or-later.txt)
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parcat
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
use Symbol qw(gensym);
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parcat.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -71,7 +71,7 @@
=head1 AUTHOR
-Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
=head1 LICENSE
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parset
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# Copyright (C) 2016-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2016-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
grepq() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parset.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -202,7 +202,7 @@
Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/parsort
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
=pod
@@ -60,7 +60,7 @@
=head1 AUTHOR
-Copyright (C) 2020-2023 Ole Tange,
+Copyright (C) 2020-2024 Ole Tange,
http://ole.tange.dk and Free Software Foundation, Inc.
@@ -137,7 +137,7 @@
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
-$Global::version = 20231122;
+$Global::version = 20240122;
if($opt::version) { version(); exit 0; }
# Remove -D and --parallel=N
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
@@ -274,7 +274,7 @@
print join
("\n",
"GNU $Global::progname $Global::version",
- "Copyright (C) 2020-2023 Ole Tange, http://ole.tange.dk and Free Software",
+ "Copyright (C) 2020-2024 Ole Tange, http://ole.tange.dk and Free Software",
"Foundation, Inc.",
"License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>",
"This is free software: you are free to change and redistribute it.",
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/pod2graph
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
# Convert .pod file containing:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/sem.pod
^
|
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GFDL-1.3-or-later
# SPDX-License-Identifier: CC-BY-SA-4.0
@@ -255,7 +255,7 @@
=head1 AUTHOR
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/sql
^
|
@@ -2,7 +2,7 @@
# Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk
#
-# Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and
+# Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and
# Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -20,7 +20,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2008-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2008-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-License-Identifier: GFDL-1.3-or-later
@@ -388,7 +388,7 @@
Copyright (C) 2008-2010 Ole Tange http://ole.tange.dk
-Copyright (C) 2010-2023 Ole Tange, http://ole.tange.dk and Free
+Copyright (C) 2010-2024 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
=head1 LICENSE
@@ -670,7 +670,7 @@
exit ($err);
sub parse_options {
- $Global::version = 20231122;
+ $Global::version = 20240122;
$Global::progname = 'sql';
# This must be done first as this may exec myself
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/src/testurls
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2022-2023 Ole Tange, http://ole.tange.dk and Free
+# Copyright (C) 2022-2024 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
# or write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
-# SPDX-FileCopyrightText: 2022-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2022-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
grep -hv '(dead)' ../src/* |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/Fixed.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/Makefile
^
|
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -103,26 +103,33 @@
prereqlocal: installparallel startvm
${REQUIRE}
- parallel -j1 ssh-keygen -R parallel-server{} ::: 1 2 3 4 || true
- (parallel 'ssh vagrant@parallel-server{} mkdir -p bin; scp `which parallel` vagrant@parallel-server{}:bin/' ::: 1 2 3 4)&
+ (parallel 'ssh -oStrictHostKeyChecking=accept-new vagrant@parallel-server{} mkdir -p bin; scp `which parallel` vagrant@parallel-server{}:bin/' ::: 1 2 3 4)&
prereqremote: installparallel startvm
- parallel -j0 --timeout 10 --tag ssh vagrant@parallel-server{} parallel --minversion 20121021 ::: 1 2 || (echo parallel on remote required for testsuite; /bin/true)
+ parallel -j0 --timeout 10 --tag ssh -oStrictHostKeyChecking=accept-new vagrant@parallel-server{} parallel --minversion 20121021 ::: 1 2 || (echo parallel on remote required for testsuite; /bin/true)
ignore=bytes.of.data|ping.statistics|packets.transmitted|64.bytes.from|\
- min/avg/max/mdev|default
+ min/avg/max/mdev|default|known.hosts|Host.*found
start=(stdout ping -w 1 -c 1 {} || \
- (cd vagrant/*/{} && vagrant up; \
- wssh vagrant@{} echo {} is up) ) | \
+ (cd vagrant/*/{} 2>/dev/null && vagrant up ; \
+ echo {} | grep -q centos3 && \
+ (cat ../../authorized_keys | vagrant ssh -c "cat >>.ssh/authorized_keys"; \
+ vagrant ssh -c "sudo /sbin/ifconfig eth1 172.27.27.3"); \
+ ssh-keygen -R {}; \
+ stdout wssh -oStrictHostKeyChecking=accept-new vagrant@{} echo {} is up) ) | \
grep -Ev "${ignore}"
+
stop=(stdout ping -w 1 -c 1 {} && \
(cd vagrant/*/{} && vagrant suspend) ) | \
grep -Ev "${ignore}"
+namedservers=centos8 freebsd13 freebsd14 rhel8 centos3
+servers=parallel-server1 parallel-server2 parallel-server3 parallel-server4 ${namedservers}
+
startvm:
- parallel -j0 --tag -k '${start}' ::: centos8 freebsd13 freebsd12 rhel8 centos3 &
+ parallel -j0 --tag -k '${start}' ::: ${servers} &
stopvm:
- parallel -j0 --tag -k '${stop}' ::: centos8 freebsd13 freebsd12 rhel8 centos3 || true
+ parallel -j0 --tag -k '${stop}' ::: ${namedservers} || true
startdb:
true TODO should start Oracle in vagrant
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/Portable.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/REQUIREMENTS
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2002-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2002-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -15,6 +15,7 @@
test_pkgs="$test_pkgs mono-csharp-shell libevent-dev tcl libtext-csv-perl"
test_pkgs="$test_pkgs xterm libc6-i386 libcrypt1:i386 vagrant virtualbox"
test_pkgs="$test_pkgs libtest-nowarnings-perl xemacs21 pv zenity"
+ test_pkgs="$test_pkgs lsh-client lsh-utils torsocks net-tools"
# Debian package
packaging_pkgs="dpkg-dev build-essential debhelper osc cvs automake"
@@ -44,8 +45,7 @@
# Build Tools
build_pkgs="bison libxxhash-dev libzstd-dev liblz4-dev libssl-dev"
build_pkgs="$build_pkgs python3-cmarkgfm libpod-pom-view-restructured-perl"
- build_pkgs="$build_pkgs graphviz"
-
+ build_pkgs="$build_pkgs graphviz yodl libreoffice"
sudo dpkg --add-architecture i386; sudo apt update
if $INSTALL $test_pkgs $packaging_pkgs $shebang_pkgs $sql_pkgs \
$compression_pkgs $shell_pkgs $database_pkgs $build_pkgs ; then
@@ -109,13 +109,6 @@
# test it works: sql oracle://
}
-setup_virtual_box_network() {
- echo "Adding IP-range to virtualbox"
- sudo mkdir -p /etc/vbox
- (cat; echo '* 172.27.27.0/24') < /etc/vbox/networks.conf | uniq |
- sudo tee /etc/vbox/networks.conf
-}
-
setup_databases() {
# DATABASES
echo '# Create PostgreSQL'
@@ -142,11 +135,31 @@
sudo sql "$dburl" "CREATE DATABASE `whoami`;CREATE USER '`whoami`'@'localhost' IDENTIFIED BY '`whoami`'; GRANT ALL ON `whoami`.* TO '`whoami`'@'localhost';"
}
+setup_virtual_box_network() {
+ echo "Adding IP-range to virtualbox"
+ sudo mkdir -p /etc/vbox
+ sudo touch /etc/vbox/networks.conf
+ (cat; echo '* 172.27.27.0/24') < /etc/vbox/networks.conf | uniq |
+ sudo tee /etc/vbox/networks.conf
+}
+
add_server_to_hosts() {
add_ssh_key_to_authorized() {
(cat vagrant/authorized_keys; cat ~/.ssh/*.pub) |
uniq > vagrant/authorized_keys.$$
mv vagrant/authorized_keys.$$ vagrant/authorized_keys
+ # Problem:
+ # https://developer.hashicorp.com/vagrant/docs/v2.4.0/vagrantfile/ssh_settings
+ # says:
+ #
+ # (non-interactive SSH connections use the internal SSH
+ # communicator which is unaffected by this setting).
+ #
+ # We need to force Ruby's Net::SSH to use ~/.ssh/config
+ # or -oKexAlgorithms=diffie-hellman-group1-sha1
+ #
+ # VAGRANT_PREFER_SYSTEM_BIN=1 ought to fix it, but does not.
+
# Fix:
# could not settle on kex algorithm
@@ -158,7 +171,14 @@
#debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc
#debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
#debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
-#
+ #
+
+ # Fix: .ssh/config
+ #Host centos3 127.0.0.1
+ # KexAlgorithms +diffie-hellman-group1-sha1
+ # Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc
+ # HostKeyAlgorithms +ssh-rsa,ssh-dss
+ # sshpass -p vagrant ssh -v -p 50136 vagrant@127.0.0.1
}
insert_in_etc_hosts() {
@@ -168,7 +188,7 @@
# skip
true
else
- printf "$1\t$2\n" |
+ echo "$@" |
sudo tee -a /etc/hosts
fi
}
@@ -181,7 +201,7 @@
grep 172 Vagrantfile | grep -v '#' |
perl -pe 's/.*(172.27[\.0-9]+).*/$1/';
}
- insert_in_etc_hosts $(vagrant_ip $1) $1
+ insert_in_etc_hosts $(vagrant_ip $1) "$@"
}
export -f add_single_vagrant_to_etc_hosts
@@ -189,36 +209,44 @@
insert_in_etc_hosts 127.1.2.3 server
insert_in_etc_hosts 127.0.0.2 lo
- parallel add_single_vagrant_to_etc_hosts ::: centos8 freebsd11 freebsd12 freebsd13 rhel8 centos3 centos39-oracle817
- # TODO alias
- # 172.27.27.8 centos8 parallel-server1 server1
- # 172.27.27.72 freebsd12 parallel-server3 server3
- # 172.27.27.108 rhel8 parallel-server4 server4
- # 172.27.27.73 freebsd13 parallel-server2 server2
- # TODO
- # $ cat /etc/vbox/networks.conf
- # * 172.27.0.0/16
- # TODO
+ parallel add_single_vagrant_to_etc_hosts {} parallel-server{#} ::: centos8 freebsd13 freebsd14 rhel8 centos3
+}
+
+vagrant_up() {
+ parallel -j0 --ll --tag 'cd {};vagrant up' ::: vagrant/*/*
+ # After this you should be able to 'vagrant ssh'
+}
+
+add_key_to_auth_key() {
sshaddvagrant() {
+ ssh-keygen -f ~/.ssh/known_hosts -R $1
cat ~/.ssh/*.pub | (cd vagrant/*/$1 && vagrant ssh -c 'cat >>.ssh/authorized_keys')
sshpass -p vagrant ssh-copy-id -o StrictHostKeyChecking=accept-new vagrant@$1
ssh vagrant@$1 echo vagrant@$1 OK
}
export -f sshaddvagrant
- parallel sshaddvagrant ::: centos8 freebsd11 freebsd12 freebsd13 rhel8 centos3 centos39-oracle817
- parallel ssh -o StrictHostKeyChecking=accept-new vagrant@{} ::: parallel-server{1..4} centos3
+ parallel --tag sshaddvagrant ::: centos8 freebsd13 freebsd14 rhel8 centos3
+ parallel --tag ssh -o StrictHostKeyChecking=accept-new vagrant@{} ::: parallel-server{1..4} centos3
+ cat ~/.ssh/*pub >> ~/.ssh/authorized_keys
# TODO find ipv6
ipv6=
- parallel ssh -o StrictHostKeyChecking=accept-new {} ::: lo localhost 172.27.27.1 127.0.0.1 ::1 $ipv6
+ parallel --tag ssh -o StrictHostKeyChecking=accept-new {} ::: lo localhost 172.27.27.1 127.0.0.1 ::1 $ipv6
# parallel sshpass -p vagrant ssh-copy-id vagrant@{} ::: parallel-server{1..4} centos3
# ssh-copy-id vagrant@parallel-server1..4 centos3
}
+install_rsync_on_vagrant() {
+ parallel --tag ssh vagrant@{} "'
+ sudo apt install rsync || sudo yum install -y rsync || sudo pkg install -y rsync;
+ sudo apt install perl || sudo yum install -y perl || sudo pkg install -y perl;
+ '" ::: parallel-server{1..4} centos3
+}
+
shellsplus() {
shells="bash sh csh ash dash tcsh zsh ksh ksh93 fish fizsh mksh"
shells="$shells posh rc sash yash nopathbash nopathcsh"
- shellsplus="parallel $shells"
+ shellsplus=$(whoami)" parallel $shells"
parallel -k echo ::: $shellsplus
}
@@ -265,6 +293,9 @@
(shellsplus; echo withpassword) |
parallel --lb --halt soon,fail=1 --timeout 1000% --retries 5 --tag -j1 del_add_user ||
(echo Creation failed: $?; false)
+ # Homedir must be readable by others
+ umask 0002
+ (shellsplus; echo withpassword) | sudo parallel chmod +rX ~{}
}
copy_ssh_keys() {
@@ -323,10 +354,11 @@
# Remove env_parallel from .profile
ssh nopathbash@lo 'perl -i.bak -pe s/.*env_parallel.*// .profile .bashrc'
ssh nopathcsh@lo 'echo >> .cshrc setenv PATH /bin:/usr/bin'
+ ssh nopathcsh@lo 'echo >> .tcshrc setenv PATH /bin:/usr/bin'
ssh nopathcsh@lo 'echo >> .login setenv PATH /bin:/usr/bin'
- ssh nopathbash@lo 'echo $PATH; echo 1 | parallel echo' ||
+ ssh nopathbash@lo 'echo $PATH; echo NOT OK | parallel echo' ||
echo Great - this should FAIL: parallel should not be found
- ssh nopathcsh@lo 'echo $PATH; echo 1 | parallel echo' ||
+ ssh nopathcsh@lo 'echo $PATH; echo NOT OK | parallel echo' ||
echo Great - this should FAIL: parallel should not be found
)
}
@@ -365,15 +397,16 @@
#
# There is no longer an overlap: LSH is unsupported until there is
# a common algorithm again
- shellsplus | parallel --bar --timeout 5 export_key_to_local_users
- shellsplus | parallel --bar --timeout 5 'lsh -l {} lo true || export_key_to_local_users {}'
- shellsplus | parallel --bar --timeout 5 'lsh -l {} lo true || echo Fail {}'
+ (whoami; shellsplus) | parallel --bar --timeout 5 --retries 5 export_key_to_local_users
+ (whoami; shellsplus) | parallel --bar --timeout 5 --retries 5 'lsh -l {} lo true || export_key_to_local_users {}'
+ (whoami; shellsplus) | parallel --bar --timeout 5 --retries 5 'lsh -l {} lo true || echo Fail {}'
}
add_freebsd() {
- echo "# Add public key to freebsd7.t"
- ssh freebsd7.t cat .ssh/id_rsa.pub |
- ssh parallel@localhost 'cat >>.ssh/authorized_keys'
+ echo "# Add public keys to old servers"
+ # freebsd7 is no longer supported as virtualbox
+ # ssh freebsd7 cat .ssh/id_rsa.pub |
+ # ssh parallel@localhost 'cat >>.ssh/authorized_keys'
echo Add:
echo HostkeyAlgorithms +ssh-dss
@@ -403,10 +436,10 @@
cd tmux$1
git reset --hard
git checkout $1
- ./autogen.sh &&
- ./configure &&
- make -j2 &&
- sudo cp tmux /usr/local/bin/tmux-$1
+ bash ./autogen.sh;
+ ./configure &&
+ make -j2 &&
+ sudo cp tmux /usr/local/bin/tmux-$1
}
export -f make_one
echo '# Building tmux'
@@ -463,7 +496,7 @@
# Make "lib/addrinfo.h" ?
touch lib/addrinfo.h
LDFLAGS=-static ./configure &&
- (make proto; make -j2) &&
+ (make proto; make -j2 || make reconfigure && make -j2; make) &&
sudo cp rsync /usr/local/bin/rsync-$1
}
export -f make_one
@@ -490,6 +523,28 @@
# Build locale for LC_ALL=zh_HK.big5hkscs perl -e 1
sudo locale-gen zh_HK
+
+ p=$(goodpasswd)
+ echo withpassword:$p | sudo chpasswd
+ echo "export withpassword=$p" >> ~/.passwords
+
+
+ echo TODO
+ echo ssh til egen IP-adresse 192.168.100.94
+ echo sshd_config
+ echo HostKeyAlgorithms +ssh-rsa
+ echo PubkeyAcceptedAlgorithms +ssh-rsa
+ echo KexAlgorithms +diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
+ echo Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
+ echo MaxStartups 100:30:1000
+ echo
+ echo freepl
+ echo 'set $withpassword'
+ echo 'set $mysqlrootpassword in .passwords'
+ echo '/usr/local/bin/parallel-20120822'
+ echo 'permission of ~shell/ must be +rx'
+ echo '~/.sql/aliases'
+ echo 'python install python-is-python3'
}
run() {
@@ -497,7 +552,10 @@
install_tangetools &&
install_oracle_client &&
setup_databases &&
+ setup_virtual_box_network &&
add_server_to_hosts &&
+ vagrant_up &&
+ add_key_to_auth_key &&
create_shell_logins &&
copy_ssh_keys &&
lsh_setup &&
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/Start.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash -x
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/niceload01.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/niceload02.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/niceload03.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/niceload04.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-android.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-centos3.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-freebsd.sh
^
|
@@ -1,11 +1,11 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
echo "### These tests requires VirtualBox running with the following images"
-SERVER1=freebsd12
+SERVER1=freebsd14
SSHUSER1=vagrant
SSHLOGIN1=$SSHUSER1@$SERVER1
echo $SSHUSER1@$SERVER1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-install.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-0.3s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -236,15 +236,17 @@
par_do_not_export_PARALLEL_ENV() {
echo '### Do not export $PARALLEL_ENV to children'
+ . env_parallel.bash
+ env_parallel --session
doit() {
echo Should be 0
echo "$PARALLEL_ENV" | wc
echo Should give 60k and not overflow
PARALLEL_ENV="$PARALLEL_ENV" parallel echo '{=$_="\""x$_=}' ::: 60000 | wc
}
- . env_parallel.bash
# Make PARALLEL_ENV as big as possible
- PARALLEL_ENV="a='$(seq 100000 | head -c $((139000-$(set|wc -c) )) )'"
+ PARALLEL_ENV="a='$(seq 100000 | head -c $((149000-$(set|wc -c) )) )'"
+ PARALLEL_ENV="a=b"
env_parallel doit ::: 1
}
@@ -608,6 +610,7 @@
par_extglob() {
bash -O extglob -c '. env_parallel.bash;
+ env_parallel --session
_longopt () {
case "$prev" in
--+([-a-z0-9_]))
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-100s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-10s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -620,7 +620,7 @@
}
export -f $(compgen -A function | grep par_)
-compgen -A function | grep par_ | LC_ALL=C sort |
+compgen -A function | G par_ "$@" | LC_ALL=C sort |
parallel --timeout 1000% -j10 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
perl -pe 's/,31,0/,15,0/' |
# Replace $PWD with . even if given as ~/...
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-1s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -8,6 +8,14 @@
# Each should be taking 1-3s and be possible to run in parallel
# I.e.: No race conditions, no logins
+par_progress() {
+ (
+ parallel --progress --use-sockets-instead-of-threads true ::: a b c
+ parallel --progress --use-cores-instead-of-threads true ::: a b c
+ parallel --progress --use-cpus-instead-of-cores true ::: a b c
+ ) 2>&1 | perl -pe 's/.*\r//; s/\d.\ds/9.9s/'
+}
+
par_citation_no_config_dir() {
echo '### bug #64329: parallel --citation will loop forever unless the config dir exists'
t=$(mktemp -d)
@@ -76,35 +84,6 @@
stdout parallel -Y
}
-par__plus() {
- echo '### --plus'
- echo '(It is OK to start with extra / or end with extra .)'
- parallel -k --plus echo {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = \
- {..}.{+..} = {+/}/{/..}.{+..} = {...}.{+...} = \
- {+/}/{/...}.{+...} \
- ::: a a.b a.b.c a.b.c.d a/1 a.b/1.2 a.b.c/1.2.3 a.b.c.d/1.2.3.4 \
- a. a.b. a.b.c. a.b.c.d. a/1. a.b/1.2. a.b.c/1.2.3. a.b.c.d/1.2.3.4. \
- a.. a.b.. a.b.c.. a.b.c.d.. a./1. a.b./1.2.. \
- a.b.c./1.2.3.. a.b.c.d./1.2.3.4.. \
-
- echo '### Test {%...} {%%...} {#...} {##...}'
- a=z.z.z.foo
- echo ${a#z*z.}
- parallel --plus echo {#z.*z.} ::: z.z.z.foo
- echo ${a##z*z.}
- parallel --plus echo {##z.*z.} ::: z.z.z.foo
-
- a=foo.z.z.z
- echo ${a%.z.z}
- parallel --plus echo {%.z.z} ::: foo.z.z.z
- echo ${a%%.z*z}
- parallel --plus echo {%%.z.*z} ::: foo.z.z.z
-
- parallel -k --plus echo {uniq} ::: A B C ::: A B C ::: A B C
- parallel -k --plus echo {1uniq}+{2uniq}+{3uniq} ::: A B C ::: A B C ::: A B C
- parallel -k --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D
-}
-
par_file_rpl() {
echo '### file as replacement string'
TMPDIR=/tmp/parallel-local-1s/" "/bar
@@ -238,14 +217,6 @@
rm -r "$tmpdir"
}
-par__I_X_m() {
- echo '### Test -I with -X and -m'
-
- seq 10 | parallel -k 'seq 1 {.} | parallel -k -I :: echo {.} ::'
- seq 10 | parallel -k 'seq 1 {.} | parallel -j1 -X -k -I :: echo a{.} b::'
- seq 10 | parallel -k 'seq 1 {.} | parallel -j1 -m -k -I :: echo a{.} b::'
-}
-
par_open_files_blocks() {
echo 'bug #38439: "open files" with --files --pipe blocks after a while'
ulimit -n 28
@@ -530,17 +501,6 @@
stdout parallel --compress --compress-program pxz true ::: OK-if-no-output
}
-par__test_XI_mI() {
- echo "### Test -I"
- seq 1 10 | parallel -k 'seq 1 {} | parallel -k -I :: echo {} ::'
-
- echo "### Test -X -I"
- seq 1 10 | parallel -k 'seq 1 {} | parallel -j1 -X -k -I :: echo a{} b::'
-
- echo "### Test -m -I"
- seq 1 10 | parallel -k 'seq 1 {} | parallel -j1 -m -k -I :: echo a{} b::'
-}
-
par_result() {
echo "### Test --results"
mkdir -p /tmp/parallel_results_test
@@ -674,488 +634,6 @@
seq 3000 | parallel -Xj1 'echo {} {} {} {} {} {} {} {} {} {} {} {} {} {} | wc'
}
-par__test_cpu_detection_cpuinfo() {
- pack() { zstd -19 | mmencode; }
- unpack() { mmencode -u | zstd -d; }
- export -f unpack
- # ssh server cat /proc/cpuinfo | pack
-
- cpu1() {
- echo '2-8-8-8 Xeon 8 core server in Germany'
- echo '
- KLUv/QRYbRIARmlzIxBtqgDhSWTqT86MkL9zqf+EhavXzwbElKKZVR0oAgBg5J4gcQBiAGEA
- sLnXDwczA4YzTNLcWTvx+utwzbFmQQYUDEZyZ60JhQYkubMk+Zi3NptQSECQAeUFvwJhFAiH
- cDh4wAOAnBvxgAeAO2tjk1+UO2vBhWZkzZ31gC+26BM7BrfKhZVvkptwZ0HvoROSSzHkzqKz
- e92kzALNss2vjU/N6N5c/Ep8Sms8b5+gcl8Xv41PO951/TZ/oW+kPnF0Z62WGmQJtiR3Flxq
- 4aE3sZPzVV5X7TNxxHofd9aaOGLIncP26pPPPW5Lp/vEbkHvS6djzJ3Vknyw8ZohD81Bjw7i
- U67Vm6RyX7a7r8T6KlKH7J6GTmd9csYzTW+F/iQfmlN6eOm7Nt6N5csZI7r8OBxtd12fKltt
- Od0jfCUPYXP96G+DH+ur491XtvvbfdpV9CrGP3btXaE7eoIRdA/MYrEsFE2jNIxCkSgUhkES
- ZlmWZVEURUGSJEmYU+XGlZps8XQlJjPYpkofxVzgXV/jBN1LIagxprmzqtwopQfbw7AFMoAw
- GMud1fzilGaDPeqj81GuFkZ/UVKXmFBz9EO5PsIncjT4pVpXTx5mux83IFADQJsOKpW46nns
- Is7U2ZTFVYV3C3OmxEovTmU8sZyTYlYqcdTzmEUsR6PYOlV4tzAnSqz04lTGE8s5KWalEkc9
- j1nEqahrvJxROjsHSSvQhQq1tpf4zCUJFtpLU3TfUioW5HyRY49kj+F7XHNrWzFtIuMXRNui
- cMxHAZLOSIU=
- ' | unpack
- }
- cpu2() {
- echo '1-4-8-4 Core i7-3632QM Acer laptop'
- echo '
- KLUv/QRYBRkANvyjJDBtnADAQSgjJ0We2YiUIhYo1GYrjfN9LZSRbXi0c1gXhgBQJaUAjQCQ
- AFstjEt/y7WLjrldy3NJYZ2SHbJMae46JVsalxR2RPcoxwvjbzHHk8cuBwx/Hia6pGiF4+uD
- LbZEjWjxPA9zSVEqFBoYjYRxSdEmmZzMwaXgkuKIbleblwqFBEazaG5wCQeENzw0TuQMELgH
- NEQA6JQID4AAuKQoXPEN6JKiPG0SLtElZfIcXNUhy5anHRc0OkjUhEtKc9OULWpkYVxSpmRW
- JucuAfLJlS35WxnfpHRMq/Pc1JnSfZSwmrrTg811xj11XM1RssP3ZdxtXhL/3mI84Su1h/1+
- nPmNMl+ZP1lSXQLh3bJ17vYHQ1712CNHed9rH5GQfTF4deznbPhVfkPCrgxe134yPOO+8l7b
- FUYO2eqSorBjvaVYHOaS8jSi781BlkXpepVJdIJstbBOLikKJA6u3txG3quftJvSzZXoq+5g
- jJxCtvXgaW5/Kdd8ail3npR7o5jvek+tvh9kVRN8U/VY7y2u2eZZxFSXRNY1slhy1vWp0PWk
- 0b22tE2M+x3Zyj1zuxrJG2Z6lPnNsT1kbT+3JY8YCbujzPwG9pv1Ehj5WzZx+5TtooR/ItZu
- n2gTDwIf27u4r6buWtkcZfzEEQQETgMtGA5BFDlQg1k8EBRBEEMALSDoeZpGAbRoGo/jNAWN
- RcHjNA3DMNCCYZ6GYSDoWTCPwyxSR4XqWHHBT6WQu7wF6ekijecC53bUI+eSwsw6W1vLE11S
- OiqMDvfW9CxPs2AUOOugdEhqqZp5Z147oSadsnlqmMiks5kuP1LI1k/hBFkGoZbGvOnc+/j2
- veb6au5w6qPbeyWc+lXIV14UBzsgIKMZ0jAPK+HdMhUFdRtVjCeXO5JNULexYjxRJq2g2EaV
- 8O7CRoIUlGysjsfKBCko2ag6HruIkWyCuo0V44ky2YRS1xX8jOLIPpdShdsmd5zFkNBhyRjs
- jWqiDxsGiQbeb74N2hniRTgqfc6PK/sOQHV9UrS1UtKWyvnmCMjuOeEbaVqYTWLEy8KHcwab
- fNdt
- ' | unpack
- }
- cpu3() {
- echo '1-2-4-2 Core i5-2410M laptop firewall'
- echo '
- KLUv/QRYTRUAdrWRJCBtLACzSvaJv8mdRORLLoVMJ3pdprIRArYowWEZLgRCIHoEDZEAfQCA
- ALM94qbc+9LZVuOOaol8MPJ6MQ5Ze00x4WWw8MXBYO6orXj9nTTWluJ4LCCQRrmjVEUCA1Mm
- xh21brZJ24vLcUdJ5GPe2qsiAYHBLJYXHKLh4AwMpbEMELwHMDwALJ0HD3AAuKM2MvmlcUcp
- uG7G1dxRFPBFBj3ituBWqbDyRXIR7ij3HjqdXGkx7ig6u7dNyitytkd4bl0d/SQPIWtN0d8I
- P9bXybu/bPe3+7Qn6FOMf9zYu7pPOoIQbG+YbX5lfGnGdtbiV8KntMbz9h9T+7b4ZXza8a3r
- t/nrvlF6xNAdpVrCIE8sRrmj4EoL717ETc5Xedu0T8TQ6qW4o1TE0GLcOWSvPvnaY7aWO6qX
- Bo/wgSYMfpLYV2I9vZedbnz1WfmgY+ue1vVVNp789pgt0xflaWz33Wv82Byfcp3eKFM7s939
- JdbX3k9ROuT2tDud9ckZ32h6q7uEk4BRhI3/JD9iiK6E7SG6zLO2nPIUkgknzzod8pR3c0oe
- XvqukXdk+XJGiC4/k0bZW9enSlY7DONoIIvFQcAsiwJhIAvHY1EUAgZj8WiU5VS5cSVMsni6
- E5MXZFGlT3o0LvCuL/KGuaO6e6lzbDWaO6rKjVLyIHsazXoQLCAPAn5xSmZkLYr0LK1tuS8n
- pqtw4xNxiyKrK19CfmWUnbn3SHdS3StP91h65T1FfXQ+ytNC6C9K6RPTsUk/lOvp9mMRj/AG
- JSDQIqIi7LRUwrvFZJLUAVuxPLHcLdUEdcBUDE/UqSanrs9zRmXkcaNU+bZlG7hrcxA2mUBy
- T8tuUnd4augwnjSRdwOqb6To3FJWLMn5yBHIbnjCtm86kCEx8rLwgZ4B68GiZg==
- ' | unpack
- }
- cpu4() {
- echo '1-2-2-2 AMD Opteron 244 dual core laptop(?)'
- echo '
- KLUv/QRYvQoANtlJIkBprACDMMQtkTstiphu+tF3RsomRkcLaiECKgDo7qgtvyZCAEQAOQCP
- WWerZUFc4QE7AaJ0dHLCDRiLr6TL4r9SgsrIVQLJV2KAb5n7w00ZMBbtzaiO+Sy+EvMajmSi
- Qgr5So7s1iYdVgErQYUUnnkPtyjfZG2RNh52qpXhK6WHHVvZHIK4CR1Kxq/UPAsN6DFOFSB8
- QWjD66ujsaYGFOWgQBTJV0oNBwwk+UpNDE5H7tHuHf1AB9sTijZ/Mj4kt521vTZ8x5l71n57
- zK6I2rXtlfGd3ree1+Yrc13oD7uvlLphkB8qeQvBIZEonvPMg848955fM+pqwyLbO/qQrJaE
- GlAOBElC+UrNb2UjF9SM9CEjo3zhZ6TR7qN4CFlrhj5Cu6/dDxAAAieJgnrpvudbNgNUIOzA
- MqSoSuBmxjF3/rkp5oAwr3m0DVcImxgIDpyVKKrENj8=
- ' | unpack
- }
- cpu5() {
- echo '2-24-48-24 24-core (maxwell?)'
- echo '
- KLUv/QRYdSQAGkNoCyQADcMCI0TLks4mlR/lnQWq4v01q/9MCZihKMz3R7P+/yfjrxe5AKIA
- pAAKdnLCyuueNSgYcfRSeGMYCkYcyJs7DVYooYPcjoTeGL10uivYGQ9+6XTHSm+MTkjoHGAf
- yJ3mYFNY4MMAgyNJQdQbYyvA/i645o6FGAIMk6Q3hlFBQYNkIeiNsW+6SR2Mx3pjJCRk3tpH
- BQUJEIVAeoGnxRUmSQMYgkNwcOABHgCQcyM8wAMAb4yNTT4lbwzD2TfjkbwxKDgwNsQV7A5n
- q1ywEirkJnhjPGig88ldHMgbg87udZPyERXKGb+S3vou4UlwFNFxfCj5CkbQTbQ9gi7zrC2n
- PIXEdCbP+vzNmTDw0nc9vA/LlzMi6LJhwdF219VQZastp3t0zq7roz8k0PLjP/KO01xT6O+B
- H+vrwruftvvbfdoP4k+Mh+zau74vtMJBOO6J2ubXxl/M6N5c/Cb4lNZ43v7yuK+L38anHe+6
- fpu/7xsXVzDijWF0ojk84VDojeHsYp0/GMdK3hhVbpQJ6DRDcqSFAMMo9sZohnEm5uHoSPe8
- sb/dDp1oxB/kxSvvKVRIJ6T8rIM4jHLxCfO1hTZQrl8Jncl16WHlR7oL9b0rXzr8yvPA+9po
- e3vw0TEgFprzJxt99C5BiD+L9l20ft7bTjfCalgJndf2GVzXV+l48h3klp4nZFjb/ebeH3T8
- 6B6fcn2eoMddbXc/xfra+yf2n7i4w87Q73QGDGOYojCFJYwxxpZiii3EEGMUwyxJKYbQQmsh
- i2EUoyhpUQohRSmFEiUpibHE0lJJJaVQQikphBikEFoQhRjDMGtRFKUwlhKFkIQQsha2MJWw
- hKXFFkMpscSQhDCEMcyyLEtKTEEWslayLIolSVprIbUkpRCEUkIpIYSYlNCCEKMgtCQIMbYs
- ayWJUmullBJCR1Plxk002eLpTph8OE1RKVws6wLeFR6erDdGdy99rwWA56ixqCwgIiKDAAhC
- MCMAACxsAhKoQBgGIBAIxsEIwTkOEfxPwgUfLJZYP9vKZrhEZep2u7k7XFK1ZLTlxfNql0Dp
- yIyLNj3Wy9LeMRJXK8cgHu09Fq1Yq8b0XW09VsBqLc3ckYn047pXflSABeQzkYdcPcePl78l
- oEW3htyWDCvcopK7b0uGSt6uFhO7XBKlKikuaCWPOa6tcXOiBR1jXNPFta0FfQxn6O1mJGr5
- 2Luq5WO+pnaPdalaeiyWdukXgH8mpTAUl1kS47K2M8j8mHlcElJyq2RtiZDCbSm5+7ZkGJQZ
- l7eixcwul0SpiowL2tRYJ0t7x0hcrRyDeLT3WLSiVo7pM9pyrIDRyjFUlvv8H/M+JvuQKzUY
- kM7MMXFBQ7TYyblwJnts2KkJO02wk27ZTOpjv06V+jple920PkaXcca67lrtscV1V9y9WuCx
- xLUirn8t9NjMkJcZXC01dpO13hjFq01jyqKWjd272jEWZke+Xv7966LvqzZTC0zEIma1yNpX
- ketyZer/0g6AFe7sFs2nePnngUV+Cv9cPO6zftzOuDDzXMWe+8I/vwr+ll9K
- ' | unpack
- }
- cpu6() {
- echo '1-2-2-2 HP Laptop Compaq 6530b'
- echo '
- KLUv/QRY1Q8A1iZsIyBvqwA3o23SyJIQjJ06dkMYGMYDOkA5MLcI3iHqFTCAyKAwaQBhAFkA
- BstXShcNEAYKi5SvtE7UKLU9pSxfKQIb885WFw0MioNgOcKvKEpj4hQRCl8ZFQYcgxYeIAEA
- o1y3Cl9pH4NvML5ScuvEp5qvZOHaY88hVuV2QoeFDYLL8JWc9pDRgTtRyleSsXs1SlYBy/iy
- 37Xnt/nrfN/kED9fKXWEOa5QjeUruZ2su9MgVhjb5NVoHxA/qtfiKyWIH6V83bE2G2zamK2M
- eog1Oe0royrGV+oIbA7SWil3TFtbSFglPJxh7EXrr0SZqoVhCAoOAjudN8h/5DK74wjfE/KG
- LB/G98jlh0Qlu/Z8TMhmw6h/7hG8c0zbor8Q/pufknefsd3f7suOnkfvvbGy93Quacg9Tt80
- tvmT8Sfx6Zm+b4Qv5Xzn7Tsi/ep7y7Isak24byMMsne5FZGVY9CUbeJgLvCeDfKme6XjMMU0
- X2nCfTDSHHswjXI4CJSDgsZXam4vRiJEQRD15Eqm8+cej4S574R19KcOX/KM3iyRvrHdfcab
- d6yPdi7jbDC+M00HGgDJQBXgHVgYGFDCduKMmpHxiUzAByptDXwxQm8Orkb8MKwzCJ2GRGOh
- S1UsIOebOfYk2efwPdf8XqtmFQx7uDu4QYQPJQq2DBQj
- ' | unpack
- }
- cpu7() {
- echo '1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)'
- echo '
- KLUv/QRYZQUAwkkgH1BnrABA24MVyJENxj4WLhwSzxygdYSSvS59MzORDgyGAoEto0jsDTHx
- 9XOWl0pYpXrUG5qMPlbneFtuptv5FMdasGcns3AXCd8HEEQylmN3Q5V+oUp/WRoo36uHPHs6
- +wS+1kuCN9TLzdRNJHYM1hsSQAACYkE8JPWGOHaviyxTDgAkQAkMUAcDFIMBSmCAOhigGAwo
- 4Wbu07xD5gw177vZqo64sbtwFDXaE3w=
- ' | unpack
- }
- cpu8() {
- echo '1-4-4-4 x96 quad-core Android TV-box'
- echo '
- KLUv/QRY5QcAhlE1H1BnKwDIkoetw1FHvrd6TW5nqI4+EQedzut9ABQptb4rACoALAD72HTS
- yk/im3vpzs7kbugyATqUkc6ORAG7AF+v3P8qKK0RiLPTzJzcmE4E9W9C+qMuDC+XM+FLV09h
- E+lcd0VsFHoHV7lcXB2t29Uq88Yq8xA2UX5yb77KfaSkV6aEdHbosq+3Gs64G9qYPqX1GiuB
- 6cKRoYzvB4kBdLr1Je+rShcoKVYc2jpeAaUQZCHItkI6rJSUYZOhzs6B+5oNUHsIDIyIs8O9
- i6S3AKF1dhYmDgA0xZA5Q837braqI67uHZjSlgNrgIOBQ8Q8pCcNnhe5YjIBX0edag==
- ' | unpack
- }
- cpu9() {
- echo '1-6-6-6 Kramses 200 USD laptop 6-core'
- echo '
- KLUv/QRYlQcAgk8uH1AJrABITeNdwrPRAqt9X9oa+rr/FE0XsNM0A4oUUSIDBmKowyiQcm/F
- 1bpHYhKJN2Fil2uzj1AMCHmi+/CivJxl8wjF8EIlVtlpUwbbQgjFcONYdrmRTnyRTjxjT4OP
- mm/LkVuvCdm5F7OevZiFVEfGPxo2fffUHUZGD5s+s6dxzOYK7XH4DUsn6j6caoBSEkDUkz9B
- OTi8hVeAAhjSAFdvXeVIHxAInlxbujNlXkPpyffFqMtbiAIVAC1AFUAfSJgbUAKU9wNU9gNU
- +QH1Gq2EwfCdq39vKWe7c6q/wBoyA0HbuS0w7lMlg1sHMAcaacWR
- ' | unpack
- }
- cpu10() {
- echo '4-48-48-48 Dell R815 4 CPU 48-core'
- echo '
- KLUv/QRYRSEApj+vIjBLLADDcJR4ZOmSMcbRLoFyVLE7QWmYAUkyhG4uXRgCwJ2sAJ0ApQDz
- j2zYCFV5LceJnYZVIM0Qb46jYRWIevMJ5ZWQjNJCjmp8w8bjkeeoRoStN0cvIDkTshH1CaNs
- CIZFChDO1ntzcITsMyPCiDSlBpRi7M1xRBwoMI9SSq1JvTn4qbFGUVJkvTkWkLSWbyNOWckZ
- HkAvAFQjvnbhBgoEbw6mEDrz5jgmP5UiyXpzQExJoeINGxEDBYIoL8SM2yB4czzSieoDsYSo
- N0dUuznWyCIBh4hwwdOxNJ5OR8GA8xeKttona4qP6pVQpZeQPY2P81B457kT23obqtCnrdCf
- WheO5eixr3MheBuq8Xfihwo97XTexr5P9MRisX3sr63OnXii9BP0OWFsiP5lnHH3uftRT4pP
- lJ7RjamY8Unjtr/QXqo0HkZ6XthH0aW33F+meI70DO2jpo99z23Pz5lKb1jFm+PoBZz2AXlv
- jskSB7BxIykJvK9MfOnm6Hkg4pI3x4WYOi5BmhfQHsHdMbUKEhoQ594cbSWti5pA2JIcjm5k
- 219wO3M2oHd0L3S6nctRQ/QdIE+HJdiT4ox4IaVOYt5GAon4TqngbkB7lmA7VkbQHWKdDpX6
- UpSYv5ZS6Xzhbes8MB41dR7JT4V+n4dfCUmHfifkH6SuZ8TLCo4sd0MLOWFLeui4+zQBlyg+
- SgvvxKdSB4rylCRxyXvtOcdca6sxpthabymmmFOOYRqzLGxRlKUkK1lqJa29x5hza7WmnHKM
- Mcxay6JUU5THJIlb3muKcyxpbT3GGmuKOYZ5bVkcU5S2koQp9t5inFNLa09hzCWvPfXUY865
- 1dZizqm23lpuMUxjloUtirKUJFHJe+8551xrrTHG2FprIQ+Mt+XbEQyq1Hq8fXpv733fNxdi
- ygsIQfqIH6pFZoDlqEGwFQAEQA4AEAACcBMAAAgGEshgGAgBCAKCSSQgOCYK/2sGH+oAS++e
- VqS/F4zU7z0u9T1GSvVeu1K9N6t0c0/yY6Xag3up98Qm5T0PSZX3+IzOLfeqIuUexEu952Ap
- 4T2fk3T3ICSle8dR6vZaKf29IEi/53FS7xlISvesJW0mAjIpo27dS5JU7yEm/T1VkH5vEJK6
- vYOlfc9AqdxjqzT3ZpSK1AAym0h99z5VpS1TIwAH5ABuGkB5CC7/HDKKQAjgbgBaw+LsTyLv
- 1Z/UMvrTdJ7On3T45E9q/GnKFP7IHmOV1p6oStVeqErXXlRKa0/USmsvVKVqL1altScqpbU3
- qlJbGwD2iO3o4vIdhC9r3/gEqm4WaLhveaVn2a/WmtxlZf1r5amu/n8Oqy5VPeifi7Z8D+pV
- HtHLu3cB1t7Q82P9mJ5lzZxZiTsc5NfnI+/+/t8Hj/tsF7ZZhZabKpETW3DxywH3CuPZ
- ' | unpack
- }
- cpu11() {
- echo '1-4-8-4 4-core/8 thread Lenovo T480'
- echo '
- KLUv/QRYvRIA5mt4IyBvKwATk8iUn9xdIuJLbC8JrUxyQsMubiQkFCUoEAiB6BE0eABoAGcA
- qSHywcdrlRyy9toiwirB4QyjNF9pL15/I401lSQJQZIYXDA8JMpXgsjHvLXVBcNC0hAoR/gE
- hMInksZiMNB4D3iQAFg6FR4QAfCVNjL5hVG+UoLrZlTNV7KALzLnDzcFt8qGle+Ru/CV3HPQ
- 6eRCKvlKdHZvm5RVjxt7V/dIP9CB7Q1jm18ZH5qxnbX4hfAprfG8fYOofVv8Mj7t+Nb12/x1
- 3wj9YecrpYYwyBVqWb4SXGjh3Xu4yfkqb4vW8bCjei2+UnrYUcnXIXv1ydceM8V8pV462x9u
- yb0vnU0ZfAX8yvPB+8ooO3PvETqcCIN3klFH3xrFeQSxnl+IdfRe9iobT/4+oBnfHrMl+qI4
- mO1+bI5PuUZvlKidReeM7e4vsb72PorQITdHu9NZn5zxTNNb3Z/k74Mf62vk3V+2+9t92pHz
- KMYHBQUFTcNoGo0GwywMg8FYFmVRFEWtKjcuhEkWT7disoLsqfRBBswF3vU9fsD4St291Dmm
- mOYrVblRQh5kDkZVnsxiP3LsbrcdfcTx7jWG5HtHul9efJw39pcIYldefLz2Q+GYgz0a0s4j
- 3Uh178qXMC8gICMhGnYpKuGdGMVqqIR3FoZMSQ3V8ZiYkhqq4zGLIFFXQ8V6IkZdDRXzxHJI
- FKuhEt6JTTFr7sHFkbEspWq3gcg4GEnCDRHCLERgJRyDNg6inUEsukGicXWpWC7nkyOR3f6E
- T9+IZeJitNtyLQ6A1ShkK/65
- ' | unpack
- }
- cpu12() {
- echo '4-64-64-64 Dell R815 4 CPU 64-core'
- echo '
- KLUv/QRYfTQAqlfIDiMgC6MHf36aIdkoVm9EUO0Fii2nyR1YSqSyqftWBncCpDxDgOwA4QDk
- ALuIcRGfcBrnLWv/udXNVcj41r24fphLaY07/TdZvPUX191c+nHf1/Wf68x6VGxiNmswjD84
- ZyIczWswHFe4swxMzPdIWKe/hSuJ2RzvCWswjMRsDrSGdRys8IEPTnckazDeqXybmM9g4DqV
- 72C8BuMPD3QW+Adaxz34CYh5EDiwiUJpDYY/gL+OeO4dzF1IVD8wkCCtBCHEFmgNhjPySfpg
- PDxwTq9/MKTZLtgAsQJ4JPU6FWyBBAPWYHh0z6Y1GIbjjIwHpzUYCQ6MrtnEfEeBBAMerI8j
- amLAGgwGKlQyjysOtAaDyn9/ks4jyzAuMSp2mQtcZvlfr67+VBAQu8y3y6PQ+hrqc+vC5ZR1
- 41KXflQY6Ix81l9d5WKzlUHYCh/Y4HfKxf4CF0HxchGveuN0IsiH6fX/5wAd9zCui4tL6NsH
- p6sL36j4TXju4I4y49voKA3COfsYN7tQuHWF+8W+u63Pm3JuYkX5/zJevHWx2fb/XyorfGRc
- B4wDJxGdNxc+cxvqMzbUp9v4GIWJbhWmLnzK+o981pnyWUbKgzKd7vuq1MfVf+Tb6Ox8Xxm6
- y4F9MnPrlEpd+CLGXTzrOO59wm9FbPL/9f+lv2gCzIo7UcwpqcStcUsSlFiCIEhLCGOMJbbW
- 4l5KKdSqu1OnlNRKE8Fh5m6JD0kVB04bpWl8l/kQEPvT6z9ARIR4Y91Z635dQ308+sE9Li51
- BDkPxyUqhQoB+xUum/w7ZRh3KLYGoz4eFcWO94Obe0At68UEEDA4uBVaW2oNxk8Y5UEux7+b
- CYviVNZXEisUp/X5/D34K46TePZprU75V6rTT/ht4NxREsvBOBLxThG1mUu9OrDxT7i5Xx/+
- O2fkc2YZ+C5h2ce585TlRcW6494r76syIX22wZOOEhW/Cro4W+ez1VEXrSGsk4QlCUEWM8YU
- Ymt1UyohnHQzkhJKjBlZCEGIam2h1EmiuhOCdC9ejCW00GKLceLWBdSQYoqhpFgVUIIgSDPC
- GGNrLWQppRJCBVbdjVollVRKrFgxglCBWSGFFGIIFRip1pDubsaotQLq7l6cWiug7m7FrYC6
- u5uTVkDd3YlR0gqou5u5Ja2AursRI0kroGak2UJQt7YQ0pJEtQRBuhnCWFJsLU7IUgoxprqR
- 1SmxJDGvhFjxQqm1Xi1JUkpa41ZdSIsRKiDEWkONVhfSYmZmZilx9+KBjqiRnAhgAOQQAAQA
- AOFGICAAIkADEgBwGAYCAIKAYAymAAITpggeYgACwQNAwEIftz9McmKBf6m5EydOLu/tYGMY
- IBGpV9IBE63T3JCc3AVplFs3yQM33suRBN9v6YVSg2SBf0m3Euv7I+1JMnUzI/GAhX6lTaiE
- OGZMssQpNWUkDLjcNEGiiFNcsyW539bf3yGYTAsR8j0D+hgZpv/g39JPr3Jc6ocmHqeaIjHg
- 8nKzDppygUSJry/JyQX+pRb20YlLSwT38Uj93jQAT2OZ4YMjbmt0o/oI/nYyauQ+bvj2zuWx
- mQBhH52/ACgXgPhO5YfY5xU4AKEJIEFV0xDty/srgFsD6CYGMp6fHDK+gsADqEWAXA4hBjG+
- gL8EuFWAboboh9jnFbgAoRkgQVXTEO3L+2uAWwfoJmh+iBJXY26ZnxkTP+IDnAh9CWAOBQJ4
- fTxJZLjanDMkDrhrDsbEEXcYMYfkgHPN4JgccY4hZkgecJcZMySPuMsMiskB7xiCMcne75+5
- pFdGclZ4hEXxmQP5+l8c4H9WkJlkIInRnKmTZaakI2r2CXKLzZwTI65MIr1REifEWozm1a/+
- hdI/pI/F8DH/bHyx+eSfdPyTSYXWD/iXJv7+FN2fUsIto5u0PxVw9iey/pCeiYn6y9M9/dnS
- Gw2pmzkm5y8L3PzplT8ZrBcDZ0L+qhEff60Qf9YjpUn4owUHf63v968gX+L9YLhh9sDNlXci
- ub812iWRwPDeymyS+22cbIokDPesTJO836Npk0gIpHtlbunNKPvkqj5I44ZLIgGQWXfmll6N
- NvYIcIIpc/K5NPJrBfkj7Si4maytfAjJm+YcYWAc+VVSROp8G14mGf99RvzHPkzk825e3oH3
- T/vHMwUoWC5HxGLJBL8rdMuvH5MVPCZwj2s2xOTH+BCLNk1zycfB1vqgdddQ4DjEbMd6oD/T
- /q05b9gEeqJ524Ixfxz8jbBi
- ' | unpack
- }
- cpu13() {
- echo '1-2-2-2 AMD Neo N36L Dual-Core Processor'
- echo '
- KLUv/QRoPRQA9iRoIyCPmwBAIy3LSinV2zbLlasWEvo1qQe/YpQhuFH+WyAIGgB4ZgBYAFoA
- rN2p1bjy7LIA8UeDkReNn89SaykAuHCQiCwGQ1lNF4fz2m42LxTPCBkInIIaHgFxTBzmxB8e
- LqAd8KB7WuGp6h3AJYO6QJiKa6okh3YtDRIKq/XLpyEF1lKE7GW0MJ4AECFzLhg3XxbfOEwu
- W5iakpR3xxV+P28kM0VyiuofhpzErUMcrfYR1HXlxNZv8iOU9Vz6VPvI+sX95H2yp0ZnR7md
- LAYuo3Rn7cHWm4uSibMCraR1e221VWtpsGsaBw01S0aK07b4brGgS1Fs3HtVo2dvmjyJtWTN
- Jrfgc9M+iRj+WZ2SjKse2qhIXBrxK0s56dLqSpJHufdbC/cQJsJuD+rb2ye2cOE7g9BJmzH1
- U80Prk/gY46rCwzDOJhl4YtHv5qv/e0+P6WPuzgFdWzRwLlb88iDOSNjql/qc5pT6QFZOB21
- h3gsRFQskIMCAwSDbQod2CwNJkoZe+XyGYxHJqbqTnJyDnrn2K0Sc+qMFiqZlZRqalxnKDAE
- iFNnHPIyW6sjBSmjVv2fZQzcoCUQPqCxgIN0gPYK4Id9CK2Xrhh+6pczlgJU1dW5V1wXneBN
- Dso0OEHQ1BAQD8hEOKPSSEqqnbiUo9qSNWNCSqPFwUg3GEdg597rYovkh/VDJS4Jc2hsDA3N
- hu0BT8rqVWmlI7y1M7cQWtFBkCZ5dJEVHCEfnkAcxowh8tfz/1gcq4N0e/Ln4LoBaCTxpDA/
- K9wEOcdPpxqOgLHqXpMH0AQrQRswgv0G5nqaeJrhzIzcgz0m/QlzxxEQGeDTfXJ21z8GJGDt
- hOfZ08YsNAENX1FX
- ' | unpack
- }
- cpu14() {
- echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)'
- echo '
- KLUv/QRo1QwABt5WJBCNWAGjFDHykUWSQEvNjTGJMp1z5pZCA7MA9TKhFAAAEwwAAlEASgBI
- AI5SkwOF5Y6KYGPe2WtyYNBQJBYf+BmNhuHwhoUCGNfhAQwAd9Q+Bs8wd5RyC8W3mjtK4tpj
- j0usy+2ECAubBNfgjoLaIyMEN7IUd5SM3atRcmcRX8r5ztvXxuyOSb/6vowv+117fpu/0PdF
- LvGjI+Y4YiluI+sONYkVxjZ5ddqnVyLxYxEk3OFYFuWO2knrL0SZrsaiSTgYisUD3X0ZZ4Px
- HQKCcNJzym+QOcJLougixzkdijF6eOVZuvZ8JmSzYdQ/d9aekPwE7xzTlvQn5Mt2X/b0+PTe
- IS25h9M3i8n4kfg0azkT7tuIQfYuNyLyckyaskUczAUc09YSCL9ne7iC6V4JQWzCfTBqjj1M
- sxpLoqEozR3V3F6M4sN67nlAmHsv+4TKkb8oD7Pdb5RJv9gYKBAixjTqEIhm1AHKWTCgrkEE
- YstArr0BOSgXJ4Xmpu4j9PRpQcgRCckdf4fcSFol9GuGecuj5uBxngHakML8
- ' | unpack
- }
- cpu15() {
- echo '1-1-1-1 Intel(R) Celeron(R) M (eee900)'
- echo '
- KLUv/QRo5Q0ABp9XIkBrqwCI2LZJIts7o1loU/RrgCM1Bkm4qbLeX6WzKj6uMAFQAE8ARwAL
- JHEgV0hbZFGyfUlxhRq4zDo7PSwsEOTgX8Ao1WnCAxwArpC+BU+AuELIaYsvGVyhh9u3mDvM
- ktMJGRSuA1XhCrVVZGxQn4RcIRm7lUXJAdxIyRVy+qh7W4cZjDtZmUOV1ofD60XGIAiTIrxC
- jbMozzbmbu1cuGx5XSGVkSXEFeoGrlu2294ttv1gcEJoeIJIPGxfGWyxlEiQAYXQw0KHjdim
- 06c4zJwl7eT3XO6A14X/5rufaPdlO5g73vsyW+/ZzmjHMY79iY99NXwp5ztrX+FgV/auiy/7
- nfW8Nl/b9T13mOlmuSmpCfVps+B6l9qInNxyptxH4D13eULQrbK1NaE+2KxbSoFBSiADCKLg
- fbGJS5rL2Omcpyxu7rvh1eh3e2cmwr178WNRVMbZSoJ4FJWTKXcnKADAIKuqBxBI54gcFYp3
- xUIMqhrUyHoLjYPwgszI7eGRdSUOFMYQlpP0pOoEAV0WM1zTXUey4OeJUEZtb+UNcgLSAYUj
- iyXJQ3TVfIX50ANedGFbHwEc/JQzJup4YQ==
- ' | unpack
- }
-
- export -f $(compgen -A function | grep ^cpu)
-
- test_one() {
- eval $1 | head -n1
- export PARALLEL_CPUINFO="$(eval $1 | tail -n +2)"
- echo $(parallel --number-of-sockets) \
- $(parallel --number-of-cores) \
- $(parallel --number-of-threads) \
- $(parallel --number-of-cpus)
- }
- export -f test_one
- compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
- rm ~/.parallel/tmp/sshlogin/*/cpuspec 2>/dev/null
-}
-
-par__test_cpu_detection_lscpu() {
- pack() { zstd -19 | mmencode; }
- unpack() { mmencode -u | zstd -d; }
- export -f unpack
- # ssh server lscpu | pack
-
- cpu1() {
- echo '2-8-8-8 Xeon 8 core server in Germany'
- echo '
- KLUv/QRodQYA8solITAL5gF7YbnaqsSsYkliK98HHFiNI3FSwNumyBYOykA5Aew4x163Zw87
- 7XAqwtiSPYwAiCZa/8LET3hd+xO/ZCDAJQlLGEACjIF+VflN4KP1dFkhfg/zHeDC9Esbp39R
- LyBo2lZJfWLmstJeIOmA2/WGWC23lWFWY1uv2rAKCd1SESOtGFYhITDsnsJDEK24vW70+1S0
- SxQgQIII9QEdLfxiBElVRWsZDqgLA+oSr9kgrmS70kDZt2WvOkEnODfAiaJIAWgWoteFUwLs
- 8nwc
- ' | unpack
- }
- cpu2() {
- echo '1-4-8-4 Core i7-3632QM Acer laptop'
- echo '
- KLUv/QRoxR8AukKICyngcGoTEJCWSciVLZJIKEXuzdZEplGI3JgV4DZJLMuEV2COJ8wwH2L4
- BcEAsgChABMIwcjiqQJCoZiUW0AsFAUYGxxMCkBPd7MpzAYHDRQMCMYPfDKB0Xg0HgjoA0wq
- D0ABQDr1HjHgLRmcMI9LU6eeZz9JPo1eNlAgeYTs5cQ7gkmFCMyCwjg6MSzIGWEChgHXYy5T
- GS0VhsCDolnbn0/bw5PARDQVdVQpwnGHppbyxbLnVuePBucG5TNnZAwB85Syt+DZuhVCTBYl
- PPsSYRyPO7Q6D4xGAAaQDLqHha8gkYBxPJpHxHRIxqhXtlpWRBAx+yncNw3H1BiVc4ZWaWAB
- l4UrJkeQhfSMvQ6ulXz21FuvuFcqnbGyRyhPSVu1CMKs9uI8I2z+yqVIIE8DZN3SAMd8nsiJ
- KluCQ5hNskmvTCh34LRw1J43pezB9QuTCY4pPckXVCRu4OkFBE5I7ROKLG9tS4G0dXLIZOJB
- q0W7Re5Oa8kvrU0dFfO1aOKKR2Nyhkb0wSMYaVlqnS0gMNNDZeJBbbVBJ5jGAkJRoOGgSEgC
- beE7gxBqNuO5nbOT+wfdE3Mby4qq6aeaXfuu+Om9NbX4wk9n7/ptOfMZyfzI0/PJuesudW72
- tv5otNpL0K0raB9ju2/yl656xLSeyz3VPrL74n7yPtnTSY/2OYQh1RgwLHvl86g3jBCho77e
- hdUnrjC4YFzqDiMcks2J0NPW9HmEQqFCuYMFBg2FQkQiIrlDPm1wO+OXxnwJvbWIAaP1KX4M
- W7TmUWVbDXPn3r+2bxXVFdO7mJZm74Uu5jedchji50xXem9GqHGnbM/VPekaIFMWbuL219Hm
- O+voOTp65jBfe+9svluknsa15rGoFln8eiyeT5J6Soqnc6rHdNoNU8mafmvhMqYzFo2D6dq7
- xfZxe/pjMa03kjk/OeltV8PsEbY+6O54cDZ7BpahRa6tvb69OtNo18L3CwQbXNjTA3IgUABA
- FFkPLUa8gdKoM6utIHa/NrtPEu5DQv8gyge6RJ2RmegWA2w0olDY/5lu43u3KLpQpvV9DWB7
- CFzd08L6NLcg3DK2Iii4oCIi1jNIE2hkLi8wQYrBQthc9idpAuBaroQWpoIwMqR3NNkECfJu
- sp2IAOACZSd4BLmUzVHl0rV1Cx0Tz3XrtPBCCl8Kvi0Wusx4XxBktMyMQbkszXzEs4pfZzPl
- aJcthoylYAaKfS4KyazRcAhc3IKx7ShmMdAXiKvD0NxyiR0chavOhoeEWuhRXAvYVR9j44TQ
- yFRTQMEnwBmtgAoLU0YIijDMvRARZYMpA4smUrtjrICOHpSiNYqBXUcja59JvwK0LWESpwSv
- +wJQ
- ' | unpack
- }
- cpu3() {
- echo '1-2-4-2 Core i5-2410M laptop firewall'
- echo '
- KLUv/QRobR0AFj+vJvCyNgHQEZLJrWwzBCOlyJ2IXthpoGeK2U1oGVrADy9eHBY/BkIIsgCr
- AJsAlEmEYJJAgT4kMAcbuFJqZ54PiQiIhAD6wjGQyAQaMNgHYDQPwABQisFDrzx1EfNQOm8p
- Nl0bXhRuBTXC4fIZHVQNeAZMRsUTybRytMg6Y8MDxfap0jGdHM0jGYA07/sV7huAFs/ksarn
- WgiTCzzWljscee6VTpGwfiyfWadzDA9k6+DD9XUvxStT3bS4dsfyTCgX6JUGIEkAA6iL1ICM
- z7hoeCaUiIJwvaKz6qa9nDYZAg03ykcRT905mXTeSObBBR0Z21SuKhHrOltSsTXlO8j+uk15
- ttYdr7slc7W22asqzEx2pOuMzW8qM5cK9Iiun2KsazCZK/DUaaqkyfQ1vMIOA+PyVAte/qC5
- uMJmezFTRyj0vYLRmOjlbL+KuvT68k7vW4lNha/SOMSymEskUMTg0Fp24hOKchprdxGK5xrQ
- aMC4zT5W44ESDCaZiwsmbqIFAS6EAAJJgC5GBfPc0llSeRipaaqMOG2yqCFrpt5l43bzF/x7
- rHGHr5I81W/OIWX+5Gv6RVFf2di53Tlcvem1UyTN5K1ItbON/JxNXSq/rWRHuNq1UVcmP5l6
- 476yvLorZb2S0yu8YQ/icdpNp4m9Y8WMEnuDHWa/WLOB+95Ot2QwNJkLbEBEGYzH1sHYbrmw
- XC6gcF+UrfNtp0Ld/L0KAuqFjD81j4u8qEWOOrc8fPLNJjtze2oqp91bRrfSekudcae89E1f
- Clr3iI5xOJqyL6VtviSlPU9p7yTmb8tLUk+9aOKw98tiV4vxdVb2qdR25Ji66A2bjBK6DkWi
- idsmTzUnP2Vfp0Sudoky8yHWX5T1J1vE7jP2wkh9QmFt9w7X8SrqNfmF8uxuK9lkhO9s4osy
- 9vUnI7yLcRNJDWMgUASALDIelxSA43If9uHpvXHEbfAybA5yiTzjJGNsNEJhrP/trvE9thy4
- EPWxBL9Ev+3Tc4V4y+yIoASj88gBPDh1YC0Hj+9SAIGlXIksTAVhZEDvaLMJEPRuqp2YAOQC
- TScOHg0AZWaC3ta8uvJY+7RdpnWcJnqpGYJyWZn52M42vTHmkCoi6xGLgGI6qJBMGjmMBMaA
- xU0EY9tRzDJQ4nY0BW6JnRuEi+6GBsRfsKN4C1hVzzGGYiil6i4wwSfBmRYAFSBTdAhduMYs
- pN+yYcqIRXOpXTBSQCcPSsga9cCuhh7z/9NC2xMmKUr4tsTH
- ' | unpack
- }
- _cpu4() {
- echo '1-2-2-2 dual core laptop(?)'
- echo '
- ' | unpack
- }
- _cpu5() {
- echo '2-24-48-24 24-core (maxwell?)'
- echo '
- ' | unpack
- }
- _cpu6() {
- echo '1-2-2-2 HP Laptop Compaq 6530b'
- echo '
- ' | unpack
- }
- cpu7() {
- echo '1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)'
- echo '
- KLUv/QRoTQgAgk8yJCCN6AGBEUmyQvipyGwhCMTqQifa7nWt/lvbXsAxLGVACC2ABrswzRtD
- KImUazOO/vUjml18lTF9qBAGEXY5CsYxMaQJmQvlLPmUUkqxNMwykSDxhEWqHCIfpf2OZQgg
- ZdLvM+rIJC+G7aa00gJkwGCfTnbDLo5dzM83RJu1fUY7MBt7U8faIwxboCh+vj7I3PJBRTbW
- eUzRSvacPOCG/0+BH2/nDe6XWOxqWOCfg7IwARWg3YwKnfyYol1NpDlj/LRLvvW/SHMoGAAr
- Q5AWDg9qGEBiofABuk3KGsauTvhpnhsa5HVShxsS93JpFOfBzhP4ZgBCDQ0XCuEub/2VgAiV
- mwwoAdUl+VI=
- ' | unpack
- }
- cpu8() {
- echo '1-4-4-4 x96 quad-core Android TV-box'
- echo '
- KLUv/QRo/QgAtpE4JBCNWAHfG9LkksIm0BaMBALBz/jVBGlPVDQCo6NyBAUAwCBwEC4ALwAv
- AE3Pdb/CdQp8qMWbgAkggTgKsm3Q4Oq6V+ENa+PHtSUIlBuYHrM3ylI/2hs93AgNJUKbo6OP
- wb9x2qJDORYaBQnn2KA2qCXS+vDEqRwdtcTnrLIx5YhBMcoCQQ+1/s5JT34q++OePenb28ku
- oTlh7mAtuGutJaBYGMsEguMR7F0CcdRCLp7AlVI7ohhGqqdtezZt2y92uj4zwajwcja9hKa3
- k15PBt3hSVEfciy6hLiCefi5YmHRfBgggCQg1HBWDGNRBoJsaT4B1kZtNKSQAf5kC+J/a19p
- 9jscIBj33n2UBCmUphwBwqU/HBDKFhi+RQnSA8zN
- ' | unpack
- }
- _cpu9() {
- echo '1-6-6-6 Kramses 200 USD laptop 6-core'
- echo '
- ' | unpack
- }
- _cpu10() {
- echo '4-48-48-48 Dell R815 4 CPU 48-core'
- echo '
- ' | unpack
- }
- Venter_cpu11() {
- echo '1-4-8-4 4-core/8 thread Lenovo T480'
- echo '
- ' | unpack
- }
- cpu12() {
- echo '4-64-64-64 Dell R815 4 CPU 64-core'
- echo '
- KLUv/QRoNR8A2kBECygQbcYJiNmWkVvZhZlEnSKWBFp0GRq85wI/vMgYA62BnzagCgCAQaAg
- tQCvAKEAjwPx4OCIj9hIGkchwCHQLBUUOBIPuFJqQyQPQ/N8RmZlcT48wGsAME5t6eD6FrzT
- Fh3JwkTcviUdcDSwbahTUw0HHD5jgyoBvsERoUHiQCSL1gksss5oIGEi+1TZls4JQtI8SqJ5
- 3a9wnQIdJG5RPbdacIstRyZ57o2+cFgrLJ9ZZ2sNCVzbIIKr614GU9t0cO1II3GeL/RGCtME
- YADa4lNkfIQHA4nzQM8CcoZOqpn2Tmw2BAmYXrj4UxtulIcgnrpzruj8kCuCB0RkZFOZWqrr
- bPkiY8pvcN01m/Jrqzd10eJtb0Bcq+3lqAKP7XWcwbxkJLrO2HymEoIBI2Jrp2dwc0i9MGja
- TCVpvWOD3mnbUe+Ra4dHet1Gayp0lIRkaRSHYWCUZ3maR3kUCoVCWTgMjpJwGgKNwjSMYlEW
- C4OSeGLhNM5zxnFmG7vgzKLQiS32tjBIJCgMGLdXhZWQMI2ARCK9ML5TaBQc9RyTXyj/pKly
- /bEGtbfeFmoN0belJJMR3skI32J8QFIn1HA1P3fJuNt89FhUNvmWEWqIQuCdW4wj/J7OKPMn
- Q6RD3vvElJMc+9P0kq/iY18P+Tn7XSqfrVxfQNiVveuSn/zOuK8sr+36qlNS4sdyCRg9Y7TO
- YITXIQyBwS2aD7jOrfQGxIMvQIDYBiN746Hh8AWF66Jsnc5RAUlzcWKdU0vyU9utpEwteW5e
- 5qUtMm1vyysSHS51DIqYQowbkjvhJ7DooGpG7i3he831ZV/0XvVIRvsW9WqWUMT0SLJHUGdk
- 0GwWZey/qKG2yvpOt4j3wp3AlxFyjvYRFcdPrFXSKSMibM2VGT7WLd739aK1mOxV/AhbD3WQ
- fJA0LXf2LNIh1bpWiyFnXW/IZJRnFsh5Fgj7etIb5Rh2IIAAYJCsDt0Itwf3dUHgOS8IC3/b
- cx+tCmlszVYPLUY2cy6k32i2tsTCachLepZh+yFZ+9QZqUTqQcGisUgRvvEwh9VHGLSDCXO7
- 4229V2jZPh1WaFKMZmTN3FKTRx/WIhwGNK8IzwuWRBf5u7SCYK6uBC1MtTDiFrOijJL+3UQ7
- keVCzWv4iQk9sM2ASaSnUIZnvcRUvcJqZcM5YIQfVShhtbI0nFeGKOysSdUYXLuFbGw5uKQI
- 9TqKlwFgqMGU058zcDgdl7WAndaEy5TLvwFg5aqP4zgAYc3lakmdkAAuoQCsBrIlQlAIw4he
- PFE6mEJmPV3qB3YDIAGdPCihNatiXaWRte+lXwO0mTBJUQLQlar+
- ' | unpack
- }
- cpu13() {
- echo '1-2-2-2 AMD Neo N36L Dual-Core Processor'
- echo '
- KLUv/QRolRgAtnKPJQCPWACgNvIHK2l1aPsb21+AYWrULM1pbgXRH0X4Tira///c/16KAI4A
- fQCRyR+um5YG4mTgi0xasEzaa7lUV5OFyut0ci/kJxaLiMa5NE8vRpu8dSo0zmyvSx3bSlU0
- TsPR/OC/8kEBKdE8kFVdn9WArD3OUPTcL3qkgDfj8Zm3OjdpJHtOMnxh94O4pK6rEt/OUJoC
- yBv9IoHnEcAA62YUoPMWEwpNAQSCRK5Ltlbdth/V6iQJ0+tncaxvbQkzo5mo+W3pRSIx0zXc
- S9hZpHYg3HZbSWLvGdGPeg2r+Ah25Zl+8EWsroTVxR2UZ/nz51HewyPPUo21OweiuRCQyPma
- ZbyLBnIwYIBg8FwmKpY5TUpEvodzsehwOAYcjkiGg+UxyUfp9qWpk3nbrBMXgKxaOATkEfG5
- Ea9UHhAbQE5I9eQbTf1Z5le+pF8xnuIKSrAd8mhGb83Yzib6WjueLr89yh652rfFL6OvHN+4
- v0y/7hutV1TiicEGSdcZsTeZYfaLKyTsojrJB+GTTrlQvOEWRoyf+wSlUnF5Y+WDk/ZWCKuG
- p59k/Lot36SHoDvJznVfrSw6T5RhmCBDZ6vL1QPNWowh+qo8RpsQsmoE3zRG69usmUIYCnKv
- Heb95MPgc/SOsXiear3SVsoKYsQitT1a/Exj00KIxvYIIYli8C0bnfQQ52qvs5+c8U/Suwe5
- u1fRRqc8pFPezTlBdCvUkjXL2Y6Z0j0e4WnjdvXR5Cx19E0n1Nde8hCyxhl+ViBABMAoqhrs
- g7Hf/B/GILKuc2SwMcJQiDgBwi/gjABrg9JzmNOqR1vTDhyWM8swRNQfQlP0aR5ABZrRgKxQ
- LLVBwPczF9136UFQQFcRWm8ZQoe1KIqmjbAGHt6QXhiuOxL3tMSZcblsxP24SlsticeSMQPw
- nwvt4I9uNEhBXFEJoUWnhtbCEDvYBbOhnR6FO++GRBrkG7DW9Rm5AoWQy9RySiElwBmtgAoL
- UzgEXRjGXoiIssGUkUUTqd0xvoBOHpTCmkWxrpQel//TQhslTAKUqRruSw==
- ' | unpack
- }
- cpu14() {
- echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)'
- echo '
- KLUv/QRonQYAwsolIjBpzABoi2gVcBKev0FN8WI7YcCuNoTmTbB1dAmqC8N6MAf9xOhcS6B+
- oOLc0Qb145avJCV9NqgRCTRE5ZAsLCJ3UOm9nwP6Pbd+2qihgkUvysD6XJ2vNKuvSDiO7aw/
- UJ2JJoBuk5QfQVrssW26Wen4rx+YManHlUC3TAuQBw/M+Gkv5FqfpKYfJIAxwZfHWZafaSUx
- ExcgQEik8g6fj08zd4EHssVA93AJ8C7xnA3qlYxXshyLBYN1XHECyZgjRUkKjzkkLOUQtuV4
- YQqnBNP0ggo=
- ' | unpack
- }
- cpu15() {
- echo '1-1-1-1 Intel(R) Celeron(R) M (eee900)'
- echo '
- KLUv/QRohQoANpVBJCDJVgAHS35yk/0LNr7il7y4NiXZTi5J2xh8EMPkH0ICUAugATkAOAA5
- AFDzg//KBxEyshyKJFqSPScHvrD7GRyq62rk2xnH6ldBJBQHNqybEUHnKZJoMR7GO7S16rb9
- LK0GBJfkrAs3+uHAsJHJKw7BdVNajAx8kU1wW0JWvkpugQDkdTq5CcuZ9Cq0yVtntJzZXpc6
- ttWCsJoH7dvil9FXjm/cX6Zf942XV3RiikGCtXiciQQiTWo61iLRADRNY+EhPZR8lG5P1sJD
- appGnczbZqUB6zW9exVt564cI78V+thnfmKZXxkzHRPjH23s3O4WruAE2y8ztjOKvtaOp8tv
- j7I/mB0gQIaMujr8eNMPYIxoDLDgY+WX46hwjTmVzU7HpqEtYHxLTLzqx8jKta+0nIvY4e1q
- oiCpQLqitFXU0Fyo+a4q4SvbmVMCr0burQ==
- ' | unpack
- }
- export -f $(compgen -A function | grep ^cpu)
-
- test_one() {
- eval $1 | head -n1
- export PARALLEL_LSCPU="$(eval $1 | tail -n +2)"
- echo $(parallel --number-of-sockets) \
- $(parallel --number-of-cores) \
- $(parallel --number-of-threads) \
- $(parallel --number-of-cpus)
- }
- export -f test_one
- compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
- rm ~/.parallel/tmp/sshlogin/*/cpuspec 2>/dev/null
-}
-
par_null_resume() {
echo '### --null --resume --jl'
log=/tmp/null-resume-$$.log
@@ -1188,20 +666,6 @@
rm "$tmp"
}
-par__sql_colsep() {
- echo '### SQL should add Vn columns for --colsep'
- dburl=sqlite3:///%2ftmp%2fparallel-sql-colsep-$$/bar
- parallel -k -C' ' --sqlandworker $dburl echo /{1}/{2}/{3}/{4}/ \
- ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33'
- parallel -k -C' ' echo /{1}/{2}/{3}/{4}/ \
- ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33'
- parallel -k -C' ' -N3 --sqlandworker $dburl echo \
- ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33' '4 44' '5 55' '6 66'
- parallel -k -C' ' -N3 echo \
- ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33' '4 44' '5 55' '6 66'
- rm /tmp/parallel-sql-colsep-$$
-}
-
export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | LC_ALL=C sort |
parallel --timeout 1000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-300s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-30s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-3s.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -8,6 +8,736 @@
# Each should be taking 3-10s and be possible to run in parallel
# I.e.: No race conditions, no logins
+par__test_cpu_detection_topology() {
+ pack() { zstd -19 | mmencode; }
+ unpack() { mmencode -u | zstd -d; }
+ repack() { tmp=$(mktemp -d); cd "$tmp" && unpack | tar x && tar c . | pack; }
+ export -f unpack
+ # ssh s "(cd /sys/devices/system/cpu; tar c cpu*/topology)" | pack | repack
+ # repack due to: File shrank by 4093 bytes; padding with zeros
+
+ cpu18() {
+ echo '1-4-8-4 Lenovo E540 i7-4712MQ'
+ echo '
+ KLUv/QRoHAsAMk0mHWC1cQMAQXg43q4Vap89AAAg2t0lEnmtAQSEjEgBuozI2UgR9pHWQngK
+ UfLvBgNkXYcUWANgzlhLksiMpACVFKMlxdyBoBzuH4wVNf////+DNYGsu9jxACIOmi8qcyr2
+ VfXPsWY4Y1lN8enTCG1xQJKWKMlrxfx2gQyKKgT/Qgrp3ZglPWf41zw5MfGL8iTqruZzO4/Y
+ +EIQQ6CBmdKUxKC0WjPxHREMiWQkoKo7/XWAkGfsKr9OCaDqVAANMEBgH9mALjUBaAMWTA3I
+ p9MAD/jUHrIBUfUMMDmtwGw3FJAlZAHuHzs1ecDClAH4j/ZPIPoaoyYTGycHGCDoH1PVBxQm
+ D6eGIDdlgH2SOdU8IE8dsCeY/wFy/2RUmKA34QDfT1btMe0/ZseAzCMr/ov9gFFnADBAHKD8
+ BCjyBpgCQHO0WFkAwM5sJqtVlUD+A0wsE3rcMFDlzfe5NYAA+dSJAeQEANBjb3I0MjUxczUy
+ NTMxNzQyMzQ2NTEyMjUyMiSgQG8HYaHQCE8JFPQO/QF4sgGZeoiUAGw7sgGbOojUaFaBACVt
+ QOyrgAyQDSUAD1jaSYa6mwJgG0nAAIv1RDYgUPMBCyb+boABgr2QDSCk4hKrCHjA3J0xVPEB
+ LJQMyG8DDLCsD9mAZbU7oLFTSUC/JzED3IdsgMXV71ONGjTPqnwDAGAyMjI1MjIyMjIyMjIg
+ 6LFO/Ew0swcR/P//P9cM7w78Gy4bwIZDFgAPsgFLB1EA2sgGWPZBhGnxAHoTMgH4ywYoEh4h
+ AMPIBsSABFpUSAKQSDZgojwsAD7ZgFSFQABc2QB6+pEAsGUD1iXgCOd3TRQEAJgyMjIwNDAz
+ MDAtMDAwMDU3MDAwI+ihWvxMMIHZARH8//8/2Jygdgf8BZyNZANcJiE8ajGAw/cw5bQYYFd2
+ GABR5kEIAIHZAJv3AAD8ZTYgw4MEAFjK/S+AsZINmDAhRzMQhAYQHwCjzQZMsg8IAIBsQGwI
+ CEAhG0A4IICAOv0hLxw0AwAoMDAwMDAb6MBS/Eya2gYQFOH//9+WaSwO+wHMPAAkAQMsFrIB
+ CZAkAItsAEEMkaEWD8i4HkYArrIB9PEDJLUYwEAVbDTAA4Rh2YCV9gAtyH8BqbSyAd0Y6Azw
+ gA+2bEAoJEiAOsB8BACINjUyNjM2NjY3NjY3NjY2NmMk6JGt8FNmptQDETgE////YjYa3QH9
+ gcoG4P4FvxpggGDKBkygAsQGeMDnRzYgDGSALEQEzn8C0soGODsfSwCibACx8AAEYCobgF4Q
+ IgZIIRuQ+AECwMwGDMWPQQAWRzYgLx5VCoAHGK6yARzQA4K0ARitRyDa/QATcD7AAzwDAHA2
+ NjYyNjY0MDQyNDQtNRv4EBTh///fpkFqHPonRNkA+KoPaNIGJHsfMdqAAKQWDwhLA1iXgAGW
+ h2xAPMQFIEI2gOBBMABOWTZA/zxAARhPNmBRHy0C8F+AF2zZgKdaATSA9v40/AIUBABoNDQ0
+ NjQ0NDQzNDA0NCS4YB8RNAT///9zyWDmhQP9B2QDvBkg/moxgLX+ES0AA2orkw2wUAZaA4xQ
+ NgB3FKw0wADBKdmATgvKNsADPgrZgAxIFQDGsgHOYg9TLQZwuMcMAGk2AL1/jAAwJUMPLQC0
+ sgG2fFwBOFo2wFDjYQT6d9wXvAIASDQ0MTQxMTExMRr8/AWYDVA4PDoARs0G+L1HXABe1QZA
+ NIq/BcADaqiZDfChekClDbioCoGWNuDYfHQE4JDdAKwEDLA8ywZIWB4pAHOyAYQB0QqAavEC
+ DAQASDE1NzExMTExMSW4oG8RNAzh///fi0bTwgH8BTAbkHoBYEvAAMtHNiAA0QIQlQ3oHIeN
+ LR5wRh9FAFKzAW1nR60s/+eyARBfwbkBlsoG5OECVAYYIDizAbhvwfcCPOBDZi0kaAAM8EHV
+ bEAN8sMqtRhA/jwCAVhANmACObbv/94XLAMAYDc1NzM3Nzc3Nzc3Nx7sQCc/k1nw/SFANiCB
+ aAFYZQNq6EcLgKc2wBlEoQEgmQ0wQXpUALBkA8IQFQCX2YAheHQBGJUNoMYf7gLwAIuosgEc
+ OA+MtAEXEX4g0gYcqx9v9Geq0gGsAwBgNzc3Nzc3Nzc1NTM1IOhRnvh3Zh8RNAT///9z1Wh2
+ B/2bywb4oHiopQ24qPcQ0wYc2w7RRC0e8Ho+IgC6bIAzxMMFoJYNcHw/VgBeZQOCQB4sAK1s
+ gOzrUQFYzQbEwR2aAFzKBgBKHloAUmUDJvjRA/19vhiEAwBQNTU1NTU1NTU1NSDo0cbfhBPU
+ HRE0BP///1NVwQRtB/2D2YA4BEcKwHPZANz8UQGQygbwYh5AALaRDUhBWgDIsgE18MMEYFAb
+ 4AwoeAAYZgPQ+9EFoJQNUJg8LACDsgE29OACMFg2gJp/OFb/RAsU/QEAKDU1NTU1EOBQJ/9t
+ 6f21XxYPuNOdB1UA3pcNcIb6I1UAvCcbQKgGQgnA3csGBKGqByUA1C8bQP/qDygC8AUI6jiN
+ 2w==
+ '
+ }
+ export -f $(compgen -A function | grep ^cpu)
+
+ test_one() {
+ eval $1 | head -n1
+ export PARALLEL_CPUPREFIX=$(mktemp -d)
+ cd "$PARALLEL_CPUPREFIX" && eval $1 | tail -n +2 | unpack | tar xf -
+ echo $(parallel --number-of-sockets) \
+ $(parallel --number-of-cores) \
+ $(parallel --number-of-threads) \
+ $(parallel --number-of-cpus)
+ rm -r "$PARALLEL_CPUPREFIX"
+ }
+ export -f test_one
+ compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
+ rm ~/.parallel/tmp/sshlogin/*/cpuspec 2>/dev/null
+}
+
+par__test_cpu_detection_cpuinfo() {
+ pack() { zstd -19 | mmencode; }
+ unpack() { mmencode -u | zstd -d; }
+ export -f unpack
+ # ssh server cat /proc/cpuinfo | pack
+
+ cpu1() {
+ echo '2-8-8-8 Xeon 8 core server in Germany'
+ echo '
+ KLUv/QRYbRIARmlzIxBtqgDhSWTqT86MkL9zqf+EhavXzwbElKKZVR0oAgBg5J4gcQBiAGEA
+ sLnXDwczA4YzTNLcWTvx+utwzbFmQQYUDEZyZ60JhQYkubMk+Zi3NptQSECQAeUFvwJhFAiH
+ cDh4wAOAnBvxgAeAO2tjk1+UO2vBhWZkzZ31gC+26BM7BrfKhZVvkptwZ0HvoROSSzHkzqKz
+ e92kzALNss2vjU/N6N5c/Ep8Sms8b5+gcl8Xv41PO951/TZ/oW+kPnF0Z62WGmQJtiR3Flxq
+ 4aE3sZPzVV5X7TNxxHofd9aaOGLIncP26pPPPW5Lp/vEbkHvS6djzJ3Vknyw8ZohD81Bjw7i
+ U67Vm6RyX7a7r8T6KlKH7J6GTmd9csYzTW+F/iQfmlN6eOm7Nt6N5csZI7r8OBxtd12fKltt
+ Od0jfCUPYXP96G+DH+ur491XtvvbfdpV9CrGP3btXaE7eoIRdA/MYrEsFE2jNIxCkSgUhkES
+ ZlmWZVEURUGSJEmYU+XGlZps8XQlJjPYpkofxVzgXV/jBN1LIagxprmzqtwopQfbw7AFMoAw
+ GMud1fzilGaDPeqj81GuFkZ/UVKXmFBz9EO5PsIncjT4pVpXTx5mux83IFADQJsOKpW46nns
+ Is7U2ZTFVYV3C3OmxEovTmU8sZyTYlYqcdTzmEUsR6PYOlV4tzAnSqz04lTGE8s5KWalEkc9
+ j1nEqahrvJxROjsHSSvQhQq1tpf4zCUJFtpLU3TfUioW5HyRY49kj+F7XHNrWzFtIuMXRNui
+ cMxHAZLOSIU=
+ ' | unpack
+ }
+ cpu2() {
+ echo '1-4-8-4 Core i7-3632QM Acer laptop'
+ echo '
+ KLUv/QRYBRkANvyjJDBtnADAQSgjJ0We2YiUIhYo1GYrjfN9LZSRbXi0c1gXhgBQJaUAjQCQ
+ AFstjEt/y7WLjrldy3NJYZ2SHbJMae46JVsalxR2RPcoxwvjbzHHk8cuBwx/Hia6pGiF4+uD
+ LbZEjWjxPA9zSVEqFBoYjYRxSdEmmZzMwaXgkuKIbleblwqFBEazaG5wCQeENzw0TuQMELgH
+ NEQA6JQID4AAuKQoXPEN6JKiPG0SLtElZfIcXNUhy5anHRc0OkjUhEtKc9OULWpkYVxSpmRW
+ JucuAfLJlS35WxnfpHRMq/Pc1JnSfZSwmrrTg811xj11XM1RssP3ZdxtXhL/3mI84Su1h/1+
+ nPmNMl+ZP1lSXQLh3bJ17vYHQ1712CNHed9rH5GQfTF4deznbPhVfkPCrgxe134yPOO+8l7b
+ FUYO2eqSorBjvaVYHOaS8jSi781BlkXpepVJdIJstbBOLikKJA6u3txG3quftJvSzZXoq+5g
+ jJxCtvXgaW5/Kdd8ail3npR7o5jvek+tvh9kVRN8U/VY7y2u2eZZxFSXRNY1slhy1vWp0PWk
+ 0b22tE2M+x3Zyj1zuxrJG2Z6lPnNsT1kbT+3JY8YCbujzPwG9pv1Ehj5WzZx+5TtooR/ItZu
+ n2gTDwIf27u4r6buWtkcZfzEEQQETgMtGA5BFDlQg1k8EBRBEEMALSDoeZpGAbRoGo/jNAWN
+ RcHjNA3DMNCCYZ6GYSDoWTCPwyxSR4XqWHHBT6WQu7wF6ekijecC53bUI+eSwsw6W1vLE11S
+ OiqMDvfW9CxPs2AUOOugdEhqqZp5Z147oSadsnlqmMiks5kuP1LI1k/hBFkGoZbGvOnc+/j2
+ veb6au5w6qPbeyWc+lXIV14UBzsgIKMZ0jAPK+HdMhUFdRtVjCeXO5JNULexYjxRJq2g2EaV
+ 8O7CRoIUlGysjsfKBCko2ag6HruIkWyCuo0V44ky2YRS1xX8jOLIPpdShdsmd5zFkNBhyRjs
+ jWqiDxsGiQbeb74N2hniRTgqfc6PK/sOQHV9UrS1UtKWyvnmCMjuOeEbaVqYTWLEy8KHcwab
+ fNdt
+ ' | unpack
+ }
+ cpu3() {
+ echo '1-2-4-2 Core i5-2410M laptop firewall'
+ echo '
+ KLUv/QRYTRUAdrWRJCBtLACzSvaJv8mdRORLLoVMJ3pdprIRArYowWEZLgRCIHoEDZEAfQCA
+ ALM94qbc+9LZVuOOaol8MPJ6MQ5Ze00x4WWw8MXBYO6orXj9nTTWluJ4LCCQRrmjVEUCA1Mm
+ xh21brZJ24vLcUdJ5GPe2qsiAYHBLJYXHKLh4AwMpbEMELwHMDwALJ0HD3AAuKM2MvmlcUcp
+ uG7G1dxRFPBFBj3ituBWqbDyRXIR7ij3HjqdXGkx7ig6u7dNyitytkd4bl0d/SQPIWtN0d8I
+ P9bXybu/bPe3+7Qn6FOMf9zYu7pPOoIQbG+YbX5lfGnGdtbiV8KntMbz9h9T+7b4ZXza8a3r
+ t/nrvlF6xNAdpVrCIE8sRrmj4EoL717ETc5Xedu0T8TQ6qW4o1TE0GLcOWSvPvnaY7aWO6qX
+ Bo/wgSYMfpLYV2I9vZedbnz1WfmgY+ue1vVVNp789pgt0xflaWz33Wv82Byfcp3eKFM7s939
+ JdbX3k9ROuT2tDud9ckZ32h6q7uEk4BRhI3/JD9iiK6E7SG6zLO2nPIUkgknzzod8pR3c0oe
+ XvqukXdk+XJGiC4/k0bZW9enSlY7DONoIIvFQcAsiwJhIAvHY1EUAgZj8WiU5VS5cSVMsni6
+ E5MXZFGlT3o0LvCuL/KGuaO6e6lzbDWaO6rKjVLyIHsazXoQLCAPAn5xSmZkLYr0LK1tuS8n
+ pqtw4xNxiyKrK19CfmWUnbn3SHdS3StP91h65T1FfXQ+ytNC6C9K6RPTsUk/lOvp9mMRj/AG
+ JSDQIqIi7LRUwrvFZJLUAVuxPLHcLdUEdcBUDE/UqSanrs9zRmXkcaNU+bZlG7hrcxA2mUBy
+ T8tuUnd4augwnjSRdwOqb6To3FJWLMn5yBHIbnjCtm86kCEx8rLwgZ4B68GiZg==
+ ' | unpack
+ }
+ cpu4() {
+ echo '1-2-2-2 AMD Opteron 244 dual core laptop(?)'
+ echo '
+ KLUv/QRYvQoANtlJIkBprACDMMQtkTstiphu+tF3RsomRkcLaiECKgDo7qgtvyZCAEQAOQCP
+ WWerZUFc4QE7AaJ0dHLCDRiLr6TL4r9SgsrIVQLJV2KAb5n7w00ZMBbtzaiO+Sy+EvMajmSi
+ Qgr5So7s1iYdVgErQYUUnnkPtyjfZG2RNh52qpXhK6WHHVvZHIK4CR1Kxq/UPAsN6DFOFSB8
+ QWjD66ujsaYGFOWgQBTJV0oNBwwk+UpNDE5H7tHuHf1AB9sTijZ/Mj4kt521vTZ8x5l71n57
+ zK6I2rXtlfGd3ree1+Yrc13oD7uvlLphkB8qeQvBIZEonvPMg848955fM+pqwyLbO/qQrJaE
+ GlAOBElC+UrNb2UjF9SM9CEjo3zhZ6TR7qN4CFlrhj5Cu6/dDxAAAieJgnrpvudbNgNUIOzA
+ MqSoSuBmxjF3/rkp5oAwr3m0DVcImxgIDpyVKKrENj8=
+ ' | unpack
+ }
+ cpu5() {
+ echo '2-24-48-24 24-core (maxwell?)'
+ echo '
+ KLUv/QRYdSQAGkNoCyQADcMCI0TLks4mlR/lnQWq4v01q/9MCZihKMz3R7P+/yfjrxe5AKIA
+ pAAKdnLCyuueNSgYcfRSeGMYCkYcyJs7DVYooYPcjoTeGL10uivYGQ9+6XTHSm+MTkjoHGAf
+ yJ3mYFNY4MMAgyNJQdQbYyvA/i645o6FGAIMk6Q3hlFBQYNkIeiNsW+6SR2Mx3pjJCRk3tpH
+ BQUJEIVAeoGnxRUmSQMYgkNwcOABHgCQcyM8wAMAb4yNTT4lbwzD2TfjkbwxKDgwNsQV7A5n
+ q1ywEirkJnhjPGig88ldHMgbg87udZPyERXKGb+S3vou4UlwFNFxfCj5CkbQTbQ9gi7zrC2n
+ PIXEdCbP+vzNmTDw0nc9vA/LlzMi6LJhwdF219VQZastp3t0zq7roz8k0PLjP/KO01xT6O+B
+ H+vrwruftvvbfdoP4k+Mh+zau74vtMJBOO6J2ubXxl/M6N5c/Cb4lNZ43v7yuK+L38anHe+6
+ fpu/7xsXVzDijWF0ojk84VDojeHsYp0/GMdK3hhVbpQJ6DRDcqSFAMMo9sZohnEm5uHoSPe8
+ sb/dDp1oxB/kxSvvKVRIJ6T8rIM4jHLxCfO1hTZQrl8Jncl16WHlR7oL9b0rXzr8yvPA+9po
+ e3vw0TEgFprzJxt99C5BiD+L9l20ft7bTjfCalgJndf2GVzXV+l48h3klp4nZFjb/ebeH3T8
+ 6B6fcn2eoMddbXc/xfra+yf2n7i4w87Q73QGDGOYojCFJYwxxpZiii3EEGMUwyxJKYbQQmsh
+ i2EUoyhpUQohRSmFEiUpibHE0lJJJaVQQikphBikEFoQhRjDMGtRFKUwlhKFkIQQsha2MJWw
+ hKXFFkMpscSQhDCEMcyyLEtKTEEWslayLIolSVprIbUkpRCEUkIpIYSYlNCCEKMgtCQIMbYs
+ ayWJUmullBJCR1Plxk002eLpTph8OE1RKVws6wLeFR6erDdGdy99rwWA56ixqCwgIiKDAAhC
+ MCMAACxsAhKoQBgGIBAIxsEIwTkOEfxPwgUfLJZYP9vKZrhEZep2u7k7XFK1ZLTlxfNql0Dp
+ yIyLNj3Wy9LeMRJXK8cgHu09Fq1Yq8b0XW09VsBqLc3ckYn047pXflSABeQzkYdcPcePl78l
+ oEW3htyWDCvcopK7b0uGSt6uFhO7XBKlKikuaCWPOa6tcXOiBR1jXNPFta0FfQxn6O1mJGr5
+ 2Luq5WO+pnaPdalaeiyWdukXgH8mpTAUl1kS47K2M8j8mHlcElJyq2RtiZDCbSm5+7ZkGJQZ
+ l7eixcwul0SpiowL2tRYJ0t7x0hcrRyDeLT3WLSiVo7pM9pyrIDRyjFUlvv8H/M+JvuQKzUY
+ kM7MMXFBQ7TYyblwJnts2KkJO02wk27ZTOpjv06V+jple920PkaXcca67lrtscV1V9y9WuCx
+ xLUirn8t9NjMkJcZXC01dpO13hjFq01jyqKWjd272jEWZke+Xv7966LvqzZTC0zEIma1yNpX
+ ketyZer/0g6AFe7sFs2nePnngUV+Cv9cPO6zftzOuDDzXMWe+8I/vwr+ll9K
+ ' | unpack
+ }
+ cpu6() {
+ echo '1-2-2-2 HP Laptop Compaq 6530b'
+ echo '
+ KLUv/QRY1Q8A1iZsIyBvqwA3o23SyJIQjJ06dkMYGMYDOkA5MLcI3iHqFTCAyKAwaQBhAFkA
+ BstXShcNEAYKi5SvtE7UKLU9pSxfKQIb885WFw0MioNgOcKvKEpj4hQRCl8ZFQYcgxYeIAEA
+ o1y3Cl9pH4NvML5ScuvEp5qvZOHaY88hVuV2QoeFDYLL8JWc9pDRgTtRyleSsXs1SlYBy/iy
+ 37Xnt/nrfN/kED9fKXWEOa5QjeUruZ2su9MgVhjb5NVoHxA/qtfiKyWIH6V83bE2G2zamK2M
+ eog1Oe0royrGV+oIbA7SWil3TFtbSFglPJxh7EXrr0SZqoVhCAoOAjudN8h/5DK74wjfE/KG
+ LB/G98jlh0Qlu/Z8TMhmw6h/7hG8c0zbor8Q/pufknefsd3f7suOnkfvvbGy93Quacg9Tt80
+ tvmT8Sfx6Zm+b4Qv5Xzn7Tsi/ep7y7Isak24byMMsne5FZGVY9CUbeJgLvCeDfKme6XjMMU0
+ X2nCfTDSHHswjXI4CJSDgsZXam4vRiJEQRD15Eqm8+cej4S574R19KcOX/KM3iyRvrHdfcab
+ d6yPdi7jbDC+M00HGgDJQBXgHVgYGFDCduKMmpHxiUzAByptDXwxQm8Orkb8MKwzCJ2GRGOh
+ S1UsIOebOfYk2efwPdf8XqtmFQx7uDu4QYQPJQq2DBQj
+ ' | unpack
+ }
+ cpu7() {
+ echo '1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)'
+ echo '
+ KLUv/QRYZQUAwkkgH1BnrABA24MVyJENxj4WLhwSzxygdYSSvS59MzORDgyGAoEto0jsDTHx
+ 9XOWl0pYpXrUG5qMPlbneFtuptv5FMdasGcns3AXCd8HEEQylmN3Q5V+oUp/WRoo36uHPHs6
+ +wS+1kuCN9TLzdRNJHYM1hsSQAACYkE8JPWGOHaviyxTDgAkQAkMUAcDFIMBSmCAOhigGAwo
+ 4Wbu07xD5gw177vZqo64sbtwFDXaE3w=
+ ' | unpack
+ }
+ cpu8() {
+ echo '1-4-4-4 x96 quad-core Android TV-box'
+ echo '
+ KLUv/QRY5QcAhlE1H1BnKwDIkoetw1FHvrd6TW5nqI4+EQedzut9ABQptb4rACoALAD72HTS
+ yk/im3vpzs7kbugyATqUkc6ORAG7AF+v3P8qKK0RiLPTzJzcmE4E9W9C+qMuDC+XM+FLV09h
+ E+lcd0VsFHoHV7lcXB2t29Uq88Yq8xA2UX5yb77KfaSkV6aEdHbosq+3Gs64G9qYPqX1GiuB
+ 6cKRoYzvB4kBdLr1Je+rShcoKVYc2jpeAaUQZCHItkI6rJSUYZOhzs6B+5oNUHsIDIyIs8O9
+ i6S3AKF1dhYmDgA0xZA5Q837braqI67uHZjSlgNrgIOBQ8Q8pCcNnhe5YjIBX0edag==
+ ' | unpack
+ }
+ cpu9() {
+ echo '1-6-6-6 Kramses 200 USD laptop 6-core'
+ echo '
+ KLUv/QRYlQcAgk8uH1AJrABITeNdwrPRAqt9X9oa+rr/FE0XsNM0A4oUUSIDBmKowyiQcm/F
+ 1bpHYhKJN2Fil2uzj1AMCHmi+/CivJxl8wjF8EIlVtlpUwbbQgjFcONYdrmRTnyRTjxjT4OP
+ mm/LkVuvCdm5F7OevZiFVEfGPxo2fffUHUZGD5s+s6dxzOYK7XH4DUsn6j6caoBSEkDUkz9B
+ OTi8hVeAAhjSAFdvXeVIHxAInlxbujNlXkPpyffFqMtbiAIVAC1AFUAfSJgbUAKU9wNU9gNU
+ +QH1Gq2EwfCdq39vKWe7c6q/wBoyA0HbuS0w7lMlg1sHMAcaacWR
+ ' | unpack
+ }
+ cpu10() {
+ echo '4-48-48-48 Dell R815 4 CPU 48-core'
+ echo '
+ KLUv/QRYRSEApj+vIjBLLADDcJR4ZOmSMcbRLoFyVLE7QWmYAUkyhG4uXRgCwJ2sAJ0ApQDz
+ j2zYCFV5LceJnYZVIM0Qb46jYRWIevMJ5ZWQjNJCjmp8w8bjkeeoRoStN0cvIDkTshH1CaNs
+ CIZFChDO1ntzcITsMyPCiDSlBpRi7M1xRBwoMI9SSq1JvTn4qbFGUVJkvTkWkLSWbyNOWckZ
+ HkAvAFQjvnbhBgoEbw6mEDrz5jgmP5UiyXpzQExJoeINGxEDBYIoL8SM2yB4czzSieoDsYSo
+ N0dUuznWyCIBh4hwwdOxNJ5OR8GA8xeKttona4qP6pVQpZeQPY2P81B457kT23obqtCnrdCf
+ WheO5eixr3MheBuq8Xfihwo97XTexr5P9MRisX3sr63OnXii9BP0OWFsiP5lnHH3uftRT4pP
+ lJ7RjamY8Unjtr/QXqo0HkZ6XthH0aW33F+meI70DO2jpo99z23Pz5lKb1jFm+PoBZz2AXlv
+ jskSB7BxIykJvK9MfOnm6Hkg4pI3x4WYOi5BmhfQHsHdMbUKEhoQ594cbSWti5pA2JIcjm5k
+ 219wO3M2oHd0L3S6nctRQ/QdIE+HJdiT4ox4IaVOYt5GAon4TqngbkB7lmA7VkbQHWKdDpX6
+ UpSYv5ZS6Xzhbes8MB41dR7JT4V+n4dfCUmHfifkH6SuZ8TLCo4sd0MLOWFLeui4+zQBlyg+
+ SgvvxKdSB4rylCRxyXvtOcdca6sxpthabymmmFOOYRqzLGxRlKUkK1lqJa29x5hza7WmnHKM
+ Mcxay6JUU5THJIlb3muKcyxpbT3GGmuKOYZ5bVkcU5S2koQp9t5inFNLa09hzCWvPfXUY865
+ 1dZizqm23lpuMUxjloUtirKUJFHJe+8551xrrTHG2FprIQ+Mt+XbEQyq1Hq8fXpv733fNxdi
+ ygsIQfqIH6pFZoDlqEGwFQAEQA4AEAACcBMAAAgGEshgGAgBCAKCSSQgOCYK/2sGH+oAS++e
+ VqS/F4zU7z0u9T1GSvVeu1K9N6t0c0/yY6Xag3up98Qm5T0PSZX3+IzOLfeqIuUexEu952Ap
+ 4T2fk3T3ICSle8dR6vZaKf29IEi/53FS7xlISvesJW0mAjIpo27dS5JU7yEm/T1VkH5vEJK6
+ vYOlfc9AqdxjqzT3ZpSK1AAym0h99z5VpS1TIwAH5ABuGkB5CC7/HDKKQAjgbgBaw+LsTyLv
+ 1Z/UMvrTdJ7On3T45E9q/GnKFP7IHmOV1p6oStVeqErXXlRKa0/USmsvVKVqL1altScqpbU3
+ qlJbGwD2iO3o4vIdhC9r3/gEqm4WaLhveaVn2a/WmtxlZf1r5amu/n8Oqy5VPeifi7Z8D+pV
+ HtHLu3cB1t7Q82P9mJ5lzZxZiTsc5NfnI+/+/t8Hj/tsF7ZZhZabKpETW3DxywH3CuPZ
+ ' | unpack
+ }
+ cpu11() {
+ echo '1-4-8-4 4-core/8 thread Lenovo T480'
+ echo '
+ KLUv/QRYvRIA5mt4IyBvKwATk8iUn9xdIuJLbC8JrUxyQsMubiQkFCUoEAiB6BE0eABoAGcA
+ qSHywcdrlRyy9toiwirB4QyjNF9pL15/I401lSQJQZIYXDA8JMpXgsjHvLXVBcNC0hAoR/gE
+ hMInksZiMNB4D3iQAFg6FR4QAfCVNjL5hVG+UoLrZlTNV7KALzLnDzcFt8qGle+Ru/CV3HPQ
+ 6eRCKvlKdHZvm5RVjxt7V/dIP9CB7Q1jm18ZH5qxnbX4hfAprfG8fYOofVv8Mj7t+Nb12/x1
+ 3wj9YecrpYYwyBVqWb4SXGjh3Xu4yfkqb4vW8bCjei2+UnrYUcnXIXv1ydceM8V8pV462x9u
+ yb0vnU0ZfAX8yvPB+8ooO3PvETqcCIN3klFH3xrFeQSxnl+IdfRe9iobT/4+oBnfHrMl+qI4
+ mO1+bI5PuUZvlKidReeM7e4vsb72PorQITdHu9NZn5zxTNNb3Z/k74Mf62vk3V+2+9t92pHz
+ KMYHBQUFTcNoGo0GwywMg8FYFmVRFEWtKjcuhEkWT7disoLsqfRBBswF3vU9fsD4St291Dmm
+ mOYrVblRQh5kDkZVnsxiP3LsbrcdfcTx7jWG5HtHul9efJw39pcIYldefLz2Q+GYgz0a0s4j
+ 3Uh178qXMC8gICMhGnYpKuGdGMVqqIR3FoZMSQ3V8ZiYkhqq4zGLIFFXQ8V6IkZdDRXzxHJI
+ FKuhEt6JTTFr7sHFkbEspWq3gcg4GEnCDRHCLERgJRyDNg6inUEsukGicXWpWC7nkyOR3f6E
+ T9+IZeJitNtyLQ6A1ShkK/65
+ ' | unpack
+ }
+ cpu12() {
+ echo '4-64-64-64 Dell R815 4 CPU 64-core'
+ echo '
+ KLUv/QRYfTQAqlfIDiMgC6MHf36aIdkoVm9EUO0Fii2nyR1YSqSyqftWBncCpDxDgOwA4QDk
+ ALuIcRGfcBrnLWv/udXNVcj41r24fphLaY07/TdZvPUX191c+nHf1/Wf68x6VGxiNmswjD84
+ ZyIczWswHFe4swxMzPdIWKe/hSuJ2RzvCWswjMRsDrSGdRys8IEPTnckazDeqXybmM9g4DqV
+ 72C8BuMPD3QW+Adaxz34CYh5EDiwiUJpDYY/gL+OeO4dzF1IVD8wkCCtBCHEFmgNhjPySfpg
+ PDxwTq9/MKTZLtgAsQJ4JPU6FWyBBAPWYHh0z6Y1GIbjjIwHpzUYCQ6MrtnEfEeBBAMerI8j
+ amLAGgwGKlQyjysOtAaDyn9/ks4jyzAuMSp2mQtcZvlfr67+VBAQu8y3y6PQ+hrqc+vC5ZR1
+ 41KXflQY6Ix81l9d5WKzlUHYCh/Y4HfKxf4CF0HxchGveuN0IsiH6fX/5wAd9zCui4tL6NsH
+ p6sL36j4TXju4I4y49voKA3COfsYN7tQuHWF+8W+u63Pm3JuYkX5/zJevHWx2fb/XyorfGRc
+ B4wDJxGdNxc+cxvqMzbUp9v4GIWJbhWmLnzK+o981pnyWUbKgzKd7vuq1MfVf+Tb6Ox8Xxm6
+ y4F9MnPrlEpd+CLGXTzrOO59wm9FbPL/9f+lv2gCzIo7UcwpqcStcUsSlFiCIEhLCGOMJbbW
+ 4l5KKdSqu1OnlNRKE8Fh5m6JD0kVB04bpWl8l/kQEPvT6z9ARIR4Y91Z635dQ308+sE9Li51
+ BDkPxyUqhQoB+xUum/w7ZRh3KLYGoz4eFcWO94Obe0At68UEEDA4uBVaW2oNxk8Y5UEux7+b
+ CYviVNZXEisUp/X5/D34K46TePZprU75V6rTT/ht4NxREsvBOBLxThG1mUu9OrDxT7i5Xx/+
+ O2fkc2YZ+C5h2ce585TlRcW6494r76syIX22wZOOEhW/Cro4W+ez1VEXrSGsk4QlCUEWM8YU
+ Ymt1UyohnHQzkhJKjBlZCEGIam2h1EmiuhOCdC9ejCW00GKLceLWBdSQYoqhpFgVUIIgSDPC
+ GGNrLWQppRJCBVbdjVollVRKrFgxglCBWSGFFGIIFRip1pDubsaotQLq7l6cWiug7m7FrYC6
+ u5uTVkDd3YlR0gqou5u5Ja2AursRI0kroGak2UJQt7YQ0pJEtQRBuhnCWFJsLU7IUgoxprqR
+ 1SmxJDGvhFjxQqm1Xi1JUkpa41ZdSIsRKiDEWkONVhfSYmZmZilx9+KBjqiRnAhgAOQQAAQA
+ AOFGICAAIkADEgBwGAYCAIKAYAymAAITpggeYgACwQNAwEIftz9McmKBf6m5EydOLu/tYGMY
+ IBGpV9IBE63T3JCc3AVplFs3yQM33suRBN9v6YVSg2SBf0m3Euv7I+1JMnUzI/GAhX6lTaiE
+ OGZMssQpNWUkDLjcNEGiiFNcsyW539bf3yGYTAsR8j0D+hgZpv/g39JPr3Jc6ocmHqeaIjHg
+ 8nKzDppygUSJry/JyQX+pRb20YlLSwT38Uj93jQAT2OZ4YMjbmt0o/oI/nYyauQ+bvj2zuWx
+ mQBhH52/ACgXgPhO5YfY5xU4AKEJIEFV0xDty/srgFsD6CYGMp6fHDK+gsADqEWAXA4hBjG+
+ gL8EuFWAboboh9jnFbgAoRkgQVXTEO3L+2uAWwfoJmh+iBJXY26ZnxkTP+IDnAh9CWAOBQJ4
+ fTxJZLjanDMkDrhrDsbEEXcYMYfkgHPN4JgccY4hZkgecJcZMySPuMsMiskB7xiCMcne75+5
+ pFdGclZ4hEXxmQP5+l8c4H9WkJlkIInRnKmTZaakI2r2CXKLzZwTI65MIr1REifEWozm1a/+
+ hdI/pI/F8DH/bHyx+eSfdPyTSYXWD/iXJv7+FN2fUsIto5u0PxVw9iey/pCeiYn6y9M9/dnS
+ Gw2pmzkm5y8L3PzplT8ZrBcDZ0L+qhEff60Qf9YjpUn4owUHf63v968gX+L9YLhh9sDNlXci
+ ub812iWRwPDeymyS+22cbIokDPesTJO836Npk0gIpHtlbunNKPvkqj5I44ZLIgGQWXfmll6N
+ NvYIcIIpc/K5NPJrBfkj7Si4maytfAjJm+YcYWAc+VVSROp8G14mGf99RvzHPkzk825e3oH3
+ T/vHMwUoWC5HxGLJBL8rdMuvH5MVPCZwj2s2xOTH+BCLNk1zycfB1vqgdddQ4DjEbMd6oD/T
+ /q05b9gEeqJ524Ixfxz8jbBi
+ ' | unpack
+ }
+ cpu13() {
+ echo '1-2-2-2 AMD Neo N36L Dual-Core Processor'
+ echo '
+ KLUv/QRoPRQA9iRoIyCPmwBAIy3LSinV2zbLlasWEvo1qQe/YpQhuFH+WyAIGgB4ZgBYAFoA
+ rN2p1bjy7LIA8UeDkReNn89SaykAuHCQiCwGQ1lNF4fz2m42LxTPCBkInIIaHgFxTBzmxB8e
+ LqAd8KB7WuGp6h3AJYO6QJiKa6okh3YtDRIKq/XLpyEF1lKE7GW0MJ4AECFzLhg3XxbfOEwu
+ W5iakpR3xxV+P28kM0VyiuofhpzErUMcrfYR1HXlxNZv8iOU9Vz6VPvI+sX95H2yp0ZnR7md
+ LAYuo3Rn7cHWm4uSibMCraR1e221VWtpsGsaBw01S0aK07b4brGgS1Fs3HtVo2dvmjyJtWTN
+ Jrfgc9M+iRj+WZ2SjKse2qhIXBrxK0s56dLqSpJHufdbC/cQJsJuD+rb2ye2cOE7g9BJmzH1
+ U80Prk/gY46rCwzDOJhl4YtHv5qv/e0+P6WPuzgFdWzRwLlb88iDOSNjql/qc5pT6QFZOB21
+ h3gsRFQskIMCAwSDbQod2CwNJkoZe+XyGYxHJqbqTnJyDnrn2K0Sc+qMFiqZlZRqalxnKDAE
+ iFNnHPIyW6sjBSmjVv2fZQzcoCUQPqCxgIN0gPYK4Id9CK2Xrhh+6pczlgJU1dW5V1wXneBN
+ Dso0OEHQ1BAQD8hEOKPSSEqqnbiUo9qSNWNCSqPFwUg3GEdg597rYovkh/VDJS4Jc2hsDA3N
+ hu0BT8rqVWmlI7y1M7cQWtFBkCZ5dJEVHCEfnkAcxowh8tfz/1gcq4N0e/Ln4LoBaCTxpDA/
+ K9wEOcdPpxqOgLHqXpMH0AQrQRswgv0G5nqaeJrhzIzcgz0m/QlzxxEQGeDTfXJ21z8GJGDt
+ hOfZ08YsNAENX1FX
+ ' | unpack
+ }
+ cpu14() {
+ echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)'
+ echo '
+ KLUv/QRo1QwABt5WJBCNWAGjFDHykUWSQEvNjTGJMp1z5pZCA7MA9TKhFAAAEwwAAlEASgBI
+ AI5SkwOF5Y6KYGPe2WtyYNBQJBYf+BmNhuHwhoUCGNfhAQwAd9Q+Bs8wd5RyC8W3mjtK4tpj
+ j0usy+2ECAubBNfgjoLaIyMEN7IUd5SM3atRcmcRX8r5ztvXxuyOSb/6vowv+117fpu/0PdF
+ LvGjI+Y4YiluI+sONYkVxjZ5ddqnVyLxYxEk3OFYFuWO2knrL0SZrsaiSTgYisUD3X0ZZ4Px
+ HQKCcNJzym+QOcJLougixzkdijF6eOVZuvZ8JmSzYdQ/d9aekPwE7xzTlvQn5Mt2X/b0+PTe
+ IS25h9M3i8n4kfg0azkT7tuIQfYuNyLyckyaskUczAUc09YSCL9ne7iC6V4JQWzCfTBqjj1M
+ sxpLoqEozR3V3F6M4sN67nlAmHsv+4TKkb8oD7Pdb5RJv9gYKBAixjTqEIhm1AHKWTCgrkEE
+ YstArr0BOSgXJ4Xmpu4j9PRpQcgRCckdf4fcSFol9GuGecuj5uBxngHakML8
+ ' | unpack
+ }
+ cpu15() {
+ echo '1-1-1-1 Intel(R) Celeron(R) M (eee900)'
+ echo '
+ KLUv/QRo5Q0ABp9XIkBrqwCI2LZJIts7o1loU/RrgCM1Bkm4qbLeX6WzKj6uMAFQAE8ARwAL
+ JHEgV0hbZFGyfUlxhRq4zDo7PSwsEOTgX8Ao1WnCAxwArpC+BU+AuELIaYsvGVyhh9u3mDvM
+ ktMJGRSuA1XhCrVVZGxQn4RcIRm7lUXJAdxIyRVy+qh7W4cZjDtZmUOV1ofD60XGIAiTIrxC
+ jbMozzbmbu1cuGx5XSGVkSXEFeoGrlu2294ttv1gcEJoeIJIPGxfGWyxlEiQAYXQw0KHjdim
+ 06c4zJwl7eT3XO6A14X/5rufaPdlO5g73vsyW+/ZzmjHMY79iY99NXwp5ztrX+FgV/auiy/7
+ nfW8Nl/b9T13mOlmuSmpCfVps+B6l9qInNxyptxH4D13eULQrbK1NaE+2KxbSoFBSiADCKLg
+ fbGJS5rL2Omcpyxu7rvh1eh3e2cmwr178WNRVMbZSoJ4FJWTKXcnKADAIKuqBxBI54gcFYp3
+ xUIMqhrUyHoLjYPwgszI7eGRdSUOFMYQlpP0pOoEAV0WM1zTXUey4OeJUEZtb+UNcgLSAYUj
+ iyXJQ3TVfIX50ANedGFbHwEc/JQzJup4YQ==
+ ' | unpack
+ }
+ cpu16() {
+ echo '2-12-24-12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (vh4)'
+ echo '
+ KLUv/QRoXSQA2kAECyUQTWMdEfORapSl6hpfhdTvIB2fCbydyAB94J9MxTuCiACAvIMbrACZ
+ AJ0AsZ09tMbz9g9R+7b4ZXza8a3rt/nrvhF6PwzyggEXWnj35HyVt0W7ehcKRhyyV5987THr
+ pbMZ/cgHndfuHbL2epFg40CDHwuibIXX30RjzViOxaAgKlVY4KBJonWzTdpeNNQLAHjkY97a
+ RoUFCo7EoG7gCPRDLYqAkuARHiCQcyVcAIQAG5k8AgCum9FYFvBFhriCmwG3SgYrn0KuAvcW
+ nU4uZBwvAIDO7m2TcisfdGzdal1fZePJXweaUUVXaSXbfdbc3Wv82Byfco2+pKidRcQfx/WR
+ 7d5HsR9F6JDbanc665MzPll6qzsFRwEqImz8J/mMp/zimXDyrNEhT3k357N46bs6b2f5ckYE
+ XV6JRtmqktWWsz3Cc+vq6J0nLTt+JA8ha73or8OP9TXx7qvtPu0I8SjGP27sXd0TrYAI2L4g
+ lfGhGe/9MFvot4tH1ATfzXjhzNpLJWgtrW25Lxemq3DjUjiGS3CdsoVtufiufAkpO3PvkW6i
+ Ola0NhuEq/KMFNo70r3ijX2VXnReWzGBOf004o4t9xh65f2iPjof5Wgh4i9K6AvTsUQvyvW1
+ 77Dz3tR5d0731/ur/IWPfL0g+e7wvkIFQ6zosEe4EAkG7ySjjr4tCfEIYl+IdfRedrrx1RXM
+ 0SyIUphGKSQxKh2KMjSHapLD0iSGORpDWpBDUhTTNEmTDktiGKRJiqKWhCBJWZCUlDKkRKm0
+ KAlRUpIgTHIkhTBKo5Q6HFJKSTFMYzgckJSOdCyIoWGQJSUFORblcEhSoyTLgjDHgiSJUkql
+ hlEMhyYlwyiwD5Msnu7CZAMyRaUPOiQf8K7P+dK91DlW5Ub5PMhWstw4NAakYRJ+cT7TMVhl
+ bi1ktdd8Mb6+xKtQEZcDa4DDqMFgxYzIjEiSgiQFSQfARoZG0yQHYsA0SQAhCAFCcIYihEFI
+ eEU4FDgnBg/CvfDTFEdfCnzKp/dGFGcRJTBac/VP682IZ7JNS8a8Qlfee2qAsyGbznwFCy/m
+ U1ALcxbXtKQvWrgyn3pamLNRTRuTMDy3ws1ZhXNbn0zs/KfjswDmAk60ueL78UwnwrzC2pwG
+ 8XKdA8G4QlXzjctfmU6/IHBeOaU+Mi2DiV5xvoW/1lQ9L8N6AE/hzUXgVu/lIk5iDv1pu4k5
+ RtkHE4KPT2MhGjqcCQQPp9nTTpOA087fSVowhrBufLpp4ppGv6jkrAkYzqNwbyg8FOzwJTe/
+ uFlcfjE0RytY1n2BzX1wHq3S3EPR87qJk8A3bdEymQU4if9RYRQUH0JH1v4o5Y+HZ4/Jcx+p
+ 6C67cHK/roV6KRX5eh5fZ5zfBAGIcypOQhRdDjoqorlsIRh4MyFFCa/+w9rnqQ9IhTJSxUEj
+ J/m5uPWXdiT61TaAn85i7vm/JHEVLykNoOaGbE6PZXMCHEOy4iJ6P6vgAOxE/spU7N53w3RU
+ pvPDpg6++vY602wMoPOM5mjPE/5E9C+1WNOag5ef9fYNxh+A4wfWolSv
+ ' | unpack
+ }
+ cpu17() {
+ echo '1-6-12-6 AMD Ryzen 5 4600G with Radeon Graphics (ai)'
+ echo '
+ KLUv/QRoxSEA6kH0CiUwS1sdaPiIsqmQTVuLLykLrtQOna/tY8caFQPfvvvkgYUF54EBqgCc
+ AJkAyXde06cCxnbefuLRr7Zv8mG3a8dv81d9m/NWJGPGgWDrLLta7q3Iq8+i3saCmbNccbml
+ i/NALHx6KM3SarXOUlc3Gj4KJLiSHCKs/jaaeiAIIgBBDEkEBAsUkCTx6IO62pEo3GLe2Efr
+ ajjhgbu3Khm8iYvxAwiCMPxwtxEaDL4t3REKANiq145FabDVkvmC9TCwgICu6LaJCwJqIfiU
+ W+dAPgAAfN2rD3LJLXyKYNTHL341PirGIfQ7rTOcfm80LrOQGc+p5dvtFItlr/ZsKRNQm9Nv
+ aCqWIW6IaZJduYQKXhGJk18n+3lvPjrlx9+kPFcSZEAkjz4b82X7xeVe+4JaYIvGlL8cn3HC
+ NwYu55Hi5874uav3FIgXougytnv6xs7aUcEnRbKs+JEfis8+7oyldqMfmyvbfdgP86e1N71g
+ DNMjlhgOcq7LySv2ml7YRIYPN7LFbC+S37FXd656uupqdTbSXS5TlLQ5X5baSDse8YLuEJy+
+ AxN7ZPeYMK/MeuW49VxifAFZwcPIcOH6gxuB6WMs44uopcYL1Zc4Ka7iuS6HsuknBlPO1n9U
+ Xu12oragV3hbX0lWS9/O1IpmWnMe+4kbpvVM7SrFjM2I0bDSLwzF1CfWP3Elo10Z4/RLkiSH
+ REEhQeFwSCxLQpIgCMQhSQ6HBRFwQCyJIZEwLMoiAFmSZTEYFEVRkuQ4HhgeLImDP4gWFjKI
+ YZbRvMVzjO/4AS7b4TIeHywXES4nwDuu9IShe6FSGd02ZEAcvYrkJzBcSUCWAgoaHAqJhObV
+ nuKl4zXsp4YotmYpLnx3ciO92EhJYHzDGBN1o7iwG71IR2rrw6e66DtPFyLGYwxc510tXm1x
+ BqMiXW5mKZyrfKwFgKGowTykkDGkRkRGZKRJOoBExqg4GQ5COUGLMEUERrgzJMbE/0wgQaYH
+ 7rSgB1fM/kMSWx8VlA5S0OKNuWI8OR/359dtGFxgAconnVldLp+9a9V7SFk+bs+OtlyqzwrK
+ xcHda6arrSv0SUHpjILKezeeFaB80pjp9b4rw/lQiyR/K5yP+vP9LYeOwRWAt+ciFnSiLUur
+ rq4cAM/MprXU19jHLpLvmiWBe6zHzaIqO1sZ35yOXlqIa29j88LhLeMSOPNflUdcL2cNG6ti
+ NPWjEbKXtIVeflMMLyjsWLuCUcxPFBWGmna3DgpIJmairUxU9OPb1XINMjCrs+PJbgrQARvc
+ 19rY5t2tN8ulUxMyLr9RA4/vay9o8CfTq00/5AalMO6Kxg8B8HlNZ18ej/83Xw8IP+brlaoW
+ nemRDRyMrTRoNR6FdbT66kV1nQt2zfQ7krZmj6IJ9/O6aXGMPXcancqeawY7QJtwnNUtOMQ0
+ DPeXb9dzDOgUh0ST3w==
+ ' | unpack
+ }
+ cpu18() {
+ echo '1-4-8-4 Lenovo E540 i7-4712MQ'
+ echo '
+ KLUv/QRobR0A5ricJCBPrAOD/6k2Kdd940OW+jV8IowHH1LHEyOAj3wFiBJCBBssApkAhwCK
+ APGt67f5676ReksM8kXiMHCphXdPzld5W7WrF2Pi6JC9+uRrj1nyLJ0tyQeh1+4dsvYaI8IJ
+ QsOfh9mM199IY85DeSBNk7HgUNBUbdL2YuJI8jFv7SRjQWFxlOYHn3hIOIRDwzwegse7gINE
+ wNKZcIGIgI1MfgGA62ZMHBjwRRZ94pbArZJh5ZvkKri36HRyqWS5AQCd3dsm5TyZapj1uNf4
+ sTk+ZQdTxegS5Pq9ryJ1yG21O531/XH0VncLZwGnCBv/ST6Tx5AmnDxrdchT3s0pLV76rtAb
+ Wr6cMaLLK9IoW1Wy2nK2R3hu9JDELDt+JQ8ha40B8WN9jbzZ7tOuolcx/nFj7+oe6QlGsN3h
+ VManZmxnEq3xvP2Cqn1b/DI+7Y/WXion6lGN1Ot2FE0MKOeq4i5lg8QxcJ2yhW25+Bcl9a58
+ CSk7c++R6mZHum94Y79hXoRee6JgUEsd3bHlHlOvvMeoj85HuVoY/WI6Fun12k2hdwd1/1X+
+ Qkm+XpR8h3hf4cSiFSH2CFcUYfBOMurom4OJXlHsS7Gu3stON766Vj7o2LrVur7KFo/HsizK
+ sjjOw+FwChiI0mgeR6PRNIvyLI7G8zQOA1EejcfjOI0HRHEcx2kaxtFolAUCaRjmeSDKszSY
+ JDFYiUkWT/dicgLZVOmjCp4PvOuDDnG6lzrHqtwopQfZehKmoUAKGvzilCaUyAo5rflihGi/
+ vsircIoLgvW9JWYX/XbxUWXguxljQLP2ahhqLa1tuS8r3LgmKNneSVpuawuAjKjxOKIMMozN
+ BAVJkkI6gETIqDoH8ik1TcCMERAi5sRS/A8FFS4dG3CFtZwlIk6YcimJDtgk5wR1XK4Zk8Un
+ sMVDxBNion/C2hcU+QlCJ9TqKYENn+w6gVqWVtxECfmm9FkYX4KDEonAOWU2hJsM6RMh0U0p
+ 7+Zac3GHjyoclWW/p4WGjMjik0uVQdh2h0oi5FLuqKQfPYjKWrQQKCqYjDPIvFVSzilypEW1
+ nRlB9gFqeGTDqWsdgBaiLwZvZEI8R/Gn0z21lUPE919W+l3pW3zYoa67/7ma7JfvqXav1TPR
+ VPD4FxvYvY+QCPdXlYD+97NAYZox/vWovIVyerIbhrErTRTiye/tcPmHerjHhz10g4iteO9n
+ zdoA+1KxJ8/shJsDnYcJTIaXxS7ju0nnln2fbenY0DSGz5+q
+ ' | unpack
+ }
+ export -f $(compgen -A function | grep ^cpu)
+
+ test_one() {
+ eval $1 | head -n1
+ export PARALLEL_CPUINFO="$(eval $1 | tail -n +2)"
+ echo $(parallel --number-of-sockets) \
+ $(parallel --number-of-cores) \
+ $(parallel --number-of-threads) \
+ $(parallel --number-of-cpus)
+ }
+ export -f test_one
+ compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
+ rm ~/.parallel/tmp/sshlogin/*/cpuspec 2>/dev/null
+}
+
+par__test_cpu_detection_lscpu() {
+ pack() { zstd -19 | mmencode; }
+ unpack() { mmencode -u | zstd -d; }
+ export -f unpack
+ # ssh server lscpu | pack
+
+ cpu1() {
+ echo '2-8-8-8 Xeon 8 core server in Germany'
+ echo '
+ KLUv/QRodQYA8solITAL5gF7YbnaqsSsYkliK98HHFiNI3FSwNumyBYOykA5Aew4x163Zw87
+ 7XAqwtiSPYwAiCZa/8LET3hd+xO/ZCDAJQlLGEACjIF+VflN4KP1dFkhfg/zHeDC9Esbp39R
+ LyBo2lZJfWLmstJeIOmA2/WGWC23lWFWY1uv2rAKCd1SESOtGFYhITDsnsJDEK24vW70+1S0
+ SxQgQIII9QEdLfxiBElVRWsZDqgLA+oSr9kgrmS70kDZt2WvOkEnODfAiaJIAWgWoteFUwLs
+ 8nwc
+ ' | unpack
+ }
+ cpu2() {
+ echo '1-4-8-4 Core i7-3632QM Acer laptop'
+ echo '
+ KLUv/QRoxR8AukKICyngcGoTEJCWSciVLZJIKEXuzdZEplGI3JgV4DZJLMuEV2COJ8wwH2L4
+ BcEAsgChABMIwcjiqQJCoZiUW0AsFAUYGxxMCkBPd7MpzAYHDRQMCMYPfDKB0Xg0HgjoA0wq
+ D0ABQDr1HjHgLRmcMI9LU6eeZz9JPo1eNlAgeYTs5cQ7gkmFCMyCwjg6MSzIGWEChgHXYy5T
+ GS0VhsCDolnbn0/bw5PARDQVdVQpwnGHppbyxbLnVuePBucG5TNnZAwB85Syt+DZuhVCTBYl
+ PPsSYRyPO7Q6D4xGAAaQDLqHha8gkYBxPJpHxHRIxqhXtlpWRBAx+yncNw3H1BiVc4ZWaWAB
+ l4UrJkeQhfSMvQ6ulXz21FuvuFcqnbGyRyhPSVu1CMKs9uI8I2z+yqVIIE8DZN3SAMd8nsiJ
+ KluCQ5hNskmvTCh34LRw1J43pezB9QuTCY4pPckXVCRu4OkFBE5I7ROKLG9tS4G0dXLIZOJB
+ q0W7Re5Oa8kvrU0dFfO1aOKKR2Nyhkb0wSMYaVlqnS0gMNNDZeJBbbVBJ5jGAkJRoOGgSEgC
+ beE7gxBqNuO5nbOT+wfdE3Mby4qq6aeaXfuu+Om9NbX4wk9n7/ptOfMZyfzI0/PJuesudW72
+ tv5otNpL0K0raB9ju2/yl656xLSeyz3VPrL74n7yPtnTSY/2OYQh1RgwLHvl86g3jBCho77e
+ hdUnrjC4YFzqDiMcks2J0NPW9HmEQqFCuYMFBg2FQkQiIrlDPm1wO+OXxnwJvbWIAaP1KX4M
+ W7TmUWVbDXPn3r+2bxXVFdO7mJZm74Uu5jedchji50xXem9GqHGnbM/VPekaIFMWbuL219Hm
+ O+voOTp65jBfe+9svluknsa15rGoFln8eiyeT5J6Soqnc6rHdNoNU8mafmvhMqYzFo2D6dq7
+ xfZxe/pjMa03kjk/OeltV8PsEbY+6O54cDZ7BpahRa6tvb69OtNo18L3CwQbXNjTA3IgUABA
+ FFkPLUa8gdKoM6utIHa/NrtPEu5DQv8gyge6RJ2RmegWA2w0olDY/5lu43u3KLpQpvV9DWB7
+ CFzd08L6NLcg3DK2Iii4oCIi1jNIE2hkLi8wQYrBQthc9idpAuBaroQWpoIwMqR3NNkECfJu
+ sp2IAOACZSd4BLmUzVHl0rV1Cx0Tz3XrtPBCCl8Kvi0Wusx4XxBktMyMQbkszXzEs4pfZzPl
+ aJcthoylYAaKfS4KyazRcAhc3IKx7ShmMdAXiKvD0NxyiR0chavOhoeEWuhRXAvYVR9j44TQ
+ yFRTQMEnwBmtgAoLU0YIijDMvRARZYMpA4smUrtjrICOHpSiNYqBXUcja59JvwK0LWESpwSv
+ +wJQ
+ ' | unpack
+ }
+ cpu3() {
+ echo '1-2-4-2 Core i5-2410M laptop firewall'
+ echo '
+ KLUv/QRobR0AFj+vJvCyNgHQEZLJrWwzBCOlyJ2IXthpoGeK2U1oGVrADy9eHBY/BkIIsgCr
+ AJsAlEmEYJJAgT4kMAcbuFJqZ54PiQiIhAD6wjGQyAQaMNgHYDQPwABQisFDrzx1EfNQOm8p
+ Nl0bXhRuBTXC4fIZHVQNeAZMRsUTybRytMg6Y8MDxfap0jGdHM0jGYA07/sV7huAFs/ksarn
+ WgiTCzzWljscee6VTpGwfiyfWadzDA9k6+DD9XUvxStT3bS4dsfyTCgX6JUGIEkAA6iL1ICM
+ z7hoeCaUiIJwvaKz6qa9nDYZAg03ykcRT905mXTeSObBBR0Z21SuKhHrOltSsTXlO8j+uk15
+ ttYdr7slc7W22asqzEx2pOuMzW8qM5cK9Iiun2KsazCZK/DUaaqkyfQ1vMIOA+PyVAte/qC5
+ uMJmezFTRyj0vYLRmOjlbL+KuvT68k7vW4lNha/SOMSymEskUMTg0Fp24hOKchprdxGK5xrQ
+ aMC4zT5W44ESDCaZiwsmbqIFAS6EAAJJgC5GBfPc0llSeRipaaqMOG2yqCFrpt5l43bzF/x7
+ rHGHr5I81W/OIWX+5Gv6RVFf2di53Tlcvem1UyTN5K1ItbON/JxNXSq/rWRHuNq1UVcmP5l6
+ 476yvLorZb2S0yu8YQ/icdpNp4m9Y8WMEnuDHWa/WLOB+95Ot2QwNJkLbEBEGYzH1sHYbrmw
+ XC6gcF+UrfNtp0Ld/L0KAuqFjD81j4u8qEWOOrc8fPLNJjtze2oqp91bRrfSekudcae89E1f
+ Clr3iI5xOJqyL6VtviSlPU9p7yTmb8tLUk+9aOKw98tiV4vxdVb2qdR25Ji66A2bjBK6DkWi
+ idsmTzUnP2Vfp0Sudoky8yHWX5T1J1vE7jP2wkh9QmFt9w7X8SrqNfmF8uxuK9lkhO9s4osy
+ 9vUnI7yLcRNJDWMgUASALDIelxSA43If9uHpvXHEbfAybA5yiTzjJGNsNEJhrP/trvE9thy4
+ EPWxBL9Ev+3Tc4V4y+yIoASj88gBPDh1YC0Hj+9SAIGlXIksTAVhZEDvaLMJEPRuqp2YAOQC
+ TScOHg0AZWaC3ta8uvJY+7RdpnWcJnqpGYJyWZn52M42vTHmkCoi6xGLgGI6qJBMGjmMBMaA
+ xU0EY9tRzDJQ4nY0BW6JnRuEi+6GBsRfsKN4C1hVzzGGYiil6i4wwSfBmRYAFSBTdAhduMYs
+ pN+yYcqIRXOpXTBSQCcPSsga9cCuhh7z/9NC2xMmKUr4tsTH
+ ' | unpack
+ }
+ _cpu4() {
+ echo '1-2-2-2 dual core laptop(?)'
+ echo '
+ ' | unpack
+ }
+ _cpu5() {
+ echo '2-24-48-24 24-core (maxwell?)'
+ echo '
+ ' | unpack
+ }
+ _cpu6() {
+ echo '1-2-2-2 HP Laptop Compaq 6530b'
+ echo '
+ ' | unpack
+ }
+ cpu7() {
+ echo '1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)'
+ echo '
+ KLUv/QRoTQgAgk8yJCCN6AGBEUmyQvipyGwhCMTqQifa7nWt/lvbXsAxLGVACC2ABrswzRtD
+ KImUazOO/vUjml18lTF9qBAGEXY5CsYxMaQJmQvlLPmUUkqxNMwykSDxhEWqHCIfpf2OZQgg
+ ZdLvM+rIJC+G7aa00gJkwGCfTnbDLo5dzM83RJu1fUY7MBt7U8faIwxboCh+vj7I3PJBRTbW
+ eUzRSvacPOCG/0+BH2/nDe6XWOxqWOCfg7IwARWg3YwKnfyYol1NpDlj/LRLvvW/SHMoGAAr
+ Q5AWDg9qGEBiofABuk3KGsauTvhpnhsa5HVShxsS93JpFOfBzhP4ZgBCDQ0XCuEub/2VgAiV
+ mwwoAdUl+VI=
+ ' | unpack
+ }
+ cpu8() {
+ echo '1-4-4-4 x96 quad-core Android TV-box'
+ echo '
+ KLUv/QRo/QgAtpE4JBCNWAHfG9LkksIm0BaMBALBz/jVBGlPVDQCo6NyBAUAwCBwEC4ALwAv
+ AE3Pdb/CdQp8qMWbgAkggTgKsm3Q4Oq6V+ENa+PHtSUIlBuYHrM3ylI/2hs93AgNJUKbo6OP
+ wb9x2qJDORYaBQnn2KA2qCXS+vDEqRwdtcTnrLIx5YhBMcoCQQ+1/s5JT34q++OePenb28ku
+ oTlh7mAtuGutJaBYGMsEguMR7F0CcdRCLp7AlVI7ohhGqqdtezZt2y92uj4zwajwcja9hKa3
+ k15PBt3hSVEfciy6hLiCefi5YmHRfBgggCQg1HBWDGNRBoJsaT4B1kZtNKSQAf5kC+J/a19p
+ 9jscIBj33n2UBCmUphwBwqU/HBDKFhi+RQnSA8zN
+ ' | unpack
+ }
+ _cpu9() {
+ echo '1-6-6-6 Kramses 200 USD laptop 6-core'
+ echo '
+ ' | unpack
+ }
+ _cpu10() {
+ echo '4-48-48-48 Dell R815 4 CPU 48-core'
+ echo '
+ ' | unpack
+ }
+ Venter_cpu11() {
+ echo '1-4-8-4 4-core/8 thread Lenovo T480'
+ echo '
+ ' | unpack
+ }
+ cpu12() {
+ echo '4-64-64-64 Dell R815 4 CPU 64-core'
+ echo '
+ KLUv/QRoNR8A2kBECygQbcYJiNmWkVvZhZlEnSKWBFp0GRq85wI/vMgYA62BnzagCgCAQaAg
+ tQCvAKEAjwPx4OCIj9hIGkchwCHQLBUUOBIPuFJqQyQPQ/N8RmZlcT48wGsAME5t6eD6FrzT
+ Fh3JwkTcviUdcDSwbahTUw0HHD5jgyoBvsERoUHiQCSL1gksss5oIGEi+1TZls4JQtI8SqJ5
+ 3a9wnQIdJG5RPbdacIstRyZ57o2+cFgrLJ9ZZ2sNCVzbIIKr614GU9t0cO1II3GeL/RGCtME
+ YADa4lNkfIQHA4nzQM8CcoZOqpn2Tmw2BAmYXrj4UxtulIcgnrpzruj8kCuCB0RkZFOZWqrr
+ bPkiY8pvcN01m/Jrqzd10eJtb0Bcq+3lqAKP7XWcwbxkJLrO2HymEoIBI2Jrp2dwc0i9MGja
+ TCVpvWOD3mnbUe+Ra4dHet1Gayp0lIRkaRSHYWCUZ3maR3kUCoVCWTgMjpJwGgKNwjSMYlEW
+ C4OSeGLhNM5zxnFmG7vgzKLQiS32tjBIJCgMGLdXhZWQMI2ARCK9ML5TaBQc9RyTXyj/pKly
+ /bEGtbfeFmoN0belJJMR3skI32J8QFIn1HA1P3fJuNt89FhUNvmWEWqIQuCdW4wj/J7OKPMn
+ Q6RD3vvElJMc+9P0kq/iY18P+Tn7XSqfrVxfQNiVveuSn/zOuK8sr+36qlNS4sdyCRg9Y7TO
+ YITXIQyBwS2aD7jOrfQGxIMvQIDYBiN746Hh8AWF66Jsnc5RAUlzcWKdU0vyU9utpEwteW5e
+ 5qUtMm1vyysSHS51DIqYQowbkjvhJ7DooGpG7i3he831ZV/0XvVIRvsW9WqWUMT0SLJHUGdk
+ 0GwWZey/qKG2yvpOt4j3wp3AlxFyjvYRFcdPrFXSKSMibM2VGT7WLd739aK1mOxV/AhbD3WQ
+ fJA0LXf2LNIh1bpWiyFnXW/IZJRnFsh5Fgj7etIb5Rh2IIAAYJCsDt0Itwf3dUHgOS8IC3/b
+ cx+tCmlszVYPLUY2cy6k32i2tsTCachLepZh+yFZ+9QZqUTqQcGisUgRvvEwh9VHGLSDCXO7
+ 4229V2jZPh1WaFKMZmTN3FKTRx/WIhwGNK8IzwuWRBf5u7SCYK6uBC1MtTDiFrOijJL+3UQ7
+ keVCzWv4iQk9sM2ASaSnUIZnvcRUvcJqZcM5YIQfVShhtbI0nFeGKOysSdUYXLuFbGw5uKQI
+ 9TqKlwFgqMGU058zcDgdl7WAndaEy5TLvwFg5aqP4zgAYc3lakmdkAAuoQCsBrIlQlAIw4he
+ PFE6mEJmPV3qB3YDIAGdPCihNatiXaWRte+lXwO0mTBJUQLQlar+
+ ' | unpack
+ }
+ cpu13() {
+ echo '1-2-2-2 AMD Neo N36L Dual-Core Processor'
+ echo '
+ KLUv/QRolRgAtnKPJQCPWACgNvIHK2l1aPsb21+AYWrULM1pbgXRH0X4Tira///c/16KAI4A
+ fQCRyR+um5YG4mTgi0xasEzaa7lUV5OFyut0ci/kJxaLiMa5NE8vRpu8dSo0zmyvSx3bSlU0
+ TsPR/OC/8kEBKdE8kFVdn9WArD3OUPTcL3qkgDfj8Zm3OjdpJHtOMnxh94O4pK6rEt/OUJoC
+ yBv9IoHnEcAA62YUoPMWEwpNAQSCRK5Ltlbdth/V6iQJ0+tncaxvbQkzo5mo+W3pRSIx0zXc
+ S9hZpHYg3HZbSWLvGdGPeg2r+Ah25Zl+8EWsroTVxR2UZ/nz51HewyPPUo21OweiuRCQyPma
+ ZbyLBnIwYIBg8FwmKpY5TUpEvodzsehwOAYcjkiGg+UxyUfp9qWpk3nbrBMXgKxaOATkEfG5
+ Ea9UHhAbQE5I9eQbTf1Z5le+pF8xnuIKSrAd8mhGb83Yzib6WjueLr89yh652rfFL6OvHN+4
+ v0y/7hutV1TiicEGSdcZsTeZYfaLKyTsojrJB+GTTrlQvOEWRoyf+wSlUnF5Y+WDk/ZWCKuG
+ p59k/Lot36SHoDvJznVfrSw6T5RhmCBDZ6vL1QPNWowh+qo8RpsQsmoE3zRG69usmUIYCnKv
+ Heb95MPgc/SOsXiear3SVsoKYsQitT1a/Exj00KIxvYIIYli8C0bnfQQ52qvs5+c8U/Suwe5
+ u1fRRqc8pFPezTlBdCvUkjXL2Y6Z0j0e4WnjdvXR5Cx19E0n1Nde8hCyxhl+ViBABMAoqhrs
+ g7Hf/B/GILKuc2SwMcJQiDgBwi/gjABrg9JzmNOqR1vTDhyWM8swRNQfQlP0aR5ABZrRgKxQ
+ LLVBwPczF9136UFQQFcRWm8ZQoe1KIqmjbAGHt6QXhiuOxL3tMSZcblsxP24SlsticeSMQPw
+ nwvt4I9uNEhBXFEJoUWnhtbCEDvYBbOhnR6FO++GRBrkG7DW9Rm5AoWQy9RySiElwBmtgAoL
+ UzgEXRjGXoiIssGUkUUTqd0xvoBOHpTCmkWxrpQel//TQhslTAKUqRruSw==
+ ' | unpack
+ }
+ cpu14() {
+ echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)'
+ echo '
+ KLUv/QRonQYAwsolIjBpzABoi2gVcBKev0FN8WI7YcCuNoTmTbB1dAmqC8N6MAf9xOhcS6B+
+ oOLc0Qb145avJCV9NqgRCTRE5ZAsLCJ3UOm9nwP6Pbd+2qihgkUvysD6XJ2vNKuvSDiO7aw/
+ UJ2JJoBuk5QfQVrssW26Wen4rx+YManHlUC3TAuQBw/M+Gkv5FqfpKYfJIAxwZfHWZafaSUx
+ ExcgQEik8g6fj08zd4EHssVA93AJ8C7xnA3qlYxXshyLBYN1XHECyZgjRUkKjzkkLOUQtuV4
+ YQqnBNP0ggo=
+ ' | unpack
+ }
+ cpu15() {
+ echo '1-1-1-1 Intel(R) Celeron(R) M (eee900)'
+ echo '
+ KLUv/QRohQoANpVBJCDJVgAHS35yk/0LNr7il7y4NiXZTi5J2xh8EMPkH0ICUAugATkAOAA5
+ AFDzg//KBxEyshyKJFqSPScHvrD7GRyq62rk2xnH6ldBJBQHNqybEUHnKZJoMR7GO7S16rb9
+ LK0GBJfkrAs3+uHAsJHJKw7BdVNajAx8kU1wW0JWvkpugQDkdTq5CcuZ9Cq0yVtntJzZXpc6
+ ttWCsJoH7dvil9FXjm/cX6Zf942XV3RiikGCtXiciQQiTWo61iLRADRNY+EhPZR8lG5P1sJD
+ appGnczbZqUB6zW9exVt564cI78V+thnfmKZXxkzHRPjH23s3O4WruAE2y8ztjOKvtaOp8tv
+ j7I/mB0gQIaMujr8eNMPYIxoDLDgY+WX46hwjTmVzU7HpqEtYHxLTLzqx8jKta+0nIvY4e1q
+ oiCpQLqitFXU0Fyo+a4q4SvbmVMCr0burQ==
+ ' | unpack
+ }
+ cpu16() {
+ echo '2-12-24-12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (vh4)'
+ echo '
+ KLUv/QRovSMA6kiMDCngcIhzFH4Td8ruJqLZFq6rg/LAmM8J4PRtw8ZYAfijNgkAOE2YISXG
+ hNQAwgCwABJRul4TTmKBFGhoFCDgoDw4TGQkJUx0jAYGo2lUCw5oIA2QAgwz4WDSRNHtalOW
+ CQcNGI6G5gfeoM5oHs1iwIIotcIDQABQuOIbT5ucLI/Kc3BB144OGt0UtYECh0/ZokrEI5hM
+ iLA0lOXReoFJ1ikTLI1kn7pt6ZQilkazYDS792t0bxElLI7mramnoyCOK95ijivSnts9fzhY
+ JxyfWWdrCJa4XIsLrq/bQZjapoRrVySL43FFu2fRNAIwAG0SLlZ+wkOCxfFwHpDqEZ1TM20n
+ sYkgc67nHO3KwAIqK9lUniIMdZ29UDKm/BbXX7O5X456Y9cuoVwp1+tNEea1lec6ZfOZLqWp
+ vqcVIqJvNV866JBBtn5qgKdC0PTMpS/BI9wm+qhHTChXsEo8PehvuRYle4WJBE+losMXRDzc
+ ANQMBNZo7TWapC8lcu0mj0wkHjjJ9Zvgn9cOTZspBK23jPAWLv7q1T5V6tXglXbPPWtqfJME
+ hFEwzOLBEGAWDaMYsGCcwWhM3jiJe3AHpKESW+yNgbBUi4h3PFi7HUPD8Cb42N7F/Xpz07KV
+ 8ZVIPrmyq7+V8U3KyFmd537Oj+6jhNDUdSQ2l9NxNcP3Zdxt/okY3bav4t9bjCt8ffaw39KZ
+ 3yjzJ1fQKwjvlq1ztz/2R6PXnpKQfUX7ORt+lc/crkMqdmXwuvaT4Rn3lffarpD6tNAjHK3H
+ INJTPussVni94ohn6kLycMVz0CUUiAjKFRQYOBQIyYPEIbont2kXF39qRyf3jsNTXUtjnsOc
+ Bs+9j2+ur+YOp0rddmJMsvecXgkxsDOc+mYV8hvGwefNk4W2lNfDEUNvy2luqffqlG5upQ+6
+ g5F6BtmWxM7cfvOffdx5Pu7tYX50u867672+KDp2qOj+rL7ftCAHPuvwOZC03mzz7MFAr6h1
+ pRZXZ12fCl07bWlzOrKVe30oCZvqDeM4lPmLtTfH9pC1/dyu/mAq9gWhR0/jN5RZ+RWk/pY5
+ 3D5luyhhgIsgQIQYg8joAUWIgGFyHo+2H9H0VAgUhrODQJiKFAXV8DW+RBm3SVsDCbC8Bq07
+ KGXGx0zhrEhoL0TC+UumTeUY9jUCrBkKh/0502187xaJLlwUWm0uUXXytESfDgGEb4NkqRnw
+ hh6SeWGWHUwwKJLAJgOwcJUAICETFDQ9MStQHwsQlNeVyIXBLgwRq/f1bAUN4i6zXZkAGNbF
+ r4UWmZ8oYXG08h4R4SqgQ6xUaE5ULo1bw9Cx8rk6OS10SMFLxNtSqZeTOx8HMOMzSrwtUXV6
+ BdvV5WraGwmfuVpoygqX6zRBbFeLmaObBRLPgJFBqKCMJobTUMYomLcjxSwECvUOqMBBukMM
+ 4bbPXtAAm2D9K7ytqjEnBktqmyprOEzwz3FpK3A7w6IQoSGMJHxRorxI5ZT116mlsbsI0wBc
+ tYwCxsaqkbWS1O8AhakwClACiAG09g==
+ ' | unpack
+ }
+ cpu17() {
+ echo '1-6-12-6 AMD Ryzen 5 4600G with Radeon Graphics (ai)'
+ echo '
+ KLUv/QRoDScASlLADSnwjGjbQLXf7SEiYhXDl17bzy9x/Sd+rgMwdzVDfBFY6exTLCwOI7dP
+ BeMAxADHALmu6P54Pbmv7K7puqJDzmEKqgUMAw4FJhIRkkZpEA0NtgwCGBgKPCIXDSS34Eqq
+ GmTa3FrzSzKFLPQteITC1jntCaMxYUBaK7KxvoaA4Wj5py6hvoeCATHwh+OidqHDuY/Dx+Cs
+ acKJP72VM2BggDScwJleXCauC9mVpiZhJJA85DbTp6GHBBF/LTGdwGg0FhiaV/3KVi2wCAxH
+ g+EmpuCquvfB0/QiXPsCwVAI9dtIQWEuXx53vkMD68XymfWl9MBogFyht1lwPAIwAE1tLbh2
+ CRIIGA0QBuJgeUQf1Km9T76HTGO+cXlLL1bWUynXvGH6WjKvs7nW1+x3qryXbQWfm30l4vYn
+ Wx19rtJYelyZGWUV8q7jatDh5Yr4l0SKKsYtxnlQPTF86T0hjQivEbLlrPhm6Zq7Ng7LHQ2m
+ AdKw5HE5fyi3XtbWLZKFgpZK92XuyuH7cp46ZFJb9Gkhl66xK9fYU2sUxuljmmEza/ml7pI7
+ vTeUhrrk3q4xbVELu1KYfOH3c4cy/7HFuWWtPwwpR+Uhj0b3qK08Utzf63Wn/FyHd7DkNY4N
+ wJp7CIBDrIM7DOiTmE+NB4wJC6xt48VOYGCuTIgftdTHVJpynkbtad0u6Op1MqmOnaVET9jU
+ ipjouRE+qfawvqcd96et1lGG0J2blxk1tdT0tIyX5gxVJdPkiq4KkxnG7WOviPjRa9TbsTc+
+ fDqXTxHbxprKoefS+2v39O3b0wuVTSns1sxqloMyWyNqWimW5zIGH35TUelw8S0Jn1Q5vSOz
+ LPIOp4vvaOxqrowNU9hZK3ozv2aPzXpqmK+NzY6pPC7lHyqRfq3BJ7sw3sIUzZtE6AKExBXU
+ OoeYTFyBtQW+YEWhgsJNrOUhrsDKVjXn6GXIf9psmzvD8NN9D5szxWGFB1xcy6ccaUTX1261
+ TOUnhledzx034k2HmFyjbVQQo7s019eaKRRMXB3kSEVi83uqm6R2e+4SEBEUEwrJ5AcqGPT0
+ 2YNa35OyxdcM+gHK9kqSqmpaJyKqsPltV4RVWmqlj3CSON14sM+2gtYb1RFJO9Vx8N0gKLeQ
+ j43pT59GBr/0qm3wKVPQGRo/+4NEAgSHw0PyxwOAmCBQhAwZGbcBSJYmAyLVG/5ngAQMQSDK
+ NQS2pztrYwEu8wFcfeyBYD2uRC8cu9AcDJpOjLQh7rL0Fa7gA0e/PKc048NKtpjWvTy15IMc
+ q4uFsqler/RyxCH4EQ5D3JoKmIAzHQMGrkiUOpngtr7yKtD1Ck60jerH1Pl5YDli1yPO8eqT
+ dYGslS4vjnB2tgEI3t9gKaN5ajSqBQofOAWAYQioyBfyMNvbjJC3koCWTuO1A+XEl66LWhlg
+ zo5pwC8w9OjdaAMFpEBr8cSA+xrfFV0kAXQEhFBoqWCE5A+s4GostEFs069Tkyc460L7alvL
+ t0B7CQA+l6gZpkZywzEQATxYpIrZvtZvFY+NmLQ76NZvhd72aVyhHWrGgMXCoonW7dgxy4Bi
+ wCsuGJB+NTPEBrEagkv08IyA+ScYD9t1ilA7hp3bMj0LvwaAVXZjIVR3U0thpwhTAXBxv2tg
+ gAplMV0DrnilFovCKIxyldJcA2k=
+ ' | unpack
+ }
+ cpu18() {
+ echo '1-4-8-4 Lenovo E540 i7-4712MQ'
+ echo '
+ KLUv/QRoRSMA+kY8DCrgjmpz6GpWtLK0DL5oW2iXhXfvoPKn9A8udDwya4/7NeYGAKcJM8QO
+ GxzLAKcAsQDs+6hPMmJJHYLGCeAgIBLgYYmgVKIUJxHYGA4MhkNSoaDySp9Dgk3KbUvjWJpH
+ L4UVuWnE9bmS6U7MpWFAMq49jSoUJGA4HBon8AeVhvPwWDy0M1QuCztjgTNILOxTeLcsVhq3
+ DSkL2wQ3gQHKZ2RwJ5qHBaO5uX9hcwvooIlAbQwe+LruxuCSuWw6+HZm0jidejYq8niD09U4
+ g5HnbtAFOHgrGp95J2MQzQPyhm7QouFg4IVl8S1kPISIAs0D8kAi1SU7p17bDbMmREyXPQ2X
+ jPILUfG94TwP1pb8W0x+yq4Ocap1fdEliPF5Xz3qTq6H2Wfs9geEt9krsApuem7JNyivZ22S
+ S0b4jBRdlLGrOxnhWYzSI3eeGzpDKw/ji+bKB7OmPg21Gcb15y4XN5uHJGclk6/gndPFGf5C
+ 8q/fmDO/scyfXEWv3nuTS8/NjuHJRW4d4miVp+JbV0l+zn6Xy19N6iPV+q73VfnJ74v7y/Ib
+ kGsK214bRfqODZx8ytdWdk3gGqRzoZvOcH54iAqEBg2DA3FU3mgMvKv9sfBJW/BIYzFL15nD
+ oKkWlwkYW2tFm2iY455PXbce9t4epM4tD51869Qra39zMc3eMvKb+4bc57QHvXmaoBBLHJ3p
+ w5qk3nKf6TZjm7JaF50iMsXwM2W/mSfUziDmt5ZfJ8HGDwXbIblvN2n0PEj/3BNh1J1BnWx+
+ QZzoFaVfSrk6r37ua/0Ekp4R0i+YYX3Fl2VxxblaBZq7mES8wbXoE4vExfKGCAgei8QkYkKB
+ zUXZ6AaVP7dhi/LPcwb1PLfNqdBZkkrBADIyrrk8SRzqO9v1mvLaqDNu7BPLl2qtbpIwq8xA
+ 3xmbJRTRRXOpeApLm+fXSgvbdVCvxHtsAClACOu0+bE9CkVk7XYAz42iCXqBS5hV1lG/VCxv
+ 4HXamITKBM+lIOUHLhEfELXDgFdS+ZUmzKVFat0ql1QmFnTDtHbTe4CLIECEkEFl9ehJVn93
+ hwA/7BCLC/NZLAEyUgY2GYCFqwTgijC5QVMmWPH62AyCDXK1+OpiWpsP6U0siLvMvrIVqI78
+ 1COnggEzDpYxCkOKML7klSCO9u6RE66GTcJKlT6dDwjE4PrWMDouM98MDrDE4PDA5DeG6CaB
+ DYzokYTORwA8+4yYLj4VnVRJe84uTm/rnEsY+C+A04PHnWF8hWEQnbvJESu4m6sn6wT5BC+v
+ sDBKElGGn0xRhN3SZVgAU5GCwRcAhoObABCPBoUzeBrAgoEQA+ZNUNzFFM2M9wkFpc2oy8C/
+ A9QawIpBoEEQHPbjTLfxvVtKondjLtGyfTorlITmE2YMTTBvR4pZCOjkMroX+5BpthahE0bS
+ 1xmBywKcDyryGSexILNwA7tRbNm7IJSiGy6wym6ow2+fOh7De2BiA65hfTBgShgjwlKbRSEq
+ jAKUQ0da4Q==
+ ' | unpack
+ }
+
+ export -f $(compgen -A function | grep ^cpu)
+
+ test_one() {
+ eval $1 | head -n1
+ export PARALLEL_LSCPU="$(eval $1 | tail -n +2)"
+ echo $(parallel --number-of-sockets) \
+ $(parallel --number-of-cores) \
+ $(parallel --number-of-threads) \
+ $(parallel --number-of-cpus)
+ }
+ export -f test_one
+ compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
+ rm ~/.parallel/tmp/sshlogin/*/cpuspec 2>/dev/null
+}
+
+par_combineexec() {
+ combineexec() {
+ stderr=$(mktemp)
+ parallel --combineexec "$combo" "$@" 2>"$stderr"
+ # Redirected stderr should give no output
+ cat "$stderr"
+ rm "$stderr"
+ }
+ combo=$(mktemp)
+
+ echo '### Check that "--pipe -k" works'
+ combineexec -j 2 -k --pipe wc
+ seq 920000 | "$combo"
+
+ echo '### Check that "-k" is kept'
+ combineexec -k bash -c :::
+ "$combo" 'sleep 0.$RANDOM; echo 1' 'sleep 0.$RANDOM; echo 2' 'sleep 0.$RANDOM; echo 3'
+
+ echo '### Check that "--tagstring {1}" is kept'
+ combineexec --tagstring {1} -k perl -e :::
+ "$combo" 'print("1\n")' 'print("2\n")' 'print("3\n")'
+}
+
par__argfile_plus() {
tmp=$(mktemp -d)
(
@@ -55,6 +785,68 @@
rm -r "$tmp"
}
+par__plus() {
+ echo '### --plus'
+ echo '(It is OK to start with extra / or end with extra .)'
+ parallel -k --plus echo {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = \
+ {..}.{+..} = {+/}/{/..}.{+..} = {...}.{+...} = \
+ {+/}/{/...}.{+...} \
+ ::: a a.b a.b.c a.b.c.d a/1 a.b/1.2 a.b.c/1.2.3 a.b.c.d/1.2.3.4 \
+ a. a.b. a.b.c. a.b.c.d. a/1. a.b/1.2. a.b.c/1.2.3. a.b.c.d/1.2.3.4. \
+ a.. a.b.. a.b.c.. a.b.c.d.. a./1. a.b./1.2.. \
+ a.b.c./1.2.3.. a.b.c.d./1.2.3.4.. \
+
+ echo '### Test {%...} {%%...} {#...} {##...}'
+ a=z.z.z.foo
+ echo ${a#z*z.}
+ parallel --plus echo {#z.*z.} ::: z.z.z.foo
+ echo ${a##z*z.}
+ parallel --plus echo {##z.*z.} ::: z.z.z.foo
+
+ a=foo.z.z.z
+ echo ${a%.z.z}
+ parallel --plus echo {%.z.z} ::: foo.z.z.z
+ echo ${a%%.z*z}
+ parallel --plus echo {%%.z.*z} ::: foo.z.z.z
+
+ parallel -k --plus echo {uniq} ::: A B C ::: A B C ::: A B C
+ parallel -k --plus echo {1uniq}+{2uniq}+{3uniq} ::: A B C ::: A B C ::: A B C
+ parallel -k --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D
+}
+
+par__sql_colsep() {
+ echo '### SQL should add Vn columns for --colsep'
+ dburl=sqlite3:///%2ftmp%2fparallel-sql-colsep-$$/bar
+ parallel -k -C' ' --sqlandworker $dburl echo /{1}/{2}/{3}/{4}/ \
+ ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33'
+ parallel -k -C' ' echo /{1}/{2}/{3}/{4}/ \
+ ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33'
+ parallel -k -C' ' -N3 --sqlandworker $dburl echo \
+ ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33' '4 44' '5 55' '6 66'
+ parallel -k -C' ' -N3 echo \
+ ::: 'a A' 'b B' 'c C' ::: '1 11' '2 22' '3 33' '4 44' '5 55' '6 66'
+ rm /tmp/parallel-sql-colsep-$$
+}
+
+par__I_X_m() {
+ echo '### Test -I with -X and -m'
+
+ seq 10 | parallel -k 'seq 1 {.} | parallel -k -I :: echo {.} ::'
+ seq 10 | parallel -k 'seq 1 {.} | parallel -j1 -X -k -I :: echo a{.} b::'
+ seq 10 | parallel -k 'seq 1 {.} | parallel -j1 -m -k -I :: echo a{.} b::'
+}
+
+par__test_XI_mI() {
+ echo "### Test -I"
+ seq 1 10 | parallel -k 'seq 1 {} | parallel -k -I :: echo {} ::'
+
+ echo "### Test -X -I"
+ seq 1 10 | parallel -k 'seq 1 {} | parallel -j1 -X -k -I :: echo a{} b::'
+
+ echo "### Test -m -I"
+ seq 1 10 | parallel -k 'seq 1 {} | parallel -j1 -m -k -I :: echo a{} b::'
+}
+
par_process_slot_var() {
echo '### bug #62310: xargs compatibility: --process-slot-var=name'
seq 0.1 0.4 1.8 |
@@ -122,27 +914,34 @@
echo '### parset into array'
(
. `which env_parallel.bash`
+ env_parallel --session
parset arr1 echo ::: foo bar baz
+ echo foo bar baz
echo ${arr1[0]} ${arr1[1]} ${arr1[2]}
echo '### parset into vars with comma'
parset comma3,comma2,comma1 echo ::: baz bar foo
+ echo foo bar baz
echo $comma1 $comma2 $comma3
echo '### parset into vars with space'
parset 'space3 space2 space1' echo ::: baz bar foo
+ echo foo bar baz
echo $space1 $space2 $space3
echo '### parset with newlines'
parset 'newline3 newline2 newline1' seq ::: 3 2 1
+ echo 1 1 2 1 2 3
echo "$newline1"
echo "$newline2"
echo "$newline3"
echo '### parset into indexed array vars'
parset 'myarray[6],myarray[5],myarray[4]' echo ::: baz bar foo
+ echo foo bar baz
echo ${myarray[*]}
+ echo foo bar bar
echo ${myarray[4]} ${myarray[5]} ${myarray[5]}
echo '### env_parset'
@@ -151,17 +950,23 @@
myarr=("myarr 0" "myarr 1" "myarr 2")
mynewline="`echo newline1;echo newline2;`"
env_parset arr1 myecho ::: foo bar baz
+ echo "myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz"
echo "${arr1[0]} ${arr1[1]} ${arr1[2]}"
env_parset comma3,comma2,comma1 myecho ::: baz bar foo
+ echo "myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz"
echo "$comma1 $comma2 $comma3"
env_parset 'space3 space2 space1' myecho ::: baz bar foo
+ echo "myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz"
echo "$space1 $space2 $space3"
env_parset 'newline3 newline2 newline1' 'echo "$mynewline";seq' ::: 3 2 1
+ echo newline1 newline2 1 newline1 newline2 1 2 newline1 newline2 1 2 3
echo "$newline1"
echo "$newline2"
echo "$newline3"
env_parset 'myarray[6],myarray[5],myarray[4]' myecho ::: baz bar foo
+ echo "myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz"
echo "${myarray[*]}"
+ echo "myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 bar"
echo "${myarray[4]} ${myarray[5]} ${myarray[5]}"
echo 'bug #52507: parset arr1 -v echo ::: fails'
@@ -393,9 +1198,12 @@
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
+ doit() {
+ parallel -j15 -k --plus "$@" ::: {1..100} | sort -u
+ }
+ export -f doit
+ parallel doit ::: 'echo Seq: {0#} {#} {seq-1}*2={seq*2-2}' \
+ 'sleep 0.{}; echo Slot: {0%} {%}={slot-1}+1'
}
par_replacement_slashslash() {
@@ -483,17 +1291,6 @@
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args 2 echo
}
-par_totaljob_repl() {
- echo '{##} bug #45841: Replacement string for total no of jobs'
-
- parallel -k --plus echo {##} ::: {a..j};
- parallel -k 'echo {= $::G++ > 3 and ($_=$Global::JobQueue->total_jobs());=}' ::: {1..10}
- parallel -k -N7 --plus echo {#} {##} ::: {1..14}
- parallel -k -N7 --plus echo {#} {##} ::: {1..15}
- parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15}
- parallel -k --plus --delay 0.01 -j 10 'sleep 2; echo {0#}/{##}:{0%}' ::: {1..5} ::: {1..4}
-}
-
par_jobslot_repl() {
echo 'bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken'
@@ -671,5 +1468,5 @@
}
export -f $(compgen -A function | grep par_)
-compgen -A function | grep par_ | LC_ALL=C sort |
+compgen -A function | G par_ "$@" | LC_ALL=C sort |
parallel --timeout 1000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-load.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-mem.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-parsort.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race01.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -171,6 +171,6 @@
}
export -f $(compgen -A function | grep par_)
-compgen -A function | grep par_ | sort |
+compgen -A function | G par_ "$@" | sort |
# parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
parallel --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race02.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -42,6 +42,17 @@
}
ctrlz_should_suspend_children
+par_totaljob_repl() {
+ echo '{##} bug #45841: Replacement string for total no of jobs'
+
+ parallel -k --plus echo {##} ::: {a..j};
+ parallel -k 'echo {= $::G++ > 3 and ($_=$Global::JobQueue->total_jobs());=}' ::: {1..10}
+ parallel -k -N7 --plus echo {#} {##} ::: {1..14}
+ parallel -k -N7 --plus echo {#} {##} ::: {1..15}
+ parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15}
+ parallel -k --plus --delay 0.01 -j 10 'sleep 2; echo {0#}/{##}:{0%}' ::: {1..5} ::: {1..4}
+}
+
par_semaphore() {
echo '### Test if parallel invoked as sem will run parallel --semaphore'
sem --id as_sem -u -j2 'echo job1a 1; sleep 3; echo job1b 3'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-sql.sh
^
|
@@ -1,146 +1,7 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-export SQLITE=sqlite3:///%2Frun%2Fshm%2Fparallel.db
-export PG=pg://`whoami`:`whoami`@lo/`whoami`
-export MYSQL=mysql://`whoami`:`whoami`@lo/`whoami`
-
-export DEBUG=false
-
-p_showsqlresult() {
- SERVERURL=$1
- TABLE=$2
- # No hostname as it can differ
- sql $SERVERURL "select 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=$(mktemp)
- T2=$(mktemp)
- 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
-}
-
-p_template() {
- (
- # Make sure all jobs are inserted before starting a worker
- sleep 10;
- parallel --sqlworker $DBURL "$@" sleep .3\;echo >"$T1"
- ) &
- parallel --sqlandworker $DBURL "$@" sleep .3\;echo ::: {1..5} ::: {a..e} >"$T2";
-}
-
-par_sqlandworker() {
- p_template
-}
-
-par_sqlandworker_lo() {
- p_template -S lo
-}
-
-par_sqlandworker_results() {
- p_template --results /tmp/out--sql
-}
-
-par_sqlandworker_tag() {
- p_template --tag
-}
-
-par_sqlandworker_unbuffer() {
- p_template -u
-}
-
-par_sqlandworker_total_jobs() {
- p_template echo {#} of '{=1 $_=total_jobs(); =};'
-}
-
-par_append_different_cmd() {
- parallel --sqlmaster "$DBURL" sleep .3\;echo ::: {1..5} ::: {a..e} >"$T2";
- parallel --sqlmaster +"$DBURL" sleep .3\;echo {2}-{1} ::: {11..15} ::: {A..E} >>"$T2";
- parallel --sqlworker "$DBURL" >"$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 >"$T2" &
- parallel --sqlworker $DBURL >"$T2" &
- parallel --sqlworker $DBURL >"$T2" &
- parallel --sqlworker $DBURL >"$T2" &
- unset PARALLEL
- wait;
- # Did it compute correctly?
- cat "$T"/1/*/*/*/stdout
- # Did it shuffle
- 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" >"$T2" &
- parallel --sqlworker "$DBURL" >"$T2" &
- parallel --sqlworker "$DBURL" >"$T2" &
- parallel --sqlworker "$DBURL" >"$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_sql_joblog() {
- echo '### should only give a single --joblog heading'
- echo '### --sqlmaster/--sqlworker'
- 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=$(mktemp)
- parallel -k --joblog - --sqlworker $DBURL > "$T"
- wait
- # Needed because of race condition
- cat "$T"; rm "$T"
- echo '### --sqlandworker'
- parallel -k --joblog - --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} |
- perl -pe 's/\d+\.\d+/999.999/g' | sort -n
- # TODO --sqlandworker --wait
-}
-
-par_no_table() {
- echo 'bug #50018: --dburl without table dies'
- parallel --sqlworker $SERVERURL
- echo $?
- parallel --sqlandworker $SERVERURL echo ::: no_output
- echo $?
- parallel --sqlmaster $SERVERURL echo ::: no_output
- echo $?
- # For p_wrapper to remove table
- parallel --sqlandworker $DBURL true ::: dummy ::: dummy
-}
-
-export -f $(compgen -A function | egrep 'p_|par_')
-# Tested that -j0 in parallel is fastest (up to 15 jobs)
-# more than 3 jobs: sqlite locks
-export LC_ALL=C
-compgen -A function | grep par_ | sort |
- stdout parallel --timeout 2000 -vj50% -k --tag --joblog /tmp/jl-`basename $0` p_wrapper \
- :::: - ::: \$MYSQL \$PG \$SQLITE
+# # SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# #
+# # SPDX-License-Identifier: GPL-3.0-or-later
+#
+# Moved to sql01.sh
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-sql01.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -8,14 +8,28 @@
# The tests must be able to run in parallel
export SQLITE=sqlite3:///%2Frun%2Fshm%2Fparallel.db
-export PG=pg://`whoami`:`whoami`@lo/`whoami`
-export MYSQL=mysql://`whoami`:`whoami`@lo/`whoami`
+export PG=pg://`whoami`:`whoami`@localhost/`whoami`
+export MYSQL=mysql://`whoami`:`whoami`@localhost/`whoami`
export CSV=csv:///%2Frun%2Fshm
+export INFLUX=influx:///parallel
export DEBUG=false
rm -f /run/shm/parallel.db
mkdir -p /run/shm/csv
+overlay_mysql() {
+ # MySQL is rediculously slow: Force it to work in RAM
+ sudo service mysql stop
+ mysqldir=/var/lib/mysql
+ upper=/dev/shm/mysql
+ work=/dev/shm/mysql-work
+ sudo umount $mysqldir 2>/dev/null
+ mkdir -p $upper $work
+ sudo mount -t overlay overlay -o lowerdir=$mysqldir,upperdir=$upper,workdir=$work $mysqldir
+ sudo chown mysql:mysql $mysqldir
+ sudo service mysql start
+}
+
p_showsqlresult() {
# print results stored in $SERVERURL/$TABLE
SERVERURL=$1
@@ -46,11 +60,11 @@
}
p_template() {
- # Run the
+ # Run the jobs with both master and worker
(
# Make sure there is work to be done
sleep 6;
- parallel --sqlworker $DBURL "$@" sleep .3\;echo >"$T1"
+ parallel --sqlworker $DBURL "$@" sleep .3\;echo >"$T1"
) &
parallel --sqlandworker $DBURL "$@" sleep .3\;echo ::: {1..5} ::: {a..e} >"$T2";
}
@@ -137,17 +151,54 @@
true;
}
-hostname=`hostname`
-export -f $(compgen -A function | egrep 'p_|par_')
-# 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'
-
+par_sql_joblog() {
+ echo '### should only give a single --joblog heading'
+ echo '### --sqlmaster/--sqlworker'
+ 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=$(mktemp)
+ parallel -k --joblog - --sqlworker $DBURL > "$T"
+ wait
+ # Needed because of race condition
+ cat "$T"; rm "$T"
+ echo '### --sqlandworker'
+ parallel -k --joblog - --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} |
+ perl -pe 's/\d+\.\d+/999.999/g' | sort -n
+ # TODO --sqlandworker --wait
+}
+
+par_no_table() {
+ echo 'bug #50018: --dburl without table dies'
+ parallel --sqlworker $SERVERURL
+ echo $?
+ parallel --sqlandworker $SERVERURL echo ::: no_output
+ echo $?
+ parallel --sqlmaster $SERVERURL echo ::: no_output
+ echo $?
+ # For p_wrapper to remove table
+ parallel --sqlandworker $DBURL true ::: dummy ::: dummy
+}
+
+export -f $(compgen -A function | grep p_)
+export -f $(compgen -A function | G par_ "$@")
+
+# Run the DBURLs in parallel, but only one of the same DBURL at the same time
+
+joblog=/tmp/jl-`basename $0`
+true > $joblog
+
+do_dburl() {
+ export dbvar=$1
+ hostname=`hostname`
+ compgen -A function | G par_ | sort |
+ stdout parallel -vj1 -k --tag --joblog +$joblog p_wrapper {} \$$dbvar |
+ 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'
+}
+export -f do_dburl
+parallel -vk --tag do_dburl ::: CSV INFLUX MYSQL PG SQLITE
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-sql02.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -8,7 +8,7 @@
# The tests must be able to run in parallel
export SQLITE=sqlite3:///%2Frun%2Fshm%2Fparallel.db
-export PG=pg://`whoami`:`whoami`@lo/`whoami`
+export PG=pg://`whoami`:`whoami`@localhost/`whoami`
export MYSQL=mysql://`whoami`:`whoami`@lo/`whoami`
export CSV=csv:///%2Frun%2Fshm%2Fcsv
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh1.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -223,7 +223,7 @@
par_hgrp_agrp_comma() {
echo '### bug #63722: hostgroup with , breaks parser'
- stdout parallel --hgrp ::: id@csh@lo,tcsh@lo id@csh@lo,tcsh@lo | sort
+ stdout parallel --hgrp ::: whoami@csh@lo,tcsh@lo whoami@csh@lo,tcsh@lo | sort
}
par_hgrp_agrp() {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh2.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh3.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -142,4 +142,4 @@
# Tested with -j1..8
# -j6 was fastest
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
-compgen -A function | grep par_ | sort | parallel --delay 0.1 -j2 --tag -k '{} 2>&1'
+compgen -A function | G par_ "$@" | sort | parallel --delay 0.1 -j2 --tag -k '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh4.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -233,6 +233,6 @@
}
export -f $(compgen -A function | grep par_)
-compgen -A function | grep par_ | LC_ALL=C sort |
+compgen -A function | G par_ "$@" | LC_ALL=C sort |
parallel --timeout 10000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
perl -pe 's:/usr/bin:/bin:g;'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh5.sh
^
|
@@ -1,19 +1,17 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# SSH only allowed to localhost/lo
-
-
par_ssh_cmd_with_newline() {
echo '### Check --ssh with \n works'
ssh=$(mktemp)
cp -a /usr/bin/ssh "$ssh"
qssh=$(parallel -0 --shellquote "$ssh")
- parallel --ssh "$qssh" -S sh@lo ::: id
+ parallel --ssh "$qssh" -S sh@lo ::: whoami
}
par_controlmaster() {
@@ -153,6 +151,6 @@
}
export -f $(compgen -A function | grep par_)
-compgen -A function | grep par_ | sort |
+compgen -A function | G par_ "$@" | sort |
# 2019-07-14 100% slowed down 4 threads/16GB
parallel -j75% --joblog /tmp/jl-`basename $0` -j3 --tag -k --delay 0.1 --retries 3 '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh6.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh7.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -1650,8 +1650,8 @@
par_environment_too_big_ash() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
- len_var=63
- len_var_remote=47
+ len_var=53
+ len_var_remote=37
len_var_quote=31
len_var_quote_remote=21
len_fun=1
@@ -1720,11 +1720,11 @@
par_environment_too_big_bash() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
- len_overhead=-10-$( (shopt;alias;typeset -f;typeset -p) | wc -c)/1000
+ len_overhead=-27-$( (shopt;alias;typeset -f;typeset -p) | wc -c)/1000
len_var=$len_overhead+56
len_var_remote=$len_overhead+40
- len_var_quote=$len_overhead+31
- len_var_quote_remote=$len_overhead+22
+ len_var_quote=$len_overhead+41
+ len_var_quote_remote=$len_overhead+32
len_fun=$len_overhead+56
len_fun_remote=$len_overhead+40
len_fun_quote=$len_overhead+56
@@ -1795,8 +1795,8 @@
par_environment_too_big_dash() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
- len_var=63
- len_var_remote=47
+ len_var=53
+ len_var_remote=37
len_var_quote=31
len_var_quote_remote=21
len_fun=1
@@ -1870,8 +1870,8 @@
par_environment_too_big_ksh() {
myscript=$(cat <<'_EOF'
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_functions=-20-$(functions|wc -c)/1000
+ len_variables=-20-$(typeset -p | wc -c)/1000
len_var=$len_variables+40
len_var_remote=$len_variables+30
len_var_quote=$len_variables+43
@@ -1942,14 +1942,14 @@
par_environment_too_big_mksh() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
- len_var=46
- len_var_remote=31
- len_var_quote=46
- len_var_quote_remote=31
+ len_var=46-15
+ len_var_remote=$len_var-15
+ len_var_quote=$len_var
+ len_var_quote_remote=$len_var-15
len_fun=28
len_fun_remote=13
len_fun_quote=28
- len_fun_quote_remote=23
+ len_fun_quote_remote=18
. `which env_parallel.mksh`;
@@ -2013,8 +2013,8 @@
par_environment_too_big_sh() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
- len_var=63
- len_var_remote=47
+ len_var=58
+ len_var_remote=42
len_var_quote=31
len_var_quote_remote=21
len_fun=1 # unsupported
@@ -3321,7 +3321,7 @@
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
#compgen -A function | grep par_ | sort |
-compgen -A function | grep par_ | LC_ALL=C sort |
+compgen -A function | G par_ "$@" | LC_ALL=C sort |
# 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' |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh8.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -143,6 +143,6 @@
export -f $(compgen -A function | grep par_)
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
-compgen -A function | grep par_ | LC_ALL=C sort |
+compgen -A function | G par_ "$@" | LC_ALL=C sort |
parallel --joblog /tmp/jl-`basename $0` --delay 0.1 -j10 --tag -k '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh9.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -136,7 +136,7 @@
grep -v .zshenv:.:1
}
-par_propagate_env() {
+par__propagate_env() {
echo '### bug #41805: Idea: propagate --env for parallel --number-of-cores'
# csh complains if MANPATH is unset. Provoke this.
unset MANPATH
@@ -153,10 +153,11 @@
par_env_parallel_big_env() {
echo '### bug #54128: command too long when exporting big env'
- . `which env_parallel.bash`
- a=`rand | perl -pe 's/\0//g'| head -c 15000`
+ . env_parallel.bash
+ env_parallel --session
+ a=`rand | perl -pe 's/\0//g'| head -c 40000`
env_parallel -Slo echo should not ::: fail 2>&1
- a=`rand | perl -pe 's/\0//g'| head -c 25000`
+ a=`rand | perl -pe 's/\0//g'| head -c 45000`
env_parallel -Slo echo should ::: fail 2>/dev/null || echo OK
}
@@ -190,11 +191,12 @@
# Filter the list 5 times to make sure to get good hosts
export -f findhosts
export -f filterhosts
- nice bash -c '
+ # Run this in the background
+ nice tmux new-session -d -s filterhosts$$-$RANDOM -c '
findhosts | filterhosts | filterhosts | filterhosts |
filterhosts | filterhosts | head > /tmp/filtered.$$
mv /tmp/filtered.$$ /tmp/filtered.hosts
- '
+ ' &
) &
(
# We just need one of each to complete
@@ -217,7 +219,7 @@
parallel --nonall -S nopathbash@lo --filter-hosts echo OK
}
-par_d_filter_hosts() {
+par__d_filter_hosts() {
echo '### --filter-hosts and -0'
echo '### https://lists.gnu.org/archive/html/parallel/2022-07/msg00002.html'
printf 'OKa OKb ' | parallel -k -d ' ' --filter-hosts -S lo echo
@@ -227,11 +229,31 @@
printf 'OKa\0OKb\0' | parallel -k -0 --filter-hosts -S lo echo
}
+par__sshlogin_range() {
+ echo '### --sshlogin with ranges'
+ echo '### Jobs fail, but the important is the name of the hosts'
+ doit() {
+ stdout parallel --dr "$@" echo ::: 1 | sort
+ }
+ cluster() {
+ doit -S a[00-12].nx-dom,b[2,3,5,7-11]c[1,4,6].nx-dom
+ }
+ devprod() {
+ doit -S{prod,dev}[000-010,098-101].nx-dom
+ }
+ ipaddr() {
+ doit -Sip'2[49-51].0.[9-11].1[09-11]'
+ }
+ export -f doit cluster devprod ipaddr
+ parallel -k ::: cluster devprod ipaddr
+
+}
+
export -f $(compgen -A function | grep par_)
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
#compgen -A function | grep par_ | sort |
-compgen -A function | grep par_ | LANG=C sort -ri |
+compgen -A function | G par_ "$@" | LANG=C sort |
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
- parallel --joblog /tmp/jl-`basename $0` --delay 0.1 -j200% --tag -k '{} 2>&1' |
+ parallel --joblog /tmp/jl-`basename $0` --timeout 100 --delay 0.1 -j200% --tag -k '{} 2>&1' |
perl -pe 's/line \d\d\d+:/line XXX:/' |
perl -pe 's/\[\d\d\d+\]:/[XXX]:/'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-utf8.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local1.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local10.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local105.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local108.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local114.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local12.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local129.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local13.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash -x
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local14.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local140.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local15.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local150.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -14,7 +14,7 @@
nice parallel -k --load 30 sleep 0.1\;echo ::: 1 2 3
echo '### Test --timeout'
- nice parallel -j0 -k --timeout 2 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
+ nice stdout parallel -j0 -k --timeout 2 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
echo '### Test --joblog followed by --resume --joblog'
rm -f /tmp/joblog;
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local152.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local154.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local157.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local18.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local19.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local2.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local20.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local21.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local22.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local23.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local4.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local5.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local6.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local7.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local8.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local9.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-localhost1.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-macos.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-manual.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-polarhome.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-remote1.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-tutorial.sh
^
|
@@ -1,17 +1,18 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
cleanup() {
find {"$TMPDIR",/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 -print0 2>/dev/null |
parallel -0 rm 2>/dev/null
-}
+}
cleanup
touch ~/.parallel/will-cite
echo '### test parallel_tutorial'
+unset DISPLAY
TMPDIR=/tmp/parllel-tutorial
mkdir -p "$TMPDIR"
cd "$TMPDIR"
@@ -119,6 +120,8 @@
s:/tmp/par-job-\S+:script:g;
s:par......par:tempfile:g;
s:^tempfile\n::g;
+ #+(zenity:2012805): Gtk-WARNING **: 02:25:32.662: cannot open display:
+ s,.zenity.*cannot open display:,,;
# --progress => 1:local / 4 / 4
s,1:local / . / .,1:local / 9 / 9,;
# bash: -c: line 1: .set a="tempfile"; if( { test -d "$a" } ) echo "$a is a dir"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-virtualbox1.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/parsort-local-01.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/sem01.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/sem02.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/sql01.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -132,7 +132,7 @@
echo
}
-par__listproc() {
+par_listproc() {
echo "### Test --show-processlist|proclist|listproc";
# Take the minimum of 3 runs to avoid error counting
# if one of the other jobs happens to be running
@@ -194,5 +194,5 @@
export -f $(compgen -A function | grep par_)
-compgen -A function | grep par_ | LC_ALL=C sort |
- parallel --timeout 3000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'
+compgen -A function | G par_ "$@" | LC_ALL=C sort |
+ parallel --timeout 10 -j0 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/sql02.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/sql03.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test13.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test17.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test18.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test19.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test21.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test23.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test30.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test32.sh
^
|
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test35.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test36.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test37.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test41.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test45.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test46.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test47.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test60.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/tests-to-run/test61.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# SPDX-FileCopyrightText: 2021-2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/vagrant/FritsHoogland/centos3/Vagrantfile
^
|
@@ -67,6 +67,10 @@
#
# View the documentation for the provider you are using for more
# information on available options.
+ config.vm.boot_timeout = 100
+ # SSH configuration
+ config.ssh.config = "/home/tange/.ssh/config"
+ config.ssh.dsa_authentication = true
# Enable provisioning with a shell script. Additional provisioners such as
# Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
|
[-]
[+]
|
Added |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/vagrant/generic/centos8/Vagrantfile
^
|
@@ -0,0 +1,76 @@
+# -*- 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 = "generic/centos8"
+
+ # 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: 80, host: 8080
+
+ # 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.8"
+
+ # 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 = "512"
+ vb.memory = "300"
+ 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
|
[-]
[+]
|
Added |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/vagrant/generic/freebsd14/Vagrantfile
^
|
@@ -0,0 +1,80 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# SPDX-FileCopyrightText: 2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# 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 = "generic/freebsd14"
+
+ # 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: 80, host: 8080
+
+ # 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.74"
+
+ # 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 = "512"
+# vb.memory = "300"
+ 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
+ # Ansible, Chef, Docker, Puppet and Salt 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
|
[-]
[+]
|
Added |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/vagrant/generic/rhel8/Vagrantfile
^
|
@@ -0,0 +1,79 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# SPDX-FileCopyrightText: 2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# 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 = "generic/rhel8"
+
+ # 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: 80, host: 8080
+
+ # 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.108"
+
+ # 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 = "300"
+ 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-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-freebsd
^
|
@@ -1,5 +1,5 @@
### These tests requires VirtualBox running with the following images
-vagrant@freebsd12
+vagrant@freebsd14
par_compress_pipe par_compress_pipe 2>&1
par_compress_pipe Test --compress --pipe
par_compress_pipe 1000 1000 3893
|
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-0.3s
^
|
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-10s
^
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-1s
^
|
@@ -1,79 +1,3 @@
-par__I_X_m ### Test -I with -X and -m
-par__I_X_m 1 1
-par__I_X_m 2 1
-par__I_X_m 2 2
-par__I_X_m 3 1
-par__I_X_m 3 2
-par__I_X_m 3 3
-par__I_X_m 4 1
-par__I_X_m 4 2
-par__I_X_m 4 3
-par__I_X_m 4 4
-par__I_X_m 5 1
-par__I_X_m 5 2
-par__I_X_m 5 3
-par__I_X_m 5 4
-par__I_X_m 5 5
-par__I_X_m 6 1
-par__I_X_m 6 2
-par__I_X_m 6 3
-par__I_X_m 6 4
-par__I_X_m 6 5
-par__I_X_m 6 6
-par__I_X_m 7 1
-par__I_X_m 7 2
-par__I_X_m 7 3
-par__I_X_m 7 4
-par__I_X_m 7 5
-par__I_X_m 7 6
-par__I_X_m 7 7
-par__I_X_m 8 1
-par__I_X_m 8 2
-par__I_X_m 8 3
-par__I_X_m 8 4
-par__I_X_m 8 5
-par__I_X_m 8 6
-par__I_X_m 8 7
-par__I_X_m 8 8
-par__I_X_m 9 1
-par__I_X_m 9 2
-par__I_X_m 9 3
-par__I_X_m 9 4
-par__I_X_m 9 5
-par__I_X_m 9 6
-par__I_X_m 9 7
-par__I_X_m 9 8
-par__I_X_m 9 9
-par__I_X_m 10 1
-par__I_X_m 10 2
-par__I_X_m 10 3
-par__I_X_m 10 4
-par__I_X_m 10 5
-par__I_X_m 10 6
-par__I_X_m 10 7
-par__I_X_m 10 8
-par__I_X_m 10 9
-par__I_X_m 10 10
-par__I_X_m a1 b1
-par__I_X_m a2 b1 b2
-par__I_X_m a3 b1 b2 b3
-par__I_X_m a4 b1 b2 b3 b4
-par__I_X_m a5 b1 b2 b3 b4 b5
-par__I_X_m a6 b1 b2 b3 b4 b5 b6
-par__I_X_m a7 b1 b2 b3 b4 b5 b6 b7
-par__I_X_m a8 b1 b2 b3 b4 b5 b6 b7 b8
-par__I_X_m a9 b1 b2 b3 b4 b5 b6 b7 b8 b9
-par__I_X_m a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
-par__I_X_m a1 b1
-par__I_X_m a2 b1 2
-par__I_X_m a3 b1 2 3
-par__I_X_m a4 b1 2 3 4
-par__I_X_m a5 b1 2 3 4 5
-par__I_X_m a6 b1 2 3 4 5 6
-par__I_X_m a7 b1 2 3 4 5 6 7
-par__I_X_m a8 b1 2 3 4 5 6 7 8
-par__I_X_m a9 b1 2 3 4 5 6 7 8 9
-par__I_X_m a10 b1 2 3 4 5 6 7 8 9 10
par__arg_sep ### Test basic --arg-sep
par__arg_sep a
par__arg_sep b
@@ -106,214 +30,6 @@
par__arg_sep cat
par__arg_sep echo b
par__arg_sep b
-par__plus ### --plus
-par__plus (It is OK to start with extra / or end with extra .)
-par__plus a = /a = a. = /a. = a. = /a. = a. = /a.
-par__plus a.b = /a.b = a.b = /a.b = a.b. = /a.b. = a.b. = /a.b.
-par__plus a.b.c = /a.b.c = a.b.c = /a.b.c = a.b.c = /a.b.c = a.b.c. = /a.b.c.
-par__plus a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d
-par__plus a/1 = a/1 = a/1. = a/1. = a/1. = a/1. = a/1. = a/1.
-par__plus a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2.
-par__plus a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3. = a.b.c/1.2.3.
-par__plus a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4
-par__plus a. = /a. = a. = /a. = a.. = /a.. = a.. = /a..
-par__plus a.b. = /a.b. = a.b. = /a.b. = a.b. = /a.b. = a.b.. = /a.b..
-par__plus a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c.
-par__plus a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d.
-par__plus a/1. = a/1. = a/1. = a/1. = a/1.. = a/1.. = a/1.. = a/1..
-par__plus a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2.. = a.b/1.2..
-par__plus a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3.
-par__plus a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4.
-par__plus a.. = /a.. = a.. = /a.. = a.. = /a.. = a... = /a...
-par__plus a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b..
-par__plus a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c..
-par__plus a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d..
-par__plus a./1. = a./1. = a./1. = a./1. = a./1.. = a./1.. = a./1.. = a./1..
-par__plus a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2..
-par__plus a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3..
-par__plus a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4..
-par__plus ### Test {%...} {%%...} {#...} {##...}
-par__plus z.foo
-par__plus z.foo
-par__plus foo
-par__plus foo
-par__plus foo.z
-par__plus foo.z
-par__plus foo
-par__plus foo
-par__plus A B C
-par__plus A C B
-par__plus B A C
-par__plus B C A
-par__plus C A B
-par__plus C B A
-par__plus A+B+C
-par__plus A+C+B
-par__plus B+A+C
-par__plus B+C+A
-par__plus C+A+B
-par__plus C+B+A
-par__plus A B C
-par__plus A B D
-par__plus A C D
-par__plus B C D
-par__sql_colsep ### SQL should add Vn columns for --colsep
-par__sql_colsep /a/A/1/11/
-par__sql_colsep /a/A/2/22/
-par__sql_colsep /a/A/3/33/
-par__sql_colsep /b/B/1/11/
-par__sql_colsep /b/B/2/22/
-par__sql_colsep /b/B/3/33/
-par__sql_colsep /c/C/1/11/
-par__sql_colsep /c/C/2/22/
-par__sql_colsep /c/C/3/33/
-par__sql_colsep /a/A/1/11/
-par__sql_colsep /a/A/2/22/
-par__sql_colsep /a/A/3/33/
-par__sql_colsep /b/B/1/11/
-par__sql_colsep /b/B/2/22/
-par__sql_colsep /b/B/3/33/
-par__sql_colsep /c/C/1/11/
-par__sql_colsep /c/C/2/22/
-par__sql_colsep /c/C/3/33/
-par__sql_colsep a A 1 11 a A 2 22 a A 3 33
-par__sql_colsep a A 4 44 a A 5 55 a A 6 66
-par__sql_colsep b B 1 11 b B 2 22 b B 3 33
-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__sql_colsep a A 1 11 a A 2 22 a A 3 33
-par__sql_colsep a A 4 44 a A 5 55 a A 6 66
-par__sql_colsep b B 1 11 b B 2 22 b B 3 33
-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__test_XI_mI ### Test -I
-par__test_XI_mI 1 1
-par__test_XI_mI 2 1
-par__test_XI_mI 2 2
-par__test_XI_mI 3 1
-par__test_XI_mI 3 2
-par__test_XI_mI 3 3
-par__test_XI_mI 4 1
-par__test_XI_mI 4 2
-par__test_XI_mI 4 3
-par__test_XI_mI 4 4
-par__test_XI_mI 5 1
-par__test_XI_mI 5 2
-par__test_XI_mI 5 3
-par__test_XI_mI 5 4
-par__test_XI_mI 5 5
-par__test_XI_mI 6 1
-par__test_XI_mI 6 2
-par__test_XI_mI 6 3
-par__test_XI_mI 6 4
-par__test_XI_mI 6 5
-par__test_XI_mI 6 6
-par__test_XI_mI 7 1
-par__test_XI_mI 7 2
-par__test_XI_mI 7 3
-par__test_XI_mI 7 4
-par__test_XI_mI 7 5
-par__test_XI_mI 7 6
-par__test_XI_mI 7 7
-par__test_XI_mI 8 1
-par__test_XI_mI 8 2
-par__test_XI_mI 8 3
-par__test_XI_mI 8 4
-par__test_XI_mI 8 5
-par__test_XI_mI 8 6
-par__test_XI_mI 8 7
-par__test_XI_mI 8 8
-par__test_XI_mI 9 1
-par__test_XI_mI 9 2
-par__test_XI_mI 9 3
-par__test_XI_mI 9 4
-par__test_XI_mI 9 5
-par__test_XI_mI 9 6
-par__test_XI_mI 9 7
-par__test_XI_mI 9 8
-par__test_XI_mI 9 9
-par__test_XI_mI 10 1
-par__test_XI_mI 10 2
-par__test_XI_mI 10 3
-par__test_XI_mI 10 4
-par__test_XI_mI 10 5
-par__test_XI_mI 10 6
-par__test_XI_mI 10 7
-par__test_XI_mI 10 8
-par__test_XI_mI 10 9
-par__test_XI_mI 10 10
-par__test_XI_mI ### Test -X -I
-par__test_XI_mI a1 b1
-par__test_XI_mI a2 b1 b2
-par__test_XI_mI a3 b1 b2 b3
-par__test_XI_mI a4 b1 b2 b3 b4
-par__test_XI_mI a5 b1 b2 b3 b4 b5
-par__test_XI_mI a6 b1 b2 b3 b4 b5 b6
-par__test_XI_mI a7 b1 b2 b3 b4 b5 b6 b7
-par__test_XI_mI a8 b1 b2 b3 b4 b5 b6 b7 b8
-par__test_XI_mI a9 b1 b2 b3 b4 b5 b6 b7 b8 b9
-par__test_XI_mI a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
-par__test_XI_mI ### Test -m -I
-par__test_XI_mI a1 b1
-par__test_XI_mI a2 b1 2
-par__test_XI_mI a3 b1 2 3
-par__test_XI_mI a4 b1 2 3 4
-par__test_XI_mI a5 b1 2 3 4 5
-par__test_XI_mI a6 b1 2 3 4 5 6
-par__test_XI_mI a7 b1 2 3 4 5 6 7
-par__test_XI_mI a8 b1 2 3 4 5 6 7 8
-par__test_XI_mI a9 b1 2 3 4 5 6 7 8 9
-par__test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10
-par__test_cpu_detection_cpuinfo 2-8-8-8 Xeon 8 core server in Germany
-par__test_cpu_detection_cpuinfo 2 8 8 8
-par__test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core
-par__test_cpu_detection_cpuinfo 4 24 48 24
-par__test_cpu_detection_cpuinfo 1-4-8-4 4-core/8 thread Lenovo T480
-par__test_cpu_detection_cpuinfo 1 4 8 4
-par__test_cpu_detection_cpuinfo 4-64-64-64 Dell R815 4 CPU 64-core
-par__test_cpu_detection_cpuinfo 4 32 64 32
-par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Neo N36L Dual-Core Processor
-par__test_cpu_detection_cpuinfo 1 2 2 2
-par__test_cpu_detection_cpuinfo 1-1-1-1 Intel Xeon X5675 (mandriva.p)
-par__test_cpu_detection_cpuinfo 1 1 1 1
-par__test_cpu_detection_cpuinfo 1-1-1-1 Intel(R) Celeron(R) M (eee900)
-par__test_cpu_detection_cpuinfo 1 1 1 1
-par__test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop
-par__test_cpu_detection_cpuinfo 1 4 8 4
-par__test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall
-par__test_cpu_detection_cpuinfo 1 2 4 2
-par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Opteron 244 dual core laptop(?)
-par__test_cpu_detection_cpuinfo 1 2 2 2
-par__test_cpu_detection_cpuinfo 2-24-48-24 24-core (maxwell?)
-par__test_cpu_detection_cpuinfo 2 24 48 24
-par__test_cpu_detection_cpuinfo 1-2-2-2 HP Laptop Compaq 6530b
-par__test_cpu_detection_cpuinfo 1 2 2 2
-par__test_cpu_detection_cpuinfo 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
-par__test_cpu_detection_cpuinfo 1 8 8 8
-par__test_cpu_detection_cpuinfo 1-4-4-4 x96 quad-core Android TV-box
-par__test_cpu_detection_cpuinfo 1 4 4 4
-par__test_cpu_detection_cpuinfo 1-6-6-6 Kramses 200 USD laptop 6-core
-par__test_cpu_detection_cpuinfo 1 6 6 6
-par__test_cpu_detection_lscpu 2-8-8-8 Xeon 8 core server in Germany
-par__test_cpu_detection_lscpu 2 8 8 8
-par__test_cpu_detection_lscpu 4-64-64-64 Dell R815 4 CPU 64-core
-par__test_cpu_detection_lscpu 4 32 64 32
-par__test_cpu_detection_lscpu 1-2-2-2 AMD Neo N36L Dual-Core Processor
-par__test_cpu_detection_lscpu 1 2 2 2
-par__test_cpu_detection_lscpu 1-1-1-1 Intel Xeon X5675 (mandriva.p)
-par__test_cpu_detection_lscpu 1 1 1 1
-par__test_cpu_detection_lscpu 1-1-1-1 Intel(R) Celeron(R) M (eee900)
-par__test_cpu_detection_lscpu 1 1 1 1
-par__test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop
-par__test_cpu_detection_lscpu 1 4 8 4
-par__test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall
-par__test_cpu_detection_lscpu 1 2 4 2
-par__test_cpu_detection_lscpu 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
-par__test_cpu_detection_lscpu 2 8 8 8
-par__test_cpu_detection_lscpu 1-4-4-4 x96 quad-core Android TV-box
-par__test_cpu_detection_lscpu 1 1 1 1
par_basic_halt parallel: This job failed:
par_basic_halt false
par_basic_halt parallel: This job succeeded:
@@ -699,6 +415,24 @@
par_profiles_with_space echo '/bin/bash=/bin/bash'
par_profiles_with_space /bin/bash=/bin/bash
par_profiles_with_space With script in $PARALLEL /bin/bash=/TMP
+par_progress
+par_progress Computers / CPU sockets / Max jobs to run
+par_progress 1:local / 1 / 1
+par_progress
+par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
+par_progress local:0/3/100%/9.9s [K
+par_progress
+par_progress Computers / CPU cores / Max jobs to run
+par_progress 1:local / 4 / 4
+par_progress
+par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
+par_progress local:0/3/100%/9.9s [K
+par_progress
+par_progress Computers / CPU threads / Max jobs to run
+par_progress 1:local / 8 / 8
+par_progress
+par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
+par_progress local:0/3/100%/9.9s [K
par_pxz_complains bug #44250: pxz complains File format not recognized but decompresses anyway
par_pxz_complains ls: cannot access '/OK-if-missing-file': No such file or directory
par_pxz_complains can not seek in input: Illegal seek
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-300s
^
|
@@ -315,6 +315,10 @@
par_test_build_and_install make[0]: Entering directory '~/privat/parallel/src'
par_test_build_and_install make distdir-am
par_test_build_and_install make[0]: Entering directory '~/privat/parallel/src'
+par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf
par_test_build_and_install make[0]: Leaving directory '~/privat/parallel/src'
par_test_build_and_install make[0]: Leaving directory '~/privat/parallel/src'
par_test_build_and_install test -n " \
@@ -345,6 +349,54 @@
par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000'
par_test_build_and_install Making install in src
par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000/src'
+par_test_build_and_install pod2pdf --output-file "."/parallel.pdf "."/parallel.pod --title "GNU Parallel" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel.pdf
+par_test_build_and_install pod2pdf --output-file "."/env_parallel.pdf "."/env_parallel.pod --title "GNU Parallel with environment" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old env_parallel.pdf
+par_test_build_and_install pod2pdf --output-file "."/sem.pdf "."/sem.pod --title "GNU sem" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sem.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old sem.pdf
+par_test_build_and_install pod2pdf --output-file "."/sql.pdf "."/sql --title "GNU SQL" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old sql.pdf
+par_test_build_and_install pod2pdf --output-file "."/niceload.pdf "."/niceload.pod --title "GNU niceload" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old niceload.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old niceload.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_examples.pdf "."/parallel_examples.pod --title "GNU Parallel Examples" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_examples.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_examples.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_tutorial.pdf "."/parallel_tutorial.pod --title "GNU Parallel Tutorial" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_tutorial.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_book.pdf "."/parallel_book.pod --title "GNU Parallel Book" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_book.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_book.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_design.pdf "."/parallel_design.pod --title "GNU Parallel Design" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_design.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf
+par_test_build_and_install pod2pdf --output-file "."/parcat.pdf "."/parcat.pod --title "GNU parcat" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parcat.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parcat.pdf
+par_test_build_and_install pod2pdf --output-file "."/parset.pdf "."/parset.pod --title "GNU parset" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parset.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf
par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000/src'
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/bin'
par_test_build_and_install /bin/install -c parallel sql niceload parcat parset parsort env_parallel env_parallel.ash env_parallel.bash env_parallel.csh env_parallel.dash env_parallel.fish env_parallel.ksh env_parallel.mksh env_parallel.pdksh env_parallel.sh env_parallel.tcsh env_parallel.zsh '/tmp/parallel-install/bin'
@@ -353,6 +405,54 @@
par_test_build_and_install rm "/tmp/parallel-install/bin"/sem || true
par_test_build_and_install ln -s parallel "/tmp/parallel-install/bin"/sem
par_test_build_and_install make[0]: Leaving directory '/tmp/parallel-00000000/src'
+par_test_build_and_install pod2pdf --output-file "."/parallel.pdf "."/parallel.pod --title "GNU Parallel" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel.pdf
+par_test_build_and_install pod2pdf --output-file "."/env_parallel.pdf "."/env_parallel.pod --title "GNU Parallel with environment" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old env_parallel.pdf
+par_test_build_and_install pod2pdf --output-file "."/sem.pdf "."/sem.pod --title "GNU sem" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sem.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old sem.pdf
+par_test_build_and_install pod2pdf --output-file "."/sql.pdf "."/sql --title "GNU SQL" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old sql.pdf
+par_test_build_and_install pod2pdf --output-file "."/niceload.pdf "."/niceload.pod --title "GNU niceload" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old niceload.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old niceload.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_examples.pdf "."/parallel_examples.pod --title "GNU Parallel Examples" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_examples.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_examples.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_tutorial.pdf "."/parallel_tutorial.pod --title "GNU Parallel Tutorial" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_tutorial.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_book.pdf "."/parallel_book.pod --title "GNU Parallel Book" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_book.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_book.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_design.pdf "."/parallel_design.pod --title "GNU Parallel Design" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_design.pdf
+par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf
+par_test_build_and_install pod2pdf --output-file "."/parcat.pdf "."/parcat.pod --title "GNU parcat" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parcat.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parcat.pdf
+par_test_build_and_install pod2pdf --output-file "."/parset.pdf "."/parset.pod --title "GNU parset" \
+par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parset.pdf"
+par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
+par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_examples.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_examples.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_examples.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 env_parallel.pdf sem.pdf sql.pdf niceload.pdf parallel_examples.pdf parallel_tutorial.pdf parallel_book.pdf parallel_design.pdf parallel_alternatives.pdf parcat.pdf parset.pdf parsort.pdf parallel_cheat_bw.pdf parallel_options_map.pdf '/tmp/parallel-install/share/doc/parallel'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-3s
^
|
@@ -12,6 +12,82 @@
par__10000_5_rpl_X 4
par__10000_5_rpl_X 3
par__10000_5_rpl_X 2
+par__I_X_m ### Test -I with -X and -m
+par__I_X_m 1 1
+par__I_X_m 2 1
+par__I_X_m 2 2
+par__I_X_m 3 1
+par__I_X_m 3 2
+par__I_X_m 3 3
+par__I_X_m 4 1
+par__I_X_m 4 2
+par__I_X_m 4 3
+par__I_X_m 4 4
+par__I_X_m 5 1
+par__I_X_m 5 2
+par__I_X_m 5 3
+par__I_X_m 5 4
+par__I_X_m 5 5
+par__I_X_m 6 1
+par__I_X_m 6 2
+par__I_X_m 6 3
+par__I_X_m 6 4
+par__I_X_m 6 5
+par__I_X_m 6 6
+par__I_X_m 7 1
+par__I_X_m 7 2
+par__I_X_m 7 3
+par__I_X_m 7 4
+par__I_X_m 7 5
+par__I_X_m 7 6
+par__I_X_m 7 7
+par__I_X_m 8 1
+par__I_X_m 8 2
+par__I_X_m 8 3
+par__I_X_m 8 4
+par__I_X_m 8 5
+par__I_X_m 8 6
+par__I_X_m 8 7
+par__I_X_m 8 8
+par__I_X_m 9 1
+par__I_X_m 9 2
+par__I_X_m 9 3
+par__I_X_m 9 4
+par__I_X_m 9 5
+par__I_X_m 9 6
+par__I_X_m 9 7
+par__I_X_m 9 8
+par__I_X_m 9 9
+par__I_X_m 10 1
+par__I_X_m 10 2
+par__I_X_m 10 3
+par__I_X_m 10 4
+par__I_X_m 10 5
+par__I_X_m 10 6
+par__I_X_m 10 7
+par__I_X_m 10 8
+par__I_X_m 10 9
+par__I_X_m 10 10
+par__I_X_m a1 b1
+par__I_X_m a2 b1 b2
+par__I_X_m a3 b1 b2 b3
+par__I_X_m a4 b1 b2 b3 b4
+par__I_X_m a5 b1 b2 b3 b4 b5
+par__I_X_m a6 b1 b2 b3 b4 b5 b6
+par__I_X_m a7 b1 b2 b3 b4 b5 b6 b7
+par__I_X_m a8 b1 b2 b3 b4 b5 b6 b7 b8
+par__I_X_m a9 b1 b2 b3 b4 b5 b6 b7 b8 b9
+par__I_X_m a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
+par__I_X_m a1 b1
+par__I_X_m a2 b1 2
+par__I_X_m a3 b1 2 3
+par__I_X_m a4 b1 2 3 4
+par__I_X_m a5 b1 2 3 4 5
+par__I_X_m a6 b1 2 3 4 5 6
+par__I_X_m a7 b1 2 3 4 5 6 7
+par__I_X_m a8 b1 2 3 4 5 6 7 8
+par__I_X_m a9 b1 2 3 4 5 6 7 8 9
+par__I_X_m a10 b1 2 3 4 5 6 7 8 9 10
par__argfile_plus -- -a file +file ++file
par__argfile_plus parallel: Error: It is unclear whether you mean +./file or ./+file
par__argfile_plus -- -a file +./file ++file
@@ -241,6 +317,57 @@
par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file': No such file or directory
par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file1': No such file or directory
par__parset_assoc_arr zsh@lo ls: cannot access 'no-such-file2': No such file or directory
+par__plus ### --plus
+par__plus (It is OK to start with extra / or end with extra .)
+par__plus a = /a = a. = /a. = a. = /a. = a. = /a.
+par__plus a.b = /a.b = a.b = /a.b = a.b. = /a.b. = a.b. = /a.b.
+par__plus a.b.c = /a.b.c = a.b.c = /a.b.c = a.b.c = /a.b.c = a.b.c. = /a.b.c.
+par__plus a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d = a.b.c.d = /a.b.c.d
+par__plus a/1 = a/1 = a/1. = a/1. = a/1. = a/1. = a/1. = a/1.
+par__plus a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2.
+par__plus a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3. = a.b.c/1.2.3.
+par__plus a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4
+par__plus a. = /a. = a. = /a. = a.. = /a.. = a.. = /a..
+par__plus a.b. = /a.b. = a.b. = /a.b. = a.b. = /a.b. = a.b.. = /a.b..
+par__plus a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c.
+par__plus a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d.
+par__plus a/1. = a/1. = a/1. = a/1. = a/1.. = a/1.. = a/1.. = a/1..
+par__plus a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2.. = a.b/1.2..
+par__plus a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3.
+par__plus a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4.
+par__plus a.. = /a.. = a.. = /a.. = a.. = /a.. = a... = /a...
+par__plus a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b..
+par__plus a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c..
+par__plus a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d..
+par__plus a./1. = a./1. = a./1. = a./1. = a./1.. = a./1.. = a./1.. = a./1..
+par__plus a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2..
+par__plus a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3..
+par__plus a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4..
+par__plus ### Test {%...} {%%...} {#...} {##...}
+par__plus z.foo
+par__plus z.foo
+par__plus foo
+par__plus foo
+par__plus foo.z
+par__plus foo.z
+par__plus foo
+par__plus foo
+par__plus A B C
+par__plus A C B
+par__plus B A C
+par__plus B C A
+par__plus C A B
+par__plus C B A
+par__plus A+B+C
+par__plus A+C+B
+par__plus B+A+C
+par__plus B+C+A
+par__plus C+A+B
+par__plus C+B+A
+par__plus A B C
+par__plus A B D
+par__plus A C D
+par__plus B C D
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
@@ -321,6 +448,177 @@
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__sql_colsep ### SQL should add Vn columns for --colsep
+par__sql_colsep /a/A/1/11/
+par__sql_colsep /a/A/2/22/
+par__sql_colsep /a/A/3/33/
+par__sql_colsep /b/B/1/11/
+par__sql_colsep /b/B/2/22/
+par__sql_colsep /b/B/3/33/
+par__sql_colsep /c/C/1/11/
+par__sql_colsep /c/C/2/22/
+par__sql_colsep /c/C/3/33/
+par__sql_colsep /a/A/1/11/
+par__sql_colsep /a/A/2/22/
+par__sql_colsep /a/A/3/33/
+par__sql_colsep /b/B/1/11/
+par__sql_colsep /b/B/2/22/
+par__sql_colsep /b/B/3/33/
+par__sql_colsep /c/C/1/11/
+par__sql_colsep /c/C/2/22/
+par__sql_colsep /c/C/3/33/
+par__sql_colsep a A 1 11 a A 2 22 a A 3 33
+par__sql_colsep a A 4 44 a A 5 55 a A 6 66
+par__sql_colsep b B 1 11 b B 2 22 b B 3 33
+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__sql_colsep a A 1 11 a A 2 22 a A 3 33
+par__sql_colsep a A 4 44 a A 5 55 a A 6 66
+par__sql_colsep b B 1 11 b B 2 22 b B 3 33
+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__test_XI_mI ### Test -I
+par__test_XI_mI 1 1
+par__test_XI_mI 2 1
+par__test_XI_mI 2 2
+par__test_XI_mI 3 1
+par__test_XI_mI 3 2
+par__test_XI_mI 3 3
+par__test_XI_mI 4 1
+par__test_XI_mI 4 2
+par__test_XI_mI 4 3
+par__test_XI_mI 4 4
+par__test_XI_mI 5 1
+par__test_XI_mI 5 2
+par__test_XI_mI 5 3
+par__test_XI_mI 5 4
+par__test_XI_mI 5 5
+par__test_XI_mI 6 1
+par__test_XI_mI 6 2
+par__test_XI_mI 6 3
+par__test_XI_mI 6 4
+par__test_XI_mI 6 5
+par__test_XI_mI 6 6
+par__test_XI_mI 7 1
+par__test_XI_mI 7 2
+par__test_XI_mI 7 3
+par__test_XI_mI 7 4
+par__test_XI_mI 7 5
+par__test_XI_mI 7 6
+par__test_XI_mI 7 7
+par__test_XI_mI 8 1
+par__test_XI_mI 8 2
+par__test_XI_mI 8 3
+par__test_XI_mI 8 4
+par__test_XI_mI 8 5
+par__test_XI_mI 8 6
+par__test_XI_mI 8 7
+par__test_XI_mI 8 8
+par__test_XI_mI 9 1
+par__test_XI_mI 9 2
+par__test_XI_mI 9 3
+par__test_XI_mI 9 4
+par__test_XI_mI 9 5
+par__test_XI_mI 9 6
+par__test_XI_mI 9 7
+par__test_XI_mI 9 8
+par__test_XI_mI 9 9
+par__test_XI_mI 10 1
+par__test_XI_mI 10 2
+par__test_XI_mI 10 3
+par__test_XI_mI 10 4
+par__test_XI_mI 10 5
+par__test_XI_mI 10 6
+par__test_XI_mI 10 7
+par__test_XI_mI 10 8
+par__test_XI_mI 10 9
+par__test_XI_mI 10 10
+par__test_XI_mI ### Test -X -I
+par__test_XI_mI a1 b1
+par__test_XI_mI a2 b1 b2
+par__test_XI_mI a3 b1 b2 b3
+par__test_XI_mI a4 b1 b2 b3 b4
+par__test_XI_mI a5 b1 b2 b3 b4 b5
+par__test_XI_mI a6 b1 b2 b3 b4 b5 b6
+par__test_XI_mI a7 b1 b2 b3 b4 b5 b6 b7
+par__test_XI_mI a8 b1 b2 b3 b4 b5 b6 b7 b8
+par__test_XI_mI a9 b1 b2 b3 b4 b5 b6 b7 b8 b9
+par__test_XI_mI a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
+par__test_XI_mI ### Test -m -I
+par__test_XI_mI a1 b1
+par__test_XI_mI a2 b1 2
+par__test_XI_mI a3 b1 2 3
+par__test_XI_mI a4 b1 2 3 4
+par__test_XI_mI a5 b1 2 3 4 5
+par__test_XI_mI a6 b1 2 3 4 5 6
+par__test_XI_mI a7 b1 2 3 4 5 6 7
+par__test_XI_mI a8 b1 2 3 4 5 6 7 8
+par__test_XI_mI a9 b1 2 3 4 5 6 7 8 9
+par__test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10
+par__test_cpu_detection_cpuinfo 2-8-8-8 Xeon 8 core server in Germany
+par__test_cpu_detection_cpuinfo 2 8 8 8
+par__test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core
+par__test_cpu_detection_cpuinfo 4 24 48 24
+par__test_cpu_detection_cpuinfo 1-4-8-4 4-core/8 thread Lenovo T480
+par__test_cpu_detection_cpuinfo 1 4 8 4
+par__test_cpu_detection_cpuinfo 4-64-64-64 Dell R815 4 CPU 64-core
+par__test_cpu_detection_cpuinfo 4 32 64 32
+par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Neo N36L Dual-Core Processor
+par__test_cpu_detection_cpuinfo 1 2 2 2
+par__test_cpu_detection_cpuinfo 1-1-1-1 Intel Xeon X5675 (mandriva.p)
+par__test_cpu_detection_cpuinfo 1 1 1 1
+par__test_cpu_detection_cpuinfo 1-1-1-1 Intel(R) Celeron(R) M (eee900)
+par__test_cpu_detection_cpuinfo 1 1 1 1
+par__test_cpu_detection_cpuinfo 2-12-24-12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (vh4)
+par__test_cpu_detection_cpuinfo 2 12 24 12
+par__test_cpu_detection_cpuinfo 1-6-12-6 AMD Ryzen 5 4600G with Radeon Graphics (ai)
+par__test_cpu_detection_cpuinfo 1 6 12 6
+par__test_cpu_detection_cpuinfo 1-4-8-4 Lenovo E540 i7-4712MQ
+par__test_cpu_detection_cpuinfo 1 4 8 4
+par__test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop
+par__test_cpu_detection_cpuinfo 1 4 8 4
+par__test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall
+par__test_cpu_detection_cpuinfo 1 2 4 2
+par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Opteron 244 dual core laptop(?)
+par__test_cpu_detection_cpuinfo 1 2 2 2
+par__test_cpu_detection_cpuinfo 2-24-48-24 24-core (maxwell?)
+par__test_cpu_detection_cpuinfo 2 24 48 24
+par__test_cpu_detection_cpuinfo 1-2-2-2 HP Laptop Compaq 6530b
+par__test_cpu_detection_cpuinfo 1 2 2 2
+par__test_cpu_detection_cpuinfo 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
+par__test_cpu_detection_cpuinfo 1 8 8 8
+par__test_cpu_detection_cpuinfo 1-4-4-4 x96 quad-core Android TV-box
+par__test_cpu_detection_cpuinfo 1 4 4 4
+par__test_cpu_detection_cpuinfo 1-6-6-6 Kramses 200 USD laptop 6-core
+par__test_cpu_detection_cpuinfo 1 6 6 6
+par__test_cpu_detection_lscpu 2-8-8-8 Xeon 8 core server in Germany
+par__test_cpu_detection_lscpu 2 8 8 8
+par__test_cpu_detection_lscpu 4-64-64-64 Dell R815 4 CPU 64-core
+par__test_cpu_detection_lscpu 4 32 64 32
+par__test_cpu_detection_lscpu 1-2-2-2 AMD Neo N36L Dual-Core Processor
+par__test_cpu_detection_lscpu 1 2 2 2
+par__test_cpu_detection_lscpu 1-1-1-1 Intel Xeon X5675 (mandriva.p)
+par__test_cpu_detection_lscpu 1 1 1 1
+par__test_cpu_detection_lscpu 1-1-1-1 Intel(R) Celeron(R) M (eee900)
+par__test_cpu_detection_lscpu 1 1 1 1
+par__test_cpu_detection_lscpu 2-12-24-12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (vh4)
+par__test_cpu_detection_lscpu 2 12 24 12
+par__test_cpu_detection_lscpu 1-6-12-6 AMD Ryzen 5 4600G with Radeon Graphics (ai)
+par__test_cpu_detection_lscpu 1 6 12 6
+par__test_cpu_detection_lscpu 1-4-8-4 Lenovo E540 i7-4712MQ
+par__test_cpu_detection_lscpu 1 4 8 4
+par__test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop
+par__test_cpu_detection_lscpu 1 4 8 4
+par__test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall
+par__test_cpu_detection_lscpu 1 2 4 2
+par__test_cpu_detection_lscpu 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
+par__test_cpu_detection_lscpu 2 8 8 8
+par__test_cpu_detection_lscpu 1-4-4-4 x96 quad-core Android TV-box
+par__test_cpu_detection_lscpu 1 1 1 1
+par__test_cpu_detection_topology 1-4-8-4 Lenovo E540 i7-4712MQ
+par__test_cpu_detection_topology 1 4 8 4
par_children_receive_sig ### Do children receive --termseq signals
par_children_receive_sig parallel: Warning: This job was killed because it timed out:
par_children_receive_sig parallel: Warning: show_signals ''
@@ -331,6 +629,22 @@
par_children_receive_sig parallel: Warning: show_signals ''
par_children_receive_sig Got INT
par_children_receive_sig Got TERM
+par_combineexec ### Check that "--pipe -k" works
+par_combineexec 165668 165668 1048571
+par_combineexec 149796 149796 1048572
+par_combineexec 149796 149796 1048572
+par_combineexec 149796 149796 1048572
+par_combineexec 149796 149796 1048572
+par_combineexec 149796 149796 1048572
+par_combineexec 5352 5352 37464
+par_combineexec ### Check that "-k" is kept
+par_combineexec 1
+par_combineexec 2
+par_combineexec 3
+par_combineexec ### Check that "--tagstring {1}" is kept
+par_combineexec print("1\n") 1
+par_combineexec print("2\n") 2
+par_combineexec print("3\n") 3
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
@@ -396,9 +710,11 @@
par_eta 16
par_eta ### Test of --eta with no jobs
par_eta
-par_eta Computers / CPU cores / Max jobs to run
+par_eta Computers / CPU threads / Max jobs to run
par_eta 1:local / 9 / 9
-par_eta
par_eta ETA: 0s Left: 0 AVG: 0.00s 0
+par_eta
+par_eta Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
+par_eta
par_eta ETA: 0s Left: 0 AVG: 0.00s local:0/0/0%/0.0s [K
par_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent
par_exitval_signal exitval=128+6 OK
par_exitval_signal signal OK
@@ -525,11 +841,15 @@
par_parset line2
par_parset2 ### parset into array
par_parset2 foo bar baz
+par_parset2 foo bar baz
par_parset2 ### parset into vars with comma
par_parset2 foo bar baz
+par_parset2 foo bar baz
par_parset2 ### parset into vars with space
par_parset2 foo bar baz
+par_parset2 foo bar baz
par_parset2 ### parset with newlines
+par_parset2 1 1 2 1 2 3
par_parset2 1
par_parset2 1
par_parset2 2
@@ -538,11 +858,17 @@
par_parset2 3
par_parset2 ### parset into indexed array vars
par_parset2 foo bar baz
+par_parset2 foo bar baz
+par_parset2 foo bar bar
par_parset2 foo bar bar
par_parset2 ### env_parset
par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
+par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
+par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
+par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
+par_parset2 newline1 newline2 1 newline1 newline2 1 2 newline1 newline2 1 2 3
par_parset2 newline1
par_parset2 newline2
par_parset2 1
@@ -556,6 +882,8 @@
par_parset2 2
par_parset2 3
par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
+par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz
+par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 bar
par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 bar
par_parset2 bug #52507: parset arr1 -v echo ::: fails
par_parset2 seq 3
@@ -696,121 +1024,121 @@
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_plus_slot_replacement Seq: 001 1 0*2=0
+par_plus_slot_replacement Seq: 002 2 1*2=2
+par_plus_slot_replacement Seq: 003 3 2*2=4
+par_plus_slot_replacement Seq: 004 4 3*2=6
+par_plus_slot_replacement Seq: 005 5 4*2=8
+par_plus_slot_replacement Seq: 006 6 5*2=10
+par_plus_slot_replacement Seq: 007 7 6*2=12
+par_plus_slot_replacement Seq: 008 8 7*2=14
+par_plus_slot_replacement Seq: 009 9 8*2=16
+par_plus_slot_replacement Seq: 010 10 9*2=18
+par_plus_slot_replacement Seq: 011 11 10*2=20
+par_plus_slot_replacement Seq: 012 12 11*2=22
+par_plus_slot_replacement Seq: 013 13 12*2=24
+par_plus_slot_replacement Seq: 014 14 13*2=26
+par_plus_slot_replacement Seq: 015 15 14*2=28
+par_plus_slot_replacement Seq: 016 16 15*2=30
+par_plus_slot_replacement Seq: 017 17 16*2=32
+par_plus_slot_replacement Seq: 018 18 17*2=34
+par_plus_slot_replacement Seq: 019 19 18*2=36
+par_plus_slot_replacement Seq: 020 20 19*2=38
+par_plus_slot_replacement Seq: 021 21 20*2=40
+par_plus_slot_replacement Seq: 022 22 21*2=42
+par_plus_slot_replacement Seq: 023 23 22*2=44
+par_plus_slot_replacement Seq: 024 24 23*2=46
+par_plus_slot_replacement Seq: 025 25 24*2=48
+par_plus_slot_replacement Seq: 026 26 25*2=50
+par_plus_slot_replacement Seq: 027 27 26*2=52
+par_plus_slot_replacement Seq: 028 28 27*2=54
+par_plus_slot_replacement Seq: 029 29 28*2=56
+par_plus_slot_replacement Seq: 030 30 29*2=58
+par_plus_slot_replacement Seq: 031 31 30*2=60
+par_plus_slot_replacement Seq: 032 32 31*2=62
+par_plus_slot_replacement Seq: 033 33 32*2=64
+par_plus_slot_replacement Seq: 034 34 33*2=66
+par_plus_slot_replacement Seq: 035 35 34*2=68
+par_plus_slot_replacement Seq: 036 36 35*2=70
+par_plus_slot_replacement Seq: 037 37 36*2=72
+par_plus_slot_replacement Seq: 038 38 37*2=74
+par_plus_slot_replacement Seq: 039 39 38*2=76
+par_plus_slot_replacement Seq: 040 40 39*2=78
+par_plus_slot_replacement Seq: 041 41 40*2=80
+par_plus_slot_replacement Seq: 042 42 41*2=82
+par_plus_slot_replacement Seq: 043 43 42*2=84
+par_plus_slot_replacement Seq: 044 44 43*2=86
+par_plus_slot_replacement Seq: 045 45 44*2=88
+par_plus_slot_replacement Seq: 046 46 45*2=90
+par_plus_slot_replacement Seq: 047 47 46*2=92
+par_plus_slot_replacement Seq: 048 48 47*2=94
+par_plus_slot_replacement Seq: 049 49 48*2=96
+par_plus_slot_replacement Seq: 050 50 49*2=98
+par_plus_slot_replacement Seq: 051 51 50*2=100
+par_plus_slot_replacement Seq: 052 52 51*2=102
+par_plus_slot_replacement Seq: 053 53 52*2=104
+par_plus_slot_replacement Seq: 054 54 53*2=106
+par_plus_slot_replacement Seq: 055 55 54*2=108
+par_plus_slot_replacement Seq: 056 56 55*2=110
+par_plus_slot_replacement Seq: 057 57 56*2=112
+par_plus_slot_replacement Seq: 058 58 57*2=114
+par_plus_slot_replacement Seq: 059 59 58*2=116
+par_plus_slot_replacement Seq: 060 60 59*2=118
+par_plus_slot_replacement Seq: 061 61 60*2=120
+par_plus_slot_replacement Seq: 062 62 61*2=122
+par_plus_slot_replacement Seq: 063 63 62*2=124
+par_plus_slot_replacement Seq: 064 64 63*2=126
+par_plus_slot_replacement Seq: 065 65 64*2=128
+par_plus_slot_replacement Seq: 066 66 65*2=130
+par_plus_slot_replacement Seq: 067 67 66*2=132
+par_plus_slot_replacement Seq: 068 68 67*2=134
+par_plus_slot_replacement Seq: 069 69 68*2=136
+par_plus_slot_replacement Seq: 070 70 69*2=138
+par_plus_slot_replacement Seq: 071 71 70*2=140
+par_plus_slot_replacement Seq: 072 72 71*2=142
+par_plus_slot_replacement Seq: 073 73 72*2=144
+par_plus_slot_replacement Seq: 074 74 73*2=146
+par_plus_slot_replacement Seq: 075 75 74*2=148
+par_plus_slot_replacement Seq: 076 76 75*2=150
+par_plus_slot_replacement Seq: 077 77 76*2=152
+par_plus_slot_replacement Seq: 078 78 77*2=154
+par_plus_slot_replacement Seq: 079 79 78*2=156
+par_plus_slot_replacement Seq: 080 80 79*2=158
+par_plus_slot_replacement Seq: 081 81 80*2=160
+par_plus_slot_replacement Seq: 082 82 81*2=162
+par_plus_slot_replacement Seq: 083 83 82*2=164
+par_plus_slot_replacement Seq: 084 84 83*2=166
+par_plus_slot_replacement Seq: 085 85 84*2=168
+par_plus_slot_replacement Seq: 086 86 85*2=170
+par_plus_slot_replacement Seq: 087 87 86*2=172
+par_plus_slot_replacement Seq: 088 88 87*2=174
+par_plus_slot_replacement Seq: 089 89 88*2=176
+par_plus_slot_replacement Seq: 090 90 89*2=178
+par_plus_slot_replacement Seq: 091 91 90*2=180
+par_plus_slot_replacement Seq: 092 92 91*2=182
+par_plus_slot_replacement Seq: 093 93 92*2=184
+par_plus_slot_replacement Seq: 094 94 93*2=186
+par_plus_slot_replacement Seq: 095 95 94*2=188
+par_plus_slot_replacement Seq: 096 96 95*2=190
+par_plus_slot_replacement Seq: 097 97 96*2=192
+par_plus_slot_replacement Seq: 098 98 97*2=194
+par_plus_slot_replacement Seq: 099 99 98*2=196
+par_plus_slot_replacement Seq: 100 100 99*2=198
+par_plus_slot_replacement Slot: 01 1=0+1
+par_plus_slot_replacement Slot: 02 2=1+1
+par_plus_slot_replacement Slot: 03 3=2+1
+par_plus_slot_replacement Slot: 04 4=3+1
+par_plus_slot_replacement Slot: 05 5=4+1
+par_plus_slot_replacement Slot: 06 6=5+1
+par_plus_slot_replacement Slot: 07 7=6+1
+par_plus_slot_replacement Slot: 08 8=7+1
+par_plus_slot_replacement Slot: 09 9=8+1
+par_plus_slot_replacement Slot: 10 10=9+1
+par_plus_slot_replacement Slot: 11 11=10+1
+par_plus_slot_replacement Slot: 12 12=11+1
+par_plus_slot_replacement Slot: 13 13=12+1
+par_plus_slot_replacement Slot: 14 14=13+1
+par_plus_slot_replacement Slot: 15 15=14+1
par_process_slot_var ### bug #62310: xargs compatibility: --process-slot-var=name
par_process_slot_var 0
par_process_slot_var 1
@@ -831,9 +1159,11 @@
par_progress 16
par_progress ### Test of --progress with no jobs
par_progress
-par_progress Computers / CPU cores / Max jobs to run
+par_progress Computers / CPU threads / Max jobs to run
par_progress 1:local / 9 / 9
-par_progress
par_progress 0
+par_progress
+par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
+par_progress
par_progress local:0/0/0%/0.0s [K
par_replacement_slashslash ### Test {//}
par_replacement_slashslash . a
par_replacement_slashslash a a/b
@@ -996,60 +1326,6 @@
par_test_delimiter a
par_test_delimiter b
par_test_delimiter c
-par_totaljob_repl {##} bug #45841: Replacement string for total no of jobs
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 1
-par_totaljob_repl 2
-par_totaljob_repl 3
-par_totaljob_repl 4
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 10
-par_totaljob_repl 1 2
-par_totaljob_repl 2 2
-par_totaljob_repl 1 3
-par_totaljob_repl 2 3
-par_totaljob_repl 3 3
-par_totaljob_repl 1 15
-par_totaljob_repl 2 14
-par_totaljob_repl 3 14
-par_totaljob_repl 4 14
-par_totaljob_repl 5 14
-par_totaljob_repl 6 14
-par_totaljob_repl 7 14
-par_totaljob_repl 8 14
-par_totaljob_repl 01/20:01
-par_totaljob_repl 02/20:02
-par_totaljob_repl 03/20:03
-par_totaljob_repl 04/20:04
-par_totaljob_repl 05/20:05
-par_totaljob_repl 06/20:06
-par_totaljob_repl 07/20:07
-par_totaljob_repl 08/20:08
-par_totaljob_repl 09/20:09
-par_totaljob_repl 10/20:10
-par_totaljob_repl 11/20:01
-par_totaljob_repl 12/20:02
-par_totaljob_repl 13/20:03
-par_totaljob_repl 14/20:04
-par_totaljob_repl 15/20:05
-par_totaljob_repl 16/20:06
-par_totaljob_repl 17/20:07
-par_totaljob_repl 18/20:08
-par_totaljob_repl 19/20:09
-par_totaljob_repl 20/20:10
par_wrong_slot_rpl_resume ### bug #47644: Wrong slot number replacement when resuming
par_wrong_slot_rpl_resume 1 0
par_wrong_slot_rpl_resume 2 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-race02
^
|
@@ -1502,3 +1502,57 @@
par_testhalt soon done 70% false parallel: This job finished:
par_testhalt soon done 70% false echo job 17; sleep 7.5; exit 7
par_testhalt soon done 70% false 20
+par_totaljob_repl {##} bug #45841: Replacement string for total no of jobs
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 1
+par_totaljob_repl 2
+par_totaljob_repl 3
+par_totaljob_repl 4
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 10
+par_totaljob_repl 1 2
+par_totaljob_repl 2 2
+par_totaljob_repl 1 3
+par_totaljob_repl 2 3
+par_totaljob_repl 3 3
+par_totaljob_repl 1 15
+par_totaljob_repl 2 14
+par_totaljob_repl 3 14
+par_totaljob_repl 4 14
+par_totaljob_repl 5 14
+par_totaljob_repl 6 14
+par_totaljob_repl 7 14
+par_totaljob_repl 8 14
+par_totaljob_repl 01/20:01
+par_totaljob_repl 02/20:02
+par_totaljob_repl 03/20:03
+par_totaljob_repl 04/20:04
+par_totaljob_repl 05/20:05
+par_totaljob_repl 06/20:06
+par_totaljob_repl 07/20:07
+par_totaljob_repl 08/20:08
+par_totaljob_repl 09/20:09
+par_totaljob_repl 10/20:10
+par_totaljob_repl 11/20:01
+par_totaljob_repl 12/20:02
+par_totaljob_repl 13/20:03
+par_totaljob_repl 14/20:04
+par_totaljob_repl 15/20:05
+par_totaljob_repl 16/20:06
+par_totaljob_repl 17/20:07
+par_totaljob_repl 18/20:08
+par_totaljob_repl 19/20:09
+par_totaljob_repl 20/20:10
|
[-]
[+]
|
Deleted |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-sql
^
|
@@ -1,1717 +0,0 @@
-par_append_different_cmd $MYSQL p_wrapper par_append_different_cmd '$MYSQL'
-par_append_different_cmd $MYSQL Exit=0
-par_append_different_cmd $MYSQL Exit=0
-par_append_different_cmd $MYSQL Command V1 V2 Stdout Stderr
-par_append_different_cmd $MYSQL sleep .3;echo 1 a 1 a 1 a\n
-par_append_different_cmd $MYSQL sleep .3;echo 1 b 1 b 1 b\n
-par_append_different_cmd $MYSQL sleep .3;echo 1 c 1 c 1 c\n
-par_append_different_cmd $MYSQL sleep .3;echo 1 d 1 d 1 d\n
-par_append_different_cmd $MYSQL sleep .3;echo 1 e 1 e 1 e\n
-par_append_different_cmd $MYSQL sleep .3;echo 2 a 2 a 2 a\n
-par_append_different_cmd $MYSQL sleep .3;echo 2 b 2 b 2 b\n
-par_append_different_cmd $MYSQL sleep .3;echo 2 c 2 c 2 c\n
-par_append_different_cmd $MYSQL sleep .3;echo 2 d 2 d 2 d\n
-par_append_different_cmd $MYSQL sleep .3;echo 2 e 2 e 2 e\n
-par_append_different_cmd $MYSQL sleep .3;echo 3 a 3 a 3 a\n
-par_append_different_cmd $MYSQL sleep .3;echo 3 b 3 b 3 b\n
-par_append_different_cmd $MYSQL sleep .3;echo 3 c 3 c 3 c\n
-par_append_different_cmd $MYSQL sleep .3;echo 3 d 3 d 3 d\n
-par_append_different_cmd $MYSQL sleep .3;echo 3 e 3 e 3 e\n
-par_append_different_cmd $MYSQL sleep .3;echo 4 a 4 a 4 a\n
-par_append_different_cmd $MYSQL sleep .3;echo 4 b 4 b 4 b\n
-par_append_different_cmd $MYSQL sleep .3;echo 4 c 4 c 4 c\n
-par_append_different_cmd $MYSQL sleep .3;echo 4 d 4 d 4 d\n
-par_append_different_cmd $MYSQL sleep .3;echo 4 e 4 e 4 e\n
-par_append_different_cmd $MYSQL sleep .3;echo 5 a 5 a 5 a\n
-par_append_different_cmd $MYSQL sleep .3;echo 5 b 5 b 5 b\n
-par_append_different_cmd $MYSQL sleep .3;echo 5 c 5 c 5 c\n
-par_append_different_cmd $MYSQL sleep .3;echo 5 d 5 d 5 d\n
-par_append_different_cmd $MYSQL sleep .3;echo 5 e 5 e 5 e\n
-par_append_different_cmd $MYSQL sleep .3;echo A-11 11 A A-11\n
-par_append_different_cmd $MYSQL sleep .3;echo B-11 11 B B-11\n
-par_append_different_cmd $MYSQL sleep .3;echo C-11 11 C C-11\n
-par_append_different_cmd $MYSQL sleep .3;echo D-11 11 D D-11\n
-par_append_different_cmd $MYSQL sleep .3;echo E-11 11 E E-11\n
-par_append_different_cmd $MYSQL sleep .3;echo A-12 12 A A-12\n
-par_append_different_cmd $MYSQL sleep .3;echo B-12 12 B B-12\n
-par_append_different_cmd $MYSQL sleep .3;echo C-12 12 C C-12\n
-par_append_different_cmd $MYSQL sleep .3;echo D-12 12 D D-12\n
-par_append_different_cmd $MYSQL sleep .3;echo E-12 12 E E-12\n
-par_append_different_cmd $MYSQL sleep .3;echo A-13 13 A A-13\n
-par_append_different_cmd $MYSQL sleep .3;echo B-13 13 B B-13\n
-par_append_different_cmd $MYSQL sleep .3;echo C-13 13 C C-13\n
-par_append_different_cmd $MYSQL sleep .3;echo D-13 13 D D-13\n
-par_append_different_cmd $MYSQL sleep .3;echo E-13 13 E E-13\n
-par_append_different_cmd $MYSQL sleep .3;echo A-14 14 A A-14\n
-par_append_different_cmd $MYSQL sleep .3;echo B-14 14 B B-14\n
-par_append_different_cmd $MYSQL sleep .3;echo C-14 14 C C-14\n
-par_append_different_cmd $MYSQL sleep .3;echo D-14 14 D D-14\n
-par_append_different_cmd $MYSQL sleep .3;echo E-14 14 E E-14\n
-par_append_different_cmd $MYSQL sleep .3;echo A-15 15 A A-15\n
-par_append_different_cmd $MYSQL sleep .3;echo B-15 15 B B-15\n
-par_append_different_cmd $MYSQL sleep .3;echo C-15 15 C C-15\n
-par_append_different_cmd $MYSQL sleep .3;echo D-15 15 D D-15\n
-par_append_different_cmd $MYSQL sleep .3;echo E-15 15 E E-15\n
-par_append_different_cmd $PG p_wrapper par_append_different_cmd '$PG'
-par_append_different_cmd $PG Exit=0
-par_append_different_cmd $PG Exit=0
-par_append_different_cmd $PG command | v1 | v2 | stdout | stderr
-par_append_different_cmd $PG --------------------+----+----+--------+--------
-par_append_different_cmd $PG sleep .3;echo 1 a | 1 | a | 1 a +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 1 b | 1 | b | 1 b +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 1 c | 1 | c | 1 c +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 1 d | 1 | d | 1 d +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 1 e | 1 | e | 1 e +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 2 a | 2 | a | 2 a +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 2 b | 2 | b | 2 b +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 2 c | 2 | c | 2 c +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 2 d | 2 | d | 2 d +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 2 e | 2 | e | 2 e +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 3 a | 3 | a | 3 a +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 3 b | 3 | b | 3 b +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 3 c | 3 | c | 3 c +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 3 d | 3 | d | 3 d +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 3 e | 3 | e | 3 e +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 4 a | 4 | a | 4 a +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 4 b | 4 | b | 4 b +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 4 c | 4 | c | 4 c +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 4 d | 4 | d | 4 d +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 4 e | 4 | e | 4 e +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 5 a | 5 | a | 5 a +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 5 b | 5 | b | 5 b +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 5 c | 5 | c | 5 c +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 5 d | 5 | d | 5 d +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo 5 e | 5 | e | 5 e +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo A-11 | 11 | A | A-11 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo B-11 | 11 | B | B-11 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo C-11 | 11 | C | C-11 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo D-11 | 11 | D | D-11 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo E-11 | 11 | E | E-11 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo A-12 | 12 | A | A-12 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo B-12 | 12 | B | B-12 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo C-12 | 12 | C | C-12 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo D-12 | 12 | D | D-12 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo E-12 | 12 | E | E-12 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo A-13 | 13 | A | A-13 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo B-13 | 13 | B | B-13 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo C-13 | 13 | C | C-13 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo D-13 | 13 | D | D-13 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo E-13 | 13 | E | E-13 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo A-14 | 14 | A | A-14 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo B-14 | 14 | B | B-14 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo C-14 | 14 | C | C-14 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo D-14 | 14 | D | D-14 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo E-14 | 14 | E | E-14 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo A-15 | 15 | A | A-15 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo B-15 | 15 | B | B-15 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo C-15 | 15 | C | C-15 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo D-15 | 15 | D | D-15 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG sleep .3;echo E-15 | 15 | E | E-15 +|
-par_append_different_cmd $PG | | | |
-par_append_different_cmd $PG (50 rows)
-par_append_different_cmd $PG
-par_append_different_cmd $SQLITE p_wrapper par_append_different_cmd '$SQLITE'
-par_append_different_cmd $SQLITE Exit=0
-par_append_different_cmd $SQLITE Exit=0
-par_append_different_cmd $SQLITE Command|V1|V2|Stdout|Stderr
-par_append_different_cmd $SQLITE sleep .3;echo 1 a|1|a|1 a
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 1 b|1|b|1 b
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 1 c|1|c|1 c
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 1 d|1|d|1 d
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 1 e|1|e|1 e
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 2 a|2|a|2 a
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 2 b|2|b|2 b
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 2 c|2|c|2 c
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 2 d|2|d|2 d
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 2 e|2|e|2 e
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 3 a|3|a|3 a
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 3 b|3|b|3 b
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 3 c|3|c|3 c
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 3 d|3|d|3 d
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 3 e|3|e|3 e
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 4 a|4|a|4 a
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 4 b|4|b|4 b
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 4 c|4|c|4 c
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 4 d|4|d|4 d
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 4 e|4|e|4 e
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 5 a|5|a|5 a
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 5 b|5|b|5 b
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 5 c|5|c|5 c
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 5 d|5|d|5 d
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo 5 e|5|e|5 e
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo A-11|11|A|A-11
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo B-11|11|B|B-11
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo C-11|11|C|C-11
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo D-11|11|D|D-11
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo E-11|11|E|E-11
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo A-12|12|A|A-12
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo B-12|12|B|B-12
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo C-12|12|C|C-12
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo D-12|12|D|D-12
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo E-12|12|E|E-12
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo A-13|13|A|A-13
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo B-13|13|B|B-13
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo C-13|13|C|C-13
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo D-13|13|D|D-13
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo E-13|13|E|E-13
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo A-14|14|A|A-14
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo B-14|14|B|B-14
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo C-14|14|C|C-14
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo D-14|14|D|D-14
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo E-14|14|E|E-14
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo A-15|15|A|A-15
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo B-15|15|B|B-15
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo C-15|15|C|C-15
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo D-15|15|D|D-15
-par_append_different_cmd $SQLITE |
-par_append_different_cmd $SQLITE sleep .3;echo E-15|15|E|E-15
-par_append_different_cmd $SQLITE |
-par_no_table $MYSQL p_wrapper par_no_table '$MYSQL'
-par_no_table $MYSQL bug #50018: --dburl without table dies
-par_no_table $MYSQL 255
-par_no_table $MYSQL 255
-par_no_table $MYSQL 255
-par_no_table $MYSQL Exit=0
-par_no_table $MYSQL Exit=0
-par_no_table $MYSQL Command V1 V2 Stdout Stderr
-par_no_table $MYSQL true dummy dummy dummy dummy
-par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table.
-par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table.
-par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table.
-par_no_table $PG p_wrapper par_no_table '$PG'
-par_no_table $PG bug #50018: --dburl without table dies
-par_no_table $PG 255
-par_no_table $PG 255
-par_no_table $PG 255
-par_no_table $PG Exit=0
-par_no_table $PG Exit=0
-par_no_table $PG command | v1 | v2 | stdout | stderr
-par_no_table $PG ------------------+-------+-------+--------+--------
-par_no_table $PG true dummy dummy | dummy | dummy | |
-par_no_table $PG (1 row)
-par_no_table $PG
-par_no_table $PG parallel: Error: The DBURL (pg://tange:tange@lo/tange) must contain a table.
-par_no_table $PG parallel: Error: The DBURL (pg://tange:tange@lo/tange) must contain a table.
-par_no_table $PG parallel: Error: The DBURL (pg://tange:tange@lo/tange) must contain a table.
-par_no_table $SQLITE p_wrapper par_no_table '$SQLITE'
-par_no_table $SQLITE bug #50018: --dburl without table dies
-par_no_table $SQLITE 255
-par_no_table $SQLITE 255
-par_no_table $SQLITE 255
-par_no_table $SQLITE Exit=0
-par_no_table $SQLITE Exit=0
-par_no_table $SQLITE Command|V1|V2|Stdout|Stderr
-par_no_table $SQLITE true dummy dummy|dummy|dummy||
-par_no_table $SQLITE parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table.
-par_no_table $SQLITE parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table.
-par_no_table $SQLITE parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table.
-par_shuf $MYSQL p_wrapper par_shuf '$MYSQL'
-par_shuf $MYSQL 1 a
-par_shuf $MYSQL 1 b
-par_shuf $MYSQL 1 c
-par_shuf $MYSQL 1 d
-par_shuf $MYSQL 1 e
-par_shuf $MYSQL 2 a
-par_shuf $MYSQL 2 b
-par_shuf $MYSQL 2 c
-par_shuf $MYSQL 2 d
-par_shuf $MYSQL 2 e
-par_shuf $MYSQL 3 a
-par_shuf $MYSQL 3 b
-par_shuf $MYSQL 3 c
-par_shuf $MYSQL 3 d
-par_shuf $MYSQL 3 e
-par_shuf $MYSQL 4 a
-par_shuf $MYSQL 4 b
-par_shuf $MYSQL 4 c
-par_shuf $MYSQL 4 d
-par_shuf $MYSQL 4 e
-par_shuf $MYSQL 5 a
-par_shuf $MYSQL 5 b
-par_shuf $MYSQL 5 c
-par_shuf $MYSQL 5 d
-par_shuf $MYSQL 5 e
-par_shuf $MYSQL OK: Diff bigger than 2500 char
-par_shuf $MYSQL Exit=0
-par_shuf $MYSQL Exit=0
-par_shuf $MYSQL Command V1 V2 Stdout Stderr
-par_shuf $MYSQL sleep .3;echo 1 a 1 a /tmp/parallel-bug49791- <c20/1/1/2/a/stdout /tmp/parallel-bug49791- <c20/1/1/2/a/stderr
-par_shuf $MYSQL sleep .3;echo 1 b 1 b /tmp/parallel-bug49791- <c20/1/1/2/b/stdout /tmp/parallel-bug49791- <c20/1/1/2/b/stderr
-par_shuf $MYSQL sleep .3;echo 1 c 1 c /tmp/parallel-bug49791- <c20/1/1/2/c/stdout /tmp/parallel-bug49791- <c20/1/1/2/c/stderr
-par_shuf $MYSQL sleep .3;echo 1 d 1 d /tmp/parallel-bug49791- <c20/1/1/2/d/stdout /tmp/parallel-bug49791- <c20/1/1/2/d/stderr
-par_shuf $MYSQL sleep .3;echo 1 e 1 e /tmp/parallel-bug49791- <c20/1/1/2/e/stdout /tmp/parallel-bug49791- <c20/1/1/2/e/stderr
-par_shuf $MYSQL sleep .3;echo 2 a 2 a /tmp/parallel-bug49791- <c20/1/2/2/a/stdout /tmp/parallel-bug49791- <c20/1/2/2/a/stderr
-par_shuf $MYSQL sleep .3;echo 2 b 2 b /tmp/parallel-bug49791- <c20/1/2/2/b/stdout /tmp/parallel-bug49791- <c20/1/2/2/b/stderr
-par_shuf $MYSQL sleep .3;echo 2 c 2 c /tmp/parallel-bug49791- <c20/1/2/2/c/stdout /tmp/parallel-bug49791- <c20/1/2/2/c/stderr
-par_shuf $MYSQL sleep .3;echo 2 d 2 d /tmp/parallel-bug49791- <c20/1/2/2/d/stdout /tmp/parallel-bug49791- <c20/1/2/2/d/stderr
-par_shuf $MYSQL sleep .3;echo 2 e 2 e /tmp/parallel-bug49791- <c20/1/2/2/e/stdout /tmp/parallel-bug49791- <c20/1/2/2/e/stderr
-par_shuf $MYSQL sleep .3;echo 3 a 3 a /tmp/parallel-bug49791- <c20/1/3/2/a/stdout /tmp/parallel-bug49791- <c20/1/3/2/a/stderr
-par_shuf $MYSQL sleep .3;echo 3 b 3 b /tmp/parallel-bug49791- <c20/1/3/2/b/stdout /tmp/parallel-bug49791- <c20/1/3/2/b/stderr
-par_shuf $MYSQL sleep .3;echo 3 c 3 c /tmp/parallel-bug49791- <c20/1/3/2/c/stdout /tmp/parallel-bug49791- <c20/1/3/2/c/stderr
-par_shuf $MYSQL sleep .3;echo 3 d 3 d /tmp/parallel-bug49791- <c20/1/3/2/d/stdout /tmp/parallel-bug49791- <c20/1/3/2/d/stderr
-par_shuf $MYSQL sleep .3;echo 3 e 3 e /tmp/parallel-bug49791- <c20/1/3/2/e/stdout /tmp/parallel-bug49791- <c20/1/3/2/e/stderr
-par_shuf $MYSQL sleep .3;echo 4 a 4 a /tmp/parallel-bug49791- <c20/1/4/2/a/stdout /tmp/parallel-bug49791- <c20/1/4/2/a/stderr
-par_shuf $MYSQL sleep .3;echo 4 b 4 b /tmp/parallel-bug49791- <c20/1/4/2/b/stdout /tmp/parallel-bug49791- <c20/1/4/2/b/stderr
-par_shuf $MYSQL sleep .3;echo 4 c 4 c /tmp/parallel-bug49791- <c20/1/4/2/c/stdout /tmp/parallel-bug49791- <c20/1/4/2/c/stderr
-par_shuf $MYSQL sleep .3;echo 4 d 4 d /tmp/parallel-bug49791- <c20/1/4/2/d/stdout /tmp/parallel-bug49791- <c20/1/4/2/d/stderr
-par_shuf $MYSQL sleep .3;echo 4 e 4 e /tmp/parallel-bug49791- <c20/1/4/2/e/stdout /tmp/parallel-bug49791- <c20/1/4/2/e/stderr
-par_shuf $MYSQL sleep .3;echo 5 a 5 a /tmp/parallel-bug49791- <c20/1/5/2/a/stdout /tmp/parallel-bug49791- <c20/1/5/2/a/stderr
-par_shuf $MYSQL sleep .3;echo 5 b 5 b /tmp/parallel-bug49791- <c20/1/5/2/b/stdout /tmp/parallel-bug49791- <c20/1/5/2/b/stderr
-par_shuf $MYSQL sleep .3;echo 5 c 5 c /tmp/parallel-bug49791- <c20/1/5/2/c/stdout /tmp/parallel-bug49791- <c20/1/5/2/c/stderr
-par_shuf $MYSQL sleep .3;echo 5 d 5 d /tmp/parallel-bug49791- <c20/1/5/2/d/stdout /tmp/parallel-bug49791- <c20/1/5/2/d/stderr
-par_shuf $MYSQL sleep .3;echo 5 e 5 e /tmp/parallel-bug49791- <c20/1/5/2/e/stdout /tmp/parallel-bug49791- <c20/1/5/2/e/stderr
-par_shuf $PG p_wrapper par_shuf '$PG'
-par_shuf $PG 1 a
-par_shuf $PG 1 b
-par_shuf $PG 1 c
-par_shuf $PG 1 d
-par_shuf $PG 1 e
-par_shuf $PG 2 a
-par_shuf $PG 2 b
-par_shuf $PG 2 c
-par_shuf $PG 2 d
-par_shuf $PG 2 e
-par_shuf $PG 3 a
-par_shuf $PG 3 b
-par_shuf $PG 3 c
-par_shuf $PG 3 d
-par_shuf $PG 3 e
-par_shuf $PG 4 a
-par_shuf $PG 4 b
-par_shuf $PG 4 c
-par_shuf $PG 4 d
-par_shuf $PG 4 e
-par_shuf $PG 5 a
-par_shuf $PG 5 b
-par_shuf $PG 5 c
-par_shuf $PG 5 d
-par_shuf $PG 5 e
-par_shuf $PG OK: Diff bigger than 2500 char
-par_shuf $PG Exit=0
-par_shuf $PG Exit=0
-par_shuf $PG command | v1 | v2 | stdout | stderr
-par_shuf $PG -------------------+----+----+----------------------------------------------+----------------------------------------------
-par_shuf $PG sleep .3;echo 1 a | 1 | a | /tmp/parallel-bug49791- <792/1/1/2/a/stdout | /tmp/parallel-bug49791- <792/1/1/2/a/stderr
-par_shuf $PG sleep .3;echo 1 b | 1 | b | /tmp/parallel-bug49791- <792/1/1/2/b/stdout | /tmp/parallel-bug49791- <792/1/1/2/b/stderr
-par_shuf $PG sleep .3;echo 1 c | 1 | c | /tmp/parallel-bug49791- <792/1/1/2/c/stdout | /tmp/parallel-bug49791- <792/1/1/2/c/stderr
-par_shuf $PG sleep .3;echo 1 d | 1 | d | /tmp/parallel-bug49791- <792/1/1/2/d/stdout | /tmp/parallel-bug49791- <792/1/1/2/d/stderr
-par_shuf $PG sleep .3;echo 1 e | 1 | e | /tmp/parallel-bug49791- <792/1/1/2/e/stdout | /tmp/parallel-bug49791- <792/1/1/2/e/stderr
-par_shuf $PG sleep .3;echo 2 a | 2 | a | /tmp/parallel-bug49791- <792/1/2/2/a/stdout | /tmp/parallel-bug49791- <792/1/2/2/a/stderr
-par_shuf $PG sleep .3;echo 2 b | 2 | b | /tmp/parallel-bug49791- <792/1/2/2/b/stdout | /tmp/parallel-bug49791- <792/1/2/2/b/stderr
-par_shuf $PG sleep .3;echo 2 c | 2 | c | /tmp/parallel-bug49791- <792/1/2/2/c/stdout | /tmp/parallel-bug49791- <792/1/2/2/c/stderr
-par_shuf $PG sleep .3;echo 2 d | 2 | d | /tmp/parallel-bug49791- <792/1/2/2/d/stdout | /tmp/parallel-bug49791- <792/1/2/2/d/stderr
-par_shuf $PG sleep .3;echo 2 e | 2 | e | /tmp/parallel-bug49791- <792/1/2/2/e/stdout | /tmp/parallel-bug49791- <792/1/2/2/e/stderr
-par_shuf $PG sleep .3;echo 3 a | 3 | a | /tmp/parallel-bug49791- <792/1/3/2/a/stdout | /tmp/parallel-bug49791- <792/1/3/2/a/stderr
-par_shuf $PG sleep .3;echo 3 b | 3 | b | /tmp/parallel-bug49791- <792/1/3/2/b/stdout | /tmp/parallel-bug49791- <792/1/3/2/b/stderr
-par_shuf $PG sleep .3;echo 3 c | 3 | c | /tmp/parallel-bug49791- <792/1/3/2/c/stdout | /tmp/parallel-bug49791- <792/1/3/2/c/stderr
-par_shuf $PG sleep .3;echo 3 d | 3 | d | /tmp/parallel-bug49791- <792/1/3/2/d/stdout | /tmp/parallel-bug49791- <792/1/3/2/d/stderr
-par_shuf $PG sleep .3;echo 3 e | 3 | e | /tmp/parallel-bug49791- <792/1/3/2/e/stdout | /tmp/parallel-bug49791- <792/1/3/2/e/stderr
-par_shuf $PG sleep .3;echo 4 a | 4 | a | /tmp/parallel-bug49791- <792/1/4/2/a/stdout | /tmp/parallel-bug49791- <792/1/4/2/a/stderr
-par_shuf $PG sleep .3;echo 4 b | 4 | b | /tmp/parallel-bug49791- <792/1/4/2/b/stdout | /tmp/parallel-bug49791- <792/1/4/2/b/stderr
-par_shuf $PG sleep .3;echo 4 c | 4 | c | /tmp/parallel-bug49791- <792/1/4/2/c/stdout | /tmp/parallel-bug49791- <792/1/4/2/c/stderr
-par_shuf $PG sleep .3;echo 4 d | 4 | d | /tmp/parallel-bug49791- <792/1/4/2/d/stdout | /tmp/parallel-bug49791- <792/1/4/2/d/stderr
-par_shuf $PG sleep .3;echo 4 e | 4 | e | /tmp/parallel-bug49791- <792/1/4/2/e/stdout | /tmp/parallel-bug49791- <792/1/4/2/e/stderr
-par_shuf $PG sleep .3;echo 5 a | 5 | a | /tmp/parallel-bug49791- <792/1/5/2/a/stdout | /tmp/parallel-bug49791- <792/1/5/2/a/stderr
-par_shuf $PG sleep .3;echo 5 b | 5 | b | /tmp/parallel-bug49791- <792/1/5/2/b/stdout | /tmp/parallel-bug49791- <792/1/5/2/b/stderr
-par_shuf $PG sleep .3;echo 5 c | 5 | c | /tmp/parallel-bug49791- <792/1/5/2/c/stdout | /tmp/parallel-bug49791- <792/1/5/2/c/stderr
-par_shuf $PG sleep .3;echo 5 d | 5 | d | /tmp/parallel-bug49791- <792/1/5/2/d/stdout | /tmp/parallel-bug49791- <792/1/5/2/d/stderr
-par_shuf $PG sleep .3;echo 5 e | 5 | e | /tmp/parallel-bug49791- <792/1/5/2/e/stdout | /tmp/parallel-bug49791- <792/1/5/2/e/stderr
-par_shuf $PG (25 rows)
-par_shuf $PG
-par_shuf $SQLITE p_wrapper par_shuf '$SQLITE'
-par_shuf $SQLITE 1 a
-par_shuf $SQLITE 1 b
-par_shuf $SQLITE 1 c
-par_shuf $SQLITE 1 d
-par_shuf $SQLITE 1 e
-par_shuf $SQLITE 2 a
-par_shuf $SQLITE 2 b
-par_shuf $SQLITE 2 c
-par_shuf $SQLITE 2 d
-par_shuf $SQLITE 2 e
-par_shuf $SQLITE 3 a
-par_shuf $SQLITE 3 b
-par_shuf $SQLITE 3 c
-par_shuf $SQLITE 3 d
-par_shuf $SQLITE 3 e
-par_shuf $SQLITE 4 a
-par_shuf $SQLITE 4 b
-par_shuf $SQLITE 4 c
-par_shuf $SQLITE 4 d
-par_shuf $SQLITE 4 e
-par_shuf $SQLITE 5 a
-par_shuf $SQLITE 5 b
-par_shuf $SQLITE 5 c
-par_shuf $SQLITE 5 d
-par_shuf $SQLITE 5 e
-par_shuf $SQLITE OK: Diff bigger than 2500 char
-par_shuf $SQLITE Exit=0
-par_shuf $SQLITE Exit=0
-par_shuf $SQLITE Command|V1|V2|Stdout|Stderr
-par_shuf $SQLITE sleep .3;echo 1 a|1|a|/tmp/parallel-bug49791- <932/1/1/2/a/stdout|/tmp/parallel-bug49791- <932/1/1/2/a/stderr
-par_shuf $SQLITE sleep .3;echo 1 b|1|b|/tmp/parallel-bug49791- <932/1/1/2/b/stdout|/tmp/parallel-bug49791- <932/1/1/2/b/stderr
-par_shuf $SQLITE sleep .3;echo 1 c|1|c|/tmp/parallel-bug49791- <932/1/1/2/c/stdout|/tmp/parallel-bug49791- <932/1/1/2/c/stderr
-par_shuf $SQLITE sleep .3;echo 1 d|1|d|/tmp/parallel-bug49791- <932/1/1/2/d/stdout|/tmp/parallel-bug49791- <932/1/1/2/d/stderr
-par_shuf $SQLITE sleep .3;echo 1 e|1|e|/tmp/parallel-bug49791- <932/1/1/2/e/stdout|/tmp/parallel-bug49791- <932/1/1/2/e/stderr
-par_shuf $SQLITE sleep .3;echo 2 a|2|a|/tmp/parallel-bug49791- <932/1/2/2/a/stdout|/tmp/parallel-bug49791- <932/1/2/2/a/stderr
-par_shuf $SQLITE sleep .3;echo 2 b|2|b|/tmp/parallel-bug49791- <932/1/2/2/b/stdout|/tmp/parallel-bug49791- <932/1/2/2/b/stderr
-par_shuf $SQLITE sleep .3;echo 2 c|2|c|/tmp/parallel-bug49791- <932/1/2/2/c/stdout|/tmp/parallel-bug49791- <932/1/2/2/c/stderr
-par_shuf $SQLITE sleep .3;echo 2 d|2|d|/tmp/parallel-bug49791- <932/1/2/2/d/stdout|/tmp/parallel-bug49791- <932/1/2/2/d/stderr
-par_shuf $SQLITE sleep .3;echo 2 e|2|e|/tmp/parallel-bug49791- <932/1/2/2/e/stdout|/tmp/parallel-bug49791- <932/1/2/2/e/stderr
-par_shuf $SQLITE sleep .3;echo 3 a|3|a|/tmp/parallel-bug49791- <932/1/3/2/a/stdout|/tmp/parallel-bug49791- <932/1/3/2/a/stderr
-par_shuf $SQLITE sleep .3;echo 3 b|3|b|/tmp/parallel-bug49791- <932/1/3/2/b/stdout|/tmp/parallel-bug49791- <932/1/3/2/b/stderr
-par_shuf $SQLITE sleep .3;echo 3 c|3|c|/tmp/parallel-bug49791- <932/1/3/2/c/stdout|/tmp/parallel-bug49791- <932/1/3/2/c/stderr
-par_shuf $SQLITE sleep .3;echo 3 d|3|d|/tmp/parallel-bug49791- <932/1/3/2/d/stdout|/tmp/parallel-bug49791- <932/1/3/2/d/stderr
-par_shuf $SQLITE sleep .3;echo 3 e|3|e|/tmp/parallel-bug49791- <932/1/3/2/e/stdout|/tmp/parallel-bug49791- <932/1/3/2/e/stderr
-par_shuf $SQLITE sleep .3;echo 4 a|4|a|/tmp/parallel-bug49791- <932/1/4/2/a/stdout|/tmp/parallel-bug49791- <932/1/4/2/a/stderr
-par_shuf $SQLITE sleep .3;echo 4 b|4|b|/tmp/parallel-bug49791- <932/1/4/2/b/stdout|/tmp/parallel-bug49791- <932/1/4/2/b/stderr
-par_shuf $SQLITE sleep .3;echo 4 c|4|c|/tmp/parallel-bug49791- <932/1/4/2/c/stdout|/tmp/parallel-bug49791- <932/1/4/2/c/stderr
-par_shuf $SQLITE sleep .3;echo 4 d|4|d|/tmp/parallel-bug49791- <932/1/4/2/d/stdout|/tmp/parallel-bug49791- <932/1/4/2/d/stderr
-par_shuf $SQLITE sleep .3;echo 4 e|4|e|/tmp/parallel-bug49791- <932/1/4/2/e/stdout|/tmp/parallel-bug49791- <932/1/4/2/e/stderr
-par_shuf $SQLITE sleep .3;echo 5 a|5|a|/tmp/parallel-bug49791- <932/1/5/2/a/stdout|/tmp/parallel-bug49791- <932/1/5/2/a/stderr
-par_shuf $SQLITE sleep .3;echo 5 b|5|b|/tmp/parallel-bug49791- <932/1/5/2/b/stdout|/tmp/parallel-bug49791- <932/1/5/2/b/stderr
-par_shuf $SQLITE sleep .3;echo 5 c|5|c|/tmp/parallel-bug49791- <932/1/5/2/c/stdout|/tmp/parallel-bug49791- <932/1/5/2/c/stderr
-par_shuf $SQLITE sleep .3;echo 5 d|5|d|/tmp/parallel-bug49791- <932/1/5/2/d/stdout|/tmp/parallel-bug49791- <932/1/5/2/d/stderr
-par_shuf $SQLITE sleep .3;echo 5 e|5|e|/tmp/parallel-bug49791- <932/1/5/2/e/stdout|/tmp/parallel-bug49791- <932/1/5/2/e/stderr
-par_sql_joblog $MYSQL p_wrapper par_sql_joblog '$MYSQL'
-par_sql_joblog $MYSQL ### should only give a single --joblog heading
-par_sql_joblog $MYSQL ### --sqlmaster/--sqlworker
-par_sql_joblog $MYSQL Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_sql_joblog $MYSQL 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
-par_sql_joblog $MYSQL 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
-par_sql_joblog $MYSQL 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
-par_sql_joblog $MYSQL 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
-par_sql_joblog $MYSQL 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
-par_sql_joblog $MYSQL 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
-par_sql_joblog $MYSQL 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
-par_sql_joblog $MYSQL 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
-par_sql_joblog $MYSQL 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
-par_sql_joblog $MYSQL 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
-par_sql_joblog $MYSQL 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
-par_sql_joblog $MYSQL 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
-par_sql_joblog $MYSQL 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
-par_sql_joblog $MYSQL 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
-par_sql_joblog $MYSQL 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
-par_sql_joblog $MYSQL 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
-par_sql_joblog $MYSQL 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
-par_sql_joblog $MYSQL 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
-par_sql_joblog $MYSQL 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
-par_sql_joblog $MYSQL 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
-par_sql_joblog $MYSQL 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
-par_sql_joblog $MYSQL 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
-par_sql_joblog $MYSQL 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
-par_sql_joblog $MYSQL 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
-par_sql_joblog $MYSQL 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
-par_sql_joblog $MYSQL 1 a
-par_sql_joblog $MYSQL 1 b
-par_sql_joblog $MYSQL 1 c
-par_sql_joblog $MYSQL 1 d
-par_sql_joblog $MYSQL 1 e
-par_sql_joblog $MYSQL 2 a
-par_sql_joblog $MYSQL 2 b
-par_sql_joblog $MYSQL 2 c
-par_sql_joblog $MYSQL 2 d
-par_sql_joblog $MYSQL 2 e
-par_sql_joblog $MYSQL 3 a
-par_sql_joblog $MYSQL 3 b
-par_sql_joblog $MYSQL 3 c
-par_sql_joblog $MYSQL 3 d
-par_sql_joblog $MYSQL 3 e
-par_sql_joblog $MYSQL 4 a
-par_sql_joblog $MYSQL 4 b
-par_sql_joblog $MYSQL 4 c
-par_sql_joblog $MYSQL 4 d
-par_sql_joblog $MYSQL 4 e
-par_sql_joblog $MYSQL 5 a
-par_sql_joblog $MYSQL 5 b
-par_sql_joblog $MYSQL 5 c
-par_sql_joblog $MYSQL 5 d
-par_sql_joblog $MYSQL 5 e
-par_sql_joblog $MYSQL ### --sqlandworker
-par_sql_joblog $MYSQL Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_sql_joblog $MYSQL 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
-par_sql_joblog $MYSQL 1 a
-par_sql_joblog $MYSQL 1 b
-par_sql_joblog $MYSQL 1 c
-par_sql_joblog $MYSQL 1 d
-par_sql_joblog $MYSQL 1 e
-par_sql_joblog $MYSQL 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
-par_sql_joblog $MYSQL 2 a
-par_sql_joblog $MYSQL 2 b
-par_sql_joblog $MYSQL 2 c
-par_sql_joblog $MYSQL 2 d
-par_sql_joblog $MYSQL 2 e
-par_sql_joblog $MYSQL 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
-par_sql_joblog $MYSQL 3 a
-par_sql_joblog $MYSQL 3 b
-par_sql_joblog $MYSQL 3 c
-par_sql_joblog $MYSQL 3 d
-par_sql_joblog $MYSQL 3 e
-par_sql_joblog $MYSQL 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
-par_sql_joblog $MYSQL 4 a
-par_sql_joblog $MYSQL 4 b
-par_sql_joblog $MYSQL 4 c
-par_sql_joblog $MYSQL 4 d
-par_sql_joblog $MYSQL 4 e
-par_sql_joblog $MYSQL 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
-par_sql_joblog $MYSQL 5 a
-par_sql_joblog $MYSQL 5 b
-par_sql_joblog $MYSQL 5 c
-par_sql_joblog $MYSQL 5 d
-par_sql_joblog $MYSQL 5 e
-par_sql_joblog $MYSQL 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
-par_sql_joblog $MYSQL 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
-par_sql_joblog $MYSQL 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
-par_sql_joblog $MYSQL 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
-par_sql_joblog $MYSQL 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
-par_sql_joblog $MYSQL 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
-par_sql_joblog $MYSQL 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
-par_sql_joblog $MYSQL 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
-par_sql_joblog $MYSQL 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
-par_sql_joblog $MYSQL 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
-par_sql_joblog $MYSQL 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
-par_sql_joblog $MYSQL 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
-par_sql_joblog $MYSQL 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
-par_sql_joblog $MYSQL 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
-par_sql_joblog $MYSQL 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
-par_sql_joblog $MYSQL 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
-par_sql_joblog $MYSQL 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
-par_sql_joblog $MYSQL 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
-par_sql_joblog $MYSQL 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
-par_sql_joblog $MYSQL 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
-par_sql_joblog $MYSQL Exit=0
-par_sql_joblog $MYSQL Exit=0
-par_sql_joblog $MYSQL Command V1 V2 Stdout Stderr
-par_sql_joblog $MYSQL sleep .3;echo 1 a 1 a 1 a\n
-par_sql_joblog $MYSQL sleep .3;echo 1 b 1 b 1 b\n
-par_sql_joblog $MYSQL sleep .3;echo 1 c 1 c 1 c\n
-par_sql_joblog $MYSQL sleep .3;echo 1 d 1 d 1 d\n
-par_sql_joblog $MYSQL sleep .3;echo 1 e 1 e 1 e\n
-par_sql_joblog $MYSQL sleep .3;echo 2 a 2 a 2 a\n
-par_sql_joblog $MYSQL sleep .3;echo 2 b 2 b 2 b\n
-par_sql_joblog $MYSQL sleep .3;echo 2 c 2 c 2 c\n
-par_sql_joblog $MYSQL sleep .3;echo 2 d 2 d 2 d\n
-par_sql_joblog $MYSQL sleep .3;echo 2 e 2 e 2 e\n
-par_sql_joblog $MYSQL sleep .3;echo 3 a 3 a 3 a\n
-par_sql_joblog $MYSQL sleep .3;echo 3 b 3 b 3 b\n
-par_sql_joblog $MYSQL sleep .3;echo 3 c 3 c 3 c\n
-par_sql_joblog $MYSQL sleep .3;echo 3 d 3 d 3 d\n
-par_sql_joblog $MYSQL sleep .3;echo 3 e 3 e 3 e\n
-par_sql_joblog $MYSQL sleep .3;echo 4 a 4 a 4 a\n
-par_sql_joblog $MYSQL sleep .3;echo 4 b 4 b 4 b\n
-par_sql_joblog $MYSQL sleep .3;echo 4 c 4 c 4 c\n
-par_sql_joblog $MYSQL sleep .3;echo 4 d 4 d 4 d\n
-par_sql_joblog $MYSQL sleep .3;echo 4 e 4 e 4 e\n
-par_sql_joblog $MYSQL sleep .3;echo 5 a 5 a 5 a\n
-par_sql_joblog $MYSQL sleep .3;echo 5 b 5 b 5 b\n
-par_sql_joblog $MYSQL sleep .3;echo 5 c 5 c 5 c\n
-par_sql_joblog $MYSQL sleep .3;echo 5 d 5 d 5 d\n
-par_sql_joblog $MYSQL sleep .3;echo 5 e 5 e 5 e\n
-par_sql_joblog $PG p_wrapper par_sql_joblog '$PG'
-par_sql_joblog $PG ### should only give a single --joblog heading
-par_sql_joblog $PG ### --sqlmaster/--sqlworker
-par_sql_joblog $PG Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_sql_joblog $PG 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
-par_sql_joblog $PG 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
-par_sql_joblog $PG 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
-par_sql_joblog $PG 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
-par_sql_joblog $PG 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
-par_sql_joblog $PG 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
-par_sql_joblog $PG 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
-par_sql_joblog $PG 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
-par_sql_joblog $PG 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
-par_sql_joblog $PG 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
-par_sql_joblog $PG 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
-par_sql_joblog $PG 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
-par_sql_joblog $PG 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
-par_sql_joblog $PG 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
-par_sql_joblog $PG 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
-par_sql_joblog $PG 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
-par_sql_joblog $PG 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
-par_sql_joblog $PG 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
-par_sql_joblog $PG 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
-par_sql_joblog $PG 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
-par_sql_joblog $PG 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
-par_sql_joblog $PG 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
-par_sql_joblog $PG 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
-par_sql_joblog $PG 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
-par_sql_joblog $PG 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
-par_sql_joblog $PG 1 a
-par_sql_joblog $PG 1 b
-par_sql_joblog $PG 1 c
-par_sql_joblog $PG 1 d
-par_sql_joblog $PG 1 e
-par_sql_joblog $PG 2 a
-par_sql_joblog $PG 2 b
-par_sql_joblog $PG 2 c
-par_sql_joblog $PG 2 d
-par_sql_joblog $PG 2 e
-par_sql_joblog $PG 3 a
-par_sql_joblog $PG 3 b
-par_sql_joblog $PG 3 c
-par_sql_joblog $PG 3 d
-par_sql_joblog $PG 3 e
-par_sql_joblog $PG 4 a
-par_sql_joblog $PG 4 b
-par_sql_joblog $PG 4 c
-par_sql_joblog $PG 4 d
-par_sql_joblog $PG 4 e
-par_sql_joblog $PG 5 a
-par_sql_joblog $PG 5 b
-par_sql_joblog $PG 5 c
-par_sql_joblog $PG 5 d
-par_sql_joblog $PG 5 e
-par_sql_joblog $PG ### --sqlandworker
-par_sql_joblog $PG Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_sql_joblog $PG 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
-par_sql_joblog $PG 1 a
-par_sql_joblog $PG 1 b
-par_sql_joblog $PG 1 c
-par_sql_joblog $PG 1 d
-par_sql_joblog $PG 1 e
-par_sql_joblog $PG 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
-par_sql_joblog $PG 2 a
-par_sql_joblog $PG 2 b
-par_sql_joblog $PG 2 c
-par_sql_joblog $PG 2 d
-par_sql_joblog $PG 2 e
-par_sql_joblog $PG 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
-par_sql_joblog $PG 3 a
-par_sql_joblog $PG 3 b
-par_sql_joblog $PG 3 c
-par_sql_joblog $PG 3 d
-par_sql_joblog $PG 3 e
-par_sql_joblog $PG 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
-par_sql_joblog $PG 4 a
-par_sql_joblog $PG 4 b
-par_sql_joblog $PG 4 c
-par_sql_joblog $PG 4 d
-par_sql_joblog $PG 4 e
-par_sql_joblog $PG 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
-par_sql_joblog $PG 5 a
-par_sql_joblog $PG 5 b
-par_sql_joblog $PG 5 c
-par_sql_joblog $PG 5 d
-par_sql_joblog $PG 5 e
-par_sql_joblog $PG 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
-par_sql_joblog $PG 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
-par_sql_joblog $PG 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
-par_sql_joblog $PG 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
-par_sql_joblog $PG 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
-par_sql_joblog $PG 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
-par_sql_joblog $PG 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
-par_sql_joblog $PG 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
-par_sql_joblog $PG 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
-par_sql_joblog $PG 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
-par_sql_joblog $PG 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
-par_sql_joblog $PG 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
-par_sql_joblog $PG 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
-par_sql_joblog $PG 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
-par_sql_joblog $PG 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
-par_sql_joblog $PG 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
-par_sql_joblog $PG 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
-par_sql_joblog $PG 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
-par_sql_joblog $PG 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
-par_sql_joblog $PG 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
-par_sql_joblog $PG Exit=0
-par_sql_joblog $PG Exit=0
-par_sql_joblog $PG command | v1 | v2 | stdout | stderr
-par_sql_joblog $PG -------------------+----+----+--------+--------
-par_sql_joblog $PG sleep .3;echo 1 a | 1 | a | 1 a +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 1 b | 1 | b | 1 b +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 1 c | 1 | c | 1 c +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 1 d | 1 | d | 1 d +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 1 e | 1 | e | 1 e +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 2 a | 2 | a | 2 a +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 2 b | 2 | b | 2 b +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 2 c | 2 | c | 2 c +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 2 d | 2 | d | 2 d +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 2 e | 2 | e | 2 e +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 3 a | 3 | a | 3 a +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 3 b | 3 | b | 3 b +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 3 c | 3 | c | 3 c +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 3 d | 3 | d | 3 d +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 3 e | 3 | e | 3 e +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 4 a | 4 | a | 4 a +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 4 b | 4 | b | 4 b +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 4 c | 4 | c | 4 c +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 4 d | 4 | d | 4 d +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 4 e | 4 | e | 4 e +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 5 a | 5 | a | 5 a +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 5 b | 5 | b | 5 b +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 5 c | 5 | c | 5 c +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 5 d | 5 | d | 5 d +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG sleep .3;echo 5 e | 5 | e | 5 e +|
-par_sql_joblog $PG | | | |
-par_sql_joblog $PG (25 rows)
-par_sql_joblog $PG
-par_sql_joblog $SQLITE p_wrapper par_sql_joblog '$SQLITE'
-par_sql_joblog $SQLITE ### should only give a single --joblog heading
-par_sql_joblog $SQLITE ### --sqlmaster/--sqlworker
-par_sql_joblog $SQLITE Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_sql_joblog $SQLITE 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
-par_sql_joblog $SQLITE 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
-par_sql_joblog $SQLITE 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
-par_sql_joblog $SQLITE 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
-par_sql_joblog $SQLITE 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
-par_sql_joblog $SQLITE 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
-par_sql_joblog $SQLITE 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
-par_sql_joblog $SQLITE 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
-par_sql_joblog $SQLITE 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
-par_sql_joblog $SQLITE 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
-par_sql_joblog $SQLITE 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
-par_sql_joblog $SQLITE 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
-par_sql_joblog $SQLITE 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
-par_sql_joblog $SQLITE 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
-par_sql_joblog $SQLITE 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
-par_sql_joblog $SQLITE 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
-par_sql_joblog $SQLITE 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
-par_sql_joblog $SQLITE 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
-par_sql_joblog $SQLITE 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
-par_sql_joblog $SQLITE 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
-par_sql_joblog $SQLITE 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
-par_sql_joblog $SQLITE 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
-par_sql_joblog $SQLITE 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
-par_sql_joblog $SQLITE 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
-par_sql_joblog $SQLITE 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
-par_sql_joblog $SQLITE 1 a
-par_sql_joblog $SQLITE 1 b
-par_sql_joblog $SQLITE 1 c
-par_sql_joblog $SQLITE 1 d
-par_sql_joblog $SQLITE 1 e
-par_sql_joblog $SQLITE 2 a
-par_sql_joblog $SQLITE 2 b
-par_sql_joblog $SQLITE 2 c
-par_sql_joblog $SQLITE 2 d
-par_sql_joblog $SQLITE 2 e
-par_sql_joblog $SQLITE 3 a
-par_sql_joblog $SQLITE 3 b
-par_sql_joblog $SQLITE 3 c
-par_sql_joblog $SQLITE 3 d
-par_sql_joblog $SQLITE 3 e
-par_sql_joblog $SQLITE 4 a
-par_sql_joblog $SQLITE 4 b
-par_sql_joblog $SQLITE 4 c
-par_sql_joblog $SQLITE 4 d
-par_sql_joblog $SQLITE 4 e
-par_sql_joblog $SQLITE 5 a
-par_sql_joblog $SQLITE 5 b
-par_sql_joblog $SQLITE 5 c
-par_sql_joblog $SQLITE 5 d
-par_sql_joblog $SQLITE 5 e
-par_sql_joblog $SQLITE ### --sqlandworker
-par_sql_joblog $SQLITE Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
-par_sql_joblog $SQLITE 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
-par_sql_joblog $SQLITE 1 a
-par_sql_joblog $SQLITE 1 b
-par_sql_joblog $SQLITE 1 c
-par_sql_joblog $SQLITE 1 d
-par_sql_joblog $SQLITE 1 e
-par_sql_joblog $SQLITE 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
-par_sql_joblog $SQLITE 2 a
-par_sql_joblog $SQLITE 2 b
-par_sql_joblog $SQLITE 2 c
-par_sql_joblog $SQLITE 2 d
-par_sql_joblog $SQLITE 2 e
-par_sql_joblog $SQLITE 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
-par_sql_joblog $SQLITE 3 a
-par_sql_joblog $SQLITE 3 b
-par_sql_joblog $SQLITE 3 c
-par_sql_joblog $SQLITE 3 d
-par_sql_joblog $SQLITE 3 e
-par_sql_joblog $SQLITE 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
-par_sql_joblog $SQLITE 4 a
-par_sql_joblog $SQLITE 4 b
-par_sql_joblog $SQLITE 4 c
-par_sql_joblog $SQLITE 4 d
-par_sql_joblog $SQLITE 4 e
-par_sql_joblog $SQLITE 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
-par_sql_joblog $SQLITE 5 a
-par_sql_joblog $SQLITE 5 b
-par_sql_joblog $SQLITE 5 c
-par_sql_joblog $SQLITE 5 d
-par_sql_joblog $SQLITE 5 e
-par_sql_joblog $SQLITE 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
-par_sql_joblog $SQLITE 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
-par_sql_joblog $SQLITE 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
-par_sql_joblog $SQLITE 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
-par_sql_joblog $SQLITE 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
-par_sql_joblog $SQLITE 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
-par_sql_joblog $SQLITE 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
-par_sql_joblog $SQLITE 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
-par_sql_joblog $SQLITE 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
-par_sql_joblog $SQLITE 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
-par_sql_joblog $SQLITE 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
-par_sql_joblog $SQLITE 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
-par_sql_joblog $SQLITE 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
-par_sql_joblog $SQLITE 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
-par_sql_joblog $SQLITE 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
-par_sql_joblog $SQLITE 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
-par_sql_joblog $SQLITE 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
-par_sql_joblog $SQLITE 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
-par_sql_joblog $SQLITE 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
-par_sql_joblog $SQLITE 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
-par_sql_joblog $SQLITE Exit=0
-par_sql_joblog $SQLITE Exit=0
-par_sql_joblog $SQLITE Command|V1|V2|Stdout|Stderr
-par_sql_joblog $SQLITE sleep .3;echo 1 a|1|a|1 a
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 1 b|1|b|1 b
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 1 c|1|c|1 c
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 1 d|1|d|1 d
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 1 e|1|e|1 e
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 2 a|2|a|2 a
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 2 b|2|b|2 b
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 2 c|2|c|2 c
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 2 d|2|d|2 d
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 2 e|2|e|2 e
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 3 a|3|a|3 a
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 3 b|3|b|3 b
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 3 c|3|c|3 c
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 3 d|3|d|3 d
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 3 e|3|e|3 e
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 4 a|4|a|4 a
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 4 b|4|b|4 b
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 4 c|4|c|4 c
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 4 d|4|d|4 d
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 4 e|4|e|4 e
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 5 a|5|a|5 a
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 5 b|5|b|5 b
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 5 c|5|c|5 c
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 5 d|5|d|5 d
-par_sql_joblog $SQLITE |
-par_sql_joblog $SQLITE sleep .3;echo 5 e|5|e|5 e
-par_sql_joblog $SQLITE |
-par_sqlandworker $MYSQL p_wrapper par_sqlandworker '$MYSQL'
-par_sqlandworker $MYSQL Exit=0
-par_sqlandworker $MYSQL Exit=0
-par_sqlandworker $MYSQL Command V1 V2 Stdout Stderr
-par_sqlandworker $MYSQL sleep .3;echo 1 a 1 a 1 a\n
-par_sqlandworker $MYSQL sleep .3;echo 1 b 1 b 1 b\n
-par_sqlandworker $MYSQL sleep .3;echo 1 c 1 c 1 c\n
-par_sqlandworker $MYSQL sleep .3;echo 1 d 1 d 1 d\n
-par_sqlandworker $MYSQL sleep .3;echo 1 e 1 e 1 e\n
-par_sqlandworker $MYSQL sleep .3;echo 2 a 2 a 2 a\n
-par_sqlandworker $MYSQL sleep .3;echo 2 b 2 b 2 b\n
-par_sqlandworker $MYSQL sleep .3;echo 2 c 2 c 2 c\n
-par_sqlandworker $MYSQL sleep .3;echo 2 d 2 d 2 d\n
-par_sqlandworker $MYSQL sleep .3;echo 2 e 2 e 2 e\n
-par_sqlandworker $MYSQL sleep .3;echo 3 a 3 a 3 a\n
-par_sqlandworker $MYSQL sleep .3;echo 3 b 3 b 3 b\n
-par_sqlandworker $MYSQL sleep .3;echo 3 c 3 c 3 c\n
-par_sqlandworker $MYSQL sleep .3;echo 3 d 3 d 3 d\n
-par_sqlandworker $MYSQL sleep .3;echo 3 e 3 e 3 e\n
-par_sqlandworker $MYSQL sleep .3;echo 4 a 4 a 4 a\n
-par_sqlandworker $MYSQL sleep .3;echo 4 b 4 b 4 b\n
-par_sqlandworker $MYSQL sleep .3;echo 4 c 4 c 4 c\n
-par_sqlandworker $MYSQL sleep .3;echo 4 d 4 d 4 d\n
-par_sqlandworker $MYSQL sleep .3;echo 4 e 4 e 4 e\n
-par_sqlandworker $MYSQL sleep .3;echo 5 a 5 a 5 a\n
-par_sqlandworker $MYSQL sleep .3;echo 5 b 5 b 5 b\n
-par_sqlandworker $MYSQL sleep .3;echo 5 c 5 c 5 c\n
-par_sqlandworker $MYSQL sleep .3;echo 5 d 5 d 5 d\n
-par_sqlandworker $MYSQL sleep .3;echo 5 e 5 e 5 e\n
-par_sqlandworker $PG p_wrapper par_sqlandworker '$PG'
-par_sqlandworker $PG Exit=0
-par_sqlandworker $PG Exit=0
-par_sqlandworker $PG command | v1 | v2 | stdout | stderr
-par_sqlandworker $PG -------------------+----+----+--------+--------
-par_sqlandworker $PG sleep .3;echo 1 a | 1 | a | 1 a +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 1 b | 1 | b | 1 b +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 1 c | 1 | c | 1 c +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 1 d | 1 | d | 1 d +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 1 e | 1 | e | 1 e +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 2 a | 2 | a | 2 a +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 2 b | 2 | b | 2 b +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 2 c | 2 | c | 2 c +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 2 d | 2 | d | 2 d +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 2 e | 2 | e | 2 e +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 3 a | 3 | a | 3 a +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 3 b | 3 | b | 3 b +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 3 c | 3 | c | 3 c +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 3 d | 3 | d | 3 d +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 3 e | 3 | e | 3 e +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 4 a | 4 | a | 4 a +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 4 b | 4 | b | 4 b +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 4 c | 4 | c | 4 c +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 4 d | 4 | d | 4 d +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 4 e | 4 | e | 4 e +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 5 a | 5 | a | 5 a +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 5 b | 5 | b | 5 b +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 5 c | 5 | c | 5 c +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 5 d | 5 | d | 5 d +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG sleep .3;echo 5 e | 5 | e | 5 e +|
-par_sqlandworker $PG | | | |
-par_sqlandworker $PG (25 rows)
-par_sqlandworker $PG
-par_sqlandworker $SQLITE p_wrapper par_sqlandworker '$SQLITE'
-par_sqlandworker $SQLITE Exit=0
-par_sqlandworker $SQLITE Exit=0
-par_sqlandworker $SQLITE Command|V1|V2|Stdout|Stderr
-par_sqlandworker $SQLITE sleep .3;echo 1 a|1|a|1 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 1 b|1|b|1 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 1 c|1|c|1 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 1 d|1|d|1 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 1 e|1|e|1 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 2 a|2|a|2 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 2 b|2|b|2 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 2 c|2|c|2 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 2 d|2|d|2 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 2 e|2|e|2 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 3 a|3|a|3 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 3 b|3|b|3 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 3 c|3|c|3 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 3 d|3|d|3 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 3 e|3|e|3 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 4 a|4|a|4 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 4 b|4|b|4 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 4 c|4|c|4 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 4 d|4|d|4 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 4 e|4|e|4 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 5 a|5|a|5 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 5 b|5|b|5 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 5 c|5|c|5 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 5 d|5|d|5 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE sleep .3;echo 5 e|5|e|5 e
-par_sqlandworker $SQLITE |
-par_sqlandworker_lo $MYSQL p_wrapper par_sqlandworker_lo '$MYSQL'
-par_sqlandworker_lo $MYSQL Exit=0
-par_sqlandworker_lo $MYSQL Exit=0
-par_sqlandworker_lo $MYSQL Command V1 V2 Stdout Stderr
-par_sqlandworker_lo $MYSQL sleep .3;echo 1 a 1 a 1 a\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 1 b 1 b 1 b\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 1 c 1 c 1 c\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 1 d 1 d 1 d\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 1 e 1 e 1 e\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 2 a 2 a 2 a\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 2 b 2 b 2 b\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 2 c 2 c 2 c\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 2 d 2 d 2 d\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 2 e 2 e 2 e\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 3 a 3 a 3 a\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 3 b 3 b 3 b\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 3 c 3 c 3 c\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 3 d 3 d 3 d\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 3 e 3 e 3 e\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 4 a 4 a 4 a\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 4 b 4 b 4 b\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 4 c 4 c 4 c\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 4 d 4 d 4 d\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 4 e 4 e 4 e\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 5 a 5 a 5 a\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 5 b 5 b 5 b\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 5 c 5 c 5 c\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 5 d 5 d 5 d\n
-par_sqlandworker_lo $MYSQL sleep .3;echo 5 e 5 e 5 e\n
-par_sqlandworker_lo $PG p_wrapper par_sqlandworker_lo '$PG'
-par_sqlandworker_lo $PG Exit=0
-par_sqlandworker_lo $PG Exit=0
-par_sqlandworker_lo $PG command | v1 | v2 | stdout | stderr
-par_sqlandworker_lo $PG -------------------+----+----+--------+--------
-par_sqlandworker_lo $PG sleep .3;echo 1 a | 1 | a | 1 a +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 1 b | 1 | b | 1 b +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 1 c | 1 | c | 1 c +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 1 d | 1 | d | 1 d +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 1 e | 1 | e | 1 e +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 2 a | 2 | a | 2 a +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 2 b | 2 | b | 2 b +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 2 c | 2 | c | 2 c +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 2 d | 2 | d | 2 d +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 2 e | 2 | e | 2 e +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 3 a | 3 | a | 3 a +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 3 b | 3 | b | 3 b +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 3 c | 3 | c | 3 c +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 3 d | 3 | d | 3 d +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 3 e | 3 | e | 3 e +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 4 a | 4 | a | 4 a +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 4 b | 4 | b | 4 b +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 4 c | 4 | c | 4 c +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 4 d | 4 | d | 4 d +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 4 e | 4 | e | 4 e +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 5 a | 5 | a | 5 a +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 5 b | 5 | b | 5 b +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 5 c | 5 | c | 5 c +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 5 d | 5 | d | 5 d +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG sleep .3;echo 5 e | 5 | e | 5 e +|
-par_sqlandworker_lo $PG | | | |
-par_sqlandworker_lo $PG (25 rows)
-par_sqlandworker_lo $PG
-par_sqlandworker_lo $SQLITE p_wrapper par_sqlandworker_lo '$SQLITE'
-par_sqlandworker_lo $SQLITE Exit=0
-par_sqlandworker_lo $SQLITE Exit=0
-par_sqlandworker_lo $SQLITE Command|V1|V2|Stdout|Stderr
-par_sqlandworker_lo $SQLITE sleep .3;echo 1 a|1|a|1 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 1 b|1|b|1 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 1 c|1|c|1 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 1 d|1|d|1 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 1 e|1|e|1 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 2 a|2|a|2 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 2 b|2|b|2 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 2 c|2|c|2 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 2 d|2|d|2 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 2 e|2|e|2 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 3 a|3|a|3 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 3 b|3|b|3 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 3 c|3|c|3 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 3 d|3|d|3 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 3 e|3|e|3 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 4 a|4|a|4 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 4 b|4|b|4 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 4 c|4|c|4 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 4 d|4|d|4 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 4 e|4|e|4 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 5 a|5|a|5 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 5 b|5|b|5 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 5 c|5|c|5 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 5 d|5|d|5 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE sleep .3;echo 5 e|5|e|5 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_results $MYSQL p_wrapper par_sqlandworker_results '$MYSQL'
-par_sqlandworker_results $MYSQL Exit=0
-par_sqlandworker_results $MYSQL Exit=0
-par_sqlandworker_results $MYSQL Command V1 V2 Stdout Stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 1 a 1 a /tmp/out--sql/1/1/2/a/stdout /tmp/out--sql/1/1/2/a/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 1 b 1 b /tmp/out--sql/1/1/2/b/stdout /tmp/out--sql/1/1/2/b/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 1 c 1 c /tmp/out--sql/1/1/2/c/stdout /tmp/out--sql/1/1/2/c/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 1 d 1 d /tmp/out--sql/1/1/2/d/stdout /tmp/out--sql/1/1/2/d/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 1 e 1 e /tmp/out--sql/1/1/2/e/stdout /tmp/out--sql/1/1/2/e/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 2 a 2 a /tmp/out--sql/1/2/2/a/stdout /tmp/out--sql/1/2/2/a/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 2 b 2 b /tmp/out--sql/1/2/2/b/stdout /tmp/out--sql/1/2/2/b/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 2 c 2 c /tmp/out--sql/1/2/2/c/stdout /tmp/out--sql/1/2/2/c/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 2 d 2 d /tmp/out--sql/1/2/2/d/stdout /tmp/out--sql/1/2/2/d/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 2 e 2 e /tmp/out--sql/1/2/2/e/stdout /tmp/out--sql/1/2/2/e/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 3 a 3 a /tmp/out--sql/1/3/2/a/stdout /tmp/out--sql/1/3/2/a/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 3 b 3 b /tmp/out--sql/1/3/2/b/stdout /tmp/out--sql/1/3/2/b/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 3 c 3 c /tmp/out--sql/1/3/2/c/stdout /tmp/out--sql/1/3/2/c/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 3 d 3 d /tmp/out--sql/1/3/2/d/stdout /tmp/out--sql/1/3/2/d/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 3 e 3 e /tmp/out--sql/1/3/2/e/stdout /tmp/out--sql/1/3/2/e/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 4 a 4 a /tmp/out--sql/1/4/2/a/stdout /tmp/out--sql/1/4/2/a/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 4 b 4 b /tmp/out--sql/1/4/2/b/stdout /tmp/out--sql/1/4/2/b/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 4 c 4 c /tmp/out--sql/1/4/2/c/stdout /tmp/out--sql/1/4/2/c/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 4 d 4 d /tmp/out--sql/1/4/2/d/stdout /tmp/out--sql/1/4/2/d/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 4 e 4 e /tmp/out--sql/1/4/2/e/stdout /tmp/out--sql/1/4/2/e/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 5 a 5 a /tmp/out--sql/1/5/2/a/stdout /tmp/out--sql/1/5/2/a/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 5 b 5 b /tmp/out--sql/1/5/2/b/stdout /tmp/out--sql/1/5/2/b/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr
-par_sqlandworker_results $MYSQL sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr
-par_sqlandworker_results $PG p_wrapper par_sqlandworker_results '$PG'
-par_sqlandworker_results $PG Exit=0
-par_sqlandworker_results $PG Exit=0
-par_sqlandworker_results $PG command | v1 | v2 | stdout | stderr
-par_sqlandworker_results $PG -------------------+----+----+------------------------------+------------------------------
-par_sqlandworker_results $PG sleep .3;echo 1 a | 1 | a | /tmp/out--sql/1/1/2/a/stdout | /tmp/out--sql/1/1/2/a/stderr
-par_sqlandworker_results $PG sleep .3;echo 1 b | 1 | b | /tmp/out--sql/1/1/2/b/stdout | /tmp/out--sql/1/1/2/b/stderr
-par_sqlandworker_results $PG sleep .3;echo 1 c | 1 | c | /tmp/out--sql/1/1/2/c/stdout | /tmp/out--sql/1/1/2/c/stderr
-par_sqlandworker_results $PG sleep .3;echo 1 d | 1 | d | /tmp/out--sql/1/1/2/d/stdout | /tmp/out--sql/1/1/2/d/stderr
-par_sqlandworker_results $PG sleep .3;echo 1 e | 1 | e | /tmp/out--sql/1/1/2/e/stdout | /tmp/out--sql/1/1/2/e/stderr
-par_sqlandworker_results $PG sleep .3;echo 2 a | 2 | a | /tmp/out--sql/1/2/2/a/stdout | /tmp/out--sql/1/2/2/a/stderr
-par_sqlandworker_results $PG sleep .3;echo 2 b | 2 | b | /tmp/out--sql/1/2/2/b/stdout | /tmp/out--sql/1/2/2/b/stderr
-par_sqlandworker_results $PG sleep .3;echo 2 c | 2 | c | /tmp/out--sql/1/2/2/c/stdout | /tmp/out--sql/1/2/2/c/stderr
-par_sqlandworker_results $PG sleep .3;echo 2 d | 2 | d | /tmp/out--sql/1/2/2/d/stdout | /tmp/out--sql/1/2/2/d/stderr
-par_sqlandworker_results $PG sleep .3;echo 2 e | 2 | e | /tmp/out--sql/1/2/2/e/stdout | /tmp/out--sql/1/2/2/e/stderr
-par_sqlandworker_results $PG sleep .3;echo 3 a | 3 | a | /tmp/out--sql/1/3/2/a/stdout | /tmp/out--sql/1/3/2/a/stderr
-par_sqlandworker_results $PG sleep .3;echo 3 b | 3 | b | /tmp/out--sql/1/3/2/b/stdout | /tmp/out--sql/1/3/2/b/stderr
-par_sqlandworker_results $PG sleep .3;echo 3 c | 3 | c | /tmp/out--sql/1/3/2/c/stdout | /tmp/out--sql/1/3/2/c/stderr
-par_sqlandworker_results $PG sleep .3;echo 3 d | 3 | d | /tmp/out--sql/1/3/2/d/stdout | /tmp/out--sql/1/3/2/d/stderr
-par_sqlandworker_results $PG sleep .3;echo 3 e | 3 | e | /tmp/out--sql/1/3/2/e/stdout | /tmp/out--sql/1/3/2/e/stderr
-par_sqlandworker_results $PG sleep .3;echo 4 a | 4 | a | /tmp/out--sql/1/4/2/a/stdout | /tmp/out--sql/1/4/2/a/stderr
-par_sqlandworker_results $PG sleep .3;echo 4 b | 4 | b | /tmp/out--sql/1/4/2/b/stdout | /tmp/out--sql/1/4/2/b/stderr
-par_sqlandworker_results $PG sleep .3;echo 4 c | 4 | c | /tmp/out--sql/1/4/2/c/stdout | /tmp/out--sql/1/4/2/c/stderr
-par_sqlandworker_results $PG sleep .3;echo 4 d | 4 | d | /tmp/out--sql/1/4/2/d/stdout | /tmp/out--sql/1/4/2/d/stderr
-par_sqlandworker_results $PG sleep .3;echo 4 e | 4 | e | /tmp/out--sql/1/4/2/e/stdout | /tmp/out--sql/1/4/2/e/stderr
-par_sqlandworker_results $PG sleep .3;echo 5 a | 5 | a | /tmp/out--sql/1/5/2/a/stdout | /tmp/out--sql/1/5/2/a/stderr
-par_sqlandworker_results $PG sleep .3;echo 5 b | 5 | b | /tmp/out--sql/1/5/2/b/stdout | /tmp/out--sql/1/5/2/b/stderr
-par_sqlandworker_results $PG sleep .3;echo 5 c | 5 | c | /tmp/out--sql/1/5/2/c/stdout | /tmp/out--sql/1/5/2/c/stderr
-par_sqlandworker_results $PG sleep .3;echo 5 d | 5 | d | /tmp/out--sql/1/5/2/d/stdout | /tmp/out--sql/1/5/2/d/stderr
-par_sqlandworker_results $PG sleep .3;echo 5 e | 5 | e | /tmp/out--sql/1/5/2/e/stdout | /tmp/out--sql/1/5/2/e/stderr
-par_sqlandworker_results $PG (25 rows)
-par_sqlandworker_results $PG
-par_sqlandworker_results $SQLITE p_wrapper par_sqlandworker_results '$SQLITE'
-par_sqlandworker_results $SQLITE Exit=0
-par_sqlandworker_results $SQLITE Exit=0
-par_sqlandworker_results $SQLITE Command|V1|V2|Stdout|Stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 1 a|1|a|/tmp/out--sql/1/1/2/a/stdout|/tmp/out--sql/1/1/2/a/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 1 b|1|b|/tmp/out--sql/1/1/2/b/stdout|/tmp/out--sql/1/1/2/b/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 1 c|1|c|/tmp/out--sql/1/1/2/c/stdout|/tmp/out--sql/1/1/2/c/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 1 d|1|d|/tmp/out--sql/1/1/2/d/stdout|/tmp/out--sql/1/1/2/d/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 1 e|1|e|/tmp/out--sql/1/1/2/e/stdout|/tmp/out--sql/1/1/2/e/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 2 a|2|a|/tmp/out--sql/1/2/2/a/stdout|/tmp/out--sql/1/2/2/a/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 2 b|2|b|/tmp/out--sql/1/2/2/b/stdout|/tmp/out--sql/1/2/2/b/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 2 c|2|c|/tmp/out--sql/1/2/2/c/stdout|/tmp/out--sql/1/2/2/c/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 2 d|2|d|/tmp/out--sql/1/2/2/d/stdout|/tmp/out--sql/1/2/2/d/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 2 e|2|e|/tmp/out--sql/1/2/2/e/stdout|/tmp/out--sql/1/2/2/e/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 3 a|3|a|/tmp/out--sql/1/3/2/a/stdout|/tmp/out--sql/1/3/2/a/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 3 b|3|b|/tmp/out--sql/1/3/2/b/stdout|/tmp/out--sql/1/3/2/b/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 3 c|3|c|/tmp/out--sql/1/3/2/c/stdout|/tmp/out--sql/1/3/2/c/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 3 d|3|d|/tmp/out--sql/1/3/2/d/stdout|/tmp/out--sql/1/3/2/d/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 3 e|3|e|/tmp/out--sql/1/3/2/e/stdout|/tmp/out--sql/1/3/2/e/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 4 a|4|a|/tmp/out--sql/1/4/2/a/stdout|/tmp/out--sql/1/4/2/a/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 4 b|4|b|/tmp/out--sql/1/4/2/b/stdout|/tmp/out--sql/1/4/2/b/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 4 c|4|c|/tmp/out--sql/1/4/2/c/stdout|/tmp/out--sql/1/4/2/c/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 4 d|4|d|/tmp/out--sql/1/4/2/d/stdout|/tmp/out--sql/1/4/2/d/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 4 e|4|e|/tmp/out--sql/1/4/2/e/stdout|/tmp/out--sql/1/4/2/e/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 5 a|5|a|/tmp/out--sql/1/5/2/a/stdout|/tmp/out--sql/1/5/2/a/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 5 b|5|b|/tmp/out--sql/1/5/2/b/stdout|/tmp/out--sql/1/5/2/b/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 5 c|5|c|/tmp/out--sql/1/5/2/c/stdout|/tmp/out--sql/1/5/2/c/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 5 d|5|d|/tmp/out--sql/1/5/2/d/stdout|/tmp/out--sql/1/5/2/d/stderr
-par_sqlandworker_results $SQLITE sleep .3;echo 5 e|5|e|/tmp/out--sql/1/5/2/e/stdout|/tmp/out--sql/1/5/2/e/stderr
-par_sqlandworker_tag $MYSQL p_wrapper par_sqlandworker_tag '$MYSQL'
-par_sqlandworker_tag $MYSQL Exit=0
-par_sqlandworker_tag $MYSQL Exit=0
-par_sqlandworker_tag $MYSQL Command V1 V2 Stdout Stderr
-par_sqlandworker_tag $MYSQL sleep .3;echo 1 a 1 a 1 a\t1 a\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 1 b 1 b 1 b\t1 b\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 1 c 1 c 1 c\t1 c\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 1 d 1 d 1 d\t1 d\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 1 e 1 e 1 e\t1 e\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 2 a 2 a 2 a\t2 a\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 2 b 2 b 2 b\t2 b\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 2 c 2 c 2 c\t2 c\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 2 d 2 d 2 d\t2 d\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 2 e 2 e 2 e\t2 e\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 3 a 3 a 3 a\t3 a\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 3 b 3 b 3 b\t3 b\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 3 c 3 c 3 c\t3 c\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 3 d 3 d 3 d\t3 d\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 3 e 3 e 3 e\t3 e\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 4 a 4 a 4 a\t4 a\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 4 b 4 b 4 b\t4 b\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 4 c 4 c 4 c\t4 c\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 4 d 4 d 4 d\t4 d\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 4 e 4 e 4 e\t4 e\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 5 a 5 a 5 a\t5 a\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 5 b 5 b 5 b\t5 b\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 5 c 5 c 5 c\t5 c\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 5 d 5 d 5 d\t5 d\n
-par_sqlandworker_tag $MYSQL sleep .3;echo 5 e 5 e 5 e\t5 e\n
-par_sqlandworker_tag $PG p_wrapper par_sqlandworker_tag '$PG'
-par_sqlandworker_tag $PG Exit=0
-par_sqlandworker_tag $PG Exit=0
-par_sqlandworker_tag $PG command | v1 | v2 | stdout | stderr
-par_sqlandworker_tag $PG -------------------+----+----+-------------+--------
-par_sqlandworker_tag $PG sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
-par_sqlandworker_tag $PG | | | |
-par_sqlandworker_tag $PG (25 rows)
-par_sqlandworker_tag $PG
-par_sqlandworker_tag $SQLITE p_wrapper par_sqlandworker_tag '$SQLITE'
-par_sqlandworker_tag $SQLITE Exit=0
-par_sqlandworker_tag $SQLITE Exit=0
-par_sqlandworker_tag $SQLITE Command|V1|V2|Stdout|Stderr
-par_sqlandworker_tag $SQLITE sleep .3;echo 1 a|1|a|1 a 1 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 1 b|1|b|1 b 1 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 1 c|1|c|1 c 1 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 1 d|1|d|1 d 1 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 1 e|1|e|1 e 1 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 2 a|2|a|2 a 2 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 2 b|2|b|2 b 2 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 2 c|2|c|2 c 2 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 2 d|2|d|2 d 2 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 2 e|2|e|2 e 2 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 3 a|3|a|3 a 3 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 3 b|3|b|3 b 3 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 3 c|3|c|3 c 3 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 3 d|3|d|3 d 3 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 3 e|3|e|3 e 3 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 4 a|4|a|4 a 4 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 4 b|4|b|4 b 4 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 4 c|4|c|4 c 4 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 4 d|4|d|4 d 4 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 4 e|4|e|4 e 4 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 5 a|5|a|5 a 5 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 5 b|5|b|5 b 5 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 5 c|5|c|5 c 5 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 5 d|5|d|5 d 5 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE sleep .3;echo 5 e|5|e|5 e 5 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_total_jobs $MYSQL p_wrapper par_sqlandworker_total_jobs '$MYSQL'
-par_sqlandworker_total_jobs $MYSQL Exit=0
-par_sqlandworker_total_jobs $MYSQL Exit=0
-par_sqlandworker_total_jobs $MYSQL Command V1 V2 Stdout Stderr
-par_sqlandworker_total_jobs $MYSQL echo 1 of 25; sleep .3;echo 1 a 1 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 2 of 25; sleep .3;echo 1 b 2 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 3 of 25; sleep .3;echo 1 c 3 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 4 of 25; sleep .3;echo 1 d 4 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 5 of 25; sleep .3;echo 1 e 5 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 6 of 25; sleep .3;echo 2 a 6 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 7 of 25; sleep .3;echo 2 b 7 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 8 of 25; sleep .3;echo 2 c 8 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 9 of 25; sleep .3;echo 2 d 9 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 10 of 25; sleep .3;echo 2 e 10 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 11 of 25; sleep .3;echo 3 a 11 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 12 of 25; sleep .3;echo 3 b 12 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 13 of 25; sleep .3;echo 3 c 13 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 14 of 25; sleep .3;echo 3 d 14 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 15 of 25; sleep .3;echo 3 e 15 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 16 of 25; sleep .3;echo 4 a 16 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 17 of 25; sleep .3;echo 4 b 17 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 18 of 25; sleep .3;echo 4 c 18 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 19 of 25; sleep .3;echo 4 d 19 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 20 of 25; sleep .3;echo 4 e 20 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 21 of 25; sleep .3;echo 5 a 21 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 22 of 25; sleep .3;echo 5 b 22 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 23 of 25; sleep .3;echo 5 c 23 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 24 of 25; sleep .3;echo 5 d 24 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL echo 25 of 25; sleep .3;echo 5 e 25 of 25\n\n
-par_sqlandworker_total_jobs $PG p_wrapper par_sqlandworker_total_jobs '$PG'
-par_sqlandworker_total_jobs $PG Exit=0
-par_sqlandworker_total_jobs $PG Exit=0
-par_sqlandworker_total_jobs $PG command | v1 | v2 | stdout | stderr
-par_sqlandworker_total_jobs $PG ------------------------------+----+----+----------+--------
-par_sqlandworker_total_jobs $PG echo 1 of 25; sleep .3;echo | 1 | a | 1 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 2 of 25; sleep .3;echo | 1 | b | 2 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 3 of 25; sleep .3;echo | 1 | c | 3 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 4 of 25; sleep .3;echo | 1 | d | 4 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 5 of 25; sleep .3;echo | 1 | e | 5 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 6 of 25; sleep .3;echo | 2 | a | 6 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 7 of 25; sleep .3;echo | 2 | b | 7 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 8 of 25; sleep .3;echo | 2 | c | 8 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 9 of 25; sleep .3;echo | 2 | d | 9 of 25 +|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 10 of 25; sleep .3;echo | 2 | e | 10 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 11 of 25; sleep .3;echo | 3 | a | 11 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 12 of 25; sleep .3;echo | 3 | b | 12 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 13 of 25; sleep .3;echo | 3 | c | 13 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 14 of 25; sleep .3;echo | 3 | d | 14 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 15 of 25; sleep .3;echo | 3 | e | 15 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 16 of 25; sleep .3;echo | 4 | a | 16 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 17 of 25; sleep .3;echo | 4 | b | 17 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 18 of 25; sleep .3;echo | 4 | c | 18 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 19 of 25; sleep .3;echo | 4 | d | 19 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 20 of 25; sleep .3;echo | 4 | e | 20 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 21 of 25; sleep .3;echo | 5 | a | 21 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 22 of 25; sleep .3;echo | 5 | b | 22 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 23 of 25; sleep .3;echo | 5 | c | 23 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 24 of 25; sleep .3;echo | 5 | d | 24 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG echo 25 of 25; sleep .3;echo | 5 | e | 25 of 25+|
-par_sqlandworker_total_jobs $PG | | | +|
-par_sqlandworker_total_jobs $PG | | | |
-par_sqlandworker_total_jobs $PG (25 rows)
-par_sqlandworker_total_jobs $PG
-par_sqlandworker_total_jobs $SQLITE p_wrapper par_sqlandworker_total_jobs '$SQLITE'
-par_sqlandworker_total_jobs $SQLITE Exit=0
-par_sqlandworker_total_jobs $SQLITE Exit=0
-par_sqlandworker_total_jobs $SQLITE Command|V1|V2|Stdout|Stderr
-par_sqlandworker_total_jobs $SQLITE echo 1 of 25; sleep .3;echo|1|a|1 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 2 of 25; sleep .3;echo|1|b|2 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 3 of 25; sleep .3;echo|1|c|3 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 4 of 25; sleep .3;echo|1|d|4 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 5 of 25; sleep .3;echo|1|e|5 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 6 of 25; sleep .3;echo|2|a|6 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 7 of 25; sleep .3;echo|2|b|7 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 8 of 25; sleep .3;echo|2|c|8 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 9 of 25; sleep .3;echo|2|d|9 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 10 of 25; sleep .3;echo|2|e|10 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 11 of 25; sleep .3;echo|3|a|11 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 12 of 25; sleep .3;echo|3|b|12 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 13 of 25; sleep .3;echo|3|c|13 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 14 of 25; sleep .3;echo|3|d|14 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 15 of 25; sleep .3;echo|3|e|15 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 16 of 25; sleep .3;echo|4|a|16 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 17 of 25; sleep .3;echo|4|b|17 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 18 of 25; sleep .3;echo|4|c|18 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 19 of 25; sleep .3;echo|4|d|19 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 20 of 25; sleep .3;echo|4|e|20 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 21 of 25; sleep .3;echo|5|a|21 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 22 of 25; sleep .3;echo|5|b|22 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 23 of 25; sleep .3;echo|5|c|23 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 24 of 25; sleep .3;echo|5|d|24 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE echo 25 of 25; sleep .3;echo|5|e|25 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_unbuffer $MYSQL p_wrapper par_sqlandworker_unbuffer '$MYSQL'
-par_sqlandworker_unbuffer $MYSQL Exit=0
-par_sqlandworker_unbuffer $MYSQL Exit=0
-par_sqlandworker_unbuffer $MYSQL Command V1 V2 Stdout Stderr
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 1 a 1 a
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 1 b 1 b
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 1 c 1 c
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 1 d 1 d
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 1 e 1 e
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 2 a 2 a
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 2 b 2 b
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 2 c 2 c
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 2 d 2 d
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 2 e 2 e
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 3 a 3 a
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 3 b 3 b
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 3 c 3 c
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 3 d 3 d
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 3 e 3 e
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 4 a 4 a
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 4 b 4 b
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 4 c 4 c
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 4 d 4 d
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 4 e 4 e
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 5 a 5 a
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 5 b 5 b
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 5 c 5 c
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 5 d 5 d
-par_sqlandworker_unbuffer $MYSQL sleep .3;echo 5 e 5 e
-par_sqlandworker_unbuffer $PG p_wrapper par_sqlandworker_unbuffer '$PG'
-par_sqlandworker_unbuffer $PG Exit=0
-par_sqlandworker_unbuffer $PG Exit=0
-par_sqlandworker_unbuffer $PG command | v1 | v2 | stdout | stderr
-par_sqlandworker_unbuffer $PG -------------------+----+----+--------+--------
-par_sqlandworker_unbuffer $PG sleep .3;echo 1 a | 1 | a | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 1 b | 1 | b | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 1 c | 1 | c | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 1 d | 1 | d | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 1 e | 1 | e | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 2 a | 2 | a | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 2 b | 2 | b | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 2 c | 2 | c | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 2 d | 2 | d | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 2 e | 2 | e | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 3 a | 3 | a | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 3 b | 3 | b | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 3 c | 3 | c | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 3 d | 3 | d | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 3 e | 3 | e | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 4 a | 4 | a | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 4 b | 4 | b | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 4 c | 4 | c | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 4 d | 4 | d | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 4 e | 4 | e | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 5 a | 5 | a | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 5 b | 5 | b | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 5 c | 5 | c | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 5 d | 5 | d | |
-par_sqlandworker_unbuffer $PG sleep .3;echo 5 e | 5 | e | |
-par_sqlandworker_unbuffer $PG (25 rows)
-par_sqlandworker_unbuffer $PG
-par_sqlandworker_unbuffer $SQLITE p_wrapper par_sqlandworker_unbuffer '$SQLITE'
-par_sqlandworker_unbuffer $SQLITE Exit=0
-par_sqlandworker_unbuffer $SQLITE Exit=0
-par_sqlandworker_unbuffer $SQLITE Command|V1|V2|Stdout|Stderr
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 1 a|1|a||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 1 b|1|b||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 1 c|1|c||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 1 d|1|d||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 1 e|1|e||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 2 a|2|a||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 2 b|2|b||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 2 c|2|c||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 2 d|2|d||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 2 e|2|e||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 3 a|3|a||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 3 b|3|b||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 3 c|3|c||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 3 d|3|d||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 3 e|3|e||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 4 a|4|a||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 4 b|4|b||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 4 c|4|c||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 4 d|4|d||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 4 e|4|e||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 5 a|5|a||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 5 b|5|b||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 5 c|5|c||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 5 d|5|d||
-par_sqlandworker_unbuffer $SQLITE sleep .3;echo 5 e|5|e||
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-sql01
^
|
@@ -1,1759 +1,2503 @@
-par_append $MYSQL p_wrapper par_append '$MYSQL'
-par_append $MYSQL Exit=0
-par_append $MYSQL Exit=0
-par_append $MYSQL Host Command V1 V2 Stdout Stderr
-par_append $MYSQL hostname sleep .3;echo 1 a 1 a 1 a\n
-par_append $MYSQL hostname sleep .3;echo 1 b 1 b 1 b\n
-par_append $MYSQL hostname sleep .3;echo 1 c 1 c 1 c\n
-par_append $MYSQL hostname sleep .3;echo 1 d 1 d 1 d\n
-par_append $MYSQL hostname sleep .3;echo 1 e 1 e 1 e\n
-par_append $MYSQL hostname sleep .3;echo 2 a 2 a 2 a\n
-par_append $MYSQL hostname sleep .3;echo 2 b 2 b 2 b\n
-par_append $MYSQL hostname sleep .3;echo 2 c 2 c 2 c\n
-par_append $MYSQL hostname sleep .3;echo 2 d 2 d 2 d\n
-par_append $MYSQL hostname sleep .3;echo 2 e 2 e 2 e\n
-par_append $MYSQL hostname sleep .3;echo 3 a 3 a 3 a\n
-par_append $MYSQL hostname sleep .3;echo 3 b 3 b 3 b\n
-par_append $MYSQL hostname sleep .3;echo 3 c 3 c 3 c\n
-par_append $MYSQL hostname sleep .3;echo 3 d 3 d 3 d\n
-par_append $MYSQL hostname sleep .3;echo 3 e 3 e 3 e\n
-par_append $MYSQL hostname sleep .3;echo 4 a 4 a 4 a\n
-par_append $MYSQL hostname sleep .3;echo 4 b 4 b 4 b\n
-par_append $MYSQL hostname sleep .3;echo 4 c 4 c 4 c\n
-par_append $MYSQL hostname sleep .3;echo 4 d 4 d 4 d\n
-par_append $MYSQL hostname sleep .3;echo 4 e 4 e 4 e\n
-par_append $MYSQL hostname sleep .3;echo 5 a 5 a 5 a\n
-par_append $MYSQL hostname sleep .3;echo 5 b 5 b 5 b\n
-par_append $MYSQL hostname sleep .3;echo 5 c 5 c 5 c\n
-par_append $MYSQL hostname sleep .3;echo 5 d 5 d 5 d\n
-par_append $MYSQL hostname sleep .3;echo 5 e 5 e 5 e\n
-par_append $MYSQL hostname sleep .3;echo 11 A 11 A 11 A\n
-par_append $MYSQL hostname sleep .3;echo 11 B 11 B 11 B\n
-par_append $MYSQL hostname sleep .3;echo 11 C 11 C 11 C\n
-par_append $MYSQL hostname sleep .3;echo 11 D 11 D 11 D\n
-par_append $MYSQL hostname sleep .3;echo 11 E 11 E 11 E\n
-par_append $MYSQL hostname sleep .3;echo 12 A 12 A 12 A\n
-par_append $MYSQL hostname sleep .3;echo 12 B 12 B 12 B\n
-par_append $MYSQL hostname sleep .3;echo 12 C 12 C 12 C\n
-par_append $MYSQL hostname sleep .3;echo 12 D 12 D 12 D\n
-par_append $MYSQL hostname sleep .3;echo 12 E 12 E 12 E\n
-par_append $MYSQL hostname sleep .3;echo 13 A 13 A 13 A\n
-par_append $MYSQL hostname sleep .3;echo 13 B 13 B 13 B\n
-par_append $MYSQL hostname sleep .3;echo 13 C 13 C 13 C\n
-par_append $MYSQL hostname sleep .3;echo 13 D 13 D 13 D\n
-par_append $MYSQL hostname sleep .3;echo 13 E 13 E 13 E\n
-par_append $MYSQL hostname sleep .3;echo 14 A 14 A 14 A\n
-par_append $MYSQL hostname sleep .3;echo 14 B 14 B 14 B\n
-par_append $MYSQL hostname sleep .3;echo 14 C 14 C 14 C\n
-par_append $MYSQL hostname sleep .3;echo 14 D 14 D 14 D\n
-par_append $MYSQL hostname sleep .3;echo 14 E 14 E 14 E\n
-par_append $MYSQL hostname sleep .3;echo 15 A 15 A 15 A\n
-par_append $MYSQL hostname sleep .3;echo 15 B 15 B 15 B\n
-par_append $MYSQL hostname sleep .3;echo 15 C 15 C 15 C\n
-par_append $MYSQL hostname sleep .3;echo 15 D 15 D 15 D\n
-par_append $MYSQL hostname sleep .3;echo 15 E 15 E 15 E\n
-par_append $PG p_wrapper par_append '$PG'
-par_append $PG Exit=0
-par_append $PG Exit=0
-par_append $PG host| command | v1 | v2 | stdout | stderr
-par_append $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 11 A | 11 | A | 11 A +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 11 B | 11 | B | 11 B +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 11 C | 11 | C | 11 C +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 11 D | 11 | D | 11 D +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 11 E | 11 | E | 11 E +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 12 A | 12 | A | 12 A +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 12 B | 12 | B | 12 B +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 12 C | 12 | C | 12 C +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 12 D | 12 | D | 12 D +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 12 E | 12 | E | 12 E +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 13 A | 13 | A | 13 A +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 13 B | 13 | B | 13 B +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 13 C | 13 | C | 13 C +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 13 D | 13 | D | 13 D +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 13 E | 13 | E | 13 E +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 14 A | 14 | A | 14 A +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 14 B | 14 | B | 14 B +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 14 C | 14 | C | 14 C +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 14 D | 14 | D | 14 D +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 14 E | 14 | E | 14 E +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 15 A | 15 | A | 15 A +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 15 B | 15 | B | 15 B +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 15 C | 15 | C | 15 C +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 15 D | 15 | D | 15 D +|
-par_append $PG | | | | |
-par_append $PG hostname| sleep .3;echo 15 E | 15 | E | 15 E +|
-par_append $PG | | | | |
-par_append $PG (50 rows)
-par_append $PG
-par_append $SQLITE p_wrapper par_append '$SQLITE'
-par_append $SQLITE Exit=0
-par_append $SQLITE Exit=0
-par_append $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_append $SQLITE hostname|sleep .3;echo 1 a|1|a|1 a
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 1 b|1|b|1 b
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 1 c|1|c|1 c
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 1 d|1|d|1 d
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 1 e|1|e|1 e
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 2 a|2|a|2 a
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 2 b|2|b|2 b
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 2 c|2|c|2 c
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 2 d|2|d|2 d
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 2 e|2|e|2 e
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 3 a|3|a|3 a
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 3 b|3|b|3 b
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 3 c|3|c|3 c
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 3 d|3|d|3 d
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 3 e|3|e|3 e
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 4 a|4|a|4 a
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 4 b|4|b|4 b
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 4 c|4|c|4 c
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 4 d|4|d|4 d
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 4 e|4|e|4 e
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 5 a|5|a|5 a
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 5 b|5|b|5 b
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 5 c|5|c|5 c
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 5 d|5|d|5 d
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 5 e|5|e|5 e
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 11 A|11|A|11 A
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 11 B|11|B|11 B
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 11 C|11|C|11 C
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 11 D|11|D|11 D
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 11 E|11|E|11 E
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 12 A|12|A|12 A
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 12 B|12|B|12 B
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 12 C|12|C|12 C
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 12 D|12|D|12 D
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 12 E|12|E|12 E
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 13 A|13|A|13 A
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 13 B|13|B|13 B
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 13 C|13|C|13 C
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 13 D|13|D|13 D
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 13 E|13|E|13 E
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 14 A|14|A|14 A
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 14 B|14|B|14 B
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 14 C|14|C|14 C
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 14 D|14|D|14 D
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 14 E|14|E|14 E
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 15 A|15|A|15 A
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 15 B|15|B|15 B
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 15 C|15|C|15 C
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 15 D|15|D|15 D
-par_append $SQLITE |
-par_append $SQLITE hostname|sleep .3;echo 15 E|15|E|15 E
-par_append $SQLITE |
-par_append $CSV p_wrapper par_append '$CSV'
-par_append $CSV Exit=0
-par_append $CSV Exit=0
-par_append $CSV Error:
-par_append $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-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: 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:
-par_empty $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_empty $CSV
-par_empty $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_shuf $MYSQL p_wrapper par_shuf '$MYSQL'
-par_shuf $MYSQL 1 a
-par_shuf $MYSQL 1 b
-par_shuf $MYSQL 1 c
-par_shuf $MYSQL 1 d
-par_shuf $MYSQL 1 e
-par_shuf $MYSQL 2 a
-par_shuf $MYSQL 2 b
-par_shuf $MYSQL 2 c
-par_shuf $MYSQL 2 d
-par_shuf $MYSQL 2 e
-par_shuf $MYSQL 3 a
-par_shuf $MYSQL 3 b
-par_shuf $MYSQL 3 c
-par_shuf $MYSQL 3 d
-par_shuf $MYSQL 3 e
-par_shuf $MYSQL 4 a
-par_shuf $MYSQL 4 b
-par_shuf $MYSQL 4 c
-par_shuf $MYSQL 4 d
-par_shuf $MYSQL 4 e
-par_shuf $MYSQL 5 a
-par_shuf $MYSQL 5 b
-par_shuf $MYSQL 5 c
-par_shuf $MYSQL 5 d
-par_shuf $MYSQL 5 e
-par_shuf $MYSQL OK: Diff bigger than 2500 char
-par_shuf $MYSQL Exit=0
-par_shuf $MYSQL Exit=0
-par_shuf $MYSQL Host Command V1 V2 Stdout Stderr
-par_shuf $MYSQL hostname sleep .3;echo 1 a 1 a /tmp/parallel-bug49791-c20/1/1/2/a/stdout /tmp/parallel-bug49791-c20/1/1/2/a/stderr
-par_shuf $MYSQL hostname sleep .3;echo 1 b 1 b /tmp/parallel-bug49791-c20/1/1/2/b/stdout /tmp/parallel-bug49791-c20/1/1/2/b/stderr
-par_shuf $MYSQL hostname sleep .3;echo 1 c 1 c /tmp/parallel-bug49791-c20/1/1/2/c/stdout /tmp/parallel-bug49791-c20/1/1/2/c/stderr
-par_shuf $MYSQL hostname sleep .3;echo 1 d 1 d /tmp/parallel-bug49791-c20/1/1/2/d/stdout /tmp/parallel-bug49791-c20/1/1/2/d/stderr
-par_shuf $MYSQL hostname sleep .3;echo 1 e 1 e /tmp/parallel-bug49791-c20/1/1/2/e/stdout /tmp/parallel-bug49791-c20/1/1/2/e/stderr
-par_shuf $MYSQL hostname sleep .3;echo 2 a 2 a /tmp/parallel-bug49791-c20/1/2/2/a/stdout /tmp/parallel-bug49791-c20/1/2/2/a/stderr
-par_shuf $MYSQL hostname sleep .3;echo 2 b 2 b /tmp/parallel-bug49791-c20/1/2/2/b/stdout /tmp/parallel-bug49791-c20/1/2/2/b/stderr
-par_shuf $MYSQL hostname sleep .3;echo 2 c 2 c /tmp/parallel-bug49791-c20/1/2/2/c/stdout /tmp/parallel-bug49791-c20/1/2/2/c/stderr
-par_shuf $MYSQL hostname sleep .3;echo 2 d 2 d /tmp/parallel-bug49791-c20/1/2/2/d/stdout /tmp/parallel-bug49791-c20/1/2/2/d/stderr
-par_shuf $MYSQL hostname sleep .3;echo 2 e 2 e /tmp/parallel-bug49791-c20/1/2/2/e/stdout /tmp/parallel-bug49791-c20/1/2/2/e/stderr
-par_shuf $MYSQL hostname sleep .3;echo 3 a 3 a /tmp/parallel-bug49791-c20/1/3/2/a/stdout /tmp/parallel-bug49791-c20/1/3/2/a/stderr
-par_shuf $MYSQL hostname sleep .3;echo 3 b 3 b /tmp/parallel-bug49791-c20/1/3/2/b/stdout /tmp/parallel-bug49791-c20/1/3/2/b/stderr
-par_shuf $MYSQL hostname sleep .3;echo 3 c 3 c /tmp/parallel-bug49791-c20/1/3/2/c/stdout /tmp/parallel-bug49791-c20/1/3/2/c/stderr
-par_shuf $MYSQL hostname sleep .3;echo 3 d 3 d /tmp/parallel-bug49791-c20/1/3/2/d/stdout /tmp/parallel-bug49791-c20/1/3/2/d/stderr
-par_shuf $MYSQL hostname sleep .3;echo 3 e 3 e /tmp/parallel-bug49791-c20/1/3/2/e/stdout /tmp/parallel-bug49791-c20/1/3/2/e/stderr
-par_shuf $MYSQL hostname sleep .3;echo 4 a 4 a /tmp/parallel-bug49791-c20/1/4/2/a/stdout /tmp/parallel-bug49791-c20/1/4/2/a/stderr
-par_shuf $MYSQL hostname sleep .3;echo 4 b 4 b /tmp/parallel-bug49791-c20/1/4/2/b/stdout /tmp/parallel-bug49791-c20/1/4/2/b/stderr
-par_shuf $MYSQL hostname sleep .3;echo 4 c 4 c /tmp/parallel-bug49791-c20/1/4/2/c/stdout /tmp/parallel-bug49791-c20/1/4/2/c/stderr
-par_shuf $MYSQL hostname sleep .3;echo 4 d 4 d /tmp/parallel-bug49791-c20/1/4/2/d/stdout /tmp/parallel-bug49791-c20/1/4/2/d/stderr
-par_shuf $MYSQL hostname sleep .3;echo 4 e 4 e /tmp/parallel-bug49791-c20/1/4/2/e/stdout /tmp/parallel-bug49791-c20/1/4/2/e/stderr
-par_shuf $MYSQL hostname sleep .3;echo 5 a 5 a /tmp/parallel-bug49791-c20/1/5/2/a/stdout /tmp/parallel-bug49791-c20/1/5/2/a/stderr
-par_shuf $MYSQL hostname sleep .3;echo 5 b 5 b /tmp/parallel-bug49791-c20/1/5/2/b/stdout /tmp/parallel-bug49791-c20/1/5/2/b/stderr
-par_shuf $MYSQL hostname sleep .3;echo 5 c 5 c /tmp/parallel-bug49791-c20/1/5/2/c/stdout /tmp/parallel-bug49791-c20/1/5/2/c/stderr
-par_shuf $MYSQL hostname sleep .3;echo 5 d 5 d /tmp/parallel-bug49791-c20/1/5/2/d/stdout /tmp/parallel-bug49791-c20/1/5/2/d/stderr
-par_shuf $MYSQL hostname sleep .3;echo 5 e 5 e /tmp/parallel-bug49791-c20/1/5/2/e/stdout /tmp/parallel-bug49791-c20/1/5/2/e/stderr
-par_shuf $PG p_wrapper par_shuf '$PG'
-par_shuf $PG 1 a
-par_shuf $PG 1 b
-par_shuf $PG 1 c
-par_shuf $PG 1 d
-par_shuf $PG 1 e
-par_shuf $PG 2 a
-par_shuf $PG 2 b
-par_shuf $PG 2 c
-par_shuf $PG 2 d
-par_shuf $PG 2 e
-par_shuf $PG 3 a
-par_shuf $PG 3 b
-par_shuf $PG 3 c
-par_shuf $PG 3 d
-par_shuf $PG 3 e
-par_shuf $PG 4 a
-par_shuf $PG 4 b
-par_shuf $PG 4 c
-par_shuf $PG 4 d
-par_shuf $PG 4 e
-par_shuf $PG 5 a
-par_shuf $PG 5 b
-par_shuf $PG 5 c
-par_shuf $PG 5 d
-par_shuf $PG 5 e
-par_shuf $PG OK: Diff bigger than 2500 char
-par_shuf $PG Exit=0
-par_shuf $PG Exit=0
-par_shuf $PG host| command | v1 | v2 | stdout | stderr
-par_shuf $PG hostname| sleep .3;echo 1 a | 1 | a | /tmp/parallel-bug49791-792/1/1/2/a/stdout | /tmp/parallel-bug49791-792/1/1/2/a/stderr
-par_shuf $PG hostname| sleep .3;echo 1 b | 1 | b | /tmp/parallel-bug49791-792/1/1/2/b/stdout | /tmp/parallel-bug49791-792/1/1/2/b/stderr
-par_shuf $PG hostname| sleep .3;echo 1 c | 1 | c | /tmp/parallel-bug49791-792/1/1/2/c/stdout | /tmp/parallel-bug49791-792/1/1/2/c/stderr
-par_shuf $PG hostname| sleep .3;echo 1 d | 1 | d | /tmp/parallel-bug49791-792/1/1/2/d/stdout | /tmp/parallel-bug49791-792/1/1/2/d/stderr
-par_shuf $PG hostname| sleep .3;echo 1 e | 1 | e | /tmp/parallel-bug49791-792/1/1/2/e/stdout | /tmp/parallel-bug49791-792/1/1/2/e/stderr
-par_shuf $PG hostname| sleep .3;echo 2 a | 2 | a | /tmp/parallel-bug49791-792/1/2/2/a/stdout | /tmp/parallel-bug49791-792/1/2/2/a/stderr
-par_shuf $PG hostname| sleep .3;echo 2 b | 2 | b | /tmp/parallel-bug49791-792/1/2/2/b/stdout | /tmp/parallel-bug49791-792/1/2/2/b/stderr
-par_shuf $PG hostname| sleep .3;echo 2 c | 2 | c | /tmp/parallel-bug49791-792/1/2/2/c/stdout | /tmp/parallel-bug49791-792/1/2/2/c/stderr
-par_shuf $PG hostname| sleep .3;echo 2 d | 2 | d | /tmp/parallel-bug49791-792/1/2/2/d/stdout | /tmp/parallel-bug49791-792/1/2/2/d/stderr
-par_shuf $PG hostname| sleep .3;echo 2 e | 2 | e | /tmp/parallel-bug49791-792/1/2/2/e/stdout | /tmp/parallel-bug49791-792/1/2/2/e/stderr
-par_shuf $PG hostname| sleep .3;echo 3 a | 3 | a | /tmp/parallel-bug49791-792/1/3/2/a/stdout | /tmp/parallel-bug49791-792/1/3/2/a/stderr
-par_shuf $PG hostname| sleep .3;echo 3 b | 3 | b | /tmp/parallel-bug49791-792/1/3/2/b/stdout | /tmp/parallel-bug49791-792/1/3/2/b/stderr
-par_shuf $PG hostname| sleep .3;echo 3 c | 3 | c | /tmp/parallel-bug49791-792/1/3/2/c/stdout | /tmp/parallel-bug49791-792/1/3/2/c/stderr
-par_shuf $PG hostname| sleep .3;echo 3 d | 3 | d | /tmp/parallel-bug49791-792/1/3/2/d/stdout | /tmp/parallel-bug49791-792/1/3/2/d/stderr
-par_shuf $PG hostname| sleep .3;echo 3 e | 3 | e | /tmp/parallel-bug49791-792/1/3/2/e/stdout | /tmp/parallel-bug49791-792/1/3/2/e/stderr
-par_shuf $PG hostname| sleep .3;echo 4 a | 4 | a | /tmp/parallel-bug49791-792/1/4/2/a/stdout | /tmp/parallel-bug49791-792/1/4/2/a/stderr
-par_shuf $PG hostname| sleep .3;echo 4 b | 4 | b | /tmp/parallel-bug49791-792/1/4/2/b/stdout | /tmp/parallel-bug49791-792/1/4/2/b/stderr
-par_shuf $PG hostname| sleep .3;echo 4 c | 4 | c | /tmp/parallel-bug49791-792/1/4/2/c/stdout | /tmp/parallel-bug49791-792/1/4/2/c/stderr
-par_shuf $PG hostname| sleep .3;echo 4 d | 4 | d | /tmp/parallel-bug49791-792/1/4/2/d/stdout | /tmp/parallel-bug49791-792/1/4/2/d/stderr
-par_shuf $PG hostname| sleep .3;echo 4 e | 4 | e | /tmp/parallel-bug49791-792/1/4/2/e/stdout | /tmp/parallel-bug49791-792/1/4/2/e/stderr
-par_shuf $PG hostname| sleep .3;echo 5 a | 5 | a | /tmp/parallel-bug49791-792/1/5/2/a/stdout | /tmp/parallel-bug49791-792/1/5/2/a/stderr
-par_shuf $PG hostname| sleep .3;echo 5 b | 5 | b | /tmp/parallel-bug49791-792/1/5/2/b/stdout | /tmp/parallel-bug49791-792/1/5/2/b/stderr
-par_shuf $PG hostname| sleep .3;echo 5 c | 5 | c | /tmp/parallel-bug49791-792/1/5/2/c/stdout | /tmp/parallel-bug49791-792/1/5/2/c/stderr
-par_shuf $PG hostname| sleep .3;echo 5 d | 5 | d | /tmp/parallel-bug49791-792/1/5/2/d/stdout | /tmp/parallel-bug49791-792/1/5/2/d/stderr
-par_shuf $PG hostname| sleep .3;echo 5 e | 5 | e | /tmp/parallel-bug49791-792/1/5/2/e/stdout | /tmp/parallel-bug49791-792/1/5/2/e/stderr
-par_shuf $PG (25 rows)
-par_shuf $PG
-par_shuf $SQLITE p_wrapper par_shuf '$SQLITE'
-par_shuf $SQLITE 1 a
-par_shuf $SQLITE 1 b
-par_shuf $SQLITE 1 c
-par_shuf $SQLITE 1 d
-par_shuf $SQLITE 1 e
-par_shuf $SQLITE 2 a
-par_shuf $SQLITE 2 b
-par_shuf $SQLITE 2 c
-par_shuf $SQLITE 2 d
-par_shuf $SQLITE 2 e
-par_shuf $SQLITE 3 a
-par_shuf $SQLITE 3 b
-par_shuf $SQLITE 3 c
-par_shuf $SQLITE 3 d
-par_shuf $SQLITE 3 e
-par_shuf $SQLITE 4 a
-par_shuf $SQLITE 4 b
-par_shuf $SQLITE 4 c
-par_shuf $SQLITE 4 d
-par_shuf $SQLITE 4 e
-par_shuf $SQLITE 5 a
-par_shuf $SQLITE 5 b
-par_shuf $SQLITE 5 c
-par_shuf $SQLITE 5 d
-par_shuf $SQLITE 5 e
-par_shuf $SQLITE OK: Diff bigger than 2500 char
-par_shuf $SQLITE Exit=0
-par_shuf $SQLITE Exit=0
-par_shuf $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_shuf $SQLITE hostname|sleep .3;echo 1 a|1|a|/tmp/parallel-bug49791-932/1/1/2/a/stdout|/tmp/parallel-bug49791-932/1/1/2/a/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 1 b|1|b|/tmp/parallel-bug49791-932/1/1/2/b/stdout|/tmp/parallel-bug49791-932/1/1/2/b/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 1 c|1|c|/tmp/parallel-bug49791-932/1/1/2/c/stdout|/tmp/parallel-bug49791-932/1/1/2/c/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 1 d|1|d|/tmp/parallel-bug49791-932/1/1/2/d/stdout|/tmp/parallel-bug49791-932/1/1/2/d/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 1 e|1|e|/tmp/parallel-bug49791-932/1/1/2/e/stdout|/tmp/parallel-bug49791-932/1/1/2/e/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 2 a|2|a|/tmp/parallel-bug49791-932/1/2/2/a/stdout|/tmp/parallel-bug49791-932/1/2/2/a/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 2 b|2|b|/tmp/parallel-bug49791-932/1/2/2/b/stdout|/tmp/parallel-bug49791-932/1/2/2/b/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 2 c|2|c|/tmp/parallel-bug49791-932/1/2/2/c/stdout|/tmp/parallel-bug49791-932/1/2/2/c/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 2 d|2|d|/tmp/parallel-bug49791-932/1/2/2/d/stdout|/tmp/parallel-bug49791-932/1/2/2/d/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 2 e|2|e|/tmp/parallel-bug49791-932/1/2/2/e/stdout|/tmp/parallel-bug49791-932/1/2/2/e/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 3 a|3|a|/tmp/parallel-bug49791-932/1/3/2/a/stdout|/tmp/parallel-bug49791-932/1/3/2/a/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 3 b|3|b|/tmp/parallel-bug49791-932/1/3/2/b/stdout|/tmp/parallel-bug49791-932/1/3/2/b/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 3 c|3|c|/tmp/parallel-bug49791-932/1/3/2/c/stdout|/tmp/parallel-bug49791-932/1/3/2/c/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 3 d|3|d|/tmp/parallel-bug49791-932/1/3/2/d/stdout|/tmp/parallel-bug49791-932/1/3/2/d/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 3 e|3|e|/tmp/parallel-bug49791-932/1/3/2/e/stdout|/tmp/parallel-bug49791-932/1/3/2/e/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 4 a|4|a|/tmp/parallel-bug49791-932/1/4/2/a/stdout|/tmp/parallel-bug49791-932/1/4/2/a/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 4 b|4|b|/tmp/parallel-bug49791-932/1/4/2/b/stdout|/tmp/parallel-bug49791-932/1/4/2/b/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 4 c|4|c|/tmp/parallel-bug49791-932/1/4/2/c/stdout|/tmp/parallel-bug49791-932/1/4/2/c/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 4 d|4|d|/tmp/parallel-bug49791-932/1/4/2/d/stdout|/tmp/parallel-bug49791-932/1/4/2/d/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 4 e|4|e|/tmp/parallel-bug49791-932/1/4/2/e/stdout|/tmp/parallel-bug49791-932/1/4/2/e/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 5 a|5|a|/tmp/parallel-bug49791-932/1/5/2/a/stdout|/tmp/parallel-bug49791-932/1/5/2/a/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 5 b|5|b|/tmp/parallel-bug49791-932/1/5/2/b/stdout|/tmp/parallel-bug49791-932/1/5/2/b/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 5 c|5|c|/tmp/parallel-bug49791-932/1/5/2/c/stdout|/tmp/parallel-bug49791-932/1/5/2/c/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 5 d|5|d|/tmp/parallel-bug49791-932/1/5/2/d/stdout|/tmp/parallel-bug49791-932/1/5/2/d/stderr
-par_shuf $SQLITE hostname|sleep .3;echo 5 e|5|e|/tmp/parallel-bug49791-932/1/5/2/e/stdout|/tmp/parallel-bug49791-932/1/5/2/e/stderr
-par_shuf $CSV p_wrapper par_shuf '$CSV'
-par_shuf $CSV 1 a
-par_shuf $CSV 1 b
-par_shuf $CSV 1 c
-par_shuf $CSV 1 d
-par_shuf $CSV 1 e
-par_shuf $CSV 2 a
-par_shuf $CSV 2 b
-par_shuf $CSV 2 c
-par_shuf $CSV 2 d
-par_shuf $CSV 2 e
-par_shuf $CSV 3 a
-par_shuf $CSV 3 b
-par_shuf $CSV 3 c
-par_shuf $CSV 3 d
-par_shuf $CSV 3 e
-par_shuf $CSV 4 a
-par_shuf $CSV 4 b
-par_shuf $CSV 4 c
-par_shuf $CSV 4 d
-par_shuf $CSV 4 e
-par_shuf $CSV 5 a
-par_shuf $CSV 5 b
-par_shuf $CSV 5 c
-par_shuf $CSV 5 d
-par_shuf $CSV 5 e
-par_shuf $CSV Exit=0
-par_shuf $CSV Exit=0
-par_shuf $CSV Error:
-par_shuf $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_shuf $CSV
-par_shuf $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker $MYSQL p_wrapper par_sqlandworker '$MYSQL'
-par_sqlandworker $MYSQL Exit=0
-par_sqlandworker $MYSQL Exit=0
-par_sqlandworker $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker $MYSQL hostname sleep .3;echo 1 a 1 a 1 a\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 1 b 1 b 1 b\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 1 c 1 c 1 c\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 1 d 1 d 1 d\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 1 e 1 e 1 e\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 2 a 2 a 2 a\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 2 b 2 b 2 b\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 2 c 2 c 2 c\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 2 d 2 d 2 d\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 2 e 2 e 2 e\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 3 a 3 a 3 a\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 3 b 3 b 3 b\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 3 c 3 c 3 c\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 3 d 3 d 3 d\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 3 e 3 e 3 e\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 4 a 4 a 4 a\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 4 b 4 b 4 b\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 4 c 4 c 4 c\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 4 d 4 d 4 d\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 4 e 4 e 4 e\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 5 a 5 a 5 a\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 5 b 5 b 5 b\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 5 c 5 c 5 c\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 5 d 5 d 5 d\n
-par_sqlandworker $MYSQL hostname sleep .3;echo 5 e 5 e 5 e\n
-par_sqlandworker $PG p_wrapper par_sqlandworker '$PG'
-par_sqlandworker $PG Exit=0
-par_sqlandworker $PG Exit=0
-par_sqlandworker $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
-par_sqlandworker $PG | | | | |
-par_sqlandworker $PG (25 rows)
-par_sqlandworker $PG
-par_sqlandworker $SQLITE p_wrapper par_sqlandworker '$SQLITE'
-par_sqlandworker $SQLITE Exit=0
-par_sqlandworker $SQLITE Exit=0
-par_sqlandworker $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker $SQLITE hostname|sleep .3;echo 1 a|1|a|1 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 1 b|1|b|1 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 1 c|1|c|1 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 1 d|1|d|1 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 1 e|1|e|1 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 2 a|2|a|2 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 2 b|2|b|2 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 2 c|2|c|2 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 2 d|2|d|2 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 2 e|2|e|2 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 3 a|3|a|3 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 3 b|3|b|3 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 3 c|3|c|3 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 3 d|3|d|3 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 3 e|3|e|3 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 4 a|4|a|4 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 4 b|4|b|4 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 4 c|4|c|4 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 4 d|4|d|4 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 4 e|4|e|4 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 5 a|5|a|5 a
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 5 b|5|b|5 b
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 5 c|5|c|5 c
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 5 d|5|d|5 d
-par_sqlandworker $SQLITE |
-par_sqlandworker $SQLITE hostname|sleep .3;echo 5 e|5|e|5 e
-par_sqlandworker $SQLITE |
-par_sqlandworker $CSV p_wrapper par_sqlandworker '$CSV'
-par_sqlandworker $CSV Exit=0
-par_sqlandworker $CSV Exit=0
-par_sqlandworker $CSV Error:
-par_sqlandworker $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker $CSV
-par_sqlandworker $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_compress_linebuffer_tag $MYSQL p_wrapper par_sqlandworker_compress_linebuffer_tag '$MYSQL'
-par_sqlandworker_compress_linebuffer_tag $MYSQL Exit=0
-par_sqlandworker_compress_linebuffer_tag $MYSQL Exit=0
-par_sqlandworker_compress_linebuffer_tag $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 1 a 1 a 1 a\t1 a\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 1 b 1 b 1 b\t1 b\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 1 c 1 c 1 c\t1 c\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 1 d 1 d 1 d\t1 d\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 1 e 1 e 1 e\t1 e\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 2 a 2 a 2 a\t2 a\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 2 b 2 b 2 b\t2 b\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 2 c 2 c 2 c\t2 c\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 2 d 2 d 2 d\t2 d\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 2 e 2 e 2 e\t2 e\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 3 a 3 a 3 a\t3 a\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 3 b 3 b 3 b\t3 b\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 3 c 3 c 3 c\t3 c\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 3 d 3 d 3 d\t3 d\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 3 e 3 e 3 e\t3 e\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 4 a 4 a 4 a\t4 a\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 4 b 4 b 4 b\t4 b\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 4 c 4 c 4 c\t4 c\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 4 d 4 d 4 d\t4 d\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 4 e 4 e 4 e\t4 e\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 5 a 5 a 5 a\t5 a\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 5 b 5 b 5 b\t5 b\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 5 c 5 c 5 c\t5 c\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 5 d 5 d 5 d\t5 d\n
-par_sqlandworker_compress_linebuffer_tag $MYSQL hostname sleep .3;echo 5 e 5 e 5 e\t5 e\n
-par_sqlandworker_compress_linebuffer_tag $PG p_wrapper par_sqlandworker_compress_linebuffer_tag '$PG'
-par_sqlandworker_compress_linebuffer_tag $PG Exit=0
-par_sqlandworker_compress_linebuffer_tag $PG Exit=0
-par_sqlandworker_compress_linebuffer_tag $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
-par_sqlandworker_compress_linebuffer_tag $PG | | | | |
-par_sqlandworker_compress_linebuffer_tag $PG (25 rows)
-par_sqlandworker_compress_linebuffer_tag $PG
-par_sqlandworker_compress_linebuffer_tag $SQLITE p_wrapper par_sqlandworker_compress_linebuffer_tag '$SQLITE'
-par_sqlandworker_compress_linebuffer_tag $SQLITE Exit=0
-par_sqlandworker_compress_linebuffer_tag $SQLITE Exit=0
-par_sqlandworker_compress_linebuffer_tag $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 a|1|a|1 a 1 a
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 b|1|b|1 b 1 b
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 c|1|c|1 c 1 c
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 d|1|d|1 d 1 d
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 e|1|e|1 e 1 e
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 a|2|a|2 a 2 a
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 b|2|b|2 b 2 b
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 c|2|c|2 c 2 c
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 d|2|d|2 d 2 d
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 e|2|e|2 e 2 e
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 a|3|a|3 a 3 a
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 b|3|b|3 b 3 b
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 c|3|c|3 c 3 c
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 d|3|d|3 d 3 d
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 e|3|e|3 e 3 e
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 a|4|a|4 a 4 a
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 b|4|b|4 b 4 b
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 c|4|c|4 c 4 c
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 d|4|d|4 d 4 d
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 e|4|e|4 e 4 e
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 a|5|a|5 a 5 a
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 b|5|b|5 b 5 b
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 c|5|c|5 c 5 c
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 d|5|d|5 d 5 d
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 e|5|e|5 e 5 e
-par_sqlandworker_compress_linebuffer_tag $SQLITE |
-par_sqlandworker_compress_linebuffer_tag $CSV p_wrapper par_sqlandworker_compress_linebuffer_tag '$CSV'
-par_sqlandworker_compress_linebuffer_tag $CSV Exit=0
-par_sqlandworker_compress_linebuffer_tag $CSV Exit=0
-par_sqlandworker_compress_linebuffer_tag $CSV Error:
-par_sqlandworker_compress_linebuffer_tag $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_compress_linebuffer_tag $CSV
-par_sqlandworker_compress_linebuffer_tag $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_linebuffer $MYSQL p_wrapper par_sqlandworker_linebuffer '$MYSQL'
-par_sqlandworker_linebuffer $MYSQL Exit=0
-par_sqlandworker_linebuffer $MYSQL Exit=0
-par_sqlandworker_linebuffer $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 1 a 1 a 1 a\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 1 b 1 b 1 b\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 1 c 1 c 1 c\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 1 d 1 d 1 d\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 1 e 1 e 1 e\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 2 a 2 a 2 a\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 2 b 2 b 2 b\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 2 c 2 c 2 c\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 2 d 2 d 2 d\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 2 e 2 e 2 e\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 3 a 3 a 3 a\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 3 b 3 b 3 b\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 3 c 3 c 3 c\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 3 d 3 d 3 d\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 3 e 3 e 3 e\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 4 a 4 a 4 a\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 4 b 4 b 4 b\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 4 c 4 c 4 c\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 4 d 4 d 4 d\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 4 e 4 e 4 e\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 5 a 5 a 5 a\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 5 b 5 b 5 b\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 5 c 5 c 5 c\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 5 d 5 d 5 d\n
-par_sqlandworker_linebuffer $MYSQL hostname sleep .3;echo 5 e 5 e 5 e\n
-par_sqlandworker_linebuffer $PG p_wrapper par_sqlandworker_linebuffer '$PG'
-par_sqlandworker_linebuffer $PG Exit=0
-par_sqlandworker_linebuffer $PG Exit=0
-par_sqlandworker_linebuffer $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
-par_sqlandworker_linebuffer $PG | | | | |
-par_sqlandworker_linebuffer $PG (25 rows)
-par_sqlandworker_linebuffer $PG
-par_sqlandworker_linebuffer $SQLITE p_wrapper par_sqlandworker_linebuffer '$SQLITE'
-par_sqlandworker_linebuffer $SQLITE Exit=0
-par_sqlandworker_linebuffer $SQLITE Exit=0
-par_sqlandworker_linebuffer $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 1 a|1|a|1 a
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 1 b|1|b|1 b
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 1 c|1|c|1 c
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 1 d|1|d|1 d
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 1 e|1|e|1 e
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 2 a|2|a|2 a
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 2 b|2|b|2 b
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 2 c|2|c|2 c
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 2 d|2|d|2 d
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 2 e|2|e|2 e
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 3 a|3|a|3 a
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 3 b|3|b|3 b
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 3 c|3|c|3 c
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 3 d|3|d|3 d
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 3 e|3|e|3 e
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 4 a|4|a|4 a
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 4 b|4|b|4 b
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 4 c|4|c|4 c
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 4 d|4|d|4 d
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 4 e|4|e|4 e
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 5 a|5|a|5 a
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 5 b|5|b|5 b
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 5 c|5|c|5 c
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 5 d|5|d|5 d
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $SQLITE hostname|sleep .3;echo 5 e|5|e|5 e
-par_sqlandworker_linebuffer $SQLITE |
-par_sqlandworker_linebuffer $CSV p_wrapper par_sqlandworker_linebuffer '$CSV'
-par_sqlandworker_linebuffer $CSV Exit=0
-par_sqlandworker_linebuffer $CSV Exit=0
-par_sqlandworker_linebuffer $CSV Error:
-par_sqlandworker_linebuffer $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_linebuffer $CSV
-par_sqlandworker_linebuffer $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_linebuffer_tag $MYSQL p_wrapper par_sqlandworker_linebuffer_tag '$MYSQL'
-par_sqlandworker_linebuffer_tag $MYSQL Exit=0
-par_sqlandworker_linebuffer_tag $MYSQL Exit=0
-par_sqlandworker_linebuffer_tag $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 1 a 1 a 1 a\t1 a\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 1 b 1 b 1 b\t1 b\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 1 c 1 c 1 c\t1 c\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 1 d 1 d 1 d\t1 d\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 1 e 1 e 1 e\t1 e\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 2 a 2 a 2 a\t2 a\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 2 b 2 b 2 b\t2 b\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 2 c 2 c 2 c\t2 c\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 2 d 2 d 2 d\t2 d\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 2 e 2 e 2 e\t2 e\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 3 a 3 a 3 a\t3 a\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 3 b 3 b 3 b\t3 b\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 3 c 3 c 3 c\t3 c\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 3 d 3 d 3 d\t3 d\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 3 e 3 e 3 e\t3 e\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 4 a 4 a 4 a\t4 a\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 4 b 4 b 4 b\t4 b\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 4 c 4 c 4 c\t4 c\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 4 d 4 d 4 d\t4 d\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 4 e 4 e 4 e\t4 e\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 5 a 5 a 5 a\t5 a\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 5 b 5 b 5 b\t5 b\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 5 c 5 c 5 c\t5 c\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 5 d 5 d 5 d\t5 d\n
-par_sqlandworker_linebuffer_tag $MYSQL hostname sleep .3;echo 5 e 5 e 5 e\t5 e\n
-par_sqlandworker_linebuffer_tag $PG p_wrapper par_sqlandworker_linebuffer_tag '$PG'
-par_sqlandworker_linebuffer_tag $PG Exit=0
-par_sqlandworker_linebuffer_tag $PG Exit=0
-par_sqlandworker_linebuffer_tag $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
-par_sqlandworker_linebuffer_tag $PG | | | | |
-par_sqlandworker_linebuffer_tag $PG (25 rows)
-par_sqlandworker_linebuffer_tag $PG
-par_sqlandworker_linebuffer_tag $SQLITE p_wrapper par_sqlandworker_linebuffer_tag '$SQLITE'
-par_sqlandworker_linebuffer_tag $SQLITE Exit=0
-par_sqlandworker_linebuffer_tag $SQLITE Exit=0
-par_sqlandworker_linebuffer_tag $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 a|1|a|1 a 1 a
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 b|1|b|1 b 1 b
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 c|1|c|1 c 1 c
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 d|1|d|1 d 1 d
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 1 e|1|e|1 e 1 e
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 a|2|a|2 a 2 a
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 b|2|b|2 b 2 b
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 c|2|c|2 c 2 c
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 d|2|d|2 d 2 d
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 2 e|2|e|2 e 2 e
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 a|3|a|3 a 3 a
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 b|3|b|3 b 3 b
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 c|3|c|3 c 3 c
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 d|3|d|3 d 3 d
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 3 e|3|e|3 e 3 e
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 a|4|a|4 a 4 a
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 b|4|b|4 b 4 b
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 c|4|c|4 c 4 c
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 d|4|d|4 d 4 d
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 4 e|4|e|4 e 4 e
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 a|5|a|5 a 5 a
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 b|5|b|5 b 5 b
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 c|5|c|5 c 5 c
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 d|5|d|5 d 5 d
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $SQLITE hostname|sleep .3;echo 5 e|5|e|5 e 5 e
-par_sqlandworker_linebuffer_tag $SQLITE |
-par_sqlandworker_linebuffer_tag $CSV p_wrapper par_sqlandworker_linebuffer_tag '$CSV'
-par_sqlandworker_linebuffer_tag $CSV Exit=0
-par_sqlandworker_linebuffer_tag $CSV Exit=0
-par_sqlandworker_linebuffer_tag $CSV Error:
-par_sqlandworker_linebuffer_tag $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_linebuffer_tag $CSV
-par_sqlandworker_linebuffer_tag $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_lo $MYSQL p_wrapper par_sqlandworker_lo '$MYSQL'
-par_sqlandworker_lo $MYSQL Exit=0
-par_sqlandworker_lo $MYSQL Exit=0
-par_sqlandworker_lo $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 a 1 a 1 a\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 b 1 b 1 b\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 c 1 c 1 c\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 d 1 d 1 d\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 e 1 e 1 e\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 a 2 a 2 a\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 b 2 b 2 b\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 c 2 c 2 c\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 d 2 d 2 d\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 e 2 e 2 e\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 a 3 a 3 a\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 b 3 b 3 b\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 c 3 c 3 c\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 d 3 d 3 d\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 e 3 e 3 e\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 a 4 a 4 a\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 b 4 b 4 b\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 c 4 c 4 c\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 d 4 d 4 d\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 e 4 e 4 e\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 a 5 a 5 a\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 b 5 b 5 b\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 c 5 c 5 c\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 d 5 d 5 d\n
-par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 e 5 e 5 e\n
-par_sqlandworker_lo $PG p_wrapper par_sqlandworker_lo '$PG'
-par_sqlandworker_lo $PG Exit=0
-par_sqlandworker_lo $PG Exit=0
-par_sqlandworker_lo $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_lo $PG lo | sleep .3;echo 1 a | 1 | a | 1 a +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 1 b | 1 | b | 1 b +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 1 c | 1 | c | 1 c +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 1 d | 1 | d | 1 d +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 1 e | 1 | e | 1 e +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 2 a | 2 | a | 2 a +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 2 b | 2 | b | 2 b +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 2 c | 2 | c | 2 c +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 2 d | 2 | d | 2 d +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 2 e | 2 | e | 2 e +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 3 a | 3 | a | 3 a +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 3 b | 3 | b | 3 b +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 3 c | 3 | c | 3 c +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 3 d | 3 | d | 3 d +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 3 e | 3 | e | 3 e +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 4 a | 4 | a | 4 a +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 4 b | 4 | b | 4 b +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 4 c | 4 | c | 4 c +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 4 d | 4 | d | 4 d +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 4 e | 4 | e | 4 e +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 5 a | 5 | a | 5 a +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 5 b | 5 | b | 5 b +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 5 c | 5 | c | 5 c +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 5 d | 5 | d | 5 d +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG lo | sleep .3;echo 5 e | 5 | e | 5 e +|
-par_sqlandworker_lo $PG | | | | |
-par_sqlandworker_lo $PG (25 rows)
-par_sqlandworker_lo $PG
-par_sqlandworker_lo $SQLITE p_wrapper par_sqlandworker_lo '$SQLITE'
-par_sqlandworker_lo $SQLITE Exit=0
-par_sqlandworker_lo $SQLITE Exit=0
-par_sqlandworker_lo $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 a|1|a|1 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 b|1|b|1 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 c|1|c|1 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 d|1|d|1 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 e|1|e|1 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 a|2|a|2 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 b|2|b|2 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 c|2|c|2 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 d|2|d|2 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 e|2|e|2 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 a|3|a|3 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 b|3|b|3 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 c|3|c|3 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 d|3|d|3 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 e|3|e|3 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 a|4|a|4 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 b|4|b|4 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 c|4|c|4 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 d|4|d|4 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 e|4|e|4 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 a|5|a|5 a
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 b|5|b|5 b
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 c|5|c|5 c
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 d|5|d|5 d
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 e|5|e|5 e
-par_sqlandworker_lo $SQLITE |
-par_sqlandworker_lo $CSV p_wrapper par_sqlandworker_lo '$CSV'
-par_sqlandworker_lo $CSV Exit=0
-par_sqlandworker_lo $CSV Exit=0
-par_sqlandworker_lo $CSV Error:
-par_sqlandworker_lo $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_lo $CSV
-par_sqlandworker_lo $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_results $MYSQL p_wrapper par_sqlandworker_results '$MYSQL'
-par_sqlandworker_results $MYSQL Exit=0
-par_sqlandworker_results $MYSQL Exit=0
-par_sqlandworker_results $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 1 a 1 a /tmp/out--sql/1/1/2/a/stdout /tmp/out--sql/1/1/2/a/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 1 b 1 b /tmp/out--sql/1/1/2/b/stdout /tmp/out--sql/1/1/2/b/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 1 c 1 c /tmp/out--sql/1/1/2/c/stdout /tmp/out--sql/1/1/2/c/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 1 d 1 d /tmp/out--sql/1/1/2/d/stdout /tmp/out--sql/1/1/2/d/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 1 e 1 e /tmp/out--sql/1/1/2/e/stdout /tmp/out--sql/1/1/2/e/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 2 a 2 a /tmp/out--sql/1/2/2/a/stdout /tmp/out--sql/1/2/2/a/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 2 b 2 b /tmp/out--sql/1/2/2/b/stdout /tmp/out--sql/1/2/2/b/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 2 c 2 c /tmp/out--sql/1/2/2/c/stdout /tmp/out--sql/1/2/2/c/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 2 d 2 d /tmp/out--sql/1/2/2/d/stdout /tmp/out--sql/1/2/2/d/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 2 e 2 e /tmp/out--sql/1/2/2/e/stdout /tmp/out--sql/1/2/2/e/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 3 a 3 a /tmp/out--sql/1/3/2/a/stdout /tmp/out--sql/1/3/2/a/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 3 b 3 b /tmp/out--sql/1/3/2/b/stdout /tmp/out--sql/1/3/2/b/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 3 c 3 c /tmp/out--sql/1/3/2/c/stdout /tmp/out--sql/1/3/2/c/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 3 d 3 d /tmp/out--sql/1/3/2/d/stdout /tmp/out--sql/1/3/2/d/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 3 e 3 e /tmp/out--sql/1/3/2/e/stdout /tmp/out--sql/1/3/2/e/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 4 a 4 a /tmp/out--sql/1/4/2/a/stdout /tmp/out--sql/1/4/2/a/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 4 b 4 b /tmp/out--sql/1/4/2/b/stdout /tmp/out--sql/1/4/2/b/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 4 c 4 c /tmp/out--sql/1/4/2/c/stdout /tmp/out--sql/1/4/2/c/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 4 d 4 d /tmp/out--sql/1/4/2/d/stdout /tmp/out--sql/1/4/2/d/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 4 e 4 e /tmp/out--sql/1/4/2/e/stdout /tmp/out--sql/1/4/2/e/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 5 a 5 a /tmp/out--sql/1/5/2/a/stdout /tmp/out--sql/1/5/2/a/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 5 b 5 b /tmp/out--sql/1/5/2/b/stdout /tmp/out--sql/1/5/2/b/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr
-par_sqlandworker_results $MYSQL hostname sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr
-par_sqlandworker_results $PG p_wrapper par_sqlandworker_results '$PG'
-par_sqlandworker_results $PG Exit=0
-par_sqlandworker_results $PG Exit=0
-par_sqlandworker_results $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 1 a | 1 | a | /tmp/out--sql/1/1/2/a/stdout | /tmp/out--sql/1/1/2/a/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 1 b | 1 | b | /tmp/out--sql/1/1/2/b/stdout | /tmp/out--sql/1/1/2/b/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 1 c | 1 | c | /tmp/out--sql/1/1/2/c/stdout | /tmp/out--sql/1/1/2/c/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 1 d | 1 | d | /tmp/out--sql/1/1/2/d/stdout | /tmp/out--sql/1/1/2/d/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 1 e | 1 | e | /tmp/out--sql/1/1/2/e/stdout | /tmp/out--sql/1/1/2/e/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 2 a | 2 | a | /tmp/out--sql/1/2/2/a/stdout | /tmp/out--sql/1/2/2/a/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 2 b | 2 | b | /tmp/out--sql/1/2/2/b/stdout | /tmp/out--sql/1/2/2/b/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 2 c | 2 | c | /tmp/out--sql/1/2/2/c/stdout | /tmp/out--sql/1/2/2/c/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 2 d | 2 | d | /tmp/out--sql/1/2/2/d/stdout | /tmp/out--sql/1/2/2/d/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 2 e | 2 | e | /tmp/out--sql/1/2/2/e/stdout | /tmp/out--sql/1/2/2/e/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 3 a | 3 | a | /tmp/out--sql/1/3/2/a/stdout | /tmp/out--sql/1/3/2/a/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 3 b | 3 | b | /tmp/out--sql/1/3/2/b/stdout | /tmp/out--sql/1/3/2/b/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 3 c | 3 | c | /tmp/out--sql/1/3/2/c/stdout | /tmp/out--sql/1/3/2/c/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 3 d | 3 | d | /tmp/out--sql/1/3/2/d/stdout | /tmp/out--sql/1/3/2/d/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 3 e | 3 | e | /tmp/out--sql/1/3/2/e/stdout | /tmp/out--sql/1/3/2/e/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 4 a | 4 | a | /tmp/out--sql/1/4/2/a/stdout | /tmp/out--sql/1/4/2/a/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 4 b | 4 | b | /tmp/out--sql/1/4/2/b/stdout | /tmp/out--sql/1/4/2/b/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 4 c | 4 | c | /tmp/out--sql/1/4/2/c/stdout | /tmp/out--sql/1/4/2/c/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 4 d | 4 | d | /tmp/out--sql/1/4/2/d/stdout | /tmp/out--sql/1/4/2/d/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 4 e | 4 | e | /tmp/out--sql/1/4/2/e/stdout | /tmp/out--sql/1/4/2/e/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 5 a | 5 | a | /tmp/out--sql/1/5/2/a/stdout | /tmp/out--sql/1/5/2/a/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 5 b | 5 | b | /tmp/out--sql/1/5/2/b/stdout | /tmp/out--sql/1/5/2/b/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 5 c | 5 | c | /tmp/out--sql/1/5/2/c/stdout | /tmp/out--sql/1/5/2/c/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 5 d | 5 | d | /tmp/out--sql/1/5/2/d/stdout | /tmp/out--sql/1/5/2/d/stderr
-par_sqlandworker_results $PG hostname| sleep .3;echo 5 e | 5 | e | /tmp/out--sql/1/5/2/e/stdout | /tmp/out--sql/1/5/2/e/stderr
-par_sqlandworker_results $PG (25 rows)
-par_sqlandworker_results $PG
-par_sqlandworker_results $SQLITE p_wrapper par_sqlandworker_results '$SQLITE'
-par_sqlandworker_results $SQLITE Exit=0
-par_sqlandworker_results $SQLITE Exit=0
-par_sqlandworker_results $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 1 a|1|a|/tmp/out--sql/1/1/2/a/stdout|/tmp/out--sql/1/1/2/a/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 1 b|1|b|/tmp/out--sql/1/1/2/b/stdout|/tmp/out--sql/1/1/2/b/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 1 c|1|c|/tmp/out--sql/1/1/2/c/stdout|/tmp/out--sql/1/1/2/c/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 1 d|1|d|/tmp/out--sql/1/1/2/d/stdout|/tmp/out--sql/1/1/2/d/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 1 e|1|e|/tmp/out--sql/1/1/2/e/stdout|/tmp/out--sql/1/1/2/e/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 2 a|2|a|/tmp/out--sql/1/2/2/a/stdout|/tmp/out--sql/1/2/2/a/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 2 b|2|b|/tmp/out--sql/1/2/2/b/stdout|/tmp/out--sql/1/2/2/b/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 2 c|2|c|/tmp/out--sql/1/2/2/c/stdout|/tmp/out--sql/1/2/2/c/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 2 d|2|d|/tmp/out--sql/1/2/2/d/stdout|/tmp/out--sql/1/2/2/d/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 2 e|2|e|/tmp/out--sql/1/2/2/e/stdout|/tmp/out--sql/1/2/2/e/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 3 a|3|a|/tmp/out--sql/1/3/2/a/stdout|/tmp/out--sql/1/3/2/a/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 3 b|3|b|/tmp/out--sql/1/3/2/b/stdout|/tmp/out--sql/1/3/2/b/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 3 c|3|c|/tmp/out--sql/1/3/2/c/stdout|/tmp/out--sql/1/3/2/c/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 3 d|3|d|/tmp/out--sql/1/3/2/d/stdout|/tmp/out--sql/1/3/2/d/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 3 e|3|e|/tmp/out--sql/1/3/2/e/stdout|/tmp/out--sql/1/3/2/e/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 4 a|4|a|/tmp/out--sql/1/4/2/a/stdout|/tmp/out--sql/1/4/2/a/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 4 b|4|b|/tmp/out--sql/1/4/2/b/stdout|/tmp/out--sql/1/4/2/b/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 4 c|4|c|/tmp/out--sql/1/4/2/c/stdout|/tmp/out--sql/1/4/2/c/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 4 d|4|d|/tmp/out--sql/1/4/2/d/stdout|/tmp/out--sql/1/4/2/d/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 4 e|4|e|/tmp/out--sql/1/4/2/e/stdout|/tmp/out--sql/1/4/2/e/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 5 a|5|a|/tmp/out--sql/1/5/2/a/stdout|/tmp/out--sql/1/5/2/a/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 5 b|5|b|/tmp/out--sql/1/5/2/b/stdout|/tmp/out--sql/1/5/2/b/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 5 c|5|c|/tmp/out--sql/1/5/2/c/stdout|/tmp/out--sql/1/5/2/c/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 5 d|5|d|/tmp/out--sql/1/5/2/d/stdout|/tmp/out--sql/1/5/2/d/stderr
-par_sqlandworker_results $SQLITE hostname|sleep .3;echo 5 e|5|e|/tmp/out--sql/1/5/2/e/stdout|/tmp/out--sql/1/5/2/e/stderr
-par_sqlandworker_results $CSV p_wrapper par_sqlandworker_results '$CSV'
-par_sqlandworker_results $CSV Exit=0
-par_sqlandworker_results $CSV Exit=0
-par_sqlandworker_results $CSV Error:
-par_sqlandworker_results $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_results $CSV
-par_sqlandworker_results $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_tag $MYSQL p_wrapper par_sqlandworker_tag '$MYSQL'
-par_sqlandworker_tag $MYSQL Exit=0
-par_sqlandworker_tag $MYSQL Exit=0
-par_sqlandworker_tag $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 1 a 1 a 1 a\t1 a\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 1 b 1 b 1 b\t1 b\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 1 c 1 c 1 c\t1 c\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 1 d 1 d 1 d\t1 d\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 1 e 1 e 1 e\t1 e\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 2 a 2 a 2 a\t2 a\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 2 b 2 b 2 b\t2 b\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 2 c 2 c 2 c\t2 c\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 2 d 2 d 2 d\t2 d\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 2 e 2 e 2 e\t2 e\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 3 a 3 a 3 a\t3 a\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 3 b 3 b 3 b\t3 b\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 3 c 3 c 3 c\t3 c\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 3 d 3 d 3 d\t3 d\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 3 e 3 e 3 e\t3 e\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 4 a 4 a 4 a\t4 a\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 4 b 4 b 4 b\t4 b\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 4 c 4 c 4 c\t4 c\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 4 d 4 d 4 d\t4 d\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 4 e 4 e 4 e\t4 e\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 5 a 5 a 5 a\t5 a\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 5 b 5 b 5 b\t5 b\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 5 c 5 c 5 c\t5 c\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 5 d 5 d 5 d\t5 d\n
-par_sqlandworker_tag $MYSQL hostname sleep .3;echo 5 e 5 e 5 e\t5 e\n
-par_sqlandworker_tag $PG p_wrapper par_sqlandworker_tag '$PG'
-par_sqlandworker_tag $PG Exit=0
-par_sqlandworker_tag $PG Exit=0
-par_sqlandworker_tag $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_tag $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
-par_sqlandworker_tag $PG | | | | |
-par_sqlandworker_tag $PG (25 rows)
-par_sqlandworker_tag $PG
-par_sqlandworker_tag $SQLITE p_wrapper par_sqlandworker_tag '$SQLITE'
-par_sqlandworker_tag $SQLITE Exit=0
-par_sqlandworker_tag $SQLITE Exit=0
-par_sqlandworker_tag $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 1 a|1|a|1 a 1 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 1 b|1|b|1 b 1 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 1 c|1|c|1 c 1 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 1 d|1|d|1 d 1 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 1 e|1|e|1 e 1 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 2 a|2|a|2 a 2 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 2 b|2|b|2 b 2 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 2 c|2|c|2 c 2 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 2 d|2|d|2 d 2 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 2 e|2|e|2 e 2 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 3 a|3|a|3 a 3 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 3 b|3|b|3 b 3 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 3 c|3|c|3 c 3 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 3 d|3|d|3 d 3 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 3 e|3|e|3 e 3 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 4 a|4|a|4 a 4 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 4 b|4|b|4 b 4 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 4 c|4|c|4 c 4 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 4 d|4|d|4 d 4 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 4 e|4|e|4 e 4 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 5 a|5|a|5 a 5 a
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 5 b|5|b|5 b 5 b
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 5 c|5|c|5 c 5 c
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 5 d|5|d|5 d 5 d
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $SQLITE hostname|sleep .3;echo 5 e|5|e|5 e 5 e
-par_sqlandworker_tag $SQLITE |
-par_sqlandworker_tag $CSV p_wrapper par_sqlandworker_tag '$CSV'
-par_sqlandworker_tag $CSV Exit=0
-par_sqlandworker_tag $CSV Exit=0
-par_sqlandworker_tag $CSV Error:
-par_sqlandworker_tag $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_tag $CSV
-par_sqlandworker_tag $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_total_jobs $MYSQL p_wrapper par_sqlandworker_total_jobs '$MYSQL'
-par_sqlandworker_total_jobs $MYSQL Exit=0
-par_sqlandworker_total_jobs $MYSQL Exit=0
-par_sqlandworker_total_jobs $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_total_jobs $MYSQL hostname echo 1 of 25; sleep .3;echo 1 a 1 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 2 of 25; sleep .3;echo 1 b 2 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 3 of 25; sleep .3;echo 1 c 3 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 4 of 25; sleep .3;echo 1 d 4 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 5 of 25; sleep .3;echo 1 e 5 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 6 of 25; sleep .3;echo 2 a 6 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 7 of 25; sleep .3;echo 2 b 7 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 8 of 25; sleep .3;echo 2 c 8 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 9 of 25; sleep .3;echo 2 d 9 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 10 of 25; sleep .3;echo 2 e 10 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 11 of 25; sleep .3;echo 3 a 11 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 12 of 25; sleep .3;echo 3 b 12 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 13 of 25; sleep .3;echo 3 c 13 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 14 of 25; sleep .3;echo 3 d 14 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 15 of 25; sleep .3;echo 3 e 15 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 16 of 25; sleep .3;echo 4 a 16 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 17 of 25; sleep .3;echo 4 b 17 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 18 of 25; sleep .3;echo 4 c 18 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 19 of 25; sleep .3;echo 4 d 19 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 20 of 25; sleep .3;echo 4 e 20 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 21 of 25; sleep .3;echo 5 a 21 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 22 of 25; sleep .3;echo 5 b 22 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 23 of 25; sleep .3;echo 5 c 23 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 24 of 25; sleep .3;echo 5 d 24 of 25\n\n
-par_sqlandworker_total_jobs $MYSQL hostname echo 25 of 25; sleep .3;echo 5 e 25 of 25\n\n
-par_sqlandworker_total_jobs $PG p_wrapper par_sqlandworker_total_jobs '$PG'
-par_sqlandworker_total_jobs $PG Exit=0
-par_sqlandworker_total_jobs $PG Exit=0
-par_sqlandworker_total_jobs $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_total_jobs $PG hostname| echo 1 of 25; sleep .3;echo | 1 | a | 1 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 2 of 25; sleep .3;echo | 1 | b | 2 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 3 of 25; sleep .3;echo | 1 | c | 3 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 4 of 25; sleep .3;echo | 1 | d | 4 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 5 of 25; sleep .3;echo | 1 | e | 5 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 6 of 25; sleep .3;echo | 2 | a | 6 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 7 of 25; sleep .3;echo | 2 | b | 7 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 8 of 25; sleep .3;echo | 2 | c | 8 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 9 of 25; sleep .3;echo | 2 | d | 9 of 25 +|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 10 of 25; sleep .3;echo | 2 | e | 10 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 11 of 25; sleep .3;echo | 3 | a | 11 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 12 of 25; sleep .3;echo | 3 | b | 12 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 13 of 25; sleep .3;echo | 3 | c | 13 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 14 of 25; sleep .3;echo | 3 | d | 14 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 15 of 25; sleep .3;echo | 3 | e | 15 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 16 of 25; sleep .3;echo | 4 | a | 16 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 17 of 25; sleep .3;echo | 4 | b | 17 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 18 of 25; sleep .3;echo | 4 | c | 18 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 19 of 25; sleep .3;echo | 4 | d | 19 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 20 of 25; sleep .3;echo | 4 | e | 20 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 21 of 25; sleep .3;echo | 5 | a | 21 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 22 of 25; sleep .3;echo | 5 | b | 22 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 23 of 25; sleep .3;echo | 5 | c | 23 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 24 of 25; sleep .3;echo | 5 | d | 24 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG hostname| echo 25 of 25; sleep .3;echo | 5 | e | 25 of 25+|
-par_sqlandworker_total_jobs $PG | | | | +|
-par_sqlandworker_total_jobs $PG | | | | |
-par_sqlandworker_total_jobs $PG (25 rows)
-par_sqlandworker_total_jobs $PG
-par_sqlandworker_total_jobs $SQLITE p_wrapper par_sqlandworker_total_jobs '$SQLITE'
-par_sqlandworker_total_jobs $SQLITE Exit=0
-par_sqlandworker_total_jobs $SQLITE Exit=0
-par_sqlandworker_total_jobs $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_total_jobs $SQLITE hostname|echo 1 of 25; sleep .3;echo|1|a|1 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 2 of 25; sleep .3;echo|1|b|2 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 3 of 25; sleep .3;echo|1|c|3 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 4 of 25; sleep .3;echo|1|d|4 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 5 of 25; sleep .3;echo|1|e|5 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 6 of 25; sleep .3;echo|2|a|6 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 7 of 25; sleep .3;echo|2|b|7 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 8 of 25; sleep .3;echo|2|c|8 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 9 of 25; sleep .3;echo|2|d|9 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 10 of 25; sleep .3;echo|2|e|10 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 11 of 25; sleep .3;echo|3|a|11 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 12 of 25; sleep .3;echo|3|b|12 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 13 of 25; sleep .3;echo|3|c|13 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 14 of 25; sleep .3;echo|3|d|14 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 15 of 25; sleep .3;echo|3|e|15 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 16 of 25; sleep .3;echo|4|a|16 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 17 of 25; sleep .3;echo|4|b|17 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 18 of 25; sleep .3;echo|4|c|18 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 19 of 25; sleep .3;echo|4|d|19 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 20 of 25; sleep .3;echo|4|e|20 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 21 of 25; sleep .3;echo|5|a|21 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 22 of 25; sleep .3;echo|5|b|22 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 23 of 25; sleep .3;echo|5|c|23 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 24 of 25; sleep .3;echo|5|d|24 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $SQLITE hostname|echo 25 of 25; sleep .3;echo|5|e|25 of 25
-par_sqlandworker_total_jobs $SQLITE
-par_sqlandworker_total_jobs $SQLITE |
-par_sqlandworker_total_jobs $CSV p_wrapper par_sqlandworker_total_jobs '$CSV'
-par_sqlandworker_total_jobs $CSV Exit=0
-par_sqlandworker_total_jobs $CSV Exit=0
-par_sqlandworker_total_jobs $CSV Error:
-par_sqlandworker_total_jobs $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_total_jobs $CSV
-par_sqlandworker_total_jobs $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
-par_sqlandworker_unbuffer $MYSQL p_wrapper par_sqlandworker_unbuffer '$MYSQL'
-par_sqlandworker_unbuffer $MYSQL Exit=0
-par_sqlandworker_unbuffer $MYSQL Exit=0
-par_sqlandworker_unbuffer $MYSQL Host Command V1 V2 Stdout Stderr
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 1 a 1 a
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 1 b 1 b
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 1 c 1 c
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 1 d 1 d
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 1 e 1 e
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 2 a 2 a
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 2 b 2 b
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 2 c 2 c
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 2 d 2 d
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 2 e 2 e
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 3 a 3 a
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 3 b 3 b
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 3 c 3 c
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 3 d 3 d
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 3 e 3 e
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 4 a 4 a
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 4 b 4 b
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 4 c 4 c
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 4 d 4 d
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 4 e 4 e
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 5 a 5 a
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 5 b 5 b
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 5 c 5 c
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 5 d 5 d
-par_sqlandworker_unbuffer $MYSQL hostname sleep .3;echo 5 e 5 e
-par_sqlandworker_unbuffer $PG p_wrapper par_sqlandworker_unbuffer '$PG'
-par_sqlandworker_unbuffer $PG Exit=0
-par_sqlandworker_unbuffer $PG Exit=0
-par_sqlandworker_unbuffer $PG host| command | v1 | v2 | stdout | stderr
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 1 a | 1 | a | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 1 b | 1 | b | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 1 c | 1 | c | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 1 d | 1 | d | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 1 e | 1 | e | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 2 a | 2 | a | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 2 b | 2 | b | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 2 c | 2 | c | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 2 d | 2 | d | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 2 e | 2 | e | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 3 a | 3 | a | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 3 b | 3 | b | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 3 c | 3 | c | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 3 d | 3 | d | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 3 e | 3 | e | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 4 a | 4 | a | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 4 b | 4 | b | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 4 c | 4 | c | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 4 d | 4 | d | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 4 e | 4 | e | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 5 a | 5 | a | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 5 b | 5 | b | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 5 c | 5 | c | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 5 d | 5 | d | |
-par_sqlandworker_unbuffer $PG hostname| sleep .3;echo 5 e | 5 | e | |
-par_sqlandworker_unbuffer $PG (25 rows)
-par_sqlandworker_unbuffer $PG
-par_sqlandworker_unbuffer $SQLITE p_wrapper par_sqlandworker_unbuffer '$SQLITE'
-par_sqlandworker_unbuffer $SQLITE Exit=0
-par_sqlandworker_unbuffer $SQLITE Exit=0
-par_sqlandworker_unbuffer $SQLITE Host|Command|V1|V2|Stdout|Stderr
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 1 a|1|a||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 1 b|1|b||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 1 c|1|c||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 1 d|1|d||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 1 e|1|e||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 2 a|2|a||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 2 b|2|b||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 2 c|2|c||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 2 d|2|d||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 2 e|2|e||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 3 a|3|a||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 3 b|3|b||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 3 c|3|c||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 3 d|3|d||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 3 e|3|e||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 4 a|4|a||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 4 b|4|b||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 4 c|4|c||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 4 d|4|d||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 4 e|4|e||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 5 a|5|a||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 5 b|5|b||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 5 c|5|c||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 5 d|5|d||
-par_sqlandworker_unbuffer $SQLITE hostname|sleep .3;echo 5 e|5|e||
-par_sqlandworker_unbuffer $CSV p_wrapper par_sqlandworker_unbuffer '$CSV'
-par_sqlandworker_unbuffer $CSV Exit=0
-par_sqlandworker_unbuffer $CSV Exit=0
-par_sqlandworker_unbuffer $CSV Error:
-par_sqlandworker_unbuffer $CSV csv:///%2Frun%2Fshm is not a valid DBURL
-par_sqlandworker_unbuffer $CSV
-par_sqlandworker_unbuffer $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV do_dburl CSV
+CSV par_append p_wrapper par_append $CSV
+CSV par_append Exit=0
+CSV par_append Exit=0
+CSV par_append Error:
+CSV par_append csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_append
+CSV par_append sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_empty p_wrapper par_empty $CSV
+CSV par_empty Do nothing: TBL99999 does not exist because it is not created
+CSV par_empty Exit=0
+CSV par_empty Exit=0
+CSV par_empty Error:
+CSV par_empty csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_empty
+CSV par_empty sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_no_table p_wrapper par_no_table $CSV
+CSV par_no_table bug #50018: --dburl without table dies
+CSV par_no_table 255
+CSV par_no_table 255
+CSV par_no_table 255
+CSV par_no_table Exit=0
+CSV par_no_table Exit=0
+CSV par_no_table Error:
+CSV par_no_table csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_no_table
+CSV par_no_table sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_no_table parallel: Error: The DBURL (csv:///%2Frun%2Fshm) must contain a table.
+CSV par_no_table parallel: Error: The DBURL (csv:///%2Frun%2Fshm) must contain a table.
+CSV par_no_table parallel: Error: The DBURL (csv:///%2Frun%2Fshm) must contain a table.
+CSV par_shuf p_wrapper par_shuf $CSV
+CSV par_shuf 1 a
+CSV par_shuf 1 b
+CSV par_shuf 1 c
+CSV par_shuf 1 d
+CSV par_shuf 1 e
+CSV par_shuf 2 a
+CSV par_shuf 2 b
+CSV par_shuf 2 c
+CSV par_shuf 2 d
+CSV par_shuf 2 e
+CSV par_shuf 3 a
+CSV par_shuf 3 b
+CSV par_shuf 3 c
+CSV par_shuf 3 d
+CSV par_shuf 3 e
+CSV par_shuf 4 a
+CSV par_shuf 4 b
+CSV par_shuf 4 c
+CSV par_shuf 4 d
+CSV par_shuf 4 e
+CSV par_shuf 5 a
+CSV par_shuf 5 b
+CSV par_shuf 5 c
+CSV par_shuf 5 d
+CSV par_shuf 5 e
+CSV par_shuf Exit=0
+CSV par_shuf Exit=0
+CSV par_shuf Error:
+CSV par_shuf csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_shuf
+CSV par_shuf sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sql_joblog p_wrapper par_sql_joblog $CSV
+CSV par_sql_joblog ### should only give a single --joblog heading
+CSV par_sql_joblog ### --sqlmaster/--sqlworker
+CSV par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+CSV par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+CSV par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+CSV par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+CSV par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+CSV par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+CSV par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+CSV par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+CSV par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+CSV par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+CSV par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+CSV par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+CSV par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+CSV par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+CSV par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+CSV par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+CSV par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+CSV par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+CSV par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+CSV par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+CSV par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+CSV par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+CSV par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+CSV par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+CSV par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+CSV par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+CSV par_sql_joblog 1 a
+CSV par_sql_joblog 1 b
+CSV par_sql_joblog 1 c
+CSV par_sql_joblog 1 d
+CSV par_sql_joblog 1 e
+CSV par_sql_joblog 2 a
+CSV par_sql_joblog 2 b
+CSV par_sql_joblog 2 c
+CSV par_sql_joblog 2 d
+CSV par_sql_joblog 2 e
+CSV par_sql_joblog 3 a
+CSV par_sql_joblog 3 b
+CSV par_sql_joblog 3 c
+CSV par_sql_joblog 3 d
+CSV par_sql_joblog 3 e
+CSV par_sql_joblog 4 a
+CSV par_sql_joblog 4 b
+CSV par_sql_joblog 4 c
+CSV par_sql_joblog 4 d
+CSV par_sql_joblog 4 e
+CSV par_sql_joblog 5 a
+CSV par_sql_joblog 5 b
+CSV par_sql_joblog 5 c
+CSV par_sql_joblog 5 d
+CSV par_sql_joblog 5 e
+CSV par_sql_joblog ### --sqlandworker
+CSV par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+CSV par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+CSV par_sql_joblog 1 a
+CSV par_sql_joblog 1 b
+CSV par_sql_joblog 1 c
+CSV par_sql_joblog 1 d
+CSV par_sql_joblog 1 e
+CSV par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+CSV par_sql_joblog 2 a
+CSV par_sql_joblog 2 b
+CSV par_sql_joblog 2 c
+CSV par_sql_joblog 2 d
+CSV par_sql_joblog 2 e
+CSV par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+CSV par_sql_joblog 3 a
+CSV par_sql_joblog 3 b
+CSV par_sql_joblog 3 c
+CSV par_sql_joblog 3 d
+CSV par_sql_joblog 3 e
+CSV par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+CSV par_sql_joblog 4 a
+CSV par_sql_joblog 4 b
+CSV par_sql_joblog 4 c
+CSV par_sql_joblog 4 d
+CSV par_sql_joblog 4 e
+CSV par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+CSV par_sql_joblog 5 a
+CSV par_sql_joblog 5 b
+CSV par_sql_joblog 5 c
+CSV par_sql_joblog 5 d
+CSV par_sql_joblog 5 e
+CSV par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+CSV par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+CSV par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+CSV par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+CSV par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+CSV par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+CSV par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+CSV par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+CSV par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+CSV par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+CSV par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+CSV par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+CSV par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+CSV par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+CSV par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+CSV par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+CSV par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+CSV par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+CSV par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+CSV par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+CSV par_sql_joblog Exit=0
+CSV par_sql_joblog Exit=0
+CSV par_sql_joblog Error:
+CSV par_sql_joblog csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sql_joblog
+CSV par_sql_joblog sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker p_wrapper par_sqlandworker $CSV
+CSV par_sqlandworker Exit=0
+CSV par_sqlandworker Exit=0
+CSV par_sqlandworker Error:
+CSV par_sqlandworker csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker
+CSV par_sqlandworker sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $CSV
+CSV par_sqlandworker_compress_linebuffer_tag Exit=0
+CSV par_sqlandworker_compress_linebuffer_tag Exit=0
+CSV par_sqlandworker_compress_linebuffer_tag Error:
+CSV par_sqlandworker_compress_linebuffer_tag csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_compress_linebuffer_tag
+CSV par_sqlandworker_compress_linebuffer_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $CSV
+CSV par_sqlandworker_linebuffer Exit=0
+CSV par_sqlandworker_linebuffer Exit=0
+CSV par_sqlandworker_linebuffer Error:
+CSV par_sqlandworker_linebuffer csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_linebuffer
+CSV par_sqlandworker_linebuffer sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $CSV
+CSV par_sqlandworker_linebuffer_tag Exit=0
+CSV par_sqlandworker_linebuffer_tag Exit=0
+CSV par_sqlandworker_linebuffer_tag Error:
+CSV par_sqlandworker_linebuffer_tag csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_linebuffer_tag
+CSV par_sqlandworker_linebuffer_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_lo p_wrapper par_sqlandworker_lo $CSV
+CSV par_sqlandworker_lo Exit=0
+CSV par_sqlandworker_lo Exit=0
+CSV par_sqlandworker_lo Error:
+CSV par_sqlandworker_lo csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_lo
+CSV par_sqlandworker_lo sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_results p_wrapper par_sqlandworker_results $CSV
+CSV par_sqlandworker_results Exit=0
+CSV par_sqlandworker_results Exit=0
+CSV par_sqlandworker_results Error:
+CSV par_sqlandworker_results csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_results
+CSV par_sqlandworker_results sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_tag p_wrapper par_sqlandworker_tag $CSV
+CSV par_sqlandworker_tag Exit=0
+CSV par_sqlandworker_tag Exit=0
+CSV par_sqlandworker_tag Error:
+CSV par_sqlandworker_tag csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_tag
+CSV par_sqlandworker_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $CSV
+CSV par_sqlandworker_total_jobs Exit=0
+CSV par_sqlandworker_total_jobs Exit=0
+CSV par_sqlandworker_total_jobs Error:
+CSV par_sqlandworker_total_jobs csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_total_jobs
+CSV par_sqlandworker_total_jobs sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+CSV par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $CSV
+CSV par_sqlandworker_unbuffer Exit=0
+CSV par_sqlandworker_unbuffer Exit=0
+CSV par_sqlandworker_unbuffer Error:
+CSV par_sqlandworker_unbuffer csv:///%2Frun%2Fshm is not a valid DBURL
+CSV par_sqlandworker_unbuffer
+CSV par_sqlandworker_unbuffer sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
+INFLUX do_dburl INFLUX
+INFLUX par_append p_wrapper par_append $INFLUX
+INFLUX par_append Exit=255
+INFLUX par_append Exit=0
+INFLUX par_append ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_append parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_append parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_append parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_append error parsing query: only ORDER BY time supported at this time
+INFLUX par_empty p_wrapper par_empty $INFLUX
+INFLUX par_empty Do nothing: TBL99999 does not exist because it is not created
+INFLUX par_empty Exit=0
+INFLUX par_empty Exit=0
+INFLUX par_empty ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_empty error parsing query: only ORDER BY time supported at this time
+INFLUX par_no_table p_wrapper par_no_table $INFLUX
+INFLUX par_no_table bug #50018: --dburl without table dies
+INFLUX par_no_table 255
+INFLUX par_no_table 255
+INFLUX par_no_table 255
+INFLUX par_no_table Exit=255
+INFLUX par_no_table Exit=0
+INFLUX par_no_table ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_no_table parallel: Error: influx:///parallel is not a valid DBURL
+INFLUX par_no_table parallel: Error: influx:///parallel is not a valid DBURL
+INFLUX par_no_table parallel: Error: influx:///parallel is not a valid DBURL
+INFLUX par_no_table parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_no_table error parsing query: only ORDER BY time supported at this time
+INFLUX par_shuf p_wrapper par_shuf $INFLUX
+INFLUX par_shuf Exit=0
+INFLUX par_shuf Exit=0
+INFLUX par_shuf ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf cat: '/tmp/parallel-bug49791-25d/1/*/*/*/stdout': No such file or directory
+INFLUX par_shuf error parsing query: only ORDER BY time supported at this time
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_shuf error parsing query: only ORDER BY time supported at this time
+INFLUX par_shuf error parsing query: only ORDER BY time supported at this time
+INFLUX par_sql_joblog p_wrapper par_sql_joblog $INFLUX
+INFLUX par_sql_joblog ### should only give a single --joblog heading
+INFLUX par_sql_joblog ### --sqlmaster/--sqlworker
+INFLUX par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+INFLUX par_sql_joblog ### --sqlandworker
+INFLUX par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+INFLUX par_sql_joblog Exit=0
+INFLUX par_sql_joblog Exit=0
+INFLUX par_sql_joblog ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sql_joblog parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sql_joblog parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sql_joblog parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sql_joblog error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker p_wrapper par_sqlandworker $INFLUX
+INFLUX par_sqlandworker Exit=255
+INFLUX par_sqlandworker Exit=0
+INFLUX par_sqlandworker ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $INFLUX
+INFLUX par_sqlandworker_compress_linebuffer_tag Exit=255
+INFLUX par_sqlandworker_compress_linebuffer_tag Exit=0
+INFLUX par_sqlandworker_compress_linebuffer_tag ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_compress_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_compress_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_compress_linebuffer_tag error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $INFLUX
+INFLUX par_sqlandworker_linebuffer Exit=255
+INFLUX par_sqlandworker_linebuffer Exit=0
+INFLUX par_sqlandworker_linebuffer ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_linebuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_linebuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_linebuffer error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $INFLUX
+INFLUX par_sqlandworker_linebuffer_tag Exit=255
+INFLUX par_sqlandworker_linebuffer_tag Exit=0
+INFLUX par_sqlandworker_linebuffer_tag ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_linebuffer_tag error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_lo p_wrapper par_sqlandworker_lo $INFLUX
+INFLUX par_sqlandworker_lo Exit=255
+INFLUX par_sqlandworker_lo Exit=0
+INFLUX par_sqlandworker_lo ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_lo parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_lo parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_lo error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_results p_wrapper par_sqlandworker_results $INFLUX
+INFLUX par_sqlandworker_results Exit=255
+INFLUX par_sqlandworker_results Exit=0
+INFLUX par_sqlandworker_results ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_results parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_results parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_results error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_tag p_wrapper par_sqlandworker_tag $INFLUX
+INFLUX par_sqlandworker_tag Exit=255
+INFLUX par_sqlandworker_tag Exit=0
+INFLUX par_sqlandworker_tag ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_tag error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $INFLUX
+INFLUX par_sqlandworker_total_jobs Exit=255
+INFLUX par_sqlandworker_total_jobs Exit=0
+INFLUX par_sqlandworker_total_jobs ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_total_jobs parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_total_jobs parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_total_jobs error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $INFLUX
+INFLUX par_sqlandworker_unbuffer Exit=255
+INFLUX par_sqlandworker_unbuffer Exit=0
+INFLUX par_sqlandworker_unbuffer ERR: error parsing query: only ORDER BY time supported at this time
+INFLUX par_sqlandworker_unbuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_unbuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL
+INFLUX par_sqlandworker_unbuffer error parsing query: only ORDER BY time supported at this time
+MYSQL do_dburl MYSQL
+MYSQL par_append p_wrapper par_append $MYSQL
+MYSQL par_append Exit=0
+MYSQL par_append Exit=0
+MYSQL par_append Host Command V1 V2 Stdout Stderr
+MYSQL par_append hostname sleep .3;echo 1 a 1 a 1 a\n
+MYSQL par_append hostname sleep .3;echo 1 b 1 b 1 b\n
+MYSQL par_append hostname sleep .3;echo 1 c 1 c 1 c\n
+MYSQL par_append hostname sleep .3;echo 1 d 1 d 1 d\n
+MYSQL par_append hostname sleep .3;echo 1 e 1 e 1 e\n
+MYSQL par_append hostname sleep .3;echo 2 a 2 a 2 a\n
+MYSQL par_append hostname sleep .3;echo 2 b 2 b 2 b\n
+MYSQL par_append hostname sleep .3;echo 2 c 2 c 2 c\n
+MYSQL par_append hostname sleep .3;echo 2 d 2 d 2 d\n
+MYSQL par_append hostname sleep .3;echo 2 e 2 e 2 e\n
+MYSQL par_append hostname sleep .3;echo 3 a 3 a 3 a\n
+MYSQL par_append hostname sleep .3;echo 3 b 3 b 3 b\n
+MYSQL par_append hostname sleep .3;echo 3 c 3 c 3 c\n
+MYSQL par_append hostname sleep .3;echo 3 d 3 d 3 d\n
+MYSQL par_append hostname sleep .3;echo 3 e 3 e 3 e\n
+MYSQL par_append hostname sleep .3;echo 4 a 4 a 4 a\n
+MYSQL par_append hostname sleep .3;echo 4 b 4 b 4 b\n
+MYSQL par_append hostname sleep .3;echo 4 c 4 c 4 c\n
+MYSQL par_append hostname sleep .3;echo 4 d 4 d 4 d\n
+MYSQL par_append hostname sleep .3;echo 4 e 4 e 4 e\n
+MYSQL par_append hostname sleep .3;echo 5 a 5 a 5 a\n
+MYSQL par_append hostname sleep .3;echo 5 b 5 b 5 b\n
+MYSQL par_append hostname sleep .3;echo 5 c 5 c 5 c\n
+MYSQL par_append hostname sleep .3;echo 5 d 5 d 5 d\n
+MYSQL par_append hostname sleep .3;echo 5 e 5 e 5 e\n
+MYSQL par_append hostname sleep .3;echo 11 A 11 A 11 A\n
+MYSQL par_append hostname sleep .3;echo 11 B 11 B 11 B\n
+MYSQL par_append hostname sleep .3;echo 11 C 11 C 11 C\n
+MYSQL par_append hostname sleep .3;echo 11 D 11 D 11 D\n
+MYSQL par_append hostname sleep .3;echo 11 E 11 E 11 E\n
+MYSQL par_append hostname sleep .3;echo 12 A 12 A 12 A\n
+MYSQL par_append hostname sleep .3;echo 12 B 12 B 12 B\n
+MYSQL par_append hostname sleep .3;echo 12 C 12 C 12 C\n
+MYSQL par_append hostname sleep .3;echo 12 D 12 D 12 D\n
+MYSQL par_append hostname sleep .3;echo 12 E 12 E 12 E\n
+MYSQL par_append hostname sleep .3;echo 13 A 13 A 13 A\n
+MYSQL par_append hostname sleep .3;echo 13 B 13 B 13 B\n
+MYSQL par_append hostname sleep .3;echo 13 C 13 C 13 C\n
+MYSQL par_append hostname sleep .3;echo 13 D 13 D 13 D\n
+MYSQL par_append hostname sleep .3;echo 13 E 13 E 13 E\n
+MYSQL par_append hostname sleep .3;echo 14 A 14 A 14 A\n
+MYSQL par_append hostname sleep .3;echo 14 B 14 B 14 B\n
+MYSQL par_append hostname sleep .3;echo 14 C 14 C 14 C\n
+MYSQL par_append hostname sleep .3;echo 14 D 14 D 14 D\n
+MYSQL par_append hostname sleep .3;echo 14 E 14 E 14 E\n
+MYSQL par_append hostname sleep .3;echo 15 A 15 A 15 A\n
+MYSQL par_append hostname sleep .3;echo 15 B 15 B 15 B\n
+MYSQL par_append hostname sleep .3;echo 15 C 15 C 15 C\n
+MYSQL par_append hostname sleep .3;echo 15 D 15 D 15 D\n
+MYSQL par_append hostname sleep .3;echo 15 E 15 E 15 E\n
+MYSQL par_empty p_wrapper par_empty $MYSQL
+MYSQL par_empty Do nothing: TBL99999 does not exist because it is not created
+MYSQL par_empty Exit=0
+MYSQL par_empty Exit=0
+MYSQL par_empty ERROR 1146 (42S02) at line 1: Table 'tange.TBL99999' doesn't exist
+MYSQL par_no_table p_wrapper par_no_table $MYSQL
+MYSQL par_no_table bug #50018: --dburl without table dies
+MYSQL par_no_table 255
+MYSQL par_no_table 255
+MYSQL par_no_table 255
+MYSQL par_no_table Exit=0
+MYSQL par_no_table Exit=0
+MYSQL par_no_table Host Command V1 V2 Stdout Stderr
+MYSQL par_no_table hostname true dummy dummy dummy dummy
+MYSQL par_no_table parallel: Error: The DBURL (mysql://tange:tange@localhost/tange) must contain a table.
+MYSQL par_no_table parallel: Error: The DBURL (mysql://tange:tange@localhost/tange) must contain a table.
+MYSQL par_no_table parallel: Error: The DBURL (mysql://tange:tange@localhost/tange) must contain a table.
+MYSQL par_shuf p_wrapper par_shuf $MYSQL
+MYSQL par_shuf 1 a
+MYSQL par_shuf 1 b
+MYSQL par_shuf 1 c
+MYSQL par_shuf 1 d
+MYSQL par_shuf 1 e
+MYSQL par_shuf 2 a
+MYSQL par_shuf 2 b
+MYSQL par_shuf 2 c
+MYSQL par_shuf 2 d
+MYSQL par_shuf 2 e
+MYSQL par_shuf 3 a
+MYSQL par_shuf 3 b
+MYSQL par_shuf 3 c
+MYSQL par_shuf 3 d
+MYSQL par_shuf 3 e
+MYSQL par_shuf 4 a
+MYSQL par_shuf 4 b
+MYSQL par_shuf 4 c
+MYSQL par_shuf 4 d
+MYSQL par_shuf 4 e
+MYSQL par_shuf 5 a
+MYSQL par_shuf 5 b
+MYSQL par_shuf 5 c
+MYSQL par_shuf 5 d
+MYSQL par_shuf 5 e
+MYSQL par_shuf OK: Diff bigger than 2500 char
+MYSQL par_shuf Exit=0
+MYSQL par_shuf Exit=0
+MYSQL par_shuf Host Command V1 V2 Stdout Stderr
+MYSQL par_shuf hostname sleep .3;echo 1 a 1 a /tmp/parallel-bug49791-3c8/1/1/2/a/stdout /tmp/parallel-bug49791-3c8/1/1/2/a/stderr
+MYSQL par_shuf hostname sleep .3;echo 1 b 1 b /tmp/parallel-bug49791-3c8/1/1/2/b/stdout /tmp/parallel-bug49791-3c8/1/1/2/b/stderr
+MYSQL par_shuf hostname sleep .3;echo 1 c 1 c /tmp/parallel-bug49791-3c8/1/1/2/c/stdout /tmp/parallel-bug49791-3c8/1/1/2/c/stderr
+MYSQL par_shuf hostname sleep .3;echo 1 d 1 d /tmp/parallel-bug49791-3c8/1/1/2/d/stdout /tmp/parallel-bug49791-3c8/1/1/2/d/stderr
+MYSQL par_shuf hostname sleep .3;echo 1 e 1 e /tmp/parallel-bug49791-3c8/1/1/2/e/stdout /tmp/parallel-bug49791-3c8/1/1/2/e/stderr
+MYSQL par_shuf hostname sleep .3;echo 2 a 2 a /tmp/parallel-bug49791-3c8/1/2/2/a/stdout /tmp/parallel-bug49791-3c8/1/2/2/a/stderr
+MYSQL par_shuf hostname sleep .3;echo 2 b 2 b /tmp/parallel-bug49791-3c8/1/2/2/b/stdout /tmp/parallel-bug49791-3c8/1/2/2/b/stderr
+MYSQL par_shuf hostname sleep .3;echo 2 c 2 c /tmp/parallel-bug49791-3c8/1/2/2/c/stdout /tmp/parallel-bug49791-3c8/1/2/2/c/stderr
+MYSQL par_shuf hostname sleep .3;echo 2 d 2 d /tmp/parallel-bug49791-3c8/1/2/2/d/stdout /tmp/parallel-bug49791-3c8/1/2/2/d/stderr
+MYSQL par_shuf hostname sleep .3;echo 2 e 2 e /tmp/parallel-bug49791-3c8/1/2/2/e/stdout /tmp/parallel-bug49791-3c8/1/2/2/e/stderr
+MYSQL par_shuf hostname sleep .3;echo 3 a 3 a /tmp/parallel-bug49791-3c8/1/3/2/a/stdout /tmp/parallel-bug49791-3c8/1/3/2/a/stderr
+MYSQL par_shuf hostname sleep .3;echo 3 b 3 b /tmp/parallel-bug49791-3c8/1/3/2/b/stdout /tmp/parallel-bug49791-3c8/1/3/2/b/stderr
+MYSQL par_shuf hostname sleep .3;echo 3 c 3 c /tmp/parallel-bug49791-3c8/1/3/2/c/stdout /tmp/parallel-bug49791-3c8/1/3/2/c/stderr
+MYSQL par_shuf hostname sleep .3;echo 3 d 3 d /tmp/parallel-bug49791-3c8/1/3/2/d/stdout /tmp/parallel-bug49791-3c8/1/3/2/d/stderr
+MYSQL par_shuf hostname sleep .3;echo 3 e 3 e /tmp/parallel-bug49791-3c8/1/3/2/e/stdout /tmp/parallel-bug49791-3c8/1/3/2/e/stderr
+MYSQL par_shuf hostname sleep .3;echo 4 a 4 a /tmp/parallel-bug49791-3c8/1/4/2/a/stdout /tmp/parallel-bug49791-3c8/1/4/2/a/stderr
+MYSQL par_shuf hostname sleep .3;echo 4 b 4 b /tmp/parallel-bug49791-3c8/1/4/2/b/stdout /tmp/parallel-bug49791-3c8/1/4/2/b/stderr
+MYSQL par_shuf hostname sleep .3;echo 4 c 4 c /tmp/parallel-bug49791-3c8/1/4/2/c/stdout /tmp/parallel-bug49791-3c8/1/4/2/c/stderr
+MYSQL par_shuf hostname sleep .3;echo 4 d 4 d /tmp/parallel-bug49791-3c8/1/4/2/d/stdout /tmp/parallel-bug49791-3c8/1/4/2/d/stderr
+MYSQL par_shuf hostname sleep .3;echo 4 e 4 e /tmp/parallel-bug49791-3c8/1/4/2/e/stdout /tmp/parallel-bug49791-3c8/1/4/2/e/stderr
+MYSQL par_shuf hostname sleep .3;echo 5 a 5 a /tmp/parallel-bug49791-3c8/1/5/2/a/stdout /tmp/parallel-bug49791-3c8/1/5/2/a/stderr
+MYSQL par_shuf hostname sleep .3;echo 5 b 5 b /tmp/parallel-bug49791-3c8/1/5/2/b/stdout /tmp/parallel-bug49791-3c8/1/5/2/b/stderr
+MYSQL par_shuf hostname sleep .3;echo 5 c 5 c /tmp/parallel-bug49791-3c8/1/5/2/c/stdout /tmp/parallel-bug49791-3c8/1/5/2/c/stderr
+MYSQL par_shuf hostname sleep .3;echo 5 d 5 d /tmp/parallel-bug49791-3c8/1/5/2/d/stdout /tmp/parallel-bug49791-3c8/1/5/2/d/stderr
+MYSQL par_shuf hostname sleep .3;echo 5 e 5 e /tmp/parallel-bug49791-3c8/1/5/2/e/stdout /tmp/parallel-bug49791-3c8/1/5/2/e/stderr
+MYSQL par_sql_joblog p_wrapper par_sql_joblog $MYSQL
+MYSQL par_sql_joblog ### should only give a single --joblog heading
+MYSQL par_sql_joblog ### --sqlmaster/--sqlworker
+MYSQL par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+MYSQL par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+MYSQL par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+MYSQL par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+MYSQL par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+MYSQL par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+MYSQL par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+MYSQL par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+MYSQL par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+MYSQL par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+MYSQL par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+MYSQL par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+MYSQL par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+MYSQL par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+MYSQL par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+MYSQL par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+MYSQL par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+MYSQL par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+MYSQL par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+MYSQL par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+MYSQL par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+MYSQL par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+MYSQL par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+MYSQL par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+MYSQL par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+MYSQL par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+MYSQL par_sql_joblog 1 a
+MYSQL par_sql_joblog 1 b
+MYSQL par_sql_joblog 1 c
+MYSQL par_sql_joblog 1 d
+MYSQL par_sql_joblog 1 e
+MYSQL par_sql_joblog 2 a
+MYSQL par_sql_joblog 2 b
+MYSQL par_sql_joblog 2 c
+MYSQL par_sql_joblog 2 d
+MYSQL par_sql_joblog 2 e
+MYSQL par_sql_joblog 3 a
+MYSQL par_sql_joblog 3 b
+MYSQL par_sql_joblog 3 c
+MYSQL par_sql_joblog 3 d
+MYSQL par_sql_joblog 3 e
+MYSQL par_sql_joblog 4 a
+MYSQL par_sql_joblog 4 b
+MYSQL par_sql_joblog 4 c
+MYSQL par_sql_joblog 4 d
+MYSQL par_sql_joblog 4 e
+MYSQL par_sql_joblog 5 a
+MYSQL par_sql_joblog 5 b
+MYSQL par_sql_joblog 5 c
+MYSQL par_sql_joblog 5 d
+MYSQL par_sql_joblog 5 e
+MYSQL par_sql_joblog ### --sqlandworker
+MYSQL par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+MYSQL par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+MYSQL par_sql_joblog 1 a
+MYSQL par_sql_joblog 1 b
+MYSQL par_sql_joblog 1 c
+MYSQL par_sql_joblog 1 d
+MYSQL par_sql_joblog 1 e
+MYSQL par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+MYSQL par_sql_joblog 2 a
+MYSQL par_sql_joblog 2 b
+MYSQL par_sql_joblog 2 c
+MYSQL par_sql_joblog 2 d
+MYSQL par_sql_joblog 2 e
+MYSQL par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+MYSQL par_sql_joblog 3 a
+MYSQL par_sql_joblog 3 b
+MYSQL par_sql_joblog 3 c
+MYSQL par_sql_joblog 3 d
+MYSQL par_sql_joblog 3 e
+MYSQL par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+MYSQL par_sql_joblog 4 a
+MYSQL par_sql_joblog 4 b
+MYSQL par_sql_joblog 4 c
+MYSQL par_sql_joblog 4 d
+MYSQL par_sql_joblog 4 e
+MYSQL par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+MYSQL par_sql_joblog 5 a
+MYSQL par_sql_joblog 5 b
+MYSQL par_sql_joblog 5 c
+MYSQL par_sql_joblog 5 d
+MYSQL par_sql_joblog 5 e
+MYSQL par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+MYSQL par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+MYSQL par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+MYSQL par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+MYSQL par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+MYSQL par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+MYSQL par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+MYSQL par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+MYSQL par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+MYSQL par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+MYSQL par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+MYSQL par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+MYSQL par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+MYSQL par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+MYSQL par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+MYSQL par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+MYSQL par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+MYSQL par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+MYSQL par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+MYSQL par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+MYSQL par_sql_joblog Exit=0
+MYSQL par_sql_joblog Exit=0
+MYSQL par_sql_joblog Host Command V1 V2 Stdout Stderr
+MYSQL par_sql_joblog hostname sleep .3;echo 1 a 1 a 1 a\n
+MYSQL par_sql_joblog hostname sleep .3;echo 1 b 1 b 1 b\n
+MYSQL par_sql_joblog hostname sleep .3;echo 1 c 1 c 1 c\n
+MYSQL par_sql_joblog hostname sleep .3;echo 1 d 1 d 1 d\n
+MYSQL par_sql_joblog hostname sleep .3;echo 1 e 1 e 1 e\n
+MYSQL par_sql_joblog hostname sleep .3;echo 2 a 2 a 2 a\n
+MYSQL par_sql_joblog hostname sleep .3;echo 2 b 2 b 2 b\n
+MYSQL par_sql_joblog hostname sleep .3;echo 2 c 2 c 2 c\n
+MYSQL par_sql_joblog hostname sleep .3;echo 2 d 2 d 2 d\n
+MYSQL par_sql_joblog hostname sleep .3;echo 2 e 2 e 2 e\n
+MYSQL par_sql_joblog hostname sleep .3;echo 3 a 3 a 3 a\n
+MYSQL par_sql_joblog hostname sleep .3;echo 3 b 3 b 3 b\n
+MYSQL par_sql_joblog hostname sleep .3;echo 3 c 3 c 3 c\n
+MYSQL par_sql_joblog hostname sleep .3;echo 3 d 3 d 3 d\n
+MYSQL par_sql_joblog hostname sleep .3;echo 3 e 3 e 3 e\n
+MYSQL par_sql_joblog hostname sleep .3;echo 4 a 4 a 4 a\n
+MYSQL par_sql_joblog hostname sleep .3;echo 4 b 4 b 4 b\n
+MYSQL par_sql_joblog hostname sleep .3;echo 4 c 4 c 4 c\n
+MYSQL par_sql_joblog hostname sleep .3;echo 4 d 4 d 4 d\n
+MYSQL par_sql_joblog hostname sleep .3;echo 4 e 4 e 4 e\n
+MYSQL par_sql_joblog hostname sleep .3;echo 5 a 5 a 5 a\n
+MYSQL par_sql_joblog hostname sleep .3;echo 5 b 5 b 5 b\n
+MYSQL par_sql_joblog hostname sleep .3;echo 5 c 5 c 5 c\n
+MYSQL par_sql_joblog hostname sleep .3;echo 5 d 5 d 5 d\n
+MYSQL par_sql_joblog hostname sleep .3;echo 5 e 5 e 5 e\n
+MYSQL par_sqlandworker p_wrapper par_sqlandworker $MYSQL
+MYSQL par_sqlandworker Exit=0
+MYSQL par_sqlandworker Exit=0
+MYSQL par_sqlandworker Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker hostname sleep .3;echo 1 a 1 a 1 a\n
+MYSQL par_sqlandworker hostname sleep .3;echo 1 b 1 b 1 b\n
+MYSQL par_sqlandworker hostname sleep .3;echo 1 c 1 c 1 c\n
+MYSQL par_sqlandworker hostname sleep .3;echo 1 d 1 d 1 d\n
+MYSQL par_sqlandworker hostname sleep .3;echo 1 e 1 e 1 e\n
+MYSQL par_sqlandworker hostname sleep .3;echo 2 a 2 a 2 a\n
+MYSQL par_sqlandworker hostname sleep .3;echo 2 b 2 b 2 b\n
+MYSQL par_sqlandworker hostname sleep .3;echo 2 c 2 c 2 c\n
+MYSQL par_sqlandworker hostname sleep .3;echo 2 d 2 d 2 d\n
+MYSQL par_sqlandworker hostname sleep .3;echo 2 e 2 e 2 e\n
+MYSQL par_sqlandworker hostname sleep .3;echo 3 a 3 a 3 a\n
+MYSQL par_sqlandworker hostname sleep .3;echo 3 b 3 b 3 b\n
+MYSQL par_sqlandworker hostname sleep .3;echo 3 c 3 c 3 c\n
+MYSQL par_sqlandworker hostname sleep .3;echo 3 d 3 d 3 d\n
+MYSQL par_sqlandworker hostname sleep .3;echo 3 e 3 e 3 e\n
+MYSQL par_sqlandworker hostname sleep .3;echo 4 a 4 a 4 a\n
+MYSQL par_sqlandworker hostname sleep .3;echo 4 b 4 b 4 b\n
+MYSQL par_sqlandworker hostname sleep .3;echo 4 c 4 c 4 c\n
+MYSQL par_sqlandworker hostname sleep .3;echo 4 d 4 d 4 d\n
+MYSQL par_sqlandworker hostname sleep .3;echo 4 e 4 e 4 e\n
+MYSQL par_sqlandworker hostname sleep .3;echo 5 a 5 a 5 a\n
+MYSQL par_sqlandworker hostname sleep .3;echo 5 b 5 b 5 b\n
+MYSQL par_sqlandworker hostname sleep .3;echo 5 c 5 c 5 c\n
+MYSQL par_sqlandworker hostname sleep .3;echo 5 d 5 d 5 d\n
+MYSQL par_sqlandworker hostname sleep .3;echo 5 e 5 e 5 e\n
+MYSQL par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $MYSQL
+MYSQL par_sqlandworker_compress_linebuffer_tag Exit=0
+MYSQL par_sqlandworker_compress_linebuffer_tag Exit=0
+MYSQL par_sqlandworker_compress_linebuffer_tag Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 1 a 1 a 1 a\t1 a\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 1 b 1 b 1 b\t1 b\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 1 c 1 c 1 c\t1 c\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 1 d 1 d 1 d\t1 d\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 1 e 1 e 1 e\t1 e\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 2 a 2 a 2 a\t2 a\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 2 b 2 b 2 b\t2 b\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 2 c 2 c 2 c\t2 c\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 2 d 2 d 2 d\t2 d\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 2 e 2 e 2 e\t2 e\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 3 a 3 a 3 a\t3 a\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 3 b 3 b 3 b\t3 b\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 3 c 3 c 3 c\t3 c\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 3 d 3 d 3 d\t3 d\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 3 e 3 e 3 e\t3 e\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 4 a 4 a 4 a\t4 a\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 4 b 4 b 4 b\t4 b\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 4 c 4 c 4 c\t4 c\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 4 d 4 d 4 d\t4 d\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 4 e 4 e 4 e\t4 e\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 5 a 5 a 5 a\t5 a\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 5 b 5 b 5 b\t5 b\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 5 c 5 c 5 c\t5 c\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 5 d 5 d 5 d\t5 d\n
+MYSQL par_sqlandworker_compress_linebuffer_tag hostname sleep .3;echo 5 e 5 e 5 e\t5 e\n
+MYSQL par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $MYSQL
+MYSQL par_sqlandworker_linebuffer Exit=0
+MYSQL par_sqlandworker_linebuffer Exit=0
+MYSQL par_sqlandworker_linebuffer Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 1 a 1 a 1 a\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 1 b 1 b 1 b\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 1 c 1 c 1 c\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 1 d 1 d 1 d\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 1 e 1 e 1 e\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 2 a 2 a 2 a\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 2 b 2 b 2 b\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 2 c 2 c 2 c\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 2 d 2 d 2 d\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 2 e 2 e 2 e\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 3 a 3 a 3 a\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 3 b 3 b 3 b\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 3 c 3 c 3 c\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 3 d 3 d 3 d\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 3 e 3 e 3 e\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 4 a 4 a 4 a\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 4 b 4 b 4 b\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 4 c 4 c 4 c\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 4 d 4 d 4 d\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 4 e 4 e 4 e\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 5 a 5 a 5 a\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 5 b 5 b 5 b\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 5 c 5 c 5 c\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 5 d 5 d 5 d\n
+MYSQL par_sqlandworker_linebuffer hostname sleep .3;echo 5 e 5 e 5 e\n
+MYSQL par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $MYSQL
+MYSQL par_sqlandworker_linebuffer_tag Exit=0
+MYSQL par_sqlandworker_linebuffer_tag Exit=0
+MYSQL par_sqlandworker_linebuffer_tag Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 1 a 1 a 1 a\t1 a\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 1 b 1 b 1 b\t1 b\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 1 c 1 c 1 c\t1 c\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 1 d 1 d 1 d\t1 d\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 1 e 1 e 1 e\t1 e\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 2 a 2 a 2 a\t2 a\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 2 b 2 b 2 b\t2 b\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 2 c 2 c 2 c\t2 c\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 2 d 2 d 2 d\t2 d\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 2 e 2 e 2 e\t2 e\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 3 a 3 a 3 a\t3 a\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 3 b 3 b 3 b\t3 b\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 3 c 3 c 3 c\t3 c\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 3 d 3 d 3 d\t3 d\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 3 e 3 e 3 e\t3 e\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 4 a 4 a 4 a\t4 a\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 4 b 4 b 4 b\t4 b\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 4 c 4 c 4 c\t4 c\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 4 d 4 d 4 d\t4 d\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 4 e 4 e 4 e\t4 e\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 5 a 5 a 5 a\t5 a\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 5 b 5 b 5 b\t5 b\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 5 c 5 c 5 c\t5 c\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 5 d 5 d 5 d\t5 d\n
+MYSQL par_sqlandworker_linebuffer_tag hostname sleep .3;echo 5 e 5 e 5 e\t5 e\n
+MYSQL par_sqlandworker_lo p_wrapper par_sqlandworker_lo $MYSQL
+MYSQL par_sqlandworker_lo Exit=0
+MYSQL par_sqlandworker_lo Exit=0
+MYSQL par_sqlandworker_lo Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_lo lo sleep .3;echo 1 a 1 a 1 a\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 1 b 1 b 1 b\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 1 c 1 c 1 c\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 1 d 1 d 1 d\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 1 e 1 e 1 e\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 2 a 2 a 2 a\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 2 b 2 b 2 b\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 2 c 2 c 2 c\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 2 d 2 d 2 d\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 2 e 2 e 2 e\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 3 a 3 a 3 a\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 3 b 3 b 3 b\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 3 c 3 c 3 c\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 3 d 3 d 3 d\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 3 e 3 e 3 e\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 4 a 4 a 4 a\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 4 b 4 b 4 b\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 4 c 4 c 4 c\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 4 d 4 d 4 d\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 4 e 4 e 4 e\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 5 a 5 a 5 a\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 5 b 5 b 5 b\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 5 c 5 c 5 c\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 5 d 5 d 5 d\n
+MYSQL par_sqlandworker_lo lo sleep .3;echo 5 e 5 e 5 e\n
+MYSQL par_sqlandworker_results p_wrapper par_sqlandworker_results $MYSQL
+MYSQL par_sqlandworker_results Exit=0
+MYSQL par_sqlandworker_results Exit=0
+MYSQL par_sqlandworker_results Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 1 a 1 a /tmp/out--sql/1/1/2/a/stdout /tmp/out--sql/1/1/2/a/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 1 b 1 b /tmp/out--sql/1/1/2/b/stdout /tmp/out--sql/1/1/2/b/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 1 c 1 c /tmp/out--sql/1/1/2/c/stdout /tmp/out--sql/1/1/2/c/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 1 d 1 d /tmp/out--sql/1/1/2/d/stdout /tmp/out--sql/1/1/2/d/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 1 e 1 e /tmp/out--sql/1/1/2/e/stdout /tmp/out--sql/1/1/2/e/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 2 a 2 a /tmp/out--sql/1/2/2/a/stdout /tmp/out--sql/1/2/2/a/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 2 b 2 b /tmp/out--sql/1/2/2/b/stdout /tmp/out--sql/1/2/2/b/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 2 c 2 c /tmp/out--sql/1/2/2/c/stdout /tmp/out--sql/1/2/2/c/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 2 d 2 d /tmp/out--sql/1/2/2/d/stdout /tmp/out--sql/1/2/2/d/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 2 e 2 e /tmp/out--sql/1/2/2/e/stdout /tmp/out--sql/1/2/2/e/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 3 a 3 a /tmp/out--sql/1/3/2/a/stdout /tmp/out--sql/1/3/2/a/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 3 b 3 b /tmp/out--sql/1/3/2/b/stdout /tmp/out--sql/1/3/2/b/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 3 c 3 c /tmp/out--sql/1/3/2/c/stdout /tmp/out--sql/1/3/2/c/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 3 d 3 d /tmp/out--sql/1/3/2/d/stdout /tmp/out--sql/1/3/2/d/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 3 e 3 e /tmp/out--sql/1/3/2/e/stdout /tmp/out--sql/1/3/2/e/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 4 a 4 a /tmp/out--sql/1/4/2/a/stdout /tmp/out--sql/1/4/2/a/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 4 b 4 b /tmp/out--sql/1/4/2/b/stdout /tmp/out--sql/1/4/2/b/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 4 c 4 c /tmp/out--sql/1/4/2/c/stdout /tmp/out--sql/1/4/2/c/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 4 d 4 d /tmp/out--sql/1/4/2/d/stdout /tmp/out--sql/1/4/2/d/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 4 e 4 e /tmp/out--sql/1/4/2/e/stdout /tmp/out--sql/1/4/2/e/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 5 a 5 a /tmp/out--sql/1/5/2/a/stdout /tmp/out--sql/1/5/2/a/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 5 b 5 b /tmp/out--sql/1/5/2/b/stdout /tmp/out--sql/1/5/2/b/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr
+MYSQL par_sqlandworker_results hostname sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr
+MYSQL par_sqlandworker_tag p_wrapper par_sqlandworker_tag $MYSQL
+MYSQL par_sqlandworker_tag Exit=0
+MYSQL par_sqlandworker_tag Exit=0
+MYSQL par_sqlandworker_tag Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 1 a 1 a 1 a\t1 a\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 1 b 1 b 1 b\t1 b\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 1 c 1 c 1 c\t1 c\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 1 d 1 d 1 d\t1 d\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 1 e 1 e 1 e\t1 e\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 2 a 2 a 2 a\t2 a\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 2 b 2 b 2 b\t2 b\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 2 c 2 c 2 c\t2 c\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 2 d 2 d 2 d\t2 d\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 2 e 2 e 2 e\t2 e\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 3 a 3 a 3 a\t3 a\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 3 b 3 b 3 b\t3 b\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 3 c 3 c 3 c\t3 c\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 3 d 3 d 3 d\t3 d\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 3 e 3 e 3 e\t3 e\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 4 a 4 a 4 a\t4 a\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 4 b 4 b 4 b\t4 b\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 4 c 4 c 4 c\t4 c\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 4 d 4 d 4 d\t4 d\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 4 e 4 e 4 e\t4 e\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 5 a 5 a 5 a\t5 a\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 5 b 5 b 5 b\t5 b\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 5 c 5 c 5 c\t5 c\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 5 d 5 d 5 d\t5 d\n
+MYSQL par_sqlandworker_tag hostname sleep .3;echo 5 e 5 e 5 e\t5 e\n
+MYSQL par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $MYSQL
+MYSQL par_sqlandworker_total_jobs Exit=0
+MYSQL par_sqlandworker_total_jobs Exit=0
+MYSQL par_sqlandworker_total_jobs Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_total_jobs hostname echo 1 of 25; sleep .3;echo 1 a 1 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 2 of 25; sleep .3;echo 1 b 2 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 3 of 25; sleep .3;echo 1 c 3 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 4 of 25; sleep .3;echo 1 d 4 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 5 of 25; sleep .3;echo 1 e 5 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 6 of 25; sleep .3;echo 2 a 6 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 7 of 25; sleep .3;echo 2 b 7 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 8 of 25; sleep .3;echo 2 c 8 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 9 of 25; sleep .3;echo 2 d 9 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 10 of 25; sleep .3;echo 2 e 10 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 11 of 25; sleep .3;echo 3 a 11 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 12 of 25; sleep .3;echo 3 b 12 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 13 of 25; sleep .3;echo 3 c 13 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 14 of 25; sleep .3;echo 3 d 14 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 15 of 25; sleep .3;echo 3 e 15 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 16 of 25; sleep .3;echo 4 a 16 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 17 of 25; sleep .3;echo 4 b 17 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 18 of 25; sleep .3;echo 4 c 18 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 19 of 25; sleep .3;echo 4 d 19 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 20 of 25; sleep .3;echo 4 e 20 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 21 of 25; sleep .3;echo 5 a 21 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 22 of 25; sleep .3;echo 5 b 22 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 23 of 25; sleep .3;echo 5 c 23 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 24 of 25; sleep .3;echo 5 d 24 of 25\n\n
+MYSQL par_sqlandworker_total_jobs hostname echo 25 of 25; sleep .3;echo 5 e 25 of 25\n\n
+MYSQL par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $MYSQL
+MYSQL par_sqlandworker_unbuffer Exit=0
+MYSQL par_sqlandworker_unbuffer Exit=0
+MYSQL par_sqlandworker_unbuffer Host Command V1 V2 Stdout Stderr
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 1 a 1 a
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 1 b 1 b
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 1 c 1 c
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 1 d 1 d
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 1 e 1 e
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 2 a 2 a
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 2 b 2 b
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 2 c 2 c
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 2 d 2 d
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 2 e 2 e
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 3 a 3 a
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 3 b 3 b
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 3 c 3 c
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 3 d 3 d
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 3 e 3 e
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 4 a 4 a
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 4 b 4 b
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 4 c 4 c
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 4 d 4 d
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 4 e 4 e
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 5 a 5 a
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 5 b 5 b
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 5 c 5 c
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 5 d 5 d
+MYSQL par_sqlandworker_unbuffer hostname sleep .3;echo 5 e 5 e
+PG do_dburl PG
+PG par_append p_wrapper par_append $PG
+PG par_append Exit=0
+PG par_append Exit=0
+PG par_append host| command | v1 | v2 | stdout | stderr
+PG par_append hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 11 A | 11 | A | 11 A +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 11 B | 11 | B | 11 B +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 11 C | 11 | C | 11 C +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 11 D | 11 | D | 11 D +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 11 E | 11 | E | 11 E +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 12 A | 12 | A | 12 A +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 12 B | 12 | B | 12 B +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 12 C | 12 | C | 12 C +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 12 D | 12 | D | 12 D +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 12 E | 12 | E | 12 E +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 13 A | 13 | A | 13 A +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 13 B | 13 | B | 13 B +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 13 C | 13 | C | 13 C +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 13 D | 13 | D | 13 D +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 13 E | 13 | E | 13 E +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 14 A | 14 | A | 14 A +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 14 B | 14 | B | 14 B +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 14 C | 14 | C | 14 C +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 14 D | 14 | D | 14 D +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 14 E | 14 | E | 14 E +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 15 A | 15 | A | 15 A +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 15 B | 15 | B | 15 B +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 15 C | 15 | C | 15 C +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 15 D | 15 | D | 15 D +|
+PG par_append | | | | |
+PG par_append hostname| sleep .3;echo 15 E | 15 | E | 15 E +|
+PG par_append | | | | |
+PG par_append (50 rows)
+PG par_append
+PG par_empty p_wrapper par_empty $PG
+PG par_empty Do nothing: TBL99999 does not exist because it is not created
+PG par_empty Exit=0
+PG par_empty Exit=0
+PG par_empty ERROR: relation "TBL99999" does not exist
+PG par_empty LINE 1: select Host,Command,V1,V2,Stdout,Stderr from TBL99999 order
+PG par_empty ^
+PG par_no_table p_wrapper par_no_table $PG
+PG par_no_table bug #50018: --dburl without table dies
+PG par_no_table 255
+PG par_no_table 255
+PG par_no_table 255
+PG par_no_table Exit=0
+PG par_no_table Exit=0
+PG par_no_table host| command | v1 | v2 | stdout | stderr
+PG par_no_table hostname| true dummy dummy | dummy | dummy | |
+PG par_no_table (1 row)
+PG par_no_table
+PG par_no_table parallel: Error: The DBURL (pg://tange:tange@localhost/tange) must contain a table.
+PG par_no_table parallel: Error: The DBURL (pg://tange:tange@localhost/tange) must contain a table.
+PG par_no_table parallel: Error: The DBURL (pg://tange:tange@localhost/tange) must contain a table.
+PG par_shuf p_wrapper par_shuf $PG
+PG par_shuf 1 a
+PG par_shuf 1 b
+PG par_shuf 1 c
+PG par_shuf 1 d
+PG par_shuf 1 e
+PG par_shuf 2 a
+PG par_shuf 2 b
+PG par_shuf 2 c
+PG par_shuf 2 d
+PG par_shuf 2 e
+PG par_shuf 3 a
+PG par_shuf 3 b
+PG par_shuf 3 c
+PG par_shuf 3 d
+PG par_shuf 3 e
+PG par_shuf 4 a
+PG par_shuf 4 b
+PG par_shuf 4 c
+PG par_shuf 4 d
+PG par_shuf 4 e
+PG par_shuf 5 a
+PG par_shuf 5 b
+PG par_shuf 5 c
+PG par_shuf 5 d
+PG par_shuf 5 e
+PG par_shuf OK: Diff bigger than 2500 char
+PG par_shuf Exit=0
+PG par_shuf Exit=0
+PG par_shuf host| command | v1 | v2 | stdout | stderr
+PG par_shuf hostname| sleep .3;echo 1 a | 1 | a | /tmp/parallel-bug49791-24a/1/1/2/a/stdout | /tmp/parallel-bug49791-24a/1/1/2/a/stderr
+PG par_shuf hostname| sleep .3;echo 1 b | 1 | b | /tmp/parallel-bug49791-24a/1/1/2/b/stdout | /tmp/parallel-bug49791-24a/1/1/2/b/stderr
+PG par_shuf hostname| sleep .3;echo 1 c | 1 | c | /tmp/parallel-bug49791-24a/1/1/2/c/stdout | /tmp/parallel-bug49791-24a/1/1/2/c/stderr
+PG par_shuf hostname| sleep .3;echo 1 d | 1 | d | /tmp/parallel-bug49791-24a/1/1/2/d/stdout | /tmp/parallel-bug49791-24a/1/1/2/d/stderr
+PG par_shuf hostname| sleep .3;echo 1 e | 1 | e | /tmp/parallel-bug49791-24a/1/1/2/e/stdout | /tmp/parallel-bug49791-24a/1/1/2/e/stderr
+PG par_shuf hostname| sleep .3;echo 2 a | 2 | a | /tmp/parallel-bug49791-24a/1/2/2/a/stdout | /tmp/parallel-bug49791-24a/1/2/2/a/stderr
+PG par_shuf hostname| sleep .3;echo 2 b | 2 | b | /tmp/parallel-bug49791-24a/1/2/2/b/stdout | /tmp/parallel-bug49791-24a/1/2/2/b/stderr
+PG par_shuf hostname| sleep .3;echo 2 c | 2 | c | /tmp/parallel-bug49791-24a/1/2/2/c/stdout | /tmp/parallel-bug49791-24a/1/2/2/c/stderr
+PG par_shuf hostname| sleep .3;echo 2 d | 2 | d | /tmp/parallel-bug49791-24a/1/2/2/d/stdout | /tmp/parallel-bug49791-24a/1/2/2/d/stderr
+PG par_shuf hostname| sleep .3;echo 2 e | 2 | e | /tmp/parallel-bug49791-24a/1/2/2/e/stdout | /tmp/parallel-bug49791-24a/1/2/2/e/stderr
+PG par_shuf hostname| sleep .3;echo 3 a | 3 | a | /tmp/parallel-bug49791-24a/1/3/2/a/stdout | /tmp/parallel-bug49791-24a/1/3/2/a/stderr
+PG par_shuf hostname| sleep .3;echo 3 b | 3 | b | /tmp/parallel-bug49791-24a/1/3/2/b/stdout | /tmp/parallel-bug49791-24a/1/3/2/b/stderr
+PG par_shuf hostname| sleep .3;echo 3 c | 3 | c | /tmp/parallel-bug49791-24a/1/3/2/c/stdout | /tmp/parallel-bug49791-24a/1/3/2/c/stderr
+PG par_shuf hostname| sleep .3;echo 3 d | 3 | d | /tmp/parallel-bug49791-24a/1/3/2/d/stdout | /tmp/parallel-bug49791-24a/1/3/2/d/stderr
+PG par_shuf hostname| sleep .3;echo 3 e | 3 | e | /tmp/parallel-bug49791-24a/1/3/2/e/stdout | /tmp/parallel-bug49791-24a/1/3/2/e/stderr
+PG par_shuf hostname| sleep .3;echo 4 a | 4 | a | /tmp/parallel-bug49791-24a/1/4/2/a/stdout | /tmp/parallel-bug49791-24a/1/4/2/a/stderr
+PG par_shuf hostname| sleep .3;echo 4 b | 4 | b | /tmp/parallel-bug49791-24a/1/4/2/b/stdout | /tmp/parallel-bug49791-24a/1/4/2/b/stderr
+PG par_shuf hostname| sleep .3;echo 4 c | 4 | c | /tmp/parallel-bug49791-24a/1/4/2/c/stdout | /tmp/parallel-bug49791-24a/1/4/2/c/stderr
+PG par_shuf hostname| sleep .3;echo 4 d | 4 | d | /tmp/parallel-bug49791-24a/1/4/2/d/stdout | /tmp/parallel-bug49791-24a/1/4/2/d/stderr
+PG par_shuf hostname| sleep .3;echo 4 e | 4 | e | /tmp/parallel-bug49791-24a/1/4/2/e/stdout | /tmp/parallel-bug49791-24a/1/4/2/e/stderr
+PG par_shuf hostname| sleep .3;echo 5 a | 5 | a | /tmp/parallel-bug49791-24a/1/5/2/a/stdout | /tmp/parallel-bug49791-24a/1/5/2/a/stderr
+PG par_shuf hostname| sleep .3;echo 5 b | 5 | b | /tmp/parallel-bug49791-24a/1/5/2/b/stdout | /tmp/parallel-bug49791-24a/1/5/2/b/stderr
+PG par_shuf hostname| sleep .3;echo 5 c | 5 | c | /tmp/parallel-bug49791-24a/1/5/2/c/stdout | /tmp/parallel-bug49791-24a/1/5/2/c/stderr
+PG par_shuf hostname| sleep .3;echo 5 d | 5 | d | /tmp/parallel-bug49791-24a/1/5/2/d/stdout | /tmp/parallel-bug49791-24a/1/5/2/d/stderr
+PG par_shuf hostname| sleep .3;echo 5 e | 5 | e | /tmp/parallel-bug49791-24a/1/5/2/e/stdout | /tmp/parallel-bug49791-24a/1/5/2/e/stderr
+PG par_shuf (25 rows)
+PG par_shuf
+PG par_sql_joblog p_wrapper par_sql_joblog $PG
+PG par_sql_joblog ### should only give a single --joblog heading
+PG par_sql_joblog ### --sqlmaster/--sqlworker
+PG par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+PG par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+PG par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+PG par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+PG par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+PG par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+PG par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+PG par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+PG par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+PG par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+PG par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+PG par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+PG par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+PG par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+PG par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+PG par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+PG par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+PG par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+PG par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+PG par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+PG par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+PG par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+PG par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+PG par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+PG par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+PG par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+PG par_sql_joblog 1 a
+PG par_sql_joblog 1 b
+PG par_sql_joblog 1 c
+PG par_sql_joblog 1 d
+PG par_sql_joblog 1 e
+PG par_sql_joblog 2 a
+PG par_sql_joblog 2 b
+PG par_sql_joblog 2 c
+PG par_sql_joblog 2 d
+PG par_sql_joblog 2 e
+PG par_sql_joblog 3 a
+PG par_sql_joblog 3 b
+PG par_sql_joblog 3 c
+PG par_sql_joblog 3 d
+PG par_sql_joblog 3 e
+PG par_sql_joblog 4 a
+PG par_sql_joblog 4 b
+PG par_sql_joblog 4 c
+PG par_sql_joblog 4 d
+PG par_sql_joblog 4 e
+PG par_sql_joblog 5 a
+PG par_sql_joblog 5 b
+PG par_sql_joblog 5 c
+PG par_sql_joblog 5 d
+PG par_sql_joblog 5 e
+PG par_sql_joblog ### --sqlandworker
+PG par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+PG par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+PG par_sql_joblog 1 a
+PG par_sql_joblog 1 b
+PG par_sql_joblog 1 c
+PG par_sql_joblog 1 d
+PG par_sql_joblog 1 e
+PG par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+PG par_sql_joblog 2 a
+PG par_sql_joblog 2 b
+PG par_sql_joblog 2 c
+PG par_sql_joblog 2 d
+PG par_sql_joblog 2 e
+PG par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+PG par_sql_joblog 3 a
+PG par_sql_joblog 3 b
+PG par_sql_joblog 3 c
+PG par_sql_joblog 3 d
+PG par_sql_joblog 3 e
+PG par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+PG par_sql_joblog 4 a
+PG par_sql_joblog 4 b
+PG par_sql_joblog 4 c
+PG par_sql_joblog 4 d
+PG par_sql_joblog 4 e
+PG par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+PG par_sql_joblog 5 a
+PG par_sql_joblog 5 b
+PG par_sql_joblog 5 c
+PG par_sql_joblog 5 d
+PG par_sql_joblog 5 e
+PG par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+PG par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+PG par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+PG par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+PG par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+PG par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+PG par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+PG par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+PG par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+PG par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+PG par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+PG par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+PG par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+PG par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+PG par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+PG par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+PG par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+PG par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+PG par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+PG par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+PG par_sql_joblog Exit=0
+PG par_sql_joblog Exit=0
+PG par_sql_joblog host| command | v1 | v2 | stdout | stderr
+PG par_sql_joblog hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
+PG par_sql_joblog | | | | |
+PG par_sql_joblog (25 rows)
+PG par_sql_joblog
+PG par_sqlandworker p_wrapper par_sqlandworker $PG
+PG par_sqlandworker Exit=0
+PG par_sqlandworker Exit=0
+PG par_sqlandworker host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
+PG par_sqlandworker | | | | |
+PG par_sqlandworker (25 rows)
+PG par_sqlandworker
+PG par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $PG
+PG par_sqlandworker_compress_linebuffer_tag Exit=0
+PG par_sqlandworker_compress_linebuffer_tag Exit=0
+PG par_sqlandworker_compress_linebuffer_tag host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag hostname| sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
+PG par_sqlandworker_compress_linebuffer_tag | | | | |
+PG par_sqlandworker_compress_linebuffer_tag (25 rows)
+PG par_sqlandworker_compress_linebuffer_tag
+PG par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $PG
+PG par_sqlandworker_linebuffer Exit=0
+PG par_sqlandworker_linebuffer Exit=0
+PG par_sqlandworker_linebuffer host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
+PG par_sqlandworker_linebuffer | | | | |
+PG par_sqlandworker_linebuffer (25 rows)
+PG par_sqlandworker_linebuffer
+PG par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $PG
+PG par_sqlandworker_linebuffer_tag Exit=0
+PG par_sqlandworker_linebuffer_tag Exit=0
+PG par_sqlandworker_linebuffer_tag host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag hostname| sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
+PG par_sqlandworker_linebuffer_tag | | | | |
+PG par_sqlandworker_linebuffer_tag (25 rows)
+PG par_sqlandworker_linebuffer_tag
+PG par_sqlandworker_lo p_wrapper par_sqlandworker_lo $PG
+PG par_sqlandworker_lo Exit=0
+PG par_sqlandworker_lo Exit=0
+PG par_sqlandworker_lo host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_lo lo | sleep .3;echo 1 a | 1 | a | 1 a +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 1 b | 1 | b | 1 b +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 1 c | 1 | c | 1 c +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 1 d | 1 | d | 1 d +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 1 e | 1 | e | 1 e +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 2 a | 2 | a | 2 a +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 2 b | 2 | b | 2 b +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 2 c | 2 | c | 2 c +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 2 d | 2 | d | 2 d +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 2 e | 2 | e | 2 e +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 3 a | 3 | a | 3 a +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 3 b | 3 | b | 3 b +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 3 c | 3 | c | 3 c +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 3 d | 3 | d | 3 d +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 3 e | 3 | e | 3 e +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 4 a | 4 | a | 4 a +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 4 b | 4 | b | 4 b +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 4 c | 4 | c | 4 c +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 4 d | 4 | d | 4 d +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 4 e | 4 | e | 4 e +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 5 a | 5 | a | 5 a +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 5 b | 5 | b | 5 b +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 5 c | 5 | c | 5 c +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 5 d | 5 | d | 5 d +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo lo | sleep .3;echo 5 e | 5 | e | 5 e +|
+PG par_sqlandworker_lo | | | | |
+PG par_sqlandworker_lo (25 rows)
+PG par_sqlandworker_lo
+PG par_sqlandworker_results p_wrapper par_sqlandworker_results $PG
+PG par_sqlandworker_results Exit=0
+PG par_sqlandworker_results Exit=0
+PG par_sqlandworker_results host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 1 a | 1 | a | /tmp/out--sql/1/1/2/a/stdout | /tmp/out--sql/1/1/2/a/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 1 b | 1 | b | /tmp/out--sql/1/1/2/b/stdout | /tmp/out--sql/1/1/2/b/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 1 c | 1 | c | /tmp/out--sql/1/1/2/c/stdout | /tmp/out--sql/1/1/2/c/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 1 d | 1 | d | /tmp/out--sql/1/1/2/d/stdout | /tmp/out--sql/1/1/2/d/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 1 e | 1 | e | /tmp/out--sql/1/1/2/e/stdout | /tmp/out--sql/1/1/2/e/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 2 a | 2 | a | /tmp/out--sql/1/2/2/a/stdout | /tmp/out--sql/1/2/2/a/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 2 b | 2 | b | /tmp/out--sql/1/2/2/b/stdout | /tmp/out--sql/1/2/2/b/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 2 c | 2 | c | /tmp/out--sql/1/2/2/c/stdout | /tmp/out--sql/1/2/2/c/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 2 d | 2 | d | /tmp/out--sql/1/2/2/d/stdout | /tmp/out--sql/1/2/2/d/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 2 e | 2 | e | /tmp/out--sql/1/2/2/e/stdout | /tmp/out--sql/1/2/2/e/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 3 a | 3 | a | /tmp/out--sql/1/3/2/a/stdout | /tmp/out--sql/1/3/2/a/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 3 b | 3 | b | /tmp/out--sql/1/3/2/b/stdout | /tmp/out--sql/1/3/2/b/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 3 c | 3 | c | /tmp/out--sql/1/3/2/c/stdout | /tmp/out--sql/1/3/2/c/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 3 d | 3 | d | /tmp/out--sql/1/3/2/d/stdout | /tmp/out--sql/1/3/2/d/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 3 e | 3 | e | /tmp/out--sql/1/3/2/e/stdout | /tmp/out--sql/1/3/2/e/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 4 a | 4 | a | /tmp/out--sql/1/4/2/a/stdout | /tmp/out--sql/1/4/2/a/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 4 b | 4 | b | /tmp/out--sql/1/4/2/b/stdout | /tmp/out--sql/1/4/2/b/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 4 c | 4 | c | /tmp/out--sql/1/4/2/c/stdout | /tmp/out--sql/1/4/2/c/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 4 d | 4 | d | /tmp/out--sql/1/4/2/d/stdout | /tmp/out--sql/1/4/2/d/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 4 e | 4 | e | /tmp/out--sql/1/4/2/e/stdout | /tmp/out--sql/1/4/2/e/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 5 a | 5 | a | /tmp/out--sql/1/5/2/a/stdout | /tmp/out--sql/1/5/2/a/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 5 b | 5 | b | /tmp/out--sql/1/5/2/b/stdout | /tmp/out--sql/1/5/2/b/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 5 c | 5 | c | /tmp/out--sql/1/5/2/c/stdout | /tmp/out--sql/1/5/2/c/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 5 d | 5 | d | /tmp/out--sql/1/5/2/d/stdout | /tmp/out--sql/1/5/2/d/stderr
+PG par_sqlandworker_results hostname| sleep .3;echo 5 e | 5 | e | /tmp/out--sql/1/5/2/e/stdout | /tmp/out--sql/1/5/2/e/stderr
+PG par_sqlandworker_results (25 rows)
+PG par_sqlandworker_results
+PG par_sqlandworker_tag p_wrapper par_sqlandworker_tag $PG
+PG par_sqlandworker_tag Exit=0
+PG par_sqlandworker_tag Exit=0
+PG par_sqlandworker_tag host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_tag hostname| sleep .3;echo 1 a | 1 | a | 1 a 1 a+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 1 b | 1 | b | 1 b 1 b+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 1 c | 1 | c | 1 c 1 c+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 1 d | 1 | d | 1 d 1 d+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 1 e | 1 | e | 1 e 1 e+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 2 a | 2 | a | 2 a 2 a+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 2 b | 2 | b | 2 b 2 b+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 2 c | 2 | c | 2 c 2 c+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 2 d | 2 | d | 2 d 2 d+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 2 e | 2 | e | 2 e 2 e+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 3 a | 3 | a | 3 a 3 a+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 3 b | 3 | b | 3 b 3 b+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 3 c | 3 | c | 3 c 3 c+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 3 d | 3 | d | 3 d 3 d+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 3 e | 3 | e | 3 e 3 e+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 4 a | 4 | a | 4 a 4 a+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 4 b | 4 | b | 4 b 4 b+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 4 c | 4 | c | 4 c 4 c+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 4 d | 4 | d | 4 d 4 d+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 4 e | 4 | e | 4 e 4 e+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 5 a | 5 | a | 5 a 5 a+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 5 b | 5 | b | 5 b 5 b+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 5 c | 5 | c | 5 c 5 c+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 5 d | 5 | d | 5 d 5 d+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag hostname| sleep .3;echo 5 e | 5 | e | 5 e 5 e+|
+PG par_sqlandworker_tag | | | | |
+PG par_sqlandworker_tag (25 rows)
+PG par_sqlandworker_tag
+PG par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $PG
+PG par_sqlandworker_total_jobs Exit=0
+PG par_sqlandworker_total_jobs Exit=0
+PG par_sqlandworker_total_jobs host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_total_jobs hostname| echo 1 of 25; sleep .3;echo | 1 | a | 1 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 2 of 25; sleep .3;echo | 1 | b | 2 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 3 of 25; sleep .3;echo | 1 | c | 3 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 4 of 25; sleep .3;echo | 1 | d | 4 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 5 of 25; sleep .3;echo | 1 | e | 5 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 6 of 25; sleep .3;echo | 2 | a | 6 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 7 of 25; sleep .3;echo | 2 | b | 7 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 8 of 25; sleep .3;echo | 2 | c | 8 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 9 of 25; sleep .3;echo | 2 | d | 9 of 25 +|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 10 of 25; sleep .3;echo | 2 | e | 10 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 11 of 25; sleep .3;echo | 3 | a | 11 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 12 of 25; sleep .3;echo | 3 | b | 12 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 13 of 25; sleep .3;echo | 3 | c | 13 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 14 of 25; sleep .3;echo | 3 | d | 14 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 15 of 25; sleep .3;echo | 3 | e | 15 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 16 of 25; sleep .3;echo | 4 | a | 16 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 17 of 25; sleep .3;echo | 4 | b | 17 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 18 of 25; sleep .3;echo | 4 | c | 18 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 19 of 25; sleep .3;echo | 4 | d | 19 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 20 of 25; sleep .3;echo | 4 | e | 20 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 21 of 25; sleep .3;echo | 5 | a | 21 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 22 of 25; sleep .3;echo | 5 | b | 22 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 23 of 25; sleep .3;echo | 5 | c | 23 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 24 of 25; sleep .3;echo | 5 | d | 24 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs hostname| echo 25 of 25; sleep .3;echo | 5 | e | 25 of 25+|
+PG par_sqlandworker_total_jobs | | | | +|
+PG par_sqlandworker_total_jobs | | | | |
+PG par_sqlandworker_total_jobs (25 rows)
+PG par_sqlandworker_total_jobs
+PG par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $PG
+PG par_sqlandworker_unbuffer Exit=0
+PG par_sqlandworker_unbuffer Exit=0
+PG par_sqlandworker_unbuffer host| command | v1 | v2 | stdout | stderr
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 1 a | 1 | a | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 1 b | 1 | b | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 1 c | 1 | c | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 1 d | 1 | d | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 1 e | 1 | e | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 2 a | 2 | a | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 2 b | 2 | b | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 2 c | 2 | c | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 2 d | 2 | d | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 2 e | 2 | e | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 3 a | 3 | a | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 3 b | 3 | b | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 3 c | 3 | c | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 3 d | 3 | d | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 3 e | 3 | e | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 4 a | 4 | a | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 4 b | 4 | b | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 4 c | 4 | c | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 4 d | 4 | d | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 4 e | 4 | e | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 5 a | 5 | a | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 5 b | 5 | b | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 5 c | 5 | c | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 5 d | 5 | d | |
+PG par_sqlandworker_unbuffer hostname| sleep .3;echo 5 e | 5 | e | |
+PG par_sqlandworker_unbuffer (25 rows)
+PG par_sqlandworker_unbuffer
+SQLITE do_dburl SQLITE
+SQLITE par_append p_wrapper par_append $SQLITE
+SQLITE par_append Exit=0
+SQLITE par_append Exit=0
+SQLITE par_append Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_append hostname|sleep .3;echo 1 a|1|a|1 a
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 1 b|1|b|1 b
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 1 c|1|c|1 c
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 1 d|1|d|1 d
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 1 e|1|e|1 e
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 2 a|2|a|2 a
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 2 b|2|b|2 b
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 2 c|2|c|2 c
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 2 d|2|d|2 d
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 2 e|2|e|2 e
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 3 a|3|a|3 a
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 3 b|3|b|3 b
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 3 c|3|c|3 c
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 3 d|3|d|3 d
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 3 e|3|e|3 e
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 4 a|4|a|4 a
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 4 b|4|b|4 b
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 4 c|4|c|4 c
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 4 d|4|d|4 d
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 4 e|4|e|4 e
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 5 a|5|a|5 a
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 5 b|5|b|5 b
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 5 c|5|c|5 c
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 5 d|5|d|5 d
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 5 e|5|e|5 e
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 11 A|11|A|11 A
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 11 B|11|B|11 B
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 11 C|11|C|11 C
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 11 D|11|D|11 D
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 11 E|11|E|11 E
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 12 A|12|A|12 A
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 12 B|12|B|12 B
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 12 C|12|C|12 C
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 12 D|12|D|12 D
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 12 E|12|E|12 E
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 13 A|13|A|13 A
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 13 B|13|B|13 B
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 13 C|13|C|13 C
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 13 D|13|D|13 D
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 13 E|13|E|13 E
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 14 A|14|A|14 A
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 14 B|14|B|14 B
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 14 C|14|C|14 C
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 14 D|14|D|14 D
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 14 E|14|E|14 E
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 15 A|15|A|15 A
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 15 B|15|B|15 B
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 15 C|15|C|15 C
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 15 D|15|D|15 D
+SQLITE par_append |
+SQLITE par_append hostname|sleep .3;echo 15 E|15|E|15 E
+SQLITE par_append |
+SQLITE par_empty p_wrapper par_empty $SQLITE
+SQLITE par_empty Do nothing: TBL99999 does not exist because it is not created
+SQLITE par_empty Exit=0
+SQLITE par_empty Exit=0
+SQLITE par_empty Error: near line 1: in prepare, no such table: TBL99999 (1)
+SQLITE par_no_table p_wrapper par_no_table $SQLITE
+SQLITE par_no_table bug #50018: --dburl without table dies
+SQLITE par_no_table 255
+SQLITE par_no_table 255
+SQLITE par_no_table 255
+SQLITE par_no_table Exit=0
+SQLITE par_no_table Exit=0
+SQLITE par_no_table Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_no_table hostname|true dummy dummy|dummy|dummy||
+SQLITE par_no_table parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table.
+SQLITE par_no_table parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table.
+SQLITE par_no_table parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table.
+SQLITE par_shuf p_wrapper par_shuf $SQLITE
+SQLITE par_shuf 1 a
+SQLITE par_shuf 1 b
+SQLITE par_shuf 1 c
+SQLITE par_shuf 1 d
+SQLITE par_shuf 1 e
+SQLITE par_shuf 2 a
+SQLITE par_shuf 2 b
+SQLITE par_shuf 2 c
+SQLITE par_shuf 2 d
+SQLITE par_shuf 2 e
+SQLITE par_shuf 3 a
+SQLITE par_shuf 3 b
+SQLITE par_shuf 3 c
+SQLITE par_shuf 3 d
+SQLITE par_shuf 3 e
+SQLITE par_shuf 4 a
+SQLITE par_shuf 4 b
+SQLITE par_shuf 4 c
+SQLITE par_shuf 4 d
+SQLITE par_shuf 4 e
+SQLITE par_shuf 5 a
+SQLITE par_shuf 5 b
+SQLITE par_shuf 5 c
+SQLITE par_shuf 5 d
+SQLITE par_shuf 5 e
+SQLITE par_shuf OK: Diff bigger than 2500 char
+SQLITE par_shuf Exit=0
+SQLITE par_shuf Exit=0
+SQLITE par_shuf Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_shuf hostname|sleep .3;echo 1 a|1|a|/tmp/parallel-bug49791-932/1/1/2/a/stdout|/tmp/parallel-bug49791-932/1/1/2/a/stderr
+SQLITE par_shuf hostname|sleep .3;echo 1 b|1|b|/tmp/parallel-bug49791-932/1/1/2/b/stdout|/tmp/parallel-bug49791-932/1/1/2/b/stderr
+SQLITE par_shuf hostname|sleep .3;echo 1 c|1|c|/tmp/parallel-bug49791-932/1/1/2/c/stdout|/tmp/parallel-bug49791-932/1/1/2/c/stderr
+SQLITE par_shuf hostname|sleep .3;echo 1 d|1|d|/tmp/parallel-bug49791-932/1/1/2/d/stdout|/tmp/parallel-bug49791-932/1/1/2/d/stderr
+SQLITE par_shuf hostname|sleep .3;echo 1 e|1|e|/tmp/parallel-bug49791-932/1/1/2/e/stdout|/tmp/parallel-bug49791-932/1/1/2/e/stderr
+SQLITE par_shuf hostname|sleep .3;echo 2 a|2|a|/tmp/parallel-bug49791-932/1/2/2/a/stdout|/tmp/parallel-bug49791-932/1/2/2/a/stderr
+SQLITE par_shuf hostname|sleep .3;echo 2 b|2|b|/tmp/parallel-bug49791-932/1/2/2/b/stdout|/tmp/parallel-bug49791-932/1/2/2/b/stderr
+SQLITE par_shuf hostname|sleep .3;echo 2 c|2|c|/tmp/parallel-bug49791-932/1/2/2/c/stdout|/tmp/parallel-bug49791-932/1/2/2/c/stderr
+SQLITE par_shuf hostname|sleep .3;echo 2 d|2|d|/tmp/parallel-bug49791-932/1/2/2/d/stdout|/tmp/parallel-bug49791-932/1/2/2/d/stderr
+SQLITE par_shuf hostname|sleep .3;echo 2 e|2|e|/tmp/parallel-bug49791-932/1/2/2/e/stdout|/tmp/parallel-bug49791-932/1/2/2/e/stderr
+SQLITE par_shuf hostname|sleep .3;echo 3 a|3|a|/tmp/parallel-bug49791-932/1/3/2/a/stdout|/tmp/parallel-bug49791-932/1/3/2/a/stderr
+SQLITE par_shuf hostname|sleep .3;echo 3 b|3|b|/tmp/parallel-bug49791-932/1/3/2/b/stdout|/tmp/parallel-bug49791-932/1/3/2/b/stderr
+SQLITE par_shuf hostname|sleep .3;echo 3 c|3|c|/tmp/parallel-bug49791-932/1/3/2/c/stdout|/tmp/parallel-bug49791-932/1/3/2/c/stderr
+SQLITE par_shuf hostname|sleep .3;echo 3 d|3|d|/tmp/parallel-bug49791-932/1/3/2/d/stdout|/tmp/parallel-bug49791-932/1/3/2/d/stderr
+SQLITE par_shuf hostname|sleep .3;echo 3 e|3|e|/tmp/parallel-bug49791-932/1/3/2/e/stdout|/tmp/parallel-bug49791-932/1/3/2/e/stderr
+SQLITE par_shuf hostname|sleep .3;echo 4 a|4|a|/tmp/parallel-bug49791-932/1/4/2/a/stdout|/tmp/parallel-bug49791-932/1/4/2/a/stderr
+SQLITE par_shuf hostname|sleep .3;echo 4 b|4|b|/tmp/parallel-bug49791-932/1/4/2/b/stdout|/tmp/parallel-bug49791-932/1/4/2/b/stderr
+SQLITE par_shuf hostname|sleep .3;echo 4 c|4|c|/tmp/parallel-bug49791-932/1/4/2/c/stdout|/tmp/parallel-bug49791-932/1/4/2/c/stderr
+SQLITE par_shuf hostname|sleep .3;echo 4 d|4|d|/tmp/parallel-bug49791-932/1/4/2/d/stdout|/tmp/parallel-bug49791-932/1/4/2/d/stderr
+SQLITE par_shuf hostname|sleep .3;echo 4 e|4|e|/tmp/parallel-bug49791-932/1/4/2/e/stdout|/tmp/parallel-bug49791-932/1/4/2/e/stderr
+SQLITE par_shuf hostname|sleep .3;echo 5 a|5|a|/tmp/parallel-bug49791-932/1/5/2/a/stdout|/tmp/parallel-bug49791-932/1/5/2/a/stderr
+SQLITE par_shuf hostname|sleep .3;echo 5 b|5|b|/tmp/parallel-bug49791-932/1/5/2/b/stdout|/tmp/parallel-bug49791-932/1/5/2/b/stderr
+SQLITE par_shuf hostname|sleep .3;echo 5 c|5|c|/tmp/parallel-bug49791-932/1/5/2/c/stdout|/tmp/parallel-bug49791-932/1/5/2/c/stderr
+SQLITE par_shuf hostname|sleep .3;echo 5 d|5|d|/tmp/parallel-bug49791-932/1/5/2/d/stdout|/tmp/parallel-bug49791-932/1/5/2/d/stderr
+SQLITE par_shuf hostname|sleep .3;echo 5 e|5|e|/tmp/parallel-bug49791-932/1/5/2/e/stdout|/tmp/parallel-bug49791-932/1/5/2/e/stderr
+SQLITE par_sql_joblog p_wrapper par_sql_joblog $SQLITE
+SQLITE par_sql_joblog ### should only give a single --joblog heading
+SQLITE par_sql_joblog ### --sqlmaster/--sqlworker
+SQLITE par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+SQLITE par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+SQLITE par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+SQLITE par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+SQLITE par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+SQLITE par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+SQLITE par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+SQLITE par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+SQLITE par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+SQLITE par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+SQLITE par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+SQLITE par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+SQLITE par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+SQLITE par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+SQLITE par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+SQLITE par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+SQLITE par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+SQLITE par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+SQLITE par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+SQLITE par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+SQLITE par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+SQLITE par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+SQLITE par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+SQLITE par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+SQLITE par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+SQLITE par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+SQLITE par_sql_joblog 1 a
+SQLITE par_sql_joblog 1 b
+SQLITE par_sql_joblog 1 c
+SQLITE par_sql_joblog 1 d
+SQLITE par_sql_joblog 1 e
+SQLITE par_sql_joblog 2 a
+SQLITE par_sql_joblog 2 b
+SQLITE par_sql_joblog 2 c
+SQLITE par_sql_joblog 2 d
+SQLITE par_sql_joblog 2 e
+SQLITE par_sql_joblog 3 a
+SQLITE par_sql_joblog 3 b
+SQLITE par_sql_joblog 3 c
+SQLITE par_sql_joblog 3 d
+SQLITE par_sql_joblog 3 e
+SQLITE par_sql_joblog 4 a
+SQLITE par_sql_joblog 4 b
+SQLITE par_sql_joblog 4 c
+SQLITE par_sql_joblog 4 d
+SQLITE par_sql_joblog 4 e
+SQLITE par_sql_joblog 5 a
+SQLITE par_sql_joblog 5 b
+SQLITE par_sql_joblog 5 c
+SQLITE par_sql_joblog 5 d
+SQLITE par_sql_joblog 5 e
+SQLITE par_sql_joblog ### --sqlandworker
+SQLITE par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
+SQLITE par_sql_joblog 1 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 a
+SQLITE par_sql_joblog 1 a
+SQLITE par_sql_joblog 1 b
+SQLITE par_sql_joblog 1 c
+SQLITE par_sql_joblog 1 d
+SQLITE par_sql_joblog 1 e
+SQLITE par_sql_joblog 2 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 b
+SQLITE par_sql_joblog 2 a
+SQLITE par_sql_joblog 2 b
+SQLITE par_sql_joblog 2 c
+SQLITE par_sql_joblog 2 d
+SQLITE par_sql_joblog 2 e
+SQLITE par_sql_joblog 3 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 c
+SQLITE par_sql_joblog 3 a
+SQLITE par_sql_joblog 3 b
+SQLITE par_sql_joblog 3 c
+SQLITE par_sql_joblog 3 d
+SQLITE par_sql_joblog 3 e
+SQLITE par_sql_joblog 4 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 d
+SQLITE par_sql_joblog 4 a
+SQLITE par_sql_joblog 4 b
+SQLITE par_sql_joblog 4 c
+SQLITE par_sql_joblog 4 d
+SQLITE par_sql_joblog 4 e
+SQLITE par_sql_joblog 5 : 999.999 999.999 0 0 0 0 sleep .3;echo 1 e
+SQLITE par_sql_joblog 5 a
+SQLITE par_sql_joblog 5 b
+SQLITE par_sql_joblog 5 c
+SQLITE par_sql_joblog 5 d
+SQLITE par_sql_joblog 5 e
+SQLITE par_sql_joblog 6 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 a
+SQLITE par_sql_joblog 7 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 b
+SQLITE par_sql_joblog 8 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 c
+SQLITE par_sql_joblog 9 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 d
+SQLITE par_sql_joblog 10 : 999.999 999.999 0 0 0 0 sleep .3;echo 2 e
+SQLITE par_sql_joblog 11 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 a
+SQLITE par_sql_joblog 12 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 b
+SQLITE par_sql_joblog 13 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 c
+SQLITE par_sql_joblog 14 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 d
+SQLITE par_sql_joblog 15 : 999.999 999.999 0 0 0 0 sleep .3;echo 3 e
+SQLITE par_sql_joblog 16 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 a
+SQLITE par_sql_joblog 17 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 b
+SQLITE par_sql_joblog 18 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 c
+SQLITE par_sql_joblog 19 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 d
+SQLITE par_sql_joblog 20 : 999.999 999.999 0 0 0 0 sleep .3;echo 4 e
+SQLITE par_sql_joblog 21 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 a
+SQLITE par_sql_joblog 22 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 b
+SQLITE par_sql_joblog 23 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 c
+SQLITE par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d
+SQLITE par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e
+SQLITE par_sql_joblog Exit=0
+SQLITE par_sql_joblog Exit=0
+SQLITE par_sql_joblog Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sql_joblog hostname|sleep .3;echo 1 a|1|a|1 a
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 1 b|1|b|1 b
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 1 c|1|c|1 c
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 1 d|1|d|1 d
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 1 e|1|e|1 e
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 2 a|2|a|2 a
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 2 b|2|b|2 b
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 2 c|2|c|2 c
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 2 d|2|d|2 d
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 2 e|2|e|2 e
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 3 a|3|a|3 a
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 3 b|3|b|3 b
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 3 c|3|c|3 c
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 3 d|3|d|3 d
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 3 e|3|e|3 e
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 4 a|4|a|4 a
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 4 b|4|b|4 b
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 4 c|4|c|4 c
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 4 d|4|d|4 d
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 4 e|4|e|4 e
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 5 a|5|a|5 a
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 5 b|5|b|5 b
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 5 c|5|c|5 c
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 5 d|5|d|5 d
+SQLITE par_sql_joblog |
+SQLITE par_sql_joblog hostname|sleep .3;echo 5 e|5|e|5 e
+SQLITE par_sql_joblog |
+SQLITE par_sqlandworker p_wrapper par_sqlandworker $SQLITE
+SQLITE par_sqlandworker Exit=0
+SQLITE par_sqlandworker Exit=0
+SQLITE par_sqlandworker Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker hostname|sleep .3;echo 1 a|1|a|1 a
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 1 b|1|b|1 b
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 1 c|1|c|1 c
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 1 d|1|d|1 d
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 1 e|1|e|1 e
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 2 a|2|a|2 a
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 2 b|2|b|2 b
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 2 c|2|c|2 c
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 2 d|2|d|2 d
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 2 e|2|e|2 e
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 3 a|3|a|3 a
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 3 b|3|b|3 b
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 3 c|3|c|3 c
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 3 d|3|d|3 d
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 3 e|3|e|3 e
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 4 a|4|a|4 a
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 4 b|4|b|4 b
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 4 c|4|c|4 c
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 4 d|4|d|4 d
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 4 e|4|e|4 e
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 5 a|5|a|5 a
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 5 b|5|b|5 b
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 5 c|5|c|5 c
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 5 d|5|d|5 d
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker hostname|sleep .3;echo 5 e|5|e|5 e
+SQLITE par_sqlandworker |
+SQLITE par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $SQLITE
+SQLITE par_sqlandworker_compress_linebuffer_tag Exit=0
+SQLITE par_sqlandworker_compress_linebuffer_tag Exit=0
+SQLITE par_sqlandworker_compress_linebuffer_tag Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 1 a|1|a|1 a 1 a
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 1 b|1|b|1 b 1 b
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 1 c|1|c|1 c 1 c
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 1 d|1|d|1 d 1 d
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 1 e|1|e|1 e 1 e
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 2 a|2|a|2 a 2 a
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 2 b|2|b|2 b 2 b
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 2 c|2|c|2 c 2 c
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 2 d|2|d|2 d 2 d
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 2 e|2|e|2 e 2 e
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 3 a|3|a|3 a 3 a
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 3 b|3|b|3 b 3 b
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 3 c|3|c|3 c 3 c
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 3 d|3|d|3 d 3 d
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 3 e|3|e|3 e 3 e
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 4 a|4|a|4 a 4 a
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 4 b|4|b|4 b 4 b
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 4 c|4|c|4 c 4 c
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 4 d|4|d|4 d 4 d
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 4 e|4|e|4 e 4 e
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 5 a|5|a|5 a 5 a
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 5 b|5|b|5 b 5 b
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 5 c|5|c|5 c 5 c
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 5 d|5|d|5 d 5 d
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_compress_linebuffer_tag hostname|sleep .3;echo 5 e|5|e|5 e 5 e
+SQLITE par_sqlandworker_compress_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $SQLITE
+SQLITE par_sqlandworker_linebuffer Exit=0
+SQLITE par_sqlandworker_linebuffer Exit=0
+SQLITE par_sqlandworker_linebuffer Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 1 a|1|a|1 a
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 1 b|1|b|1 b
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 1 c|1|c|1 c
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 1 d|1|d|1 d
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 1 e|1|e|1 e
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 2 a|2|a|2 a
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 2 b|2|b|2 b
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 2 c|2|c|2 c
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 2 d|2|d|2 d
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 2 e|2|e|2 e
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 3 a|3|a|3 a
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 3 b|3|b|3 b
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 3 c|3|c|3 c
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 3 d|3|d|3 d
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 3 e|3|e|3 e
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 4 a|4|a|4 a
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 4 b|4|b|4 b
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 4 c|4|c|4 c
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 4 d|4|d|4 d
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 4 e|4|e|4 e
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 5 a|5|a|5 a
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 5 b|5|b|5 b
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 5 c|5|c|5 c
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 5 d|5|d|5 d
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer hostname|sleep .3;echo 5 e|5|e|5 e
+SQLITE par_sqlandworker_linebuffer |
+SQLITE par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $SQLITE
+SQLITE par_sqlandworker_linebuffer_tag Exit=0
+SQLITE par_sqlandworker_linebuffer_tag Exit=0
+SQLITE par_sqlandworker_linebuffer_tag Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 1 a|1|a|1 a 1 a
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 1 b|1|b|1 b 1 b
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 1 c|1|c|1 c 1 c
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 1 d|1|d|1 d 1 d
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 1 e|1|e|1 e 1 e
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 2 a|2|a|2 a 2 a
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 2 b|2|b|2 b 2 b
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 2 c|2|c|2 c 2 c
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 2 d|2|d|2 d 2 d
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 2 e|2|e|2 e 2 e
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 3 a|3|a|3 a 3 a
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 3 b|3|b|3 b 3 b
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 3 c|3|c|3 c 3 c
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 3 d|3|d|3 d 3 d
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 3 e|3|e|3 e 3 e
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 4 a|4|a|4 a 4 a
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 4 b|4|b|4 b 4 b
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 4 c|4|c|4 c 4 c
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 4 d|4|d|4 d 4 d
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 4 e|4|e|4 e 4 e
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 5 a|5|a|5 a 5 a
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 5 b|5|b|5 b 5 b
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 5 c|5|c|5 c 5 c
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 5 d|5|d|5 d 5 d
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_linebuffer_tag hostname|sleep .3;echo 5 e|5|e|5 e 5 e
+SQLITE par_sqlandworker_linebuffer_tag |
+SQLITE par_sqlandworker_lo p_wrapper par_sqlandworker_lo $SQLITE
+SQLITE par_sqlandworker_lo Exit=0
+SQLITE par_sqlandworker_lo Exit=0
+SQLITE par_sqlandworker_lo Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 1 a|1|a|1 a
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 1 b|1|b|1 b
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 1 c|1|c|1 c
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 1 d|1|d|1 d
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 1 e|1|e|1 e
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 2 a|2|a|2 a
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 2 b|2|b|2 b
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 2 c|2|c|2 c
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 2 d|2|d|2 d
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 2 e|2|e|2 e
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 3 a|3|a|3 a
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 3 b|3|b|3 b
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 3 c|3|c|3 c
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 3 d|3|d|3 d
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 3 e|3|e|3 e
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 4 a|4|a|4 a
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 4 b|4|b|4 b
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 4 c|4|c|4 c
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 4 d|4|d|4 d
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 4 e|4|e|4 e
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 5 a|5|a|5 a
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 5 b|5|b|5 b
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 5 c|5|c|5 c
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 5 d|5|d|5 d
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_lo lo|sleep .3;echo 5 e|5|e|5 e
+SQLITE par_sqlandworker_lo |
+SQLITE par_sqlandworker_results p_wrapper par_sqlandworker_results $SQLITE
+SQLITE par_sqlandworker_results Exit=0
+SQLITE par_sqlandworker_results Exit=0
+SQLITE par_sqlandworker_results Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 1 a|1|a|/tmp/out--sql/1/1/2/a/stdout|/tmp/out--sql/1/1/2/a/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 1 b|1|b|/tmp/out--sql/1/1/2/b/stdout|/tmp/out--sql/1/1/2/b/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 1 c|1|c|/tmp/out--sql/1/1/2/c/stdout|/tmp/out--sql/1/1/2/c/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 1 d|1|d|/tmp/out--sql/1/1/2/d/stdout|/tmp/out--sql/1/1/2/d/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 1 e|1|e|/tmp/out--sql/1/1/2/e/stdout|/tmp/out--sql/1/1/2/e/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 2 a|2|a|/tmp/out--sql/1/2/2/a/stdout|/tmp/out--sql/1/2/2/a/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 2 b|2|b|/tmp/out--sql/1/2/2/b/stdout|/tmp/out--sql/1/2/2/b/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 2 c|2|c|/tmp/out--sql/1/2/2/c/stdout|/tmp/out--sql/1/2/2/c/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 2 d|2|d|/tmp/out--sql/1/2/2/d/stdout|/tmp/out--sql/1/2/2/d/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 2 e|2|e|/tmp/out--sql/1/2/2/e/stdout|/tmp/out--sql/1/2/2/e/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 3 a|3|a|/tmp/out--sql/1/3/2/a/stdout|/tmp/out--sql/1/3/2/a/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 3 b|3|b|/tmp/out--sql/1/3/2/b/stdout|/tmp/out--sql/1/3/2/b/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 3 c|3|c|/tmp/out--sql/1/3/2/c/stdout|/tmp/out--sql/1/3/2/c/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 3 d|3|d|/tmp/out--sql/1/3/2/d/stdout|/tmp/out--sql/1/3/2/d/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 3 e|3|e|/tmp/out--sql/1/3/2/e/stdout|/tmp/out--sql/1/3/2/e/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 4 a|4|a|/tmp/out--sql/1/4/2/a/stdout|/tmp/out--sql/1/4/2/a/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 4 b|4|b|/tmp/out--sql/1/4/2/b/stdout|/tmp/out--sql/1/4/2/b/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 4 c|4|c|/tmp/out--sql/1/4/2/c/stdout|/tmp/out--sql/1/4/2/c/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 4 d|4|d|/tmp/out--sql/1/4/2/d/stdout|/tmp/out--sql/1/4/2/d/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 4 e|4|e|/tmp/out--sql/1/4/2/e/stdout|/tmp/out--sql/1/4/2/e/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 5 a|5|a|/tmp/out--sql/1/5/2/a/stdout|/tmp/out--sql/1/5/2/a/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 5 b|5|b|/tmp/out--sql/1/5/2/b/stdout|/tmp/out--sql/1/5/2/b/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 5 c|5|c|/tmp/out--sql/1/5/2/c/stdout|/tmp/out--sql/1/5/2/c/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 5 d|5|d|/tmp/out--sql/1/5/2/d/stdout|/tmp/out--sql/1/5/2/d/stderr
+SQLITE par_sqlandworker_results hostname|sleep .3;echo 5 e|5|e|/tmp/out--sql/1/5/2/e/stdout|/tmp/out--sql/1/5/2/e/stderr
+SQLITE par_sqlandworker_tag p_wrapper par_sqlandworker_tag $SQLITE
+SQLITE par_sqlandworker_tag Exit=0
+SQLITE par_sqlandworker_tag Exit=0
+SQLITE par_sqlandworker_tag Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 1 a|1|a|1 a 1 a
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 1 b|1|b|1 b 1 b
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 1 c|1|c|1 c 1 c
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 1 d|1|d|1 d 1 d
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 1 e|1|e|1 e 1 e
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 2 a|2|a|2 a 2 a
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 2 b|2|b|2 b 2 b
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 2 c|2|c|2 c 2 c
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 2 d|2|d|2 d 2 d
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 2 e|2|e|2 e 2 e
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 3 a|3|a|3 a 3 a
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 3 b|3|b|3 b 3 b
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 3 c|3|c|3 c 3 c
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 3 d|3|d|3 d 3 d
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 3 e|3|e|3 e 3 e
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 4 a|4|a|4 a 4 a
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 4 b|4|b|4 b 4 b
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 4 c|4|c|4 c 4 c
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 4 d|4|d|4 d 4 d
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 4 e|4|e|4 e 4 e
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 5 a|5|a|5 a 5 a
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 5 b|5|b|5 b 5 b
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 5 c|5|c|5 c 5 c
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 5 d|5|d|5 d 5 d
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_tag hostname|sleep .3;echo 5 e|5|e|5 e 5 e
+SQLITE par_sqlandworker_tag |
+SQLITE par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $SQLITE
+SQLITE par_sqlandworker_total_jobs Exit=0
+SQLITE par_sqlandworker_total_jobs Exit=0
+SQLITE par_sqlandworker_total_jobs Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_total_jobs hostname|echo 1 of 25; sleep .3;echo|1|a|1 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 2 of 25; sleep .3;echo|1|b|2 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 3 of 25; sleep .3;echo|1|c|3 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 4 of 25; sleep .3;echo|1|d|4 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 5 of 25; sleep .3;echo|1|e|5 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 6 of 25; sleep .3;echo|2|a|6 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 7 of 25; sleep .3;echo|2|b|7 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 8 of 25; sleep .3;echo|2|c|8 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 9 of 25; sleep .3;echo|2|d|9 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 10 of 25; sleep .3;echo|2|e|10 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 11 of 25; sleep .3;echo|3|a|11 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 12 of 25; sleep .3;echo|3|b|12 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 13 of 25; sleep .3;echo|3|c|13 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 14 of 25; sleep .3;echo|3|d|14 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 15 of 25; sleep .3;echo|3|e|15 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 16 of 25; sleep .3;echo|4|a|16 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 17 of 25; sleep .3;echo|4|b|17 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 18 of 25; sleep .3;echo|4|c|18 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 19 of 25; sleep .3;echo|4|d|19 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 20 of 25; sleep .3;echo|4|e|20 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 21 of 25; sleep .3;echo|5|a|21 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 22 of 25; sleep .3;echo|5|b|22 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 23 of 25; sleep .3;echo|5|c|23 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 24 of 25; sleep .3;echo|5|d|24 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_total_jobs hostname|echo 25 of 25; sleep .3;echo|5|e|25 of 25
+SQLITE par_sqlandworker_total_jobs
+SQLITE par_sqlandworker_total_jobs |
+SQLITE par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $SQLITE
+SQLITE par_sqlandworker_unbuffer Exit=0
+SQLITE par_sqlandworker_unbuffer Exit=0
+SQLITE par_sqlandworker_unbuffer Host|Command|V1|V2|Stdout|Stderr
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 1 a|1|a||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 1 b|1|b||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 1 c|1|c||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 1 d|1|d||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 1 e|1|e||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 2 a|2|a||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 2 b|2|b||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 2 c|2|c||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 2 d|2|d||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 2 e|2|e||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 3 a|3|a||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 3 b|3|b||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 3 c|3|c||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 3 d|3|d||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 3 e|3|e||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 4 a|4|a||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 4 b|4|b||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 4 c|4|c||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 4 d|4|d||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 4 e|4|e||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 5 a|5|a||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 5 b|5|b||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 5 c|5|c||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 5 d|5|d||
+SQLITE par_sqlandworker_unbuffer hostname|sleep .3;echo 5 e|5|e||
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh1
^
|
@@ -75,9 +75,9 @@
par_files_nonall 1
par_hgrp_agrp ### Test --hgrp {hgrp} {agrp}
par_hgrp_agrp_comma ### bug #63722: hostgroup with , breaks parser
+par_hgrp_agrp_comma csh
par_hgrp_agrp_comma parallel: Warning: Adding hostgroups: csh@lo tcsh@lo
-par_hgrp_agrp_comma uid=1004(csh) gid=1004(csh) groups=1004(csh)
-par_hgrp_agrp_comma uid=1007(tcsh) gid=1007(tcsh) groups=1007(tcsh)
+par_hgrp_agrp_comma tcsh
par_joblog_nonall ### bug #40001: --joblog and --nonall seem not to work together:
par_joblog_nonall 3
par_pipe_unneeded_spawn ### Test bug #34241: --pipe should not spawn unneeded processes
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh4
^
|
@@ -199,6 +199,8 @@
par__test_different_rsync_versions rsync-v1.6.7 Basic use failed - not tested: rsync-v1.6.7
par__test_different_rsync_versions rsync-v1.6.8 Basic use failed - not tested: rsync-v1.6.8
par__test_different_rsync_versions rsync-v1.6.9 Basic use failed - not tested: rsync-v1.6.9
+par__test_different_rsync_versions rsync-v2.0.0 Basic use failed - not tested: rsync-v2.0.0
+par__test_different_rsync_versions rsync-v2.0.1 Basic use failed - not tested: rsync-v2.0.1
par__test_different_rsync_versions rsync-v2.0.10 Basic use failed - not tested: rsync-v2.0.10
par__test_different_rsync_versions rsync-v2.0.11 Basic use failed - not tested: rsync-v2.0.11
par__test_different_rsync_versions rsync-v2.0.12 Basic use failed - not tested: rsync-v2.0.12
@@ -209,6 +211,7 @@
par__test_different_rsync_versions rsync-v2.0.17 Basic use failed - not tested: rsync-v2.0.17
par__test_different_rsync_versions rsync-v2.0.18 Basic use failed - not tested: rsync-v2.0.18
par__test_different_rsync_versions rsync-v2.0.19 Basic use failed - not tested: rsync-v2.0.19
+par__test_different_rsync_versions rsync-v2.0.2 Basic use failed - not tested: rsync-v2.0.2
par__test_different_rsync_versions rsync-v2.0.3 Basic use failed - not tested: rsync-v2.0.3
par__test_different_rsync_versions rsync-v2.0.4 Basic use failed - not tested: rsync-v2.0.4
par__test_different_rsync_versions rsync-v2.0.5 Basic use failed - not tested: rsync-v2.0.5
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh5
^
|
@@ -622,4 +622,4 @@
par_pipe_retries localhost-:
par_pipe_retries parallel: Error: --retries cannot be combined with --roundrobin.
par_ssh_cmd_with_newline ### Check --ssh with \n works
-par_ssh_cmd_with_newline uid=1003(sh) gid=1003(sh) groups=1003(sh)
+par_ssh_cmd_with_newline sh
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh7
^
|
@@ -547,9 +547,9 @@
par__man_ksh too
par__man_ksh This may never work
par__man_ksh https://unix.stackexchange.com/questions/457031/extract-full-function-definitions
-par__man_ksh /bin/ksh: line 3: syntax error at line 99: `{' unmatched
-par__man_ksh /bin/ksh: line 3: syntax error at line 99: `{' unmatched
-par__man_ksh /bin/ksh: line 3: syntax error at line 99: `{' unmatched
+par__man_ksh /bin/ksh: line 99: syntax error at line 99: `{' unmatched
+par__man_ksh /bin/ksh: line 99: syntax error at line 99: `{' unmatched
+par__man_ksh /bin/ksh: line 99: syntax error at line 99: `{' unmatched
par__man_ksh exit value 2 should be 2
par__man_ksh Unknown option: no-such-option
par__man_ksh exit value 255 should be 255
@@ -1230,10 +1230,10 @@
par_env_parallel_--session_ksh l2func
par_env_parallel_--session_ksh l2alias
par_env_parallel_--session_ksh level2 array OK
-par_env_parallel_--session_ksh /bin/ksh: line 3: aliasbefore: not found
-par_env_parallel_--session_ksh script: line 4: aliasbefore: not found
-par_env_parallel_--session_ksh /bin/ksh: line 3: funcbefore: not found
-par_env_parallel_--session_ksh script: line 4: funcbefore: not found
+par_env_parallel_--session_ksh /bin/ksh: line 2: aliasbefore: not found
+par_env_parallel_--session_ksh script: line 3: aliasbefore: not found
+par_env_parallel_--session_ksh /bin/ksh: line 2: funcbefore: not found
+par_env_parallel_--session_ksh script: line 3: funcbefore: not found
par_env_parallel_--session_ksh no_before
par_env_parallel_--session_ksh no_before
par_env_parallel_--session_ksh no_before
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh9
^
|
@@ -1,123 +1,159 @@
-par_zsh_embed --embed
-par_zsh_embed Redirect the output to a file and add your changes at the end:
-par_zsh_embed /usr/local/bin/parallel --embed > new_script
-par_zsh_embed Put
-par_zsh_embed your
-par_zsh_embed code
-par_zsh_embed here
-par_zsh_embed parallel_OK
-par_zsh_embed env_parallel --env OK
-par_zsh_embed _which_PAR:13: argument list too long: perl
-par_zsh_embed env_parallel: Error: Your environment is too big.
-par_zsh_embed env_parallel: Error: You can try 3 different approaches:
-par_zsh_embed env_parallel: Error: 1. Run 'env_parallel --session' before you set
-par_zsh_embed env_parallel: Error: variables or define functions.
-par_zsh_embed env_parallel: Error: 2. Use --env and only mention the names to copy.
-par_zsh_embed env_parallel: Error: 3. Try running this in a clean environment once:
-par_zsh_embed env_parallel: Error: env_parallel --record-env
-par_zsh_embed env_parallel: Error: And then use '--env _'
-par_zsh_embed env_parallel: Error: For details see: man env_parallel
-par_zsh_embed ParsetOK
-par_zsh_embed Put
-par_zsh_embed your
-par_zsh_embed code
-par_zsh_embed here
-par_zsh_embed Put your code here
-par_zsh_embed You can also activate GNU Parallel for interactive use by:
-par_zsh_embed . ./parallel-embed
-par_tcsh_embed Not implemented
-par_sh_embed --embed
-par_sh_embed Redirect the output to a file and add your changes at the end:
-par_sh_embed /usr/local/bin/parallel --embed > new_script
-par_sh_embed Put
-par_sh_embed your
-par_sh_embed code
-par_sh_embed here
-par_sh_embed parallel_OK
-par_sh_embed env_parallel --env OK
-par_sh_embed env_parallel_OK
-par_sh_embed ParsetOK
-par_sh_embed Put
-par_sh_embed your
-par_sh_embed code
-par_sh_embed here
-par_sh_embed Put your code here
-par_sh_embed You can also activate GNU Parallel for interactive use by:
-par_sh_embed . ./parallel-embed
-par_propagate_env ### bug #41805: Idea: propagate --env for parallel --number-of-cores
-par_propagate_env ** test_zsh
-par_propagate_env FOO=test_zsh
-par_propagate_env HOME=~
-par_propagate_env ** test_zsh_filter
-par_propagate_env FOO=test_zsh_filter
-par_propagate_env HOME=~
-par_propagate_env ** test_csh
-par_propagate_env FOO=test_csh
-par_propagate_env HOME=~
-par_propagate_env ** test_csh_filter
-par_propagate_env FOO=test_csh_filter
-par_propagate_env HOME=~
-par_propagate_env ** bug #41805 done
-par_no_route_to_host ### no route to host with | and -j0 causes inf loop
-par_no_route_to_host ssh: connect to host i.p.n.r port 22: No route to host
par_no_route_to_host
-par_no_route_to_host parallel: This job finished:
-par_no_route_to_host raw i.p.n.r
-par_no_route_to_host parallel: Warning: ssh to i.p.n.r only allows for 0 simultaneous logins.
-par_no_route_to_host parallel: Warning: You may raise this by changing
-par_no_route_to_host parallel: Warning: /etc/ssh/sshd_config:MaxStartups and MaxSessions on i.p.n.r.
-par_no_route_to_host parallel: Warning: You can also try --sshdelay 0.1
-par_no_route_to_host parallel: Warning: Using only -1 connections to avoid race conditions.
-par_no_route_to_host parallel: Error: Cannot run any jobs.
-par_no_route_to_host via_parallel i.p.n.r
-par_ksh_embed --embed
-par_ksh_embed Redirect the output to a file and add your changes at the end:
-par_ksh_embed /usr/local/bin/parallel --embed > new_script
-par_ksh_embed Put
-par_ksh_embed your
-par_ksh_embed code
-par_ksh_embed here
-par_ksh_embed parallel_OK
-par_ksh_embed env_parallel --env OK
-par_ksh_embed ./parallel-embed[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
-par_ksh_embed env_parallel: Error: Your environment is too big.
-par_ksh_embed env_parallel: Error: You can try 3 different approaches:
-par_ksh_embed env_parallel: Error: 1. Run 'env_parallel --session' before you set
-par_ksh_embed env_parallel: Error: variables or define functions.
-par_ksh_embed env_parallel: Error: 2. Use --env and only mention the names to copy.
-par_ksh_embed env_parallel: Error: 3. Try running this in a clean environment once:
-par_ksh_embed env_parallel: Error: env_parallel --record-env
-par_ksh_embed env_parallel: Error: And then use '--env _'
-par_ksh_embed env_parallel: Error: For details see: man env_parallel
-par_ksh_embed ParsetOK
-par_ksh_embed Put
-par_ksh_embed your
-par_ksh_embed code
-par_ksh_embed here
-par_ksh_embed Put your code here
-par_ksh_embed You can also activate GNU Parallel for interactive use by:
-par_ksh_embed . ./parallel-embed
-par_fish_embed Not implemented
-par_filter_hosts_parallel_not_installed bug #62672: Triggered a bug with --filter-host
-par_filter_hosts_parallel_not_installed parallel: Warning: Could not figure out number of cpus on nopathbash@lo (). Using 1.
-par_filter_hosts_parallel_not_installed OK
-par_filter_hosts_parallel_not_installed parallel: Warning: Could not figure out number of cpus on nopathbash@lo (). Using 1.
-par_filter_hosts_parallel_not_installed OK
-par_env_parallel_big_env ### bug #54128: command too long when exporting big env
-par_env_parallel_big_env should not fail
-par_env_parallel_big_env OK
-par_d_filter_hosts ### --filter-hosts and -0
-par_d_filter_hosts ### https://lists.gnu.org/archive/html/parallel/2022-07/msg00002.html
-par_d_filter_hosts OKa
-par_d_filter_hosts OKb
-par_d_filter_hosts OKa
-par_d_filter_hosts OKb
-par_d_filter_hosts OKa
-par_d_filter_hosts OKb
-par_d_filter_hosts OKa
-par_d_filter_hosts OKb
-par_d_filter_hosts OKa
-par_d_filter_hosts OKb
-par_csh_embed Not implemented
+par_PARALLEL_SSHLOGIN_SSHHOST ### bug #56554: Introduce $PARALLEL_SSHLOGIN $PARALLEL_SSHHOST
+par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh csh@lo /usr/bin/ssh csh@lo lo
+par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh csh@lo csh
+par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh tcsh@lo /usr/bin/ssh tcsh@lo lo
+par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh tcsh@lo tcsh
+par_PARALLEL_SSHLOGIN_SSHHOST lo lo lo
+par_PARALLEL_SSHLOGIN_SSHHOST lo tange
+par_PARALLEL_SSHLOGIN_SSHHOST sh@lo sh
+par_PARALLEL_SSHLOGIN_SSHHOST sh@lo sh@lo lo
+par_PARALLEL_SSHLOGIN_SSHHOST zsh@lo zsh
+par_PARALLEL_SSHLOGIN_SSHHOST zsh@lo zsh@lo lo
+par__d_filter_hosts ### --filter-hosts and -0
+par__d_filter_hosts ### https://lists.gnu.org/archive/html/parallel/2022-07/msg00002.html
+par__d_filter_hosts OKa
+par__d_filter_hosts OKb
+par__d_filter_hosts OKa
+par__d_filter_hosts OKb
+par__d_filter_hosts OKa
+par__d_filter_hosts OKb
+par__d_filter_hosts OKa
+par__d_filter_hosts OKb
+par__d_filter_hosts OKa
+par__d_filter_hosts OKb
+par__propagate_env ### bug #41805: Idea: propagate --env for parallel --number-of-cores
+par__propagate_env ** test_zsh
+par__propagate_env FOO=test_zsh
+par__propagate_env HOME=~
+par__propagate_env ** test_zsh_filter
+par__propagate_env FOO=test_zsh_filter
+par__propagate_env HOME=~
+par__propagate_env ** test_csh
+par__propagate_env MANPATH: Undefined variable.
+par__propagate_env FOO=test_csh
+par__propagate_env HOME=~
+par__propagate_env ** test_csh_filter
+par__propagate_env MANPATH: Undefined variable.
+par__propagate_env FOO=test_csh_filter
+par__propagate_env HOME=~
+par__propagate_env ** bug #41805 done
+par__sshlogin_range ### --sshlogin with ranges
+par__sshlogin_range ### Jobs fail, but the important is the name of the hosts
+par__sshlogin_range echo 1
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a00.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a01.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a02.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a03.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a04.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a05.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a06.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a07.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a08.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a09.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a10.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a11.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on a12.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b10c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b10c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b10c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b11c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b11c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b11c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b2c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b2c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b2c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b3c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b3c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b3c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b5c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b5c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b5c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b7c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b7c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b7c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b8c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b8c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b8c6.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b9c1.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b9c4.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on b9c6.nx-dom (). Using 1.
+par__sshlogin_range echo 1
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev000.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev001.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev002.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev003.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev004.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev005.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev006.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev007.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev008.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev009.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev010.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev098.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev099.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev100.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on dev101.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod000.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod001.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod002.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod003.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod004.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod005.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod006.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod007.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod008.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod009.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod010.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod098.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod099.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod100.nx-dom (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on prod101.nx-dom (). Using 1.
+par__sshlogin_range echo 1
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.10.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.10.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.10.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.11.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.11.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.11.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.9.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.9.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip249.0.9.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.10.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.10.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.10.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.11.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.11.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.11.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.9.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.9.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip250.0.9.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.10.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.10.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.10.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.11.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.11.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.11.111 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.9.109 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.9.110 (). Using 1.
+par__sshlogin_range parallel: Warning: Could not figure out number of cpus on ip251.0.9.111 (). Using 1.
+par_ash_embed --embed
+par_ash_embed Redirect the output to a file and add your changes at the end:
+par_ash_embed /usr/local/bin/parallel --embed > new_script
+par_ash_embed Put
+par_ash_embed your
+par_ash_embed code
+par_ash_embed here
+par_ash_embed parallel_OK
+par_ash_embed env_parallel --env OK
+par_ash_embed env_parallel_OK
+par_ash_embed ParsetOK
+par_ash_embed Put
+par_ash_embed your
+par_ash_embed code
+par_ash_embed here
+par_ash_embed Put your code here
+par_ash_embed You can also activate GNU Parallel for interactive use by:
+par_ash_embed . ./parallel-embed
par_bash_embed --embed
par_bash_embed Redirect the output to a file and add your changes at the end:
par_bash_embed /usr/local/bin/parallel --embed > new_script
@@ -145,32 +181,97 @@
par_bash_embed Put your code here
par_bash_embed You can also activate GNU Parallel for interactive use by:
par_bash_embed . ./parallel-embed
-par_ash_embed --embed
-par_ash_embed Redirect the output to a file and add your changes at the end:
-par_ash_embed /usr/local/bin/parallel --embed > new_script
-par_ash_embed Put
-par_ash_embed your
-par_ash_embed code
-par_ash_embed here
-par_ash_embed parallel_OK
-par_ash_embed env_parallel --env OK
-par_ash_embed env_parallel_OK
-par_ash_embed ParsetOK
-par_ash_embed Put
-par_ash_embed your
-par_ash_embed code
-par_ash_embed here
-par_ash_embed Put your code here
-par_ash_embed You can also activate GNU Parallel for interactive use by:
-par_ash_embed . ./parallel-embed
-par_PARALLEL_SSHLOGIN_SSHHOST ### bug #56554: Introduce $PARALLEL_SSHLOGIN $PARALLEL_SSHHOST
-par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh csh@lo /usr/bin/ssh csh@lo lo
-par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh csh@lo csh
-par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh tcsh@lo /usr/bin/ssh tcsh@lo lo
-par_PARALLEL_SSHLOGIN_SSHHOST /usr/bin/ssh tcsh@lo tcsh
-par_PARALLEL_SSHLOGIN_SSHHOST lo lo lo
-par_PARALLEL_SSHLOGIN_SSHHOST lo tange
-par_PARALLEL_SSHLOGIN_SSHHOST sh@lo sh
-par_PARALLEL_SSHLOGIN_SSHHOST sh@lo sh@lo lo
-par_PARALLEL_SSHLOGIN_SSHHOST zsh@lo zsh
-par_PARALLEL_SSHLOGIN_SSHHOST zsh@lo zsh@lo lo
+par_csh_embed Not implemented
+par_env_parallel_big_env ### bug #54128: command too long when exporting big env
+par_env_parallel_big_env should not fail
+par_env_parallel_big_env OK
+par_filter_hosts_parallel_not_installed bug #62672: Triggered a bug with --filter-host
+par_filter_hosts_parallel_not_installed parallel: Warning: Could not figure out number of cpus on nopathbash@lo (). Using 1.
+par_filter_hosts_parallel_not_installed OK
+par_filter_hosts_parallel_not_installed parallel: Warning: Could not figure out number of cpus on nopathbash@lo (). Using 1.
+par_filter_hosts_parallel_not_installed OK
+par_fish_embed Not implemented
+par_ksh_embed --embed
+par_ksh_embed Redirect the output to a file and add your changes at the end:
+par_ksh_embed /usr/local/bin/parallel --embed > new_script
+par_ksh_embed Put
+par_ksh_embed your
+par_ksh_embed code
+par_ksh_embed here
+par_ksh_embed parallel_OK
+par_ksh_embed env_parallel --env OK
+par_ksh_embed ./parallel-embed[XXX]: perl: /usr/bin/perl: cannot execute [Argument list too long]
+par_ksh_embed env_parallel: Error: Your environment is too big.
+par_ksh_embed env_parallel: Error: You can try 3 different approaches:
+par_ksh_embed env_parallel: Error: 1. Run 'env_parallel --session' before you set
+par_ksh_embed env_parallel: Error: variables or define functions.
+par_ksh_embed env_parallel: Error: 2. Use --env and only mention the names to copy.
+par_ksh_embed env_parallel: Error: 3. Try running this in a clean environment once:
+par_ksh_embed env_parallel: Error: env_parallel --record-env
+par_ksh_embed env_parallel: Error: And then use '--env _'
+par_ksh_embed env_parallel: Error: For details see: man env_parallel
+par_ksh_embed ParsetOK
+par_ksh_embed Put
+par_ksh_embed your
+par_ksh_embed code
+par_ksh_embed here
+par_ksh_embed Put your code here
+par_ksh_embed You can also activate GNU Parallel for interactive use by:
+par_ksh_embed . ./parallel-embed
+par_no_route_to_host ### no route to host with | and -j0 causes inf loop
+par_no_route_to_host ssh: connect to host i.p.n.r port 22: No route to host
par_no_route_to_host
+par_no_route_to_host parallel: This job finished:
+par_no_route_to_host raw i.p.n.r
+par_no_route_to_host parallel: Warning: ssh to i.p.n.r only allows for 0 simultaneous logins.
+par_no_route_to_host parallel: Warning: You may raise this by changing
+par_no_route_to_host parallel: Warning: /etc/ssh/sshd_config:MaxStartups and MaxSessions on i.p.n.r.
+par_no_route_to_host parallel: Warning: You can also try --sshdelay 0.1
+par_no_route_to_host parallel: Warning: Using only -1 connections to avoid race conditions.
+par_no_route_to_host parallel: Error: Cannot run any jobs.
+par_no_route_to_host via_parallel i.p.n.r
+par_sh_embed --embed
+par_sh_embed Redirect the output to a file and add your changes at the end:
+par_sh_embed /usr/local/bin/parallel --embed > new_script
+par_sh_embed Put
+par_sh_embed your
+par_sh_embed code
+par_sh_embed here
+par_sh_embed parallel_OK
+par_sh_embed env_parallel --env OK
+par_sh_embed env_parallel_OK
+par_sh_embed ParsetOK
+par_sh_embed Put
+par_sh_embed your
+par_sh_embed code
+par_sh_embed here
+par_sh_embed Put your code here
+par_sh_embed You can also activate GNU Parallel for interactive use by:
+par_sh_embed . ./parallel-embed
+par_tcsh_embed Not implemented
+par_zsh_embed --embed
+par_zsh_embed Redirect the output to a file and add your changes at the end:
+par_zsh_embed /usr/local/bin/parallel --embed > new_script
+par_zsh_embed Put
+par_zsh_embed your
+par_zsh_embed code
+par_zsh_embed here
+par_zsh_embed parallel_OK
+par_zsh_embed env_parallel --env OK
+par_zsh_embed _which_PAR:13: argument list too long: perl
+par_zsh_embed env_parallel: Error: Your environment is too big.
+par_zsh_embed env_parallel: Error: You can try 3 different approaches:
+par_zsh_embed env_parallel: Error: 1. Run 'env_parallel --session' before you set
+par_zsh_embed env_parallel: Error: variables or define functions.
+par_zsh_embed env_parallel: Error: 2. Use --env and only mention the names to copy.
+par_zsh_embed env_parallel: Error: 3. Try running this in a clean environment once:
+par_zsh_embed env_parallel: Error: env_parallel --record-env
+par_zsh_embed env_parallel: Error: And then use '--env _'
+par_zsh_embed env_parallel: Error: For details see: man env_parallel
+par_zsh_embed ParsetOK
+par_zsh_embed Put
+par_zsh_embed your
+par_zsh_embed code
+par_zsh_embed here
+par_zsh_embed Put your code here
+par_zsh_embed You can also activate GNU Parallel for interactive use by:
+par_zsh_embed . ./parallel-embed
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local150
^
|
@@ -5,11 +5,17 @@
3
echo '### Test --timeout'
### Test --timeout
- nice parallel -j0 -k --timeout 2 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
+ nice stdout parallel -j0 -k --timeout 2 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
1.1
1.1
+parallel: Warning: This job was killed because it timed out:
+parallel: Warning: echo 7.7; sleep 7.7; echo 7.7
7.7
+parallel: Warning: This job was killed because it timed out:
+parallel: Warning: echo 8.8; sleep 8.8; echo 8.8
8.8
+parallel: Warning: This job was killed because it timed out:
+parallel: Warning: echo 9.9; sleep 9.9; echo 9.9
9.9
echo '### Test --joblog followed by --resume --joblog'
### Test --joblog followed by --resume --joblog
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local9
^
|
@@ -199,7 +199,7 @@
echo '### Test :::: on nonexistent'
### Test :::: on nonexistent
stdout $XAP -k echo {1} {2} {3} :::: nonexistent
-parallel: Error: Cannot open input file `nonexistent': No such file or directory.
+parallel: Error: Cannot open `nonexistent': No such file or directory
echo '### Test :::: two files'
### Test :::: two files
$XAP -k echo {1} {2} :::: <(seq 1 10) <(seq 5 15)
@@ -313,9 +313,9 @@
echo '### Multiple -a: nonexistent'
### Multiple -a: nonexistent
stdout $XAP -kv echo {2} {1} :::: nonexist nonexist2
-parallel: Error: Cannot open input file `nonexist': No such file or directory.
+parallel: Error: Cannot open `nonexist': No such file or directory
stdout $XAP -kv -a nonexist -a nonexist2 echo {2} {1}
-parallel: Error: Cannot open input file `nonexist': No such file or directory.
+parallel: Error: Cannot open `nonexist': No such file or directory
echo '### Test {#.}'
### Test {#.}
$XAP -kv -a <(echo a-noext) -a <(echo b-withext.extension) -a <(echo c-ext.gif) echo {3.} {2.} {1.}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-macos
^
|
@@ -1,46 +1,81 @@
-par_big_func 1 3XXX 91XXX
-par_big_func 1 3XXX 91XXX
-par_big_func 1 3XXX 91XXX
-par_big_func 1 1XXX 46XXX
-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 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 212 5XXX
-par_many_func 1 96 2XXX
+par_big_func 1 3XXX 90XXX
+par_big_func 1 3XXX 90XXX
+par_big_func 1 3XXX 90XXX
+par_big_func 1 2XXX 48XXX
+par_big_func_name 18XXX
+par_big_func_name 18XXX
+par_big_func_name 18XXX
+par_big_func_name 18XXX
+par_big_func_name 18XXX
+par_big_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_big_var_func_name 18XXX
+par_many_args 1 2XXX 5XXX
+par_many_args 1 2XXX 5XXX
+par_many_args 1 2XXX 5XXX
+par_many_args 1 2XXX 5XXX
+par_many_args 1 2XXX 5XXX
+par_many_args 1 2XXX 5XXX
+par_many_args 1 2XXX 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 184 4XXX
+par_many_func 1 44 1XXX
+par_many_var 22XXX
+par_many_var 22XXX
+par_many_var 22XXX
+par_many_var 22XXX
+par_many_var 22XXX
+par_many_var 22XXX
+par_many_var 22XXX
par_many_var_big_func 5XXX
par_many_var_big_func 5XXX
par_many_var_big_func 5XXX
@@ -68,6 +103,9 @@
par_many_var_big_func 5XXX
par_many_var_big_func 5XXX
par_many_var_big_func 5XXX
-par_many_var_func 1 2XXX 59XXX
-par_many_var_func 1 2XXX 59XXX
-par_many_var_func 1 1XXX 41XXX
+par_many_var_big_func 5XXX
+par_many_var_big_func 5XXX
+par_many_var_big_func 5XXX
+par_many_var_func 1 2XXX 58XXX
+par_many_var_func 1 2XXX 58XXX
+par_many_var_func 1 1XXX 43XXX
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-remote1
^
|
@@ -115,8 +115,8 @@
par_special_ssh 99
par_special_ssh 100
par_timeout_retries ### test --timeout --retries
-par_timeout_retries ssh: connect to host 192.168.1.197 port 22: No route to host
par_timeout_retries
par_timeout_retries parallel: Warning: This job was killed because it timed out:
+par_timeout_retries parallel: Warning: ssh 192.168.1.197 echo 192.168.1.197
par_timeout_retries parallel: Warning: ssh 8.8.8.8 echo 8.8.8.8
par_timeout_retries vagrant@parallel-server1
par_timeout_retries vagrant@parallel-server2
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-tutorial
^
|
@@ -489,17 +489,18 @@
parallel: Warning: This job was killed because it timed out:
parallel: Warning: sleep 7; echo 7
parallel --eta sleep ::: 1 3 2 2 1 3 3 2 1
-Computers / CPU cores / Max jobs to run
+Computers / CPU threads / Max jobs to run
1:local / 9 / 9
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
parallel --progress sleep ::: 1 3 2 2 1 3 3 2 1
-Computers / CPU cores / Max jobs to run
+Computers / CPU threads / Max jobs to run
1:local / 9 / 9
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
seq 1000 | parallel -j10 --bar '(echo -n {};sleep 0.1)' \
2> >(perl -pe 'BEGIN{$/="\r";$|=1};s/\r/\n/g' |
zenity --timeout=15 --progress --auto-kill --auto-close)
-BASE64--joblog /tmp/log exit ::: 1 2 3 0
+
+ parallel --joblog /tmp/log exit ::: 1 2 3 0
cat /tmp/log;
parallel --joblog /tmp/log exit ::: 1 2 3 0
cat /tmp/log; parallel --resume --joblog /tmp/log exit ::: 1 2 3 0 0 0
@@ -664,8 +665,9 @@
Unknown option: myecho $myvar
Unknown option: :::
Unknown option: green
+You have called the dummy script "env_parallel".
env_parallel only works if it is a function.
-Do this and restart your shell:
+You need to do this and restart your shell:
bash: Put this in $HOME/.bashrc: . env_parallel.bash
E.g. by doing: echo '. env_parallel.bash' >> $HOME/.bashrc
Supports: variables, aliases, functions, arrays
@@ -752,8 +754,9 @@
Unknown option: echo $NOT; not_ex
Unknown option: :::
Unknown option: bar
+You have called the dummy script "env_parallel".
env_parallel only works if it is a function.
-Do this and restart your shell:
+You need to do this and restart your shell:
bash: Put this in $HOME/.bashrc: . env_parallel.bash
E.g. by doing: echo '. env_parallel.bash' >> $HOME/.bashrc
Supports: variables, aliases, functions, arrays
@@ -1200,7 +1203,7 @@
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
parallel --version
GNU parallel VERSION
-Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software
+Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software
Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/sql01
^
|
@@ -53,16 +53,16 @@
par_-r [ | psql -h 127.0.0.3 -U nongood -p 2227 -d nongood]
par_-r psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
par_-r Is the server running on that host and accepting TCP/IP connections?
-par__listproc ### Test --show-processlist|proclist|listproc
-par__listproc 2 17
-par__listproc 2 17
-par__listproc 2 17
par_dbsize ### Test --db-size --dbsize
par_dbsize 6
par_dbsize 6
par_dburl_user_password_host_port ### Test dburl with username password host port
par_dburl_user_password_host_port Test dburl with username password host port
par_dburl_user_password_host_port OK
+par_listproc ### Test --show-processlist|proclist|listproc
+par_listproc 2 17
+par_listproc 2 17
+par_listproc 2 17
par_noheaders ### Test --noheaders --no-headers -n
par_noheaders abc 1
par_noheaders def 3
@@ -89,5 +89,5 @@
par_sql_on_cmdline Test reading SQL from command line
par_sql_on_cmdline Yes it does
par_tablesize ### Test --table-size --tablesize
-par_tablesize 94
-par_tablesize 94
+par_tablesize 93
+par_tablesize 93
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20240122+git1.tar.bz2/upstream/testsuite/wanted-results/test21
^
|
@@ -4,27 +4,27 @@
1
1
centos8.localdomain
-freebsd12.localdomain
+freebsd14.localdomain
hostname; echo 1
hostname; echo 1
### Test $PARALLEL - multi line
1
1
centos8.localdomain
-freebsd12.localdomain
+freebsd14.localdomain
hostname; echo 1
hostname; echo 1
### Test ~/.parallel/config - single line
1
1
centos8.localdomain
-freebsd12.localdomain
+freebsd14.localdomain
hostname; echo 1
hostname; echo 1
### Test ~/.parallel/config - multi line
1
1
centos8.localdomain
-freebsd12.localdomain
+freebsd14.localdomain
hostname; echo 1
hostname; echo 1
|