Released as 20230722 ('Приго́жин')

This commit is contained in:
Ole Tange 2023-07-23 14:31:07 +02:00
parent 84a44e4435
commit 58c59fb8fc
26 changed files with 146 additions and 140 deletions

24
README
View file

@ -57,11 +57,11 @@ document.
Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20230622.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20230622.tar.bz2.sig
gpg parallel-20230622.tar.bz2.sig
bzip2 -dc parallel-20230622.tar.bz2 | tar xvf -
cd parallel-20230622
wget https://ftpmirror.gnu.org/parallel/parallel-20230722.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20230722.tar.bz2.sig
gpg parallel-20230722.tar.bz2.sig
bzip2 -dc parallel-20230722.tar.bz2 | tar xvf -
cd parallel-20230722
./configure && make && sudo make install
@ -70,11 +70,11 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in
~/bin and ~/share:
wget https://ftpmirror.gnu.org/parallel/parallel-20230622.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20230622.tar.bz2.sig
gpg parallel-20230622.tar.bz2.sig
bzip2 -dc parallel-20230622.tar.bz2 | tar xvf -
cd parallel-20230622
wget https://ftpmirror.gnu.org/parallel/parallel-20230722.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20230722.tar.bz2.sig
gpg parallel-20230722.tar.bz2.sig
bzip2 -dc parallel-20230722.tar.bz2 | tar xvf -
cd parallel-20230722
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
@ -122,8 +122,8 @@ will love you for it.
When using programs that use GNU Parallel to process data for
publication please cite:
Tange, O. (2023, June 22). GNU Parallel 20230622 ('Nova Kakhovka').
Zenodo. https://doi.org/10.5281/zenodo.8051271
Tange, O. (2023, July 22). GNU Parallel 20230722 ('Приго́жин').
Zenodo. https://doi.org/10.5281/zenodo.8175685
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for parallel 20230622.
# Generated by GNU Autoconf 2.71 for parallel 20230722.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@ -610,8 +610,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20230622'
PACKAGE_STRING='parallel 20230622'
PACKAGE_VERSION='20230722'
PACKAGE_STRING='parallel 20230722'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@ -1246,7 +1246,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures parallel 20230622 to adapt to many kinds of systems.
\`configure' configures parallel 20230722 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1313,7 +1313,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20230622:";;
short | recursive ) echo "Configuration of parallel 20230722:";;
esac
cat <<\_ACEOF
@ -1390,7 +1390,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
parallel configure 20230622
parallel configure 20230722
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@ -1427,7 +1427,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20230622, which was
It was created by parallel $as_me 20230722, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@ -2379,7 +2379,7 @@ fi
# Define the identity of the package.
PACKAGE='parallel'
VERSION='20230622'
VERSION='20230722'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@ -3026,7 +3026,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by parallel $as_me 20230622, which was
This file was extended by parallel $as_me 20230722, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -3090,7 +3090,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
parallel config.status 20230622
parallel config.status 20230722
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"

View file

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

View file

@ -280,6 +280,7 @@ New in this release:
* Bug fixes and man page updates.
GNU Parallel - For people who live life in the parallel lane.
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.

View file

@ -1,6 +1,6 @@
<directory name="parallel" rev="365" vrev="4" srcmd5="b88151437bd4fc10ea07247dcfb937c6">
<entry name="PKGBUILD" md5="8ea326ba319ebbf7c6abadc9e7a29bc6" size="1246" mtime="1687108322" />
<entry name="parallel.spec" md5="1c9f05e6fed13893d3902808b2fdea6c" size="6224" mtime="1687034229" />
<entry name="parallel_20230622.dsc" md5="a6fc2a778b4befadf25d089eb7df036c" size="556" mtime="1687108322" />
<entry name="parallel_20230622.tar.gz" md5="bf4dfb571fce981bb4507593d546f340" size="2777624" mtime="1687108324" />
<directory name="parallel" rev="366" vrev="2" srcmd5="e055a264441e5caf98bd8e8b4fb0dd19">
<entry name="PKGBUILD" md5="4f17e94fd76c81eba76fa09aa19370a0" size="1246" mtime="1690113100" />
<entry name="parallel.spec" md5="467fc6f4bcc40043db48217d8894a93f" size="6224" mtime="1690113101" />
<entry name="parallel_20230722.dsc" md5="9ff42873a1f33b3dcd721105dd7bd9da" size="556" mtime="1690113102" />
<entry name="parallel_20230722.tar.gz" md5="1484bc9732abef8329afecf87a6c22e9" size="2772354" mtime="1690113119" />
</directory>

View file

@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
Version: 20230622
Version: 20230722
Release: 2.1
License: GPL-3.0-or-later
Group: Productivity/File utilities

View file

@ -393,7 +393,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

@ -395,7 +395,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

@ -393,7 +393,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

@ -376,7 +376,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

@ -378,7 +378,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

@ -393,7 +393,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

@ -368,7 +368,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20230622 (GNU parallel `parallel --minversion 1`)"
echo "parset 20230722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2023 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>"

View file

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

View file

@ -2800,7 +2800,7 @@ sub check_invalid_option_combinations() {
sub init_globals() {
# Defaults:
$Global::version = 20230623;
$Global::version = 20230722;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@ -5761,8 +5761,8 @@ sub usage() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2023, June 22). GNU Parallel 20230622 ('Nova Kakhovka').",
" Zenodo. https://doi.org/10.5281/zenodo.8051271",
" Tange, O. (2023, July 22). GNU Parallel 20230722 ('Приго́жин').",
" Zenodo. https://doi.org/10.5281/zenodo.8175685",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
@ -5794,8 +5794,8 @@ sub citation_notice() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2023, June 22). GNU Parallel 20230622 ('Nova Kakhovka').",
" Zenodo. https://doi.org/10.5281/zenodo.8051271",
" Tange, O. (2023, July 22). GNU Parallel 20230722 ('Приго́жин').",
" Zenodo. https://doi.org/10.5281/zenodo.8175685",
"",
# Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@ -5922,20 +5922,20 @@ sub citation() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
"\@software{tange_2023_8051271,",
"\@software{tange_2023_8175685,",
" author = {Tange, Ole},",
" title = {GNU Parallel 20230622 ('Nova Kakhovka')},",
" month = Jun,",
" title = {GNU Parallel 20230722 ('Приго́жин')},",
" month = Jul,",
" 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.8051271},",
" url = {https://doi.org/10.5281/zenodo.8051271}",
" doi = {10.5281/zenodo.8175685},",
" url = {https://doi.org/10.5281/zenodo.8175685}",
"}",
"",
"(Feel free to use \\nocite{tange_2023_8051271})",
"(Feel free to use \\nocite{tange_2023_8175685})",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and

View file

@ -1388,13 +1388,13 @@ If the host is long, you can use B<column -t> to pretty print it:
See also: B<--resume> B<--resume-failed>
=item B<--jobs> I<num> (beta testing)
=item B<--jobs> I<num>
=item B<-j> I<num> (beta testing)
=item B<-j> I<num>
=item B<--max-procs> I<num> (beta testing)
=item B<--max-procs> I<num>
=item B<-P> I<num> (beta testing)
=item B<-P> I<num>
Number of jobslots on each machine.
@ -1905,7 +1905,7 @@ See also: B<--block> B<--block-timeout> B<--recstart> B<--recend>
B<--fifo> B<--cat> B<--pipe-part> B<-N> B<-L> B<--round-robin>
=item B<--pipe-part> (beta testing)
=item B<--pipe-part>
Pipe parts of a physical file.

View file

@ -137,7 +137,7 @@ GetOptions(
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
$Global::version = 20230622;
$Global::version = 20230722;
if($opt::version) { version(); exit 0; }
# Remove -D and --parallel=N
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }

View file

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

View file

@ -297,7 +297,9 @@ par_failing_compressor() {
}
export -f doit
stdout parallel -vk --header : --argsep ,,, \
parallel -k {tag} {lb} {files} --compress --compress-program {comp} --decompress-program {decomp} doit ::: C={comp},D={decomp} \
stdout parallel -k {tag} {lb} {files} --compress \
--compress-program {comp} --decompress-program {decomp} doit \
::: C={comp},D={decomp} \
,,, tag --tag -k \
,,, lb --line-buffer -k \
,,, files --files0 -k \
@ -418,17 +420,6 @@ par_xargs_compat() {
(seq 1 10; echo 1234; seq 12 15) | stdsort xargs -s 10 -x echo
}
par_sem_2jobs() {
echo '### Test semaphore 2 jobs running simultaneously'
parallel --semaphore --id 2jobs -u -j2 'echo job1a 1; sleep 4; echo job1b 3'
sleep 0.5
parallel --semaphore --id 2jobs -u -j2 'echo job2a 2; sleep 4; echo job2b 5'
sleep 0.5
parallel --semaphore --id 2jobs -u -j2 'echo job3a 4; sleep 4; echo job3b 6'
parallel --semaphore --id 2jobs --wait
echo done
}
par_line_buffer() {
echo "### --line-buffer"
tmp1=$(mktemp)

View file

@ -4,6 +4,17 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
par_sem_2jobs() {
echo '### Test semaphore 2 jobs running simultaneously'
parallel --semaphore --id 2jobs -u -j2 'echo job1a 1; sleep 4; echo job1b 3'
sleep 0.5
parallel --semaphore --id 2jobs -u -j2 'echo job2a 2; sleep 4; echo job2b 5'
sleep 0.5
parallel --semaphore --id 2jobs -u -j2 'echo job3a 4; sleep 4; echo job3b 6'
parallel --semaphore --id 2jobs --wait
echo done
}
par_2jobs() {
echo '### Test similar example as from man page - run 2 jobs simultaneously'
echo 'Expect done: 1 2 5 3 4'

View file

@ -174,7 +174,9 @@ macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p)
if scp /usr/local/bin/parallel $macsshlogin:bin/ ; then
true
else
echo "Mac not found. Skip testing"
echo "**"
echo "** Mac not found. Skip testing"
echo "**"
exit 1
fi

View file

@ -114,117 +114,117 @@ par_failing_compressor Compress with failing (de)compressor
par_failing_compressor Test --tag/--line-buffer/--files in all combinations
par_failing_compressor Test working/failing compressor/decompressor in all combinations
par_failing_compressor (-k is used as a dummy argument)
par_failing_compressor parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor stdout parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor C=cat;true,D=cat;true /TMP/tmpfile
par_failing_compressor parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor C=cat;true,D=cat;false /TMP/tmpfile
par_failing_compressor parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor stdout parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor C=cat;false,D=cat;true /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor stdout parallel -k --tag --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor C=cat;false,D=cat;false /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor stdout parallel -k --tag --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true
par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k --tag --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false
par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor stdout parallel -k --tag --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
par_failing_compressor stdout parallel -k --tag --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
par_failing_compressor parallel -k --tag -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
par_failing_compressor stdout parallel -k --tag -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor C=cat;true,D=cat;true /TMP/tmpfile
par_failing_compressor parallel -k --tag -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k --tag -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor C=cat;true,D=cat;false /TMP/tmpfile
par_failing_compressor parallel -k --tag -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor stdout parallel -k --tag -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor stdout parallel -k --tag -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k --tag -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor C=cat;false,D=cat;false /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor stdout parallel -k --tag -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true
par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true
par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k --tag -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false
par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false
par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor stdout parallel -k --tag -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
par_failing_compressor parallel -k --tag -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
par_failing_compressor stdout parallel -k --tag -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
par_failing_compressor parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
par_failing_compressor stdout parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor stdout parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor stdout parallel -k -k --line-buffer --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor stdout parallel -k -k --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor C=cat;true,D=cat;true
par_failing_compressor C=cat;true,D=cat;true
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k -k --line-buffer -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor C=cat;true,D=cat;false
par_failing_compressor C=cat;true,D=cat;false
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor C=cat;false,D=cat;true
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor stdout parallel -k -k --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true
par_failing_compressor stdout parallel -k -k --line-buffer -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false
par_failing_compressor parallel -k -k -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor stdout parallel -k -k -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel -k -k -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k -k -k --files0 --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel -k -k -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor stdout parallel -k -k -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor stdout parallel -k -k -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k -k -k --files0 --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor /TMP/tmpfile
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor stdout parallel -k -k -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' doit ::: C='cat;true',D='cat;true'
par_failing_compressor C=cat;true,D=cat;true
par_failing_compressor C=cat;true,D=cat;true
par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor stdout parallel -k -k -k -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' doit ::: C='cat;true',D='cat;false'
par_failing_compressor C=cat;true,D=cat;false
par_failing_compressor C=cat;true,D=cat;false
par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor C=cat;false,D=cat;true
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor stdout parallel -k -k -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' doit ::: C='cat;false',D='cat;true'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true
par_failing_compressor parallel -k -k -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;true
par_failing_compressor stdout parallel -k -k -k -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' doit ::: C='cat;false',D='cat;false'
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor parallel: Error: cat;false failed.
par_failing_compressor C=cat;false,D=cat;false
par_fifo_under_csh ### Test --fifo under csh
par_fifo_under_csh parallel: Warning: --cat/--fifo fails under csh if $TMPDIR contains newline.
@ -1118,14 +1118,6 @@ par_retries_all_fail 5
par_retries_all_fail 6
par_retries_all_fail 7
par_retries_all_fail 8
par_sem_2jobs ### Test semaphore 2 jobs running simultaneously
par_sem_2jobs job1a 1
par_sem_2jobs job2a 2
par_sem_2jobs job1b 3
par_sem_2jobs job3a 4
par_sem_2jobs job2b 5
par_sem_2jobs job3b 6
par_sem_2jobs done
par_seqreplace_long_line ### Test --seqreplace and line too long
par_seqreplace_long_line 9 1 1 101
par_seqreplace_long_line 90 1 1 201

View file

@ -1,3 +1,20 @@
par_2jobs ### Test similar example as from man page - run 2 jobs simultaneously
par_2jobs Expect done: 1 2 5 3 4
par_2jobs Scheduling 5
par_2jobs starting 5
par_2jobs Scheduling 1
par_2jobs starting 1
par_2jobs Scheduling 2
par_2jobs done 1
par_2jobs starting 2
par_2jobs Scheduling 3
par_2jobs done 2
par_2jobs starting 3
par_2jobs Scheduling 4
par_2jobs done 5
par_2jobs starting 4
par_2jobs done 3
par_2jobs done 4
par_bug56403 bug #56403: --pipe block by time.
par_bug56403 1 job1a
par_bug56403 2 job2b
@ -108,6 +125,14 @@ par_print_before_halt_on_error 2 exit code 1
par_print_before_halt_on_error 2 0.1 0.1
par_print_before_halt_on_error 2 parallel: This job failed:
par_print_before_halt_on_error 2 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; 2 > 0 ? exit shift : exit not shift;' 1
par_sem_2jobs ### Test semaphore 2 jobs running simultaneously
par_sem_2jobs job1a 1
par_sem_2jobs job2a 2
par_sem_2jobs job1b 3
par_sem_2jobs job3a 4
par_sem_2jobs job2b 5
par_sem_2jobs job3b 6
par_sem_2jobs done
par_sem_dir ### bug #58985: sem stall if .parallel/semaphores is chmod 0
par_sem_dir parallel: Error: Semaphoredir must be writable: '~/.parallel/semaphores'
par_tmux_termination ### --tmux test - check termination

View file

@ -9,6 +9,7 @@ par_controlmaster_is_faster -M should finish first - eventhough there are 2x job
par_controlmaster_is_faster With --controlmaster - finish first
par_controlmaster_is_faster No --controlmaster - finish last
par_force_number_of_cpu ### Check forced number of CPUs being respected
par_force_number_of_cpu ssh is slow, so should only get 7. : should get the rest
par_force_number_of_cpu 7
par_force_number_of_cpu 13
par_special_ssh ### Test use special ssh

View file

@ -1,20 +1,3 @@
par_2jobs ### Test similar example as from man page - run 2 jobs simultaneously
par_2jobs Expect done: 1 2 5 3 4
par_2jobs Scheduling 5
par_2jobs starting 5
par_2jobs Scheduling 1
par_2jobs starting 1
par_2jobs Scheduling 2
par_2jobs done 1
par_2jobs starting 2
par_2jobs Scheduling 3
par_2jobs done 2
par_2jobs starting 3
par_2jobs Scheduling 4
par_2jobs done 5
par_2jobs starting 4
par_2jobs done 3
par_2jobs done 4
par_bg_p_should_error ### Test bug #33621: --bg -p should give an error message
par_bg_p_should_error parallel: Error: Jobs running in the background cannot be interactive.
par_exit ### Exit values

View file

@ -60,7 +60,7 @@ par_dburl_user_password_host_port ### Test dburl with username password host por
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 3 34
par_listproc 3 32
par_listproc 2 17
par_listproc 2 17
par_noheaders ### Test --noheaders --no-headers -n