[-]
[+]
|
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">20230422+git1</param>
+ <param name="revision">20230522+git1</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/NEWS
^
|
@@ -1,3 +1,28 @@
+20230522
+
+New in this release:
+
+* Bug fixes and man page updates.
+
+News about GNU Parallel:
+
+* Introduction to parallel computing https://youtu.be/fvrHXV8yqU4?t=2874
+
+* Script for summarizing GNU parallel joblog file https://github.com/gavinmdouglas/parallel_joblog_summary
+
+* How to copy a single file to multiple directories in Linux or Unix https://www.cyberciti.biz/faq/linux-unix-copy-a-file-to-multiple-directories-using-cp-command/
+
+* Search in your Jupyter notebooks from the CLI, fast. https://dev.to/attilavm/search-in-your-jupyter-notebooks-from-the-cli-fast-1408
+
+* Parallel Job Orchestration with GNU Parallel https://www.youtube.com/watch?v=2tVpUfND3LI
+
+* Optional Individual Submission 4 Job Handling 20266001 - GNU Parallel https://www.youtube.com/watch?v=eC_RPuFCcU8
+
+* DOE Cross-facility Workflows Training - April 12, 2023 https://www.youtube.com/watch?v=Ke3sirM-aQQ
+
+* How to run MiXCR 4.x on multiple patient samples using GNU Parallel https://www.youtube.com/watch?v=OXg-WHlB_dk
+
+
20230422
New in this release:
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+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-20230422.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2.sig
- gpg parallel-20230422.tar.bz2.sig
- bzip2 -dc parallel-20230422.tar.bz2 | tar xvf -
- cd parallel-20230422
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230522.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230522.tar.bz2.sig
+ gpg parallel-20230522.tar.bz2.sig
+ bzip2 -dc parallel-20230522.tar.bz2 | tar xvf -
+ cd parallel-20230522
./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-20230422.tar.bz2
- wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2.sig
- gpg parallel-20230422.tar.bz2.sig
- bzip2 -dc parallel-20230422.tar.bz2 | tar xvf -
- cd parallel-20230422
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230522.tar.bz2
+ wget https://ftpmirror.gnu.org/parallel/parallel-20230522.tar.bz2.sig
+ gpg parallel-20230522.tar.bz2.sig
+ bzip2 -dc parallel-20230522.tar.bz2 | tar xvf -
+ cd parallel-20230522
./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, April 22). GNU Parallel 20230422 ('Grand Jury').
- Zenodo. https://doi.org/10.5281/zenodo.7855617
+ Tange, O. (2023, May 22). GNU Parallel 20230522 ('Charles').
+ Zenodo. https://doi.org/10.5281/zenodo.7958356
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+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 20230422.
+# Generated by GNU Autoconf 2.71 for parallel 20230522.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@@ -610,8 +610,8 @@
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20230422'
-PACKAGE_STRING='parallel 20230422'
+PACKAGE_VERSION='20230522'
+PACKAGE_STRING='parallel 20230522'
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 20230422 to adapt to many kinds of systems.
+\`configure' configures parallel 20230522 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 20230422:";;
+ short | recursive ) echo "Configuration of parallel 20230522:";;
esac
cat <<\_ACEOF
@@ -1390,7 +1390,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-parallel configure 20230422
+parallel configure 20230522
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 20230422, which was
+It was created by parallel $as_me 20230522, 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='20230422'
+ VERSION='20230522'
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 20230422, which was
+This file was extended by parallel $as_me 20230522, 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 20230422
+parallel config.status 20230522
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/configure.ac
^
|
@@ -1,4 +1,4 @@
-AC_INIT([parallel],[20230422],[bug-parallel@gnu.org])
+AC_INIT([parallel],[20230522],[bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/doc/haikus
^
|
@@ -5,9 +5,6 @@
Quote of the month:
- Recently learned how to use GNU parallel (from ChatGPT, no less!) and I've gone mad with power
- -- Mark, Anthropomorphic Anuran @reject_resubmit@twitter
-
gnu parallel is actually like. really easy
-- tom (era) @slimefiend@twitter
@@ -231,6 +228,9 @@
=== Used ===
+ Recently learned how to use GNU parallel (from ChatGPT, no less!) and I've gone mad with power
+ -- Mark, Anthropomorphic Anuran @reject_resubmit@twitter
+
parallel might be one of the best utilities out there
-- @ThePrimeagen ThePrimeagen
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/doc/release_new_version
^
|
@@ -263,32 +263,38 @@
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
-Subject: GNU Parallel 20230422 ('Grand Jury') released
+Subject: GNU Parallel 20230522 ('Charles') released [stable]
-GNU Parallel 20230422 ('Grand Jury') has been released. It is available for download at: lbry://@GnuParallel:4
+GNU Parallel 20230522 ('Charles') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
- parallel might be one of the best utilities out there
- -- @ThePrimeagen ThePrimeagen
+ Recently learned how to use GNU parallel (from ChatGPT, no less!) and I've gone mad with power
+ -- Mark, Anthropomorphic Anuran @reject_resubmit@twitter
New in this release:
-* --jobs evaluates expression: +3*log(55)% = ncpu*1.12
+* No new features. This is a candidate for a stable release.
* Bug fixes and man page updates.
News about GNU Parallel:
-* Running shell script in parallel https://w3toppers.com/running-shell-script-in-parallel/
+* Introduction to parallel computing https://youtu.be/fvrHXV8yqU4?t=2874
-* Simulating climate risk scenarios for the Amazon Rainforest https://aws.amazon.com/blogs/hpc/simulating-climate-risk-scenarios-for-the-amazon-rainforest/
+* Script for summarizing GNU parallel joblog file https://github.com/gavinmdouglas/parallel_joblog_summary
-* How To Use Your Entire CPU In Bash With Parallel https://bash-prompt.net/guides/parallell-bash/
+* How to copy a single file to multiple directories in Linux or Unix https://www.cyberciti.biz/faq/linux-unix-copy-a-file-to-multiple-directories-using-cp-command/
-* Bash - parallel command execution https://medium.com/linuxstories/bash-parallel-command-execution-d4bd7c7cc1d6
+* Search in your Jupyter notebooks from the CLI, fast. https://dev.to/attilavm/search-in-your-jupyter-notebooks-from-the-cli-fast-1408
-* 3 tips for faster batch post-pro https://www.cfdengine.com/newsletter/142/
+* Parallel Job Orchestration with GNU Parallel https://www.youtube.com/watch?v=2tVpUfND3LI
+
+* Optional Individual Submission 4 Job Handling 20266001 - GNU Parallel https://www.youtube.com/watch?v=eC_RPuFCcU8
+
+* DOE Cross-facility Workflows Training - April 12, 2023 https://www.youtube.com/watch?v=Ke3sirM-aQQ
+
+* How to run MiXCR 4.x on multiple patient samples using GNU Parallel https://www.youtube.com/watch?v=OXg-WHlB_dk
GNU Parallel - For people who live life in the parallel lane.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/packager/obs/home-tange/parallel/.osc/_files
^
|
@@ -1,7 +1,7 @@
-<directory name="parallel" rev="361" vrev="2" srcmd5="2a7d8bb12a37e2a1df51974e30fcac52">
- <entry name="PKGBUILD" md5="7577ce8166ca189fa31d1f9f9dd0aec5" size="1246" mtime="1682193426" />
- <entry name="parallel-20230422.tar.bz2" md5="67663e5dd2387bab6367c397b1d8303a" size="2483119" mtime="1682193427" />
- <entry name="parallel.spec" md5="c67cb63ddd8b10dfa55d1e01c846a4ce" size="6224" mtime="1682193427" />
- <entry name="parallel_20230422.dsc" md5="a994db64fe980a7c2e89b5c32ece2e1e" size="556" mtime="1682193427" />
- <entry name="parallel_20230422.tar.gz" md5="0be0cb9baa636daed69ad91214f0c628" size="2762791" mtime="1682193428" />
+<directory name="parallel" rev="362" vrev="2" srcmd5="4c35e54a8a572db4bd70dbf4e3cd3e2d">
+ <entry name="PKGBUILD" md5="bd771f3fadb24d5f4c3847113ecac698" size="1246" mtime="1684784391" />
+ <entry name="parallel-20230522.tar.bz2" md5="a25c77e65e0e3c269514381c01bdb049" size="2495738" mtime="1684784391" />
+ <entry name="parallel.spec" md5="e78eb660abc88e51a6bd43e9321b2285" size="6224" mtime="1684784391" />
+ <entry name="parallel_20230522.dsc" md5="b87ba7da6b01101b2619a9bea59e910b" size="556" mtime="1684784391" />
+ <entry name="parallel_20230522.tar.gz" md5="1820fdc6713245eb1122fdf27f552892" size="2777335" mtime="1684784392" />
</directory>
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+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: 20230422
+Version: 20230522
Release: 2.1
License: GPL-3.0-or-later
Group: Productivity/File utilities
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.ash
^
|
@@ -393,7 +393,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.bash
^
|
@@ -395,7 +395,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.dash
^
|
@@ -393,7 +393,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.ksh
^
|
@@ -376,7 +376,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.mksh
^
|
@@ -378,7 +378,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.sh
^
|
@@ -393,7 +393,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/env_parallel.zsh
^
|
@@ -368,7 +368,7 @@
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
- echo "parset 20230422 (GNU parallel `parallel --minversion 1`)"
+ echo "parset 20230522 (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>"
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/niceload
^
|
@@ -26,7 +26,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
-$Global::version = 20230422;
+$Global::version = 20230522;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/parallel
^
|
@@ -742,27 +742,34 @@
sub split_positions_for_group_by($$$$) {
my($fh);
+ my %value;
sub value_at($) {
my $pos = shift;
- if($pos != 0) {
- seek($fh, $pos-1, 0) || die;
- # Read half line
- <$fh>;
- }
- # Read full line
- my $linepos = tell($fh);
- $_ = <$fh>;
- if(defined $_) {
- # Not end of file
- my @F;
- if(defined $group_by::col) {
- $opt::colsep ||= "\t";
- @F = split /$opt::colsep/, $_;
- $_ = $F[$group_by::col];
+ if(not defined $value{$pos}) {
+ if($pos != 0) {
+ seek($fh, $pos-1, 0) || die;
+ # Read half line
+ <$fh>;
+ }
+ # Read full line
+ my $linepos = tell($fh);
+ if(not defined $value{$linepos}) {
+ $_ = <$fh>;
+ if(defined $_) {
+ # Not end of file
+ my @F;
+ if(defined $group_by::col) {
+ $opt::colsep ||= "\t";
+ @F = split /$opt::colsep/, $_;
+ $_ = $F[$group_by::col];
+ }
+ eval $group_by::perlexpr;
+ }
+ $value{$linepos} = [$_,$linepos];
}
- eval $group_by::perlexpr;
+ $value{$pos} = $value{$linepos};
}
- return ($_,$linepos);
+ return (@{$value{$pos}});
}
sub binary_search_end($$$) {
@@ -804,48 +811,70 @@
}
my ($file,$size,$block,$header,$firstlinelen) = @_;
- my ($a,$b,$c,$apos,$bpos,$cpos);
my @pos;
$fh = open_or_exit($file);
# Set $Global::group_by_column $Global::group_by_perlexpr
group_by_loop($fh,$opt::recsep);
- # $xpos = linestart, $x = value at $xpos, $apos < $bpos < $cpos
- $apos = $firstlinelen + length $header;
- for(($a,$apos) = value_at($apos); $apos < $size;) {
- push @pos, $apos;
- $bpos = $apos + $block;
- ($b,$bpos) = value_at($bpos);
- if(eof($fh)) {
- push @pos, $size; last;
- }
- $cpos = $bpos + $block;
- ($c,$cpos) = value_at($cpos);
- if($a eq $b) {
- while($b eq $c) {
- # Move bpos, cpos a block forward until $a == $b != $c
- $bpos = $cpos;
- $cpos += $block;
- ($c,$cpos) = value_at($cpos);
- if($cpos >= $size) {
- $cpos = $size;
- last;
- }
+ if($opt::max_args) {
+ # Split after n values
+ my ($a,$apos);
+ # $xpos = linestart, $x = value at $xpos
+ $apos = $firstlinelen + length $header;
+ for(($a,$apos) = value_at($apos); $apos < $size;) {
+ push @pos, $apos;
+ ($a,$apos) = binary_search_end($a,$apos,$size);
+ if(eof($fh)) {
+ push @pos, $size; last;
}
- # $a == $b != $c
- # Binary search for $b ending between ($bpos,$cpos)
- ($b,$bpos) = binary_search_end($b,$bpos,$cpos);
- } else {
- if($b eq $c) {
- # $a != $b == $c
- # Binary search for $b starting between ($apos,$bpos)
- ($b,$bpos) = binary_search_start($b,$apos,$bpos);
- } else {
- # $a != $b != $c
+ }
+ # @pos = start of every value
+ # Merge n values
+ # -nX = keep every X'th position
+ my $i = 0;
+ @pos = grep { not ($i++ % $opt::max_args) } @pos;
+ } else {
+ # Split after any value group
+ # Preferable < $blocksize
+ my ($a,$b,$c,$apos,$bpos,$cpos);
+ # $xpos = linestart, $x = value at $xpos, $apos < $bpos < $cpos
+ $apos = $firstlinelen + length $header;
+ for(($a,$apos) = value_at($apos); $apos < $size;) {
+ push @pos, $apos;
+ $bpos = $apos + $block;
+ ($b,$bpos) = value_at($bpos);
+ if(eof($fh)) {
+ # EOF is less than 1 block away
+ push @pos, $size; last;
+ }
+ $cpos = $bpos + $block;
+ ($c,$cpos) = value_at($cpos);
+ if($a eq $b) {
+ while($b eq $c) {
+ # Move bpos, cpos a block forward until $a == $b != $c
+ $bpos = $cpos;
+ $cpos += $block;
+ ($c,$cpos) = value_at($cpos);
+ if($cpos >= $size) {
+ $cpos = $size;
+ last;
+ }
+ }
+ # $a == $b != $c
# Binary search for $b ending between ($bpos,$cpos)
($b,$bpos) = binary_search_end($b,$bpos,$cpos);
+ } else {
+ if($b eq $c) {
+ # $a != $b == $c
+ # Binary search for $b starting between ($apos,$bpos)
+ ($b,$bpos) = binary_search_start($b,$apos,$bpos);
+ } else {
+ # $a != $b != $c
+ # Binary search for $b ending between ($bpos,$cpos)
+ ($b,$bpos) = binary_search_end($b,$bpos,$cpos);
+ }
}
+ ($a,$apos) = ($b,$bpos);
}
- ($a,$apos) = ($b,$bpos);
}
if($pos[$#pos] != $size) {
# Last splitpoint was not at end of the file: add it
@@ -1009,7 +1038,7 @@
$sep =~ s/\t/\\t/g;
$sep =~ s/\"/\\"/g;
# man perlrun: -Fpattern [...] You can't use literal whitespace
- $sep =~ s/ /\\040{1}/g;
+ $sep =~ s/ /\\040/g;
push @filter, "-F$sep";
}
push @filter, "-pe";
@@ -1432,10 +1461,10 @@
my $ref = shift;
my $match = shift;
my $pos = shift || 0;
- my $block_size = 2**31-1;
+ my $max2gb = 2**31-1;
my $strlen = length($$ref);
# No point in doing extra work if we don't need to.
- if($strlen < $block_size or $] > 5.022) {
+ if($strlen < $max2gb or $] > 5.022) {
return index($$ref, $match, $pos);
}
@@ -1444,12 +1473,12 @@
my $offset = $pos;
while($offset < $strlen) {
$ret = index(
- substr($$ref, $offset, $block_size),
+ substr($$ref, $offset, $max2gb),
$match, $pos-$offset);
if($ret != -1) {
return $ret + $offset;
}
- $offset += ($block_size - $matchlen - 1);
+ $offset += ($max2gb - $matchlen - 1);
}
return -1;
}
@@ -1646,6 +1675,7 @@
}
sub zsh_competion() {
+ # Print code used for completion in zsh
my @zsh_completion =
("compdef _comp_parallel parallel; ",
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/parallel.pod
^
|
@@ -1562,9 +1562,9 @@
See also: B<--memfree> B<--load>
-=item B<--latest-line> (alpha testing)
+=item B<--latest-line> (beta testing)
-=item B<--ll> (alpha testing)
+=item B<--ll> (beta testing)
Print the lastest line. Each job gets a single line that is updated
with the lastest output from the job.
@@ -1834,13 +1834,13 @@
See also: B<--tty>
-=item B<--output-as-files> (beta testing)
+=item B<--output-as-files>
-=item B<--outputasfiles> (beta testing)
+=item B<--outputasfiles>
-=item B<--files> (beta testing)
+=item B<--files>
-=item B<--files0> (beta testing)
+=item B<--files0>
Save output to files.
@@ -1892,7 +1892,7 @@
B<--fifo> B<--cat> B<--pipe-part> B<-N> B<-L> B<--round-robin>
-=item B<--pipe-part>
+=item B<--pipe-part> (alpha testing)
Pipe parts of a physical file.
@@ -2552,8 +2552,9 @@
commands already running. This is useful if the command takes a long
time to initialize.
-B<--keep-order> will not work with B<--round-robin> as it is
-impossible to track which input block corresponds to which output.
+With B<--keep-order> and B<--round-robin> the jobslots will get the
+same blocks as input in the same order in every run if the input is
+kept the same. See details under B<--keep-order>.
B<--round-robin> implies B<--pipe>, except if B<--pipe-part> is given.
@@ -2789,9 +2790,9 @@
3 $_%=100
Address s/\d//g
-Each input line is split using B<--colsep>. The value of the column is
-put into $_, the perl expression is executed, the resulting value is
-hashed so that all lines of a given value is given to the same job
+Each input line is split using B<--colsep>. The string of the column
+is put into $_, the perl expression is executed, the resulting string
+is hashed so that all lines of a given value is given to the same job
slot.
This is similar to sharding in databases.
@@ -3670,18 +3671,18 @@
only passes full records.
B<--shard> starts I<n> jobs in total. It parses each line to read the
-value in the given column. Based on this value the line is passed to
-one of the I<n> jobs. All lines having this value will be given to the
+string in the given column. Based on this string the line is passed to
+one of the I<n> jobs. All lines having this string will be given to the
same jobslot.
-B<--bin> works like B<--shard> but the value of the column is the
-jobslot number it will be passed to. If the value is bigger than I<n>,
-then I<n> will be subtracted from the value until the values is
-smaller than or equal to I<n>.
+B<--bin> works like B<--shard> but the value of the column must be
+numeric and is the jobslot number it will be passed to. If the value
+is bigger than I<n>, then I<n> will be subtracted from the value until
+the value is smaller than or equal to I<n>.
B<--group-by> starts one job per chunk. Record borders are not given
-by B<--recend>/B<--recstart>. Instead a record is defined by a number
-of lines having the same value in a given column. So the value of a
+by B<--recend>/B<--recstart>. Instead a record is defined by a group
+of lines having the same string in a given column. So the string of a
given column changes at a chunk border. With B<--pipe> every line is
parsed, with B<--pipe-part> only a few lines are parsed to find the
chunk border.
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/parallel_alternatives.pod
^
|
@@ -327,7 +327,8 @@
hosts or URLs) will require creating these inputs as files. B<find
-exec> has no support for running commands in parallel.
-https://www.gnu.org/software/findutils/ (Last checked: 2019-01)
+https://www.gnu.org/software/findutils/
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN make -j AND GNU Parallel
@@ -360,7 +361,8 @@
(Very early versions of GNU B<parallel> were coincidentally implemented
using B<make -j>).
-https://www.gnu.org/software/make/ (Last checked: 2019-01)
+https://www.gnu.org/software/make/
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN ppss AND GNU Parallel
@@ -459,6 +461,7 @@
9$ killall -SIGUSR2 parallel
https://github.com/louwrentius/PPSS
+(Last checked: 2010-12)
=head2 DIFFERENCES BETWEEN pexec AND GNU Parallel
@@ -538,6 +541,7 @@
'pnmscale 0.5 | pnmtojpeg | sem --id diskio cat > th_{}'
https://www.gnu.org/software/pexec/
+(Last checked: 2010-12)
=head2 DIFFERENCES BETWEEN xjobs AND GNU Parallel
@@ -583,7 +587,8 @@
echo unzip 1.zip >> /var/run/my_named_pipe;
echo tar cf /backup/myhome.tar /home/me >> /var/run/my_named_pipe
-https://www.maier-komor.de/xjobs.html (Last checked: 2019-01)
+https://www.maier-komor.de/xjobs.html
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN prll AND GNU Parallel
@@ -608,7 +613,8 @@
1$ parallel mogrify -flip ::: *.jpg
-https://github.com/exzombie/prll (Last checked: 2019-01)
+https://github.com/exzombie/prll
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN dxargs AND GNU Parallel
@@ -620,7 +626,8 @@
support transferring of files.
https://web.archive.org/web/20120518070250/http://www.
-semicomplete.com/blog/geekery/distributed-xargs.html (Last checked: 2019-01)
+semicomplete.com/blog/geekery/distributed-xargs.html
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN mdm/middleman AND GNU Parallel
@@ -637,7 +644,8 @@
cat files | parallel cmd
find dir -execdir sem cmd {} \;
-https://github.com/cklin/mdm (Last checked: 2019-01)
+https://github.com/cklin/mdm
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN xapply AND GNU Parallel
@@ -700,7 +708,8 @@
11$ parallel '[ -f {} ] && echo {}' < List | ...
-https://www.databits.net/~ksb/msrc/local/bin/xapply/xapply.html
+https://www.databits.net/~ksb/msrc/local/bin/xapply/xapply.html (Last
+checked: 2010-12)
=head2 DIFFERENCES BETWEEN AIX apply AND GNU Parallel
@@ -738,7 +747,8 @@
4$ parallel ln {} /usr/joe ::: *
https://www-01.ibm.com/support/knowledgecenter/
-ssw_aix_71/com.ibm.aix.cmds1/apply.htm (Last checked: 2019-01)
+ssw_aix_71/com.ibm.aix.cmds1/apply.htm
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN paexec AND GNU Parallel
@@ -791,6 +801,7 @@
parallel echo {} '| awk {print\ toupper\(\$0\)}' <<EOF [...]
https://github.com/cheusov/paexec
+(Last checked: 2010-12)
=head2 DIFFERENCES BETWEEN map(sitaramc) AND GNU Parallel
@@ -920,7 +931,8 @@
8$ export PARALLEL=-j50%
-https://github.com/sitaramc/map (Last checked: 2020-05)
+https://github.com/sitaramc/map
+(Last checked: 2020-05)
=head2 DIFFERENCES BETWEEN ladon AND GNU Parallel
@@ -976,7 +988,8 @@
4$ parallel lame -V 2 FULLPATH DIRNAME/BASENAME.mp3 ::: ~/Music/*.wav
-https://github.com/danielgtaylor/ladon (Last checked: 2019-01)
+https://github.com/danielgtaylor/ladon
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN jobflow AND GNU Parallel
@@ -1053,7 +1066,8 @@
5$ seq 100 | parallel echo '{= $_>10 and $_<=20 or skip() =}'
-https://github.com/rofl0r/jobflow (Last checked: 2022-05)
+https://github.com/rofl0r/jobflow
+(Last checked: 2022-05)
=head2 DIFFERENCES BETWEEN gargs AND GNU Parallel
@@ -1084,6 +1098,7 @@
-P 2 "echo '{1}:{2}-{3}' full-line: \'{}\'"
https://github.com/brentp/gargs
+(Last checked: 2016-08)
=head2 DIFFERENCES BETWEEN orgalorg AND GNU Parallel
@@ -1125,6 +1140,7 @@
file. GNU B<parallel> does not.
https://github.com/reconquest/orgalorg
+(Last checked: 2016-08)
=head2 DIFFERENCES BETWEEN Rust parallel(mmstick) AND GNU Parallel
@@ -1182,6 +1198,7 @@
report this, but finishes with success - thereby risking data loss.
https://github.com/mmstick/parallel
+(Last checked: 2016-08)
=head2 DIFFERENCES BETWEEN Rush AND GNU Parallel
@@ -1600,6 +1617,7 @@
=back
https://github.com/shenwei356/rush
+(Last checked: 2017-05)
=head2 DIFFERENCES BETWEEN ClusterSSH AND GNU Parallel
@@ -1622,6 +1640,7 @@
B<parallel --nonall -S server-a,server-b do_stuff foo bar>
https://github.com/duncs/clusterssh
+(Last checked: 2010-12)
=head2 DIFFERENCES BETWEEN coshell AND GNU Parallel
@@ -1636,7 +1655,8 @@
so big output can cause swapping and therefore be terrible slow or
even cause out of memory.
-https://github.com/gdm85/coshell (Last checked: 2019-01)
+https://github.com/gdm85/coshell
+(Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN spread AND GNU Parallel
@@ -1673,7 +1693,7 @@
seq 5 | pyargs -P50 --mark -L seq
seq 5 | parallel -P50 --lb \
- --tagstring OUTPUT'[{= $_=$job->replaced()=}]' seq
+ --tagstring OUTPUT'[{= $_=$job->replaced() =}]' seq
# Similar, but not precisely the same
seq 5 | parallel -P50 --lb --tag seq
@@ -1697,7 +1717,8 @@
# Similar, but not exactly the same
parallel seq ::: 1 2 3 4 5 6
-https://github.com/robertblackwell/pyargs (Last checked: 2019-01)
+https://github.com/robertblackwell/pyargs
+(Last checked: 2019-01)
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/parsort
^
|
@@ -137,7 +137,7 @@
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
-$Global::version = 20230422;
+$Global::version = 20230522;
if($opt::version) { version(); exit 0; }
# Remove -D and --parallel=N
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
@@ -211,7 +211,7 @@
# Spread the input between n processes that each sort
# n = number of CPU threads
my $numthreads;
- $numthreads = $opt::parallel || `parallel --number-of-threads`;
+ chomp($numthreads = $opt::parallel || `parallel --number-of-threads`);
my @fifos = map { tmpfifo() } 1..$numthreads;
map { mkfifo($_,0600) } @fifos;
# This trick removes the fifo as soon as it is connected in the other end
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/src/sql
^
|
@@ -670,7 +670,7 @@
exit ($err);
sub parse_options {
- $Global::version = 20230422;
+ $Global::version = 20230522;
$Global::progname = 'sql';
# This must be done first as this may exec myself
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/Start.sh
^
|
@@ -59,24 +59,28 @@
(pack "c*",34,39,176..255)."\@<?[]|~\\}{"')"
semiok_fancychars="$(perl -e 'print "\n\`touch /tmp/tripwire\`>/tmp/tripwire;\n".
"\@<?[]|~\\}{"')"
- fancychars="$(perl -e 'print "\n\`touch /tmp/tripwire\`>/tmp/tripwire;\n".
+ fancychars="$(perl -e 'print "\n\`/tmp/trip\`>/tmp/tripwire;\n".
(pack "c*",2..10,34,39)."\@<?[]|~\\"')"
- export PARALLEL="--_unsafe";
+# OK
+# fancychars="$(perl -e 'print "\n\`/tmp/trip\`>/tmp/tripwire;\n".
+# (pack "c*",2..10,34,39)."\@<?[]|~\\"')"
# OK
# fancychars="$(perl -e 'print "\n\`touch /tmp/tripwire\`>/tmp/tripwire;\n".
# (pack "c*",34,39)."\@<?[]|~\\"')"
-# export PARALLEL="--_unsafe";
# OK
# fancychars="$(perl -e 'print "\n\`touch /tmp/tripwire\`>/tmp/tripwire;\n".
# ""')"
export TMPDIR=/tmp/"$base-tmp"/"$fancychars"/tmp
+ export PARALLEL="--_unsafe";
rm -rf "$TMPDIR"
mkdir -p "$TMPDIR"
# Clean before. May be owned by other users
sudo rm -f /tmp/*.{tmx,pac,arg,all,log,swp,loa,ssh,df,pip,tmb,chr,tms,par} ||
printf "%s\0" /tmp/*.par | sudo parallel -0 -X rm
rm -f /tmp/tripwire
+ printf '#!/bin/bash\ntouch /tmp/tripwire' > /tmp/trip
+ chmod +x /tmp/trip
# Force running once
echo >> actual-results/"$base"
if [ "$TRIES" = "3" ] ; then
|
[-]
[+]
|
Added |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/input-files/perl-v5.14.2/lib/Text/ParseWords.pm
^
|
@@ -0,0 +1,294 @@
+package Text::ParseWords;
+
+use strict;
+require 5.006;
+our $VERSION = "3.27";
+
+
+use Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(shellwords quotewords nested_quotewords parse_line);
+our @EXPORT_OK = qw(old_shellwords);
+our $PERL_SINGLE_QUOTE;
+
+
+sub shellwords {
+ my (@lines) = @_;
+ my @allwords;
+
+ foreach my $line (@lines) {
+ $line =~ s/^\s+//;
+ my @words = parse_line('\s+', 0, $line);
+ pop @words if (@words and !defined $words[-1]);
+ return() unless (@words || !length($line));
+ push(@allwords, @words);
+ }
+ return(@allwords);
+}
+
+
+
+sub quotewords {
+ my($delim, $keep, @lines) = @_;
+ my($line, @words, @allwords);
+
+ foreach $line (@lines) {
+ @words = parse_line($delim, $keep, $line);
+ return() unless (@words || !length($line));
+ push(@allwords, @words);
+ }
+ return(@allwords);
+}
+
+
+
+sub nested_quotewords {
+ my($delim, $keep, @lines) = @_;
+ my($i, @allwords);
+
+ for ($i = 0; $i < @lines; $i++) {
+ @{$allwords[$i]} = parse_line($delim, $keep, $lines[$i]);
+ return() unless (@{$allwords[$i]} || !length($lines[$i]));
+ }
+ return(@allwords);
+}
+
+
+
+sub parse_line {
+ my($delimiter, $keep, $line) = @_;
+ my($word, @pieces);
+
+ no warnings 'uninitialized'; # we will be testing undef strings
+
+ while (length($line)) {
+ # This pattern is optimised to be stack conservative on older perls.
+ # Do not refactor without being careful and testing it on very long strings.
+ # See Perl bug #42980 for an example of a stack busting input.
+ $line =~ s/^
+ (?:
+ # double quoted string
+ (") # $quote
+ ((?>[^\\"]*(?:\\.[^\\"]*)*))" # $quoted
+ | # --OR--
+ # singe quoted string
+ (') # $quote
+ ((?>[^\\']*(?:\\.[^\\']*)*))' # $quoted
+ | # --OR--
+ # unquoted string
+ ( # $unquoted
+ (?:\\.|[^\\"'])*?
+ )
+ # followed by
+ ( # $delim
+ \Z(?!\n) # EOL
+ | # --OR--
+ (?-x:$delimiter) # delimiter
+ | # --OR--
+ (?!^)(?=["']) # a quote
+ )
+ )//xs or return; # extended layout
+ my ($quote, $quoted, $unquoted, $delim) = (($1 ? ($1,$2) : ($3,$4)), $5, $6);
+
+
+ return() unless( defined($quote) || length($unquoted) || length($delim));
+
+ if ($keep) {
+ $quoted = "$quote$quoted$quote";
+ }
+ else {
+ $unquoted =~ s/\\(.)/$1/sg;
+ if (defined $quote) {
+ $quoted =~ s/\\(.)/$1/sg if ($quote eq '"');
+ $quoted =~ s/\\([\\'])/$1/g if ( $PERL_SINGLE_QUOTE && $quote eq "'");
+ }
+ }
+ $word .= substr($line, 0, 0); # leave results tainted
+ $word .= defined $quote ? $quoted : $unquoted;
+
+ if (length($delim)) {
+ push(@pieces, $word);
+ push(@pieces, $delim) if ($keep eq 'delimiters');
+ undef $word;
+ }
+ if (!length($line)) {
+ push(@pieces, $word);
+ }
+ }
+ return(@pieces);
+}
+
+
+
+sub old_shellwords {
+
+ # Usage:
+ # use ParseWords;
+ # @words = old_shellwords($line);
+ # or
+ # @words = old_shellwords(@lines);
+ # or
+ # @words = old_shellwords(); # defaults to $_ (and clobbers it)
+
+ no warnings 'uninitialized'; # we will be testing undef strings
+ local *_ = \join('', @_) if @_;
+ my (@words, $snippet);
+
+ s/\A\s+//;
+ while ($_ ne '') {
+ my $field = substr($_, 0, 0); # leave results tainted
+ for (;;) {
+ if (s/\A"(([^"\\]|\\.)*)"//s) {
+ ($snippet = $1) =~ s#\\(.)#$1#sg;
+ }
+ elsif (/\A"/) {
+ require Carp;
+ Carp::carp("Unmatched double quote: $_");
+ return();
+ }
+ elsif (s/\A'(([^'\\]|\\.)*)'//s) {
+ ($snippet = $1) =~ s#\\(.)#$1#sg;
+ }
+ elsif (/\A'/) {
+ require Carp;
+ Carp::carp("Unmatched single quote: $_");
+ return();
+ }
+ elsif (s/\A\\(.?)//s) {
+ $snippet = $1;
+ }
+ elsif (s/\A([^\s\\'"]+)//) {
+ $snippet = $1;
+ }
+ else {
+ s/\A\s+//;
+ last;
+ }
+ $field .= $snippet;
+ }
+ push(@words, $field);
+ }
+ return @words;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Text::ParseWords - parse text into an array of tokens or array of arrays
+
+=head1 SYNOPSIS
+
+ use Text::ParseWords;
+ @lists = nested_quotewords($delim, $keep, @lines);
+ @words = quotewords($delim, $keep, @lines);
+ @words = shellwords(@lines);
+ @words = parse_line($delim, $keep, $line);
+ @words = old_shellwords(@lines); # DEPRECATED!
+
+=head1 DESCRIPTION
+
+The &nested_quotewords() and "ewords() functions accept a delimiter
+(which can be a regular expression)
+and a list of lines and then breaks those lines up into a list of
+words ignoring delimiters that appear inside quotes. "ewords()
+returns all of the tokens in a single long list, while &nested_quotewords()
+returns a list of token lists corresponding to the elements of @lines.
+&parse_line() does tokenizing on a single string. The &*quotewords()
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-0.3s.sh
^
|
@@ -16,6 +16,29 @@
# Test amount of parallelization
# parallel --shuf --jl /tmp/myjl -j1 'export JOBS={1};'bash tests-to-run/parallel-local-0.3s.sh ::: {1..16} ::: {1..5}
+par_uninstalled_sshpass() {
+ echo '### sshpass must be installed for --sshlogin user:pass@host'
+ sshpass=$(command -v sshpass)
+ sudo mv "$sshpass" "$sshpass".hidden
+ parallel -S user:pass@host echo ::: must fail
+ sudo mv "$sshpass".hidden "$sshpass"
+}
+
+par_bug43654() {
+ echo "bug #43654: --bar with command not using {} - only last output line "
+ COLUMNS=80 stdout parallel --bar true {.} ::: 1 | perl -pe 's/.*\r/\r/'
+}
+
+par_eof_on_command_line_input_source() {
+ echo '### Test of eof string on :::'
+ parallel -k -E ole echo ::: foo ole bar
+}
+
+par_empty_string_command_line() {
+ echo '### Test of ignore-empty string on :::'
+ parallel -k -r echo ::: foo '' ole bar
+}
+
par_ll_no_newline() {
echo 'bug #64030: parallel --ll echo -n ::: foo'
parallel --ll echo -n ::: two lines | sort
@@ -237,18 +260,6 @@
seq 1 6 | parallel -j1 -I :: -X echo 'a::b::^c::[.}c'
}
-par_test_m_X() {
- echo '### Test -m vs -X'
- (echo foo;echo bar;echo joe.gif) | parallel -j1 -km echo 1{}2{.}3 A{.}B{.}C
- (echo foo;echo bar;echo joe.gif) | parallel -j1 -kX echo 1{}2{.}3 A{.}B{.}C
- seq 1 6 | parallel -k printf '{}.gif\\n' | parallel -j1 -km echo a{}b{.}c{.}
- seq 1 6 | parallel -k printf '{}.gif\\n' | parallel -j1 -kX echo a{}b{.}c{.}
-
- echo '### Test -q {.}'
- echo a | parallel -qX echo "'"{.}"' "
- echo a | parallel -qX echo "'{.}'"
-}
-
par_i_t() {
echo '### Test -i'
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{.}ce
@@ -700,29 +711,6 @@
parallel -k echo ::::+ <(seq 10) <(seq 3) <(seq 4)
}
-par_basic_halt() {
- cpuburn=$(mktemp)
- cpuburn2=$(mktemp)
- (echo '#!/usr/bin/perl'
- echo "eval{setpriority(0,0,9)}; while(1){}") > "$cpuburn"
- chmod 700 "$cpuburn"
- cp -a "$cpuburn" "$cpuburn2"
- qcpuburn=$(parallel -0 --shellquote ::: "$cpuburn")
- qcpuburn2=$(parallel -0 --shellquote ::: "$cpuburn2")
-
- parallel -0 -j4 --halt 2 ::: 'sleep 1' "$qcpuburn" false;
- killall $(basename "$cpuburn") 2>/dev/null &&
- echo ERROR: cpuburn should already have been killed
- parallel -0 -j4 --halt -2 ::: 'sleep 1' "$qcpuburn2" true;
- killall $(basename "$cpuburn2") 2>/dev/null &&
- echo ERROR: cpuburn2 should already have been killed
- rm "$cpuburn" "$cpuburn2"
-
- parallel --halt error echo ::: should not print
- parallel --halt soon echo ::: should not print
- parallel --halt now echo ::: should not print
-}
-
par_newline_in_command() {
echo Command with newline and positional replacement strings
parallel "
@@ -901,20 +889,6 @@
perl -pe 's/\d+\.\d{3}/9.999/g'
}
-par_testquote() {
- testquote() {
- printf '"#&/\n()*=?'"'" |
- PARALLEL_SHELL="$1" parallel -0 echo
- }
- export -f testquote
- # "sash script" does not work
- # "sash -f script" does, but is currently not supported by GNU Parallel
- parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh "sash -f" sh static-sh tcsh yash zsh
- # "fdsh" is currently not supported by GNU Parallel:
- # It gives ioctl(): Interrupted system call
- parallel --tag -k testquote ::: fdsh
-}
-
par_locale_quoting() {
echo "### quoting in different locales"
printf '\243`/tmp/test\243`\n'
@@ -1014,24 +988,6 @@
echo OK | stdout fish -c 'parallel --pipe cat'
}
-par_jobslot_jobnumber_pipe() {
- echo '### Test bug #43376: {%} and {#} with --pipe'
- echo foo | parallel -q --pipe -k echo {#}
- echo foo | parallel --pipe -k echo {%}
- echo foo | parallel -q --pipe -k echo {%}
- echo foo | parallel --pipe -k echo {#}
-}
-
-par_replacement_string_as_part_of_command() {
- echo '### {} as part of the command'
- echo p /bin/ls | parallel l{= s/p/s/ =}
- echo /bin/ls-p | parallel --colsep '-' l{=2 s/p/s/ =} {1}
- echo s /bin/ls | parallel l{}
- echo /bin/ls | parallel ls {}
- echo ls /bin/ls | parallel {}
- echo ls /bin/ls | parallel
-}
-
par_japanese_chars_in_replacement_string() {
echo '### bug #43817: Some JP char cause problems in positional replacement strings'
parallel -k echo ::: '�<�>' '�<1 $_=2�>' 'ワ'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-10s.sh
^
|
@@ -8,7 +8,43 @@
# Each should be taking 10-30s and be possible to run in parallel
# I.e.: No race conditions, no logins
-par_keeporder_roundrobin() {
+par_retries_0() {
+ echo '--retries 0 = inf'
+ echo this wraps at 256 and should retry until it wraps
+ tmp=$(mktemp)
+ qtmp=$(parallel -0 --shellquote ::: "$tmp")
+ parallel --retries 0 -u 'printf {} >> '"$qtmp"';a=$(stat -c %s '"$qtmp"'); echo -n " $a"; exit $a' ::: a
+ echo
+ rm -f "$tmp"
+}
+
+par_seqreplace_long_line() {
+ echo '### Test --seqreplace and line too long'
+ seq 1 1000 |
+ stdout parallel -j1 -s 210 -k --seqreplace I echo IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII \|wc |
+ uniq -c
+}
+
+par__print_in_blocks() {
+ echo '### bug #41565: Print happens in blocks - not after each job complete'
+ median() { perl -e '@a=sort {$a<=>$b} <>;print $a[$#a/2]';}
+ export -f median
+
+ echo 'The timing here is important: a full second between each'
+ perl -e 'for(1..30){print("$_\n");`sleep 1`}' |
+ parallel -j3 'echo {#}' |
+ timestamp -dd |
+ perl -pe '$_=int($_+0.3)."\n"' |
+ median
+ echo '300 ms jobs:'
+ perl -e 'for(1..30){print("$_\n");`sleep .3`}' |
+ parallel -j3 --delay 0.3 echo |
+ timestamp -d -d |
+ perl -pe 's/(.....).*/int($1*10+0.2)/e' |
+ median
+}
+
+par__keeporder_roundrobin() {
echo 'bug #50081: --keep-order --round-robin should give predictable results'
. `which env_parallel.bash`
@@ -38,7 +74,7 @@
fi
}
-par_load_from_PARALLEL() {
+par__load_from_PARALLEL() {
echo "### Test reading load from PARALLEL"
export PARALLEL="--load 300%"
# Ignore stderr due to 'Starting processes took > 2 sec'
@@ -152,12 +188,16 @@
grep -Ev 'processes took|Consider adjusting -j'
}
-par_round_robin_blocks() {
+par__round_robin_blocks() {
echo "bug #49664: --round-robin does not complete"
seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l
}
par_compress_prg_fails() {
+ echo "### bug #41609: --compress fails"
+ seq 12 | parallel --compress --compress-program gzip -k seq {} 10000 | md5sum
+ seq 12 | parallel --compress -k seq {} 10000 | md5sum
+
echo '### bug #44546: If --compress-program fails: fail'
doit() {
(parallel $* --compress-program false \
@@ -314,101 +354,6 @@
doit
}
-par_parset() {
- echo '### test parset'
- (
- . `which env_parallel.bash`
-
- echo 'Put output into $myarray'
- parset myarray -k seq 10 ::: 14 15 16
- echo "${myarray[1]}"
-
- echo 'Put output into vars "$seq, $pwd, $ls"'
- parset "seq pwd ls" -k ::: "seq 10" pwd ls
- echo "$seq"
-
- echo 'Put output into vars ($seq, $pwd, $ls)':
- into_vars=(seq pwd ls)
- parset "${into_vars[*]}" -k ::: "seq 5" pwd ls
- echo "$seq"
-
- echo 'The commands to run can be an array'
- cmd=("echo '<<joe \"double space\" cartoon>>'" "pwd")
- parset data -k ::: "${cmd[@]}"
- echo "${data[0]}"
- echo "${data[1]}"
-
- echo 'You cannot pipe into parset, but must use a tempfile'
- seq 10 > /tmp/parset_input_$$
- parset res -k echo :::: /tmp/parset_input_$$
- echo "${res[0]}"
- echo "${res[9]}"
- rm /tmp/parset_input_$$
-
- echo 'or process substitution'
- parset res -k echo :::: <(seq 0 10)
- echo "${res[0]}"
- echo "${res[9]}"
-
- echo 'Commands with newline require -0'
- parset var -k -0 ::: 'echo "line1
-line2"' 'echo "command2"'
- echo "${var[0]}"
- ) | replace_tmpdir
-}
-
-par_parset2() {
- echo '### parset into array'
- (
- . `which env_parallel.bash`
-
- parset arr1 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 $comma1 $comma2 $comma3
-
- echo '### parset into vars with space'
- parset 'space3 space2 space1' echo ::: baz bar foo
- echo $space1 $space2 $space3
-
- echo '### parset with newlines'
- parset 'newline3 newline2 newline1' seq ::: 3 2 1
- echo "$newline1"
- echo "$newline2"
- echo "$newline3"
-
- echo '### parset into indexed array vars'
- parset 'myarray[6],myarray[5],myarray[4]' echo ::: baz bar foo
- echo ${myarray[*]}
- echo ${myarray[4]} ${myarray[5]} ${myarray[5]}
-
- echo '### env_parset'
- alias myecho='echo myecho "$myvar" "${myarr[1]}"'
- myvar="myvar"
- myarr=("myarr 0" "myarr 1" "myarr 2")
- mynewline="`echo newline1;echo newline2;`"
- env_parset arr1 myecho ::: foo bar baz
- echo "${arr1[0]} ${arr1[1]} ${arr1[2]}"
- env_parset comma3,comma2,comma1 myecho ::: baz bar foo
- echo "$comma1 $comma2 $comma3"
- env_parset 'space3 space2 space1' myecho ::: baz bar foo
- echo "$space1 $space2 $space3"
- env_parset 'newline3 newline2 newline1' 'echo "$mynewline";seq' ::: 3 2 1
- echo "$newline1"
- echo "$newline2"
- echo "$newline3"
- env_parset 'myarray[6],myarray[5],myarray[4]' myecho ::: baz bar foo
- echo "${myarray[*]}"
- echo "${myarray[4]} ${myarray[5]} ${myarray[5]}"
-
- echo 'bug #52507: parset arr1 -v echo ::: fails'
- parset arr1 -v seq ::: 1 2 3
- echo "${arr1[2]}"
- ) | replace_tmpdir
-}
-
par_perlexpr_repl() {
echo '### {= and =} in different groups separated by space'
parallel echo {= s/a/b/ =} ::: a
@@ -591,7 +536,7 @@
grep 1:local | perl -pe 's/\d\d\d/999/g; s/\d\d+|[2-9]/2+/g;'
}
-par__pipe_tee() {
+par_pipe_tee() {
echo 'bug #45479: --pipe/--pipepart --tee'
echo '--pipe --tee'
@@ -602,7 +547,7 @@
random100M | parallel --pipe --tee cat ::: {1..3} | LC_ALL=C wc -c
}
-par__pipepart_tee() {
+par_pipepart_tee() {
echo 'bug #45479: --pipe/--pipepart --tee'
echo '--pipepart --tee'
@@ -659,12 +604,6 @@
rm /tmp/114-b$$
}
-par_compress_fail() {
- echo "### bug #41609: --compress fails"
- seq 12 | parallel --compress --compress-program gzip -k seq {} 10000 | md5sum
- seq 12 | parallel --compress -k seq {} 10000 | md5sum
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-1s.sh
^
|
@@ -8,7 +8,66 @@
# Each should be taking 1-3s and be possible to run in parallel
# I.e.: No race conditions, no logins
-par_plus() {
+par_tagstring() {
+ echo '### Test --tagstring'
+ parallel -j1 -X -v --tagstring a{}b echo ::: 3 4
+ parallel -j1 -k -v --tagstring a{}b echo ::: 3 4
+ parallel -j1 -k -v --tagstring a{}b echo job{#} ::: 3 4
+ parallel -j1 -k -v --tagstring ajob{#}b echo job{#} ::: 3 4
+}
+
+par_quote_bugs() {
+ echo '### Bug did not quote'
+ echo '>' | parallel -v echo
+ parallel -v echo ::: '>'
+ (echo '>'; echo 2) | parallel -j1 -vX echo
+ parallel -X -j1 echo ::: '>' 2
+
+ echo '### Must not quote';
+ echo 'echo | wc -l' | parallel -v
+ parallel -v ::: 'echo | wc -l'
+ echo 'echo a b c | wc -w' | parallel -v
+ parallel -kv ::: 'echo a b c | wc -w' 'echo a b | wc -w'
+}
+
+par_keep_order() {
+ echo '### Bug made 4 5 go before 1 2 3'
+ parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
+
+ echo '### Bug made 3 go before 1 2'
+ parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
+}
+
+par__arg_sep() {
+ echo '### Test basic --arg-sep'
+ parallel -k echo ::: a b
+
+ echo '### Run commands using --arg-sep'
+ parallel -kv ::: 'echo a' 'echo b'
+
+ echo '### Change --arg-sep'
+ parallel --arg-sep ::: -kv ::: 'echo a' 'echo b'
+ parallel --arg-sep .--- -kv .--- 'echo a' 'echo b'
+ parallel --argsep ::: -kv ::: 'echo a' 'echo b'
+ parallel --argsep .--- -kv .--- 'echo a' 'echo b'
+
+ echo '### Test stdin goes to first command only'
+ echo via cat | parallel --arg-sep .--- -kv .--- 'cat' 'echo b'
+ echo via cat | parallel -kv ::: 'cat' 'echo b'
+}
+
+par_retired() {
+ echo '### Test retired'
+ stdout parallel -B foo
+ stdout parallel -g
+ stdout parallel -H 1
+ stdout parallel -T
+ stdout parallel -U foo
+ stdout parallel -W foo
+ stdout parallel -Y
+}
+
+par__plus() {
echo '### --plus'
echo '(It is OK to start with extra / or end with extra .)'
parallel -k --plus echo {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = \
@@ -149,14 +208,6 @@
parallel --sqlandworker csv:///%2Ftmp%2Fparallel-bug-56096/mytable echo ::: works
}
-par_uninstalled_sshpass() {
- echo '### sshpass must be installed for --sshlogin user:pass@host'
- sshpass=$(command -v sshpass)
- sudo mv "$sshpass" "$sshpass".hidden
- parallel -S user:pass@host echo ::: must fail
- sudo mv "$sshpass".hidden "$sshpass"
-}
-
par_results_compress() {
tmpdir="$(mktemp)"
rm -r "$tmpdir"
@@ -178,7 +229,7 @@
rm -r "$tmpdir"
}
-par_I_X_m() {
+par__I_X_m() {
echo '### Test -I with -X and -m'
seq 10 | parallel -k 'seq 1 {.} | parallel -k -I :: echo {.} ::'
@@ -251,11 +302,6 @@
LC_ALL=C sort
}
-par_bug43654() {
- echo "bug #43654: --bar with command not using {} - only last output line "
- COLUMNS=80 stdout parallel --bar true {.} ::: 1 | perl -pe 's/.*\r/\r/'
-}
-
par_replacement_rename() {
echo "### Test --basenamereplace"
parallel -j1 -k -X --basenamereplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b
@@ -312,16 +358,6 @@
(echo '> '; echo '> '; echo '>') | parallel --max-lines 3 echo
}
-par_eof_on_command_line_input_source() {
- echo '### Test of eof string on :::'
- parallel -k -E ole echo ::: foo ole bar
-}
-
-par_empty_string_command_line() {
- echo '### Test of ignore-empty string on :::'
- parallel -k -r echo ::: foo '' ole bar
-}
-
par_trailing_space_line_continuation() {
echo '### Test of trailing space continuation'
(echo foo; echo '';echo 'ole ';echo bar;echo quux) | xargs -r -L2 echo
@@ -374,11 +410,71 @@
seq 1 10 | parallel -k echo {#}
}
-par_seqreplace_long_line() {
- echo '### Test --seqreplace and line too long'
- seq 1 1000 |
- stdout parallel -j1 -s 210 -k --seqreplace I echo IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII \|wc |
- uniq -c
+par_jobslot_jobnumber_pipe() {
+ echo '### Test bug #43376: {%} and {#} with --pipe'
+ echo foo | parallel -q --pipe -k echo {#}
+ echo foo | parallel --pipe -k echo {%}
+ echo foo | parallel -q --pipe -k echo {%}
+ echo foo | parallel --pipe -k echo {#}
+}
+
+par_replacement_string_as_part_of_command() {
+ echo '### {} as part of the command'
+ echo p /bin/ls | parallel l{= s/p/s/ =}
+ echo /bin/ls-p | parallel --colsep '-' l{=2 s/p/s/ =} {1}
+ echo s /bin/ls | parallel l{}
+ echo /bin/ls | parallel ls {}
+ echo ls /bin/ls | parallel {}
+ echo ls /bin/ls | parallel
+}
+
+par_test_m_X() {
+ echo '### Test -m vs -X'
+ (echo foo;echo bar;echo joe.gif) | parallel -j1 -km echo 1{}2{.}3 A{.}B{.}C
+ (echo foo;echo bar;echo joe.gif) | parallel -j1 -kX echo 1{}2{.}3 A{.}B{.}C
+ seq 1 6 | parallel -k printf '{}.gif\\n' | parallel -j1 -km echo a{}b{.}c{.}
+ seq 1 6 | parallel -k printf '{}.gif\\n' | parallel -j1 -kX echo a{}b{.}c{.}
+
+ echo '### Test -q {.}'
+ echo a | parallel -qX echo "'"{.}"' "
+ echo a | parallel -qX echo "'{.}'"
+}
+
+par_testquote() {
+ testquote() {
+ printf '"#&/\n()*=?'"'" |
+ PARALLEL_SHELL="$1" parallel -0 echo
+ }
+ export -f testquote
+ # "sash script" does not work
+ # "sash -f script" does, but is currently not supported by GNU Parallel
+ parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh "sash -f" sh static-sh tcsh yash zsh
+ # "fdsh" is currently not supported by GNU Parallel:
+ # It gives ioctl(): Interrupted system call
+ parallel --tag -k testquote ::: fdsh
+}
+
+par_basic_halt() {
+ cpuburn=$(mktemp)
+ cpuburn2=$(mktemp)
+ (echo '#!/usr/bin/perl'
+ echo "eval{setpriority(0,0,9)}; while(1){}") > "$cpuburn"
+ chmod 700 "$cpuburn"
+ cp -a "$cpuburn" "$cpuburn2"
+ qcpuburn=$(parallel -0 --shellquote ::: "$cpuburn")
+ qcpuburn2=$(parallel -0 --shellquote ::: "$cpuburn2")
+
+ parallel -0 -j4 --halt 2 ::: 'sleep 1' "$qcpuburn" false;
+ killall $(basename "$cpuburn") 2>/dev/null &&
+ echo ERROR: cpuburn should already have been killed
+ parallel -0 -j4 --halt -2 ::: 'sleep 1' "$qcpuburn2" true;
+ killall $(basename "$cpuburn2") 2>/dev/null &&
+ echo ERROR: cpuburn2 should already have been killed
+ rm "$cpuburn" "$cpuburn2"
+
+ parallel --halt error echo ::: should not print
+ parallel --halt soon echo ::: should not print
+ parallel --halt now echo ::: should not print
}
par_bug37042() {
@@ -425,7 +521,7 @@
stdout parallel --compress --compress-program pxz true ::: OK-if-no-output
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-30s.sh
^
|
@@ -8,6 +8,49 @@
# Each should be taking 30-100s and be possible to run in parallel
# I.e.: No race conditions, no logins
+par__groupby_big() {
+ echo "### test --group-by on file bigger than block"
+ groupcol() {
+ export groupcol=$1
+ export n=$2
+ export sorted=$(mktemp)
+ # Sort on grouping column
+ parsort -k${groupcol}n "$testfile" > "$sorted"
+ headtail() { (head -n1;tail -n1); }
+ export -f headtail
+ # wrapper functions for -v below to give headers in output
+ _ppart() { headtail; }
+ export -f _ppart
+ _pipe() { headtail; }
+ export -f _pipe
+ pipepart() {
+ parallel $n -k --groupby $groupcol --colsep ' ' -v \
+ --pipepart -a "$sorted" _ppart
+ }
+ pipe() {
+ parallel $n -k --groupby $groupcol --colsep ' ' -v \
+ < "$sorted" _pipe
+ }
+ export -f pipepart pipe
+ . $(which env_parallel.bash)
+ # Do the same with --pipe and --pipepart
+ parset a,b -k ::: pipe pipepart
+ paste <(echo "$a") <(echo "$b")
+ rm "$sorted"
+ }
+ export -f groupcol
+
+ export testfile=$(mktemp)
+ # 3 columns: 1..10, 1..100, 1..14
+ seq 1 1000000 |
+ awk '{print int(10*rand()),int(100*rand()),int(14*rand())}' > "$testfile"
+
+ echo "--group-by on col 1..3, -n1..5"
+ echo "_pipe and _ppart (pipepart) must return the same"
+ parallel -k --tag groupcol ::: 1 2 3 ::: '' -n1 -n2 -n3 -n4 -n5
+ rm "$testfile"
+}
+
par_test_diff_roundrobin_k() {
echo '### test there is difference on -k'
. $(which env_parallel.bash)
@@ -281,7 +324,7 @@
# Test --colsep --header : (OK: --header : not needed)
}
-par_groupby_pipepart() {
+par__groupby_pipepart() {
tsv() {
# TSV file
printf "%s\t" header_a1 head_b1 c1 d1 e1 f1; echo
@@ -346,7 +389,7 @@
rm /tmp/parallel_race_cond
}
-par_memory_leak() {
+par__memory_leak() {
a_run() {
seq $1 |time -v parallel true 2>&1 |
grep 'Maximum resident' |
@@ -457,7 +500,7 @@
) | perl -pe 's/(\d\d+)\d\d\d/${1}xxx/g'
}
-par_plus_dyn_repl() {
+par__plus_dyn_repl() {
echo "Dynamic replacement strings defined by --plus"
unset myvar
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-3s.sh
^
|
@@ -10,25 +10,15 @@
par_process_slot_var() {
echo '### bug #62310: xargs compatibility: --process-slot-var=name'
- seq 0.1 0.1 0.5 |
- parallel -n1 -P4 --process-slot-var=name -q bash -c 'sleep $1; echo "$name"' _
- seq 0.1 0.1 0.5 |
+ seq 0.1 0.3 1.5 |
+ parallel -n1 -kP4 --process-slot-var=name -q bash -c 'sleep $1; echo "$name"' _
+ seq 0.1 0.3 1.5 |
xargs -n1 -P4 --process-slot-var=name bash -c 'sleep $1; echo "$name"' _
- seq 0.1 0.1 0.5 |
- parallel -P4 --process-slot-var=name sleep {}\; echo '$name'
+ seq 0.1 0.3 1.5 |
+ parallel -kP4 --process-slot-var=name sleep {}\; echo '$name'
}
-par_retries_0() {
- echo '--retries 0 = inf'
- echo this wraps at 256 and should retry until it wraps
- tmp=$(mktemp)
- qtmp=$(parallel -0 --shellquote ::: "$tmp")
- parallel --retries 0 -u 'printf {} >> '"$qtmp"';a=$(stat -c %s '"$qtmp"'); echo -n " $a"; exit $a' ::: a
- echo
- rm -f "$tmp"
-}
-
-par_prefix_for_L_n_N_s() {
+par__prefix_for_L_n_N_s() {
echo Must give xxx000 args
seq 10000 | parallel -N 1k 'echo {} | wc -w' | sort
seq 10000 | parallel -n 1k 'echo {} | wc -w' | sort
@@ -38,7 +28,102 @@
seq 10000 | parallel -mj1 -s 1k 'echo {} | wc -w' | sort
}
-par_parset_assoc_arr() {
+par_parset() {
+ echo '### test parset'
+ (
+ . `which env_parallel.bash`
+
+ echo 'Put output into $myarray'
+ parset myarray -k seq 10 ::: 14 15 16
+ echo "${myarray[1]}"
+
+ echo 'Put output into vars "$seq, $pwd, $ls"'
+ parset "seq pwd ls" -k ::: "seq 10" pwd ls
+ echo "$seq"
+
+ echo 'Put output into vars ($seq, $pwd, $ls)':
+ into_vars=(seq pwd ls)
+ parset "${into_vars[*]}" -k ::: "seq 5" pwd ls
+ echo "$seq"
+
+ echo 'The commands to run can be an array'
+ cmd=("echo '<<joe \"double space\" cartoon>>'" "pwd")
+ parset data -k ::: "${cmd[@]}"
+ echo "${data[0]}"
+ echo "${data[1]}"
+
+ echo 'You cannot pipe into parset, but must use a tempfile'
+ seq 10 > /tmp/parset_input_$$
+ parset res -k echo :::: /tmp/parset_input_$$
+ echo "${res[0]}"
+ echo "${res[9]}"
+ rm /tmp/parset_input_$$
+
+ echo 'or process substitution'
+ parset res -k echo :::: <(seq 0 10)
+ echo "${res[0]}"
+ echo "${res[9]}"
+
+ echo 'Commands with newline require -0'
+ parset var -k -0 ::: 'echo "line1
+line2"' 'echo "command2"'
+ echo "${var[0]}"
+ ) | replace_tmpdir
+}
+
+par_parset2() {
+ echo '### parset into array'
+ (
+ . `which env_parallel.bash`
+
+ parset arr1 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 $comma1 $comma2 $comma3
+
+ echo '### parset into vars with space'
+ parset 'space3 space2 space1' echo ::: baz bar foo
+ echo $space1 $space2 $space3
+
+ echo '### parset with newlines'
+ parset 'newline3 newline2 newline1' seq ::: 3 2 1
+ echo "$newline1"
+ echo "$newline2"
+ echo "$newline3"
+
+ echo '### parset into indexed array vars'
+ parset 'myarray[6],myarray[5],myarray[4]' echo ::: baz bar foo
+ echo ${myarray[*]}
+ echo ${myarray[4]} ${myarray[5]} ${myarray[5]}
+
+ echo '### env_parset'
+ alias myecho='echo myecho "$myvar" "${myarr[1]}"'
+ myvar="myvar"
+ myarr=("myarr 0" "myarr 1" "myarr 2")
+ mynewline="`echo newline1;echo newline2;`"
+ env_parset arr1 myecho ::: foo bar baz
+ echo "${arr1[0]} ${arr1[1]} ${arr1[2]}"
+ env_parset comma3,comma2,comma1 myecho ::: baz bar foo
+ echo "$comma1 $comma2 $comma3"
+ env_parset 'space3 space2 space1' myecho ::: baz bar foo
+ echo "$space1 $space2 $space3"
+ env_parset 'newline3 newline2 newline1' 'echo "$mynewline";seq' ::: 3 2 1
+ echo "$newline1"
+ echo "$newline2"
+ echo "$newline3"
+ env_parset 'myarray[6],myarray[5],myarray[4]' myecho ::: baz bar foo
+ echo "${myarray[*]}"
+ echo "${myarray[4]} ${myarray[5]} ${myarray[5]}"
+
+ echo 'bug #52507: parset arr1 -v echo ::: fails'
+ parset arr1 -v seq ::: 1 2 3
+ echo "${arr1[2]}"
+ ) | replace_tmpdir
+}
+
+par__parset_assoc_arr() {
mytest=$(cat <<'EOF'
mytest() {
shell=`basename $SHELL`
@@ -226,13 +311,16 @@
parallel -k --pipe --tee ::: wc md5sum
}
-par_10000_5_rpl_X() {
+par__10000_5_rpl_X() {
echo '### Test -X with 10000 args and 5 replacement strings'
- seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.}{.}{} | wc -l
- seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.}{.} | wc -l
- seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.} | wc -l
- seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c | wc -l
- seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b | wc -l
+ gen() {
+ seq 10000 | perl -pe 's/$/.gif/'
+ }
+ gen | parallel -j1 -kX echo a{}b{.}c{.}{.}{} | wc -l
+ gen | parallel -j1 -kX echo a{}b{.}c{.}{.} | wc -l
+ gen | parallel -j1 -kX echo a{}b{.}c{.} | wc -l
+ gen | parallel -j1 -kX echo a{}b{.}c | wc -l
+ gen | parallel -j1 -kX echo a{}b | wc -l
}
par_X_I_meta() {
@@ -329,7 +417,7 @@
rmdir "$tmpdir"
}
-par_tee_too_many_args() {
+par__tee_too_many_args() {
echo '### Fail if there are more arguments than --jobs'
seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
tmp=`mktemp`
@@ -365,7 +453,7 @@
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.1 -j 10 'sleep 1; echo {0#}/{##}:{0%}' ::: {1..5} ::: {1..4}
+ parallel -k --plus --delay 0.01 -j 10 'sleep 2; echo {0#}/{##}:{0%}' ::: {1..5} ::: {1..4}
}
par_jobslot_repl() {
@@ -379,7 +467,7 @@
echo 'bug #46231: {%} with --pipepart broken. Should give 1+2'
seq 10000 > /tmp/num10000
- parallel -k --pipepart -ka /tmp/num10000 --block 10k -j2 --delay 0.05 'sleep 0.1; echo {%}'
+ parallel -k --pipepart -ka /tmp/num10000 --block 10k -j2 --delay 0.1 'sleep 0.2; echo {%}'
rm /tmp/num10000
}
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race01.sh
^
|
@@ -4,6 +4,13 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
+par_change_content_--jobs_filename() {
+ echo '### Test of -j filename with file content changing (missing -k is correct)'
+ echo 1 >/tmp/jobs_to_run2
+ (sleep 3; echo 10 >/tmp/jobs_to_run2) &
+ parallel -j /tmp/jobs_to_run2 -v sleep {} ::: 3.3 2.{1..5} 0.{1..7}
+}
+
par_csv_not_installed() {
echo '### Give error if CSV.pm is not installed when using --csv'
sudo parallel mv {} {}.hidden ::: /usr/share/perl5/Text/CSV.pm
@@ -63,7 +70,8 @@
}
par_distribute_input_by_ability() {
- echo "### bug #48290: round-robin does not distribute data based on business"
+ echo "### bug #48290: round-robin does not distribute data"
+ echo "based on busy-ness"
echo "### Distribute input to jobs that are ready"
echo "Job-slot n is 50% slower than n+1, so the order should be 1..7"
seq 20000000 |
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-race02.sh
^
|
@@ -6,6 +6,42 @@
# These fail regularly
+ctrlz_should_suspend_children() {
+ echo 'bug #46120: Suspend should suspend (at least local) children'
+ echo 'it should burn 1.9 CPU seconds, but no more than that'
+ echo 'The 5 second sleep will make it be killed by timeout when it fgs'
+
+ run() {
+ cmd="$1"
+ sleep="$2"
+ error="$3"
+ input_source_pipe() {
+ echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | \grep -q CPUTIME=1
+ }
+ input_source_cmdline() {
+ stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1
+ }
+ # $cmd is input_source_pipe or input_source_cmdline
+ $cmd &
+ echo $cmd
+ sleep $sleep
+ kill -TSTP -$!
+ sleep 5
+ fg
+ echo $error $?
+ }
+ export -f run
+ clean() {
+ grep -v '\[1\]' | grep -v 'SHA256'
+ }
+
+ stdout bash -i -c 'run input_source_pipe 1.9 Zero=OK' | clean
+ stdout bash -i -c 'run input_source_cmdline 1.9 Zero=OK' | clean
+ echo "Control case: This should run 2.9 seconds"
+ stdout bash -i -c 'run input_source_cmdline 2.9 1=OK' | clean
+}
+ctrlz_should_suspend_children
+
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'
@@ -17,34 +53,6 @@
echo done
}
-ctrlz_should_suspend_children() {
- echo 'bug #46120: Suspend should suspend (at least local) children'
- echo 'it should burn 1.9 CPU seconds, but no more than that'
- echo 'The 5 second sleep will make it be killed by timeout when it fgs'
- stdout bash -i -c 'stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1 &
- sleep 1.9;
- kill -TSTP -$!;
- sleep 5;
- fg;
- echo Zero=OK $?' | grep -v '\[1\]' | grep -v 'SHA256'
-
- stdout bash -i -c 'echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | \grep -q CPUTIME=1 &
- sleep 1.9;
- kill -TSTP -$!;
- sleep 5;
- fg;
- echo Zero=OK $?' | grep -v '\[1\]' | grep -v 'SHA256'
-
- echo Control case: Burn for 2.9 seconds
- stdout bash -i -c 'stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1 &
- sleep 2.9;
- kill -TSTP -$!;
- sleep 5;
- fg;
- echo 1=OK $?' | grep -v '\[1\]' | grep -v 'SHA256'
-}
-ctrlz_should_suspend_children
-
par_more_than_9_relative_sshlogin() {
echo '### Check more than 9(relative) simultaneous sshlogins'
seq 1 11 | stdout parallel -k -j10000% -S "ssh lo" echo |
@@ -218,4 +226,4 @@
export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort |
# parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
- parallel --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1'
+ parallel -o --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local-ssh4.sh
^
|
@@ -152,7 +152,7 @@
parallel --env A,B,C -k echo '"'"'${}|wc'"'"' ::: A B C'
}
-par_--tmux_different_shells() {
+par__--tmux_different_shells() {
echo '### Test tmux works on different shells'
short_TMPDIR() {
# TMPDIR must be short for -M
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local150.sh
^
|
@@ -7,38 +7,15 @@
mkdir -p tmp
cd tmp
-median() { perl -e '@a=sort {$a<=>$b} <>;print $a[$#a/2]';}
-export -f median
# -L1 will join lines ending in ' '
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r
-echo '### bug #41565: Print happens in blocks - not after each job complete'
-echo 'The timing here is important: a full second between each'
- perl -e 'for(1..30){print("$_\n");`sleep 1`}' | parallel -j3 'echo {#}' | timestamp -dd | perl -pe '$_=int($_+0.3)."\n"' | median
-echo '300 ms jobs:'
- perl -e 'for(1..30){print("$_\n");`sleep .3`}' | parallel -j3 --delay 0.3 echo | timestamp -d -d | perl -pe 's/(.....).*/int($1*10+0.2)/e' | median
-
-echo '### Test --tagstring'
- nice parallel -j1 -X -v --tagstring a{}b echo ::: 3 4
- nice parallel -j1 -k -v --tagstring a{}b echo ::: 3 4
- nice parallel -j1 -k -v --tagstring a{}b echo job{#} ::: 3 4
- nice parallel -j1 -k -v --tagstring ajob{#}b echo job{#} ::: 3 4
-
echo '### Bug in --load';
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
-echo '### Test retired'
- stdout parallel -B foo
- stdout parallel -g
- stdout parallel -H 1
- stdout parallel -T
- stdout parallel -U foo
- stdout parallel -W foo
- stdout parallel -Y
-
echo '### Test --joblog followed by --resume --joblog'
rm -f /tmp/joblog;
timeout -k 1 1 parallel -j2 --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null;
@@ -67,39 +44,6 @@
stdout parallel echo ::: '/tmp/foo[123]';
rm /tmp/foo1
-echo '### Test basic --arg-sep'
- parallel -k echo ::: a b
-
-echo '### Run commands using --arg-sep'
- parallel -kv ::: 'echo a' 'echo b'
-
-echo '### Change --arg-sep'
- parallel --arg-sep ::: -kv ::: 'echo a' 'echo b'
- parallel --arg-sep .--- -kv .--- 'echo a' 'echo b'
- parallel --argsep ::: -kv ::: 'echo a' 'echo b'
- parallel --argsep .--- -kv .--- 'echo a' 'echo b'
-
-echo '### Test stdin goes to first command only'
- echo via cat |parallel --arg-sep .--- -kv .--- 'cat' 'echo b'
- echo via cat |parallel -kv ::: 'cat' 'echo b'
-
-echo '### Bug made 4 5 go before 1 2 3'
- parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
-
-echo '### Bug made 3 go before 1 2'
- parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
-
-echo '### Bug did not quote'
- echo '>' | parallel -v echo
- parallel -v echo ::: '>'
- (echo '>'; echo 2) | parallel -j1 -vX echo
- parallel -X -j1 echo ::: '>' 2
-
-echo '### Must not quote';
- echo 'echo | wc -l' | parallel -v
- parallel -v ::: 'echo | wc -l'
- echo 'echo a b c | wc -w' | parallel -v
- parallel -kv ::: 'echo a b c | wc -w' 'echo a b | wc -w'
echo '### Test bug #35820: sem breaks if $HOME is not writable'
echo 'Workaround: use another writable dir';
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-local9.sh
^
|
@@ -210,7 +210,3 @@
EOF
-echo '### Test of -j filename with file content changing (missing -k is correct)';
- echo 1 >/tmp/jobs_to_run2;
- (sleep 3; echo 10 >/tmp/jobs_to_run2) &
- parallel -j /tmp/jobs_to_run2 -v sleep {} ::: 3.3 1.5 1.5 1.5 1.5 1 1 1 1 1 1 1 1 1 1 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/tests-to-run/parallel-tutorial.sh
^
|
@@ -23,7 +23,8 @@
export SERVER2=csh@lo
export PARALLEL=-k
perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' "$testsuitedir"/../src/parallel_tutorial.pod |
- egrep -v 'curl|tty|parallel_tutorial|interactive|example.(com|net)|shellquote|works' |
+ egrep -v 'curl|tty|parallel_tutorial|interactive|example.(com|net)' |
+ egrep -v 'shellquote|works|num128|--filter-hosts|--tmux|my_id' |
perl -pe 's/username@//;s/user@//;
s/zenity/zenity --timeout=15/;
s:/usr/bin/time:/usr/bin/time -f %e:;
@@ -99,6 +100,7 @@
s{rsync error: some files/attrs were not transferred .*\n}{};
s{Give up after 2 secs\n}{};
s{parallel: Warning: Semaphore timed out. Exiting.\n}{};
+ s{parallel: Starting no more jobs. Waiting for 1 jobs to finish.}{};
s{.* GtkDialog .*\n}{};
s{tried 1}{};
s/^\s*\n//;
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-0.3s
^
|
@@ -48,13 +48,6 @@
par_arguments_on_cmdline ### Test arguments on commandline
par_arguments_on_cmdline args on cmdline
par_arguments_on_cmdline args on cmdline
-par_basic_halt parallel: This job failed:
-par_basic_halt false
-par_basic_halt parallel: This job succeeded:
-par_basic_halt true
-par_basic_halt parallel: Error: --halt must have 'never', 'soon', or 'now'.
-par_basic_halt parallel: Error: --halt soon must be followed by ,success or ,fail.
-par_basic_halt parallel: Error: --halt now must be followed by ,success or ,fail.
par_blocking_redir 0 0 0
par_blocking_redir 0 0 0
par_blocking_redir 1 9 54
@@ -66,6 +59,8 @@
par_blocking_redir stderr
par_blocking_redir stdout
par_blocking_redir stdout
+par_bug43654 bug #43654: --bar with command not using {} - only last output line
+par_bug43654
par_bug43654 [7m100% 1:0=0s 1 [0m[0m
par_colour_failed --colour-failed --colour
par_colour_failed seq 1;exit 0
par_colour_failed 1
@@ -216,10 +211,16 @@
par_empty_line ### Test bug: empty line for | sh with -k
par_empty_line a
par_empty_line b
+par_empty_string_command_line ### Test of ignore-empty string on :::
+par_empty_string_command_line foo
+par_empty_string_command_line ole
+par_empty_string_command_line bar
par_empty_string_quote bug #37694: Empty string argument skipped when using --quote
par_empty_string_quote 3
par_env_parallel_pipefail ### test env_parallel with pipefail + inherit_errexit
par_env_parallel_pipefail OK
+par_eof_on_command_line_input_source ### Test of eof string on :::
+par_eof_on_command_line_input_source foo
par_exit_val ### Test bug #45619: "--halt" erroneous error exit code (should give 0)
par_exit_val 0
par_exit_val ### Test exit val - true
@@ -239,9 +240,8 @@
par_group-by_colsep_space 1 2 5
par_group-by_colsep_space 2 2 10
par_group-by_colsep_space 1 1 6
-par_group-by_colsep_space 1 2 5
par_group-by_colsep_space 2 4 10
-par_group-by_colsep_space 1 3 6
+par_group-by_colsep_space 2 5 11
par_halt_on_error_division_by_zero ### --halt-on-error soon,fail=100% with no input should not give division by zero
par_halt_on_error_division_by_zero 0
par_halt_one_job # Halt soon if there is a single job
@@ -310,11 +310,6 @@
par_japanese_chars_in_replacement_string ワ
par_japanese_chars_in_replacement_string �<�> �<1 $_=2�> ワ
par_japanese_chars_in_replacement_string �<�>
-par_jobslot_jobnumber_pipe ### Test bug #43376: {%} and {#} with --pipe
-par_jobslot_jobnumber_pipe 1
-par_jobslot_jobnumber_pipe 1
-par_jobslot_jobnumber_pipe 1
-par_jobslot_jobnumber_pipe 1
par_json { "Seq": 0, "Host": ":", "Starttime": 0000000000.000, "JobRuntime": 0.000, "Send": 0, "Receive": 0, "Exitval": 0, "Signal": 0, "Command": "echo '\"\u0000\\\"' '\"'", "V": [ "\"\u0000\\\","\" ], "Stdout": "\"\u0000\\\" \"\u000a", "Stderr": " }
par_json { "Seq": 0, "Host": ":", "Starttime": 0000000000.000, "JobRuntime": 0.000, "Send": 0, "Receive": 0, "Exitval": 0, "Signal": 0, "Command": "echo '\"\u0000\\\"' '\\\\'", "V": [ "\"\u0000\\\","\\\\" ], "Stdout": "\"\u0000\\\" \\\\\u000a", "Stderr": " }
par_l0_is_l1 ### Because of --tollef -l, then -l0 == -l1, sorry
@@ -915,13 +910,6 @@
par_replace_replacementstring ### Test replace {}
par_replace_replacementstring replace curlies
par_replace_replacementstring replace curlies
-par_replacement_string_as_part_of_command ### {} as part of the command
-par_replacement_string_as_part_of_command /bin/ls
-par_replacement_string_as_part_of_command /bin/ls
-par_replacement_string_as_part_of_command /bin/ls
-par_replacement_string_as_part_of_command /bin/ls
-par_replacement_string_as_part_of_command /bin/ls
-par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_on_utf8 ### test {} {.} on UTF8 input
par_replacement_string_on_utf8 中国 (Zhōngguó)/China's (中国) road.jpg 中国 (Zhōngguó)/China's (中国) road
par_replacement_string_on_utf8 中国.(中国) 中国
@@ -1048,14 +1036,6 @@
par_test_L_context_replace ### Test -L context replace
par_test_L_context_replace a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
par_test_L_context_replace a11b a12b a13b a14b a15b a16b a17b a18b a19b
-par_test_m_X ### Test -m vs -X
-par_test_m_X 1foo bar joe.gif2foo bar joe3 Afoo bar joeBfoo bar joeC
-par_test_m_X 1foo2foo3 1bar2bar3 1joe.gif2joe3 AfooBfooC AbarBbarC AjoeBjoeC
-par_test_m_X a1.gif 2.gif 3.gif 4.gif 5.gif 6.gifb1 2 3 4 5 6c1 2 3 4 5 6
-par_test_m_X a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6
-par_test_m_X ### Test -q {.}
-par_test_m_X 'a'
-par_test_m_X 'a'
par_test_r_with_pipe ### Test of -r with --pipe - the first should give an empty line. The second should not.
par_test_r_with_pipe 1
par_test_r_with_pipe 0
@@ -1072,47 +1052,6 @@
par_test_zero_args L0
par_test_zero_args N0
par_test_zero_args N0
-par_testquote ash "#&/
-par_testquote ash ()*=?'
-par_testquote bash "#&/
-par_testquote bash ()*=?'
-par_testquote csh "#&/
-par_testquote csh ()*=?'
-par_testquote dash "#&/
-par_testquote dash ()*=?'
-par_testquote fdsh "#&/
-par_testquote fdsh ()*=?'
-par_testquote fish "#&/
-par_testquote fish ()*=?'
-par_testquote fizsh "#&/
-par_testquote fizsh ()*=?'
-par_testquote ksh "#&/
-par_testquote ksh ()*=?'
-par_testquote ksh93 "#&/
-par_testquote ksh93 ()*=?'
-par_testquote mksh "#&/
-par_testquote mksh ()*=?'
-par_testquote posh "#&/
-par_testquote posh ()*=?'
-par_testquote rbash "#&/
-par_testquote rbash ()*=?'
-par_testquote rc "#&/
-par_testquote rc ()*=?'
-par_testquote rzsh "#&/
-par_testquote rzsh ()*=?'
-par_testquote sash -f parallel: Error: Shell 'sash -f' not found.
-par_testquote sh "#&/
-par_testquote sh ()*=?'
-par_testquote static-sh "#&/
-par_testquote static-sh ()*=?'
-par_testquote tcsh "#&/
-par_testquote tcsh ()*=?'
-par_testquote yash "#&/
-par_testquote yash ()*=?'
-par_testquote zsh "#&/
-par_testquote zsh ()*=?'
-par_testquote fdsh "#&/
-par_testquote fdsh ()*=?'
par_tmpl1 1.t1 /tmp/tmpl-1.1-111.111.t2
par_tmpl1 Template1
par_tmpl1 Xval: 1.1
@@ -1362,6 +1301,8 @@
par_tricolonplus 3 23 c cc
par_trim_illegal_value ### Test of --trim illegal
par_trim_illegal_value parallel: Error: --trim must be one of: r l rl lr.
+par_uninstalled_sshpass ### sshpass must be installed for --sshlogin user:pass@host
+par_uninstalled_sshpass parallel: Error: --sshlogin with password requires sshpass installed
par_unquote_replacement_string ### Can part of the replacement string be unquoted using uq()?
par_unquote_replacement_string `echo foo`foo
par_verbose_t ### Test --verbose and -t
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-10s
^
|
@@ -16,14 +16,20 @@
par_END include this
par_END include this
par_END include this
-par__pipe_tee bug #45479: --pipe/--pipepart --tee
-par__pipe_tee --pipe --tee
-par__pipe_tee 314572800
+par__keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
+par__keeporder_roundrobin OK
+par__load_from_PARALLEL ### Test reading load from PARALLEL
+par__load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
+par__load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
par__pipepart_spawn 1:local / 2+ / 2+
-par__pipepart_tee bug #45479: --pipe/--pipepart --tee
-par__pipepart_tee --pipepart --tee
-par__pipepart_tee 314572800
+par__print_in_blocks ### bug #41565: Print happens in blocks - not after each job complete
+par__print_in_blocks The timing here is important: a full second between each
+par__print_in_blocks 1
+par__print_in_blocks 300 ms jobs:
+par__print_in_blocks 3
+par__round_robin_blocks bug #49664: --round-robin does not complete
+par__round_robin_blocks 8
par_colsep ### Test of --colsep
par_colsep a b c
par_colsep a b c
@@ -72,9 +78,9 @@
par_colsep ac
par_colsep echo ac
par_colsep ac
-par_compress_fail ### bug #41609: --compress fails
-par_compress_fail f1a751b1283e99e7dda40f63f1225f74 -
-par_compress_fail f1a751b1283e99e7dda40f63f1225f74 -
+par_compress_prg_fails ### bug #41609: --compress fails
+par_compress_prg_fails f1a751b1283e99e7dda40f63f1225f74 -
+par_compress_prg_fails f1a751b1283e99e7dda40f63f1225f74 -
par_compress_prg_fails ### bug #44546: If --compress-program fails: fail
par_compress_prg_fails 1
par_compress_prg_fails parallel: Error: false failed.
@@ -531,8 +537,6 @@
par_k_linebuffer stdout top
par_k_linebuffer stderr in the middle
par_k_linebuffer stdout end
-par_keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
-par_keeporder_roundrobin OK
par_kill_children_timeout ### Test killing children with --timeout and exit value (failed if timed out)
par_kill_children_timeout 0 0 0
par_kill_children_timeout parallel: Warning: This job was killed because it timed out:
@@ -609,9 +613,6 @@
par_load_blocks ### Test if --load blocks. Bug.
par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 -
par_load_blocks 53d025127ae99ab79e8502aae2d9bea6 -
-par_load_from_PARALLEL ### Test reading load from PARALLEL
-par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
-par_load_from_PARALLEL 8a7095c1c23bfadc311fe6b16d950582 -
par_long_line_remote ### Deal with long command lines on remote servers
par_long_line_remote 1 6 30006
par_long_line_remote 6 50 250050
@@ -703,82 +704,6 @@
par_opt_arg_eaten 3 OK
par_opt_arg_eaten 4 OK
par_opt_arg_eaten 5 OK
-par_parset ### test parset
-par_parset Put output into $myarray
-par_parset 10
-par_parset 11
-par_parset 12
-par_parset 13
-par_parset 14
-par_parset 15
-par_parset Put output into vars "$seq, $pwd, $ls"
-par_parset 1
-par_parset 2
-par_parset 3
-par_parset 4
-par_parset 5
-par_parset 6
-par_parset 7
-par_parset 8
-par_parset 9
-par_parset 10
-par_parset Put output into vars ($seq, $pwd, $ls):
-par_parset 1
-par_parset 2
-par_parset 3
-par_parset 4
-par_parset 5
-par_parset The commands to run can be an array
-par_parset <<joe "double space" cartoon>>
-par_parset /TMP
-par_parset You cannot pipe into parset, but must use a tempfile
-par_parset 1
-par_parset 10
-par_parset or process substitution
-par_parset 0
-par_parset 9
-par_parset Commands with newline require -0
-par_parset line1
-par_parset line2
-par_parset2 ### parset into array
-par_parset2 foo bar baz
-par_parset2 ### parset into vars with comma
-par_parset2 foo bar baz
-par_parset2 ### parset into vars with space
-par_parset2 foo bar baz
-par_parset2 ### parset with newlines
-par_parset2 1
-par_parset2 1
-par_parset2 2
-par_parset2 1
-par_parset2 2
-par_parset2 3
-par_parset2 ### parset into indexed array vars
-par_parset2 foo bar baz
-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 newline1
-par_parset2 newline2
-par_parset2 1
-par_parset2 newline1
-par_parset2 newline2
-par_parset2 1
-par_parset2 2
-par_parset2 newline1
-par_parset2 newline2
-par_parset2 1
-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 bar
-par_parset2 bug #52507: parset arr1 -v echo ::: fails
-par_parset2 seq 3
-par_parset2 1
-par_parset2 2
-par_parset2 3
par_perlexpr_repl ### {= and =} in different groups separated by space
par_perlexpr_repl b
par_perlexpr_repl b
@@ -831,6 +756,12 @@
par_pipe_line_buffer These must diff: 1
par_pipe_line_buffer_compress ### --pipe --line-buffer --compress
par_pipe_line_buffer_compress 200 400 1202
+par_pipe_tee bug #45479: --pipe/--pipepart --tee
+par_pipe_tee --pipe --tee
+par_pipe_tee 314572800
+par_pipepart_tee bug #45479: --pipe/--pipepart --tee
+par_pipepart_tee --pipepart --tee
+par_pipepart_tee 314572800
par_quote_special_results ### Test --results on file systems with limited UTF8 support
par_quote_special_results mkfs.btrfs btrfs-progs v5.16.2
par_quote_special_results mkfs.btrfs See http://btrfs.wiki.kernel.org for more information.
@@ -1227,6 +1158,9 @@
par_results_csv ",
par_results_csv 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
par_results_csv ",
+par_retries_0 --retries 0 = inf
+par_retries_0 this wraps at 256 and should retry until it wraps
+par_retries_0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
par_retries_all_fail bug #53748: -k --retries 10 + out of filehandles = blocking
par_retries_all_fail 1
par_retries_all_fail 2
@@ -1236,8 +1170,6 @@
par_retries_all_fail 6
par_retries_all_fail 7
par_retries_all_fail 8
-par_round_robin_blocks bug #49664: --round-robin does not complete
-par_round_robin_blocks 8
par_sem_2jobs ### Test semaphore 2 jobs running simultaneously
par_sem_2jobs job1a 1
par_sem_2jobs job2a 2
@@ -1246,6 +1178,10 @@
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
+par_seqreplace_long_line 1 parallel: Error: Command line too long (309 >= 210) at input 0: 100
par_shellquote ### Test --shellquote in all shells
par_shellquote ash '
par_shellquote ash 
par_shellquote ash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-1s
^
|
@@ -1,79 +1,326 @@
-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__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
+par__arg_sep ### Run commands using --arg-sep
+par__arg_sep echo a
+par__arg_sep a
+par__arg_sep echo b
+par__arg_sep b
+par__arg_sep ### Change --arg-sep
+par__arg_sep echo a
+par__arg_sep a
+par__arg_sep echo b
+par__arg_sep b
+par__arg_sep echo a
+par__arg_sep a
+par__arg_sep echo b
+par__arg_sep b
+par__arg_sep echo a
+par__arg_sep a
+par__arg_sep echo b
+par__arg_sep b
+par__arg_sep echo a
+par__arg_sep a
+par__arg_sep echo b
+par__arg_sep b
+par__arg_sep ### Test stdin goes to first command only
+par__arg_sep cat
+par__arg_sep echo b
+par__arg_sep b
+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..
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-30s
^
|
@@ -1,3 +1,1610 @@
+par__groupby_big ### test --group-by on file bigger than block
+par__groupby_big --group-by on col 1..3, -n1..5
+par__groupby_big _pipe and _ppart (pipepart) must return the same
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 0 0 0 0 0 0
+par__groupby_big 1 0 99 9 0 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 1 0 0 1 0 0
+par__groupby_big 1 1 99 9 1 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 2 0 0 2 0 0
+par__groupby_big 1 2 99 9 2 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 3 0 0 3 0 0
+par__groupby_big 1 3 99 9 3 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 4 0 0 4 0 0
+par__groupby_big 1 4 99 9 4 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 5 0 0 5 0 0
+par__groupby_big 1 5 99 9 5 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 6 0 0 6 0 0
+par__groupby_big 1 6 99 9 6 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 7 0 0 7 0 0
+par__groupby_big 1 7 99 9 7 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 8 0 0 8 0 0
+par__groupby_big 1 8 99 9 8 99 9
+par__groupby_big 1 _pipe _ppart
+par__groupby_big 1 9 0 0 9 0 0
+par__groupby_big 1 9 99 9 9 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 0 0 0 0 0 0
+par__groupby_big 1 -n1 0 99 9 0 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 1 0 0 1 0 0
+par__groupby_big 1 -n1 1 99 9 1 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 2 0 0 2 0 0
+par__groupby_big 1 -n1 2 99 9 2 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 3 0 0 3 0 0
+par__groupby_big 1 -n1 3 99 9 3 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 4 0 0 4 0 0
+par__groupby_big 1 -n1 4 99 9 4 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 5 0 0 5 0 0
+par__groupby_big 1 -n1 5 99 9 5 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 6 0 0 6 0 0
+par__groupby_big 1 -n1 6 99 9 6 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 7 0 0 7 0 0
+par__groupby_big 1 -n1 7 99 9 7 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 8 0 0 8 0 0
+par__groupby_big 1 -n1 8 99 9 8 99 9
+par__groupby_big 1 -n1 _pipe _ppart
+par__groupby_big 1 -n1 9 0 0 9 0 0
+par__groupby_big 1 -n1 9 99 9 9 99 9
+par__groupby_big 1 -n2 _pipe _ppart
+par__groupby_big 1 -n2 0 0 0 0 0 0
+par__groupby_big 1 -n2 1 99 9 1 99 9
+par__groupby_big 1 -n2 _pipe _ppart
+par__groupby_big 1 -n2 2 0 0 2 0 0
+par__groupby_big 1 -n2 3 99 9 3 99 9
+par__groupby_big 1 -n2 _pipe _ppart
+par__groupby_big 1 -n2 4 0 0 4 0 0
+par__groupby_big 1 -n2 5 99 9 5 99 9
+par__groupby_big 1 -n2 _pipe _ppart
+par__groupby_big 1 -n2 6 0 0 6 0 0
+par__groupby_big 1 -n2 7 99 9 7 99 9
+par__groupby_big 1 -n2 _pipe _ppart
+par__groupby_big 1 -n2 8 0 0 8 0 0
+par__groupby_big 1 -n2 9 99 9 9 99 9
+par__groupby_big 1 -n2 parallel: Warning: A record was longer than 1048576. Increasing to --blocksize 1363150.
+par__groupby_big 1 -n2 parallel: Warning: A record was longer than 1363150. Increasing to --blocksize 1772096.
+par__groupby_big 1 -n3 _pipe _ppart
+par__groupby_big 1 -n3 0 0 0 0 0 0
+par__groupby_big 1 -n3 2 99 9 2 99 9
+par__groupby_big 1 -n3 _pipe _ppart
+par__groupby_big 1 -n3 3 0 0 3 0 0
+par__groupby_big 1 -n3 5 99 9 5 99 9
+par__groupby_big 1 -n3 _pipe _ppart
+par__groupby_big 1 -n3 6 0 0 6 0 0
+par__groupby_big 1 -n3 8 99 9 8 99 9
+par__groupby_big 1 -n3 _pipe _ppart
+par__groupby_big 1 -n3 9 0 0 9 0 0
+par__groupby_big 1 -n3 9 99 9 9 99 9
+par__groupby_big 1 -n3 parallel: Warning: A record was longer than 1048576. Increasing to --blocksize 1363150.
+par__groupby_big 1 -n3 parallel: Warning: A record was longer than 1363150. Increasing to --blocksize 1772096.
+par__groupby_big 1 -n3 parallel: Warning: A record was longer than 1772096. Increasing to --blocksize 2303726.
+par__groupby_big 1 -n4 _pipe _ppart
+par__groupby_big 1 -n4 0 0 0 0 0 0
+par__groupby_big 1 -n4 3 99 9 3 99 9
+par__groupby_big 1 -n4 _pipe _ppart
+par__groupby_big 1 -n4 4 0 0 4 0 0
+par__groupby_big 1 -n4 7 99 9 7 99 9
+par__groupby_big 1 -n4 _pipe _ppart
+par__groupby_big 1 -n4 8 0 0 8 0 0
+par__groupby_big 1 -n4 9 99 9 9 99 9
+par__groupby_big 1 -n4 parallel: Warning: A record was longer than 1048576. Increasing to --blocksize 1363150.
+par__groupby_big 1 -n4 parallel: Warning: A record was longer than 1363150. Increasing to --blocksize 1772096.
+par__groupby_big 1 -n4 parallel: Warning: A record was longer than 1772096. Increasing to --blocksize 2303726.
+par__groupby_big 1 -n4 parallel: Warning: A record was longer than 2303726. Increasing to --blocksize 2994845.
+par__groupby_big 1 -n5 _pipe _ppart
+par__groupby_big 1 -n5 0 0 0 0 0 0
+par__groupby_big 1 -n5 4 99 9 4 99 9
+par__groupby_big 1 -n5 _pipe _ppart
+par__groupby_big 1 -n5 5 0 0 5 0 0
+par__groupby_big 1 -n5 9 99 9 9 99 9
+par__groupby_big 1 -n5 parallel: Warning: A record was longer than 1048576. Increasing to --blocksize 1363150.
+par__groupby_big 1 -n5 parallel: Warning: A record was longer than 1363150. Increasing to --blocksize 1772096.
+par__groupby_big 1 -n5 parallel: Warning: A record was longer than 1772096. Increasing to --blocksize 2303726.
+par__groupby_big 1 -n5 parallel: Warning: A record was longer than 2303726. Increasing to --blocksize 2994845.
+par__groupby_big 1 -n5 parallel: Warning: A record was longer than 2994845. Increasing to --blocksize 3893300.
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 0 0 0 0 0
+par__groupby_big 2 9 14 9 9 1 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 15 0 0 2 0
+par__groupby_big 2 9 28 9 9 3 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 29 0 0 4 0
+par__groupby_big 2 9 42 9 9 5 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 43 0 0 6 0
+par__groupby_big 2 9 56 9 9 7 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 57 0 0 8 0
+par__groupby_big 2 9 70 9 9 9 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 71 0 0 10 0
+par__groupby_big 2 9 84 9 9 11 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 85 0 0 12 0
+par__groupby_big 2 9 98 9 9 13 9
+par__groupby_big 2 _pipe _ppart
+par__groupby_big 2 0 99 0 0 14 0
+par__groupby_big 2 9 99 9 9 15 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 16 0
+par__groupby_big 2 9 17 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 18 0
+par__groupby_big 2 9 19 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 20 0
+par__groupby_big 2 9 21 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 22 0
+par__groupby_big 2 9 23 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 24 0
+par__groupby_big 2 9 25 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 26 0
+par__groupby_big 2 9 27 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 28 0
+par__groupby_big 2 9 29 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 30 0
+par__groupby_big 2 9 31 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 32 0
+par__groupby_big 2 9 33 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 34 0
+par__groupby_big 2 9 35 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 36 0
+par__groupby_big 2 9 37 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 38 0
+par__groupby_big 2 9 39 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 40 0
+par__groupby_big 2 9 41 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 42 0
+par__groupby_big 2 9 43 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 44 0
+par__groupby_big 2 9 45 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 46 0
+par__groupby_big 2 9 47 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 48 0
+par__groupby_big 2 9 49 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 50 0
+par__groupby_big 2 9 51 9
+par__groupby_big 2 _ppart
+par__groupby_big 2 0 52 0
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-3s
^
|
@@ -1,9 +1,3 @@
-par_10000_5_rpl_X ### Test -X with 10000 args and 5 replacement strings
-par_10000_5_rpl_X 5
-par_10000_5_rpl_X 4
-par_10000_5_rpl_X 4
-par_10000_5_rpl_X 3
-par_10000_5_rpl_X 2
par_10000_m_X ### Test -m with 10000 args
par_10000_m_X 3 29994 186685
par_10000_m_X 5642f8f374aa4881e96f4f49e932d109 -
@@ -12,6 +6,168 @@
par_X_I_meta 3
par_X_I_meta 3
par_X_I_meta 3
+par__10000_5_rpl_X ### Test -X with 10000 args and 5 replacement strings
+par__10000_5_rpl_X 5
+par__10000_5_rpl_X 4
+par__10000_5_rpl_X 4
+par__10000_5_rpl_X 3
+par__10000_5_rpl_X 2
+par__parset_assoc_arr bash@lo parset into an assoc array
+par__parset_assoc_arr bash@lo val 1 val 2 val 3
+par__parset_assoc_arr bash@lo val 1 val 2 val 3
+par__parset_assoc_arr bash@lo val 1 val 2 val 3
+par__parset_assoc_arr bash@lo Bad var name
+par__parset_assoc_arr bash@lo parset: Error: -badname is an invalid variable name.
+par__parset_assoc_arr bash@lo parset: Error: Variable names must be letter followed by letters or digits.
+par__parset_assoc_arr bash@lo parset: Error: Usage:
+par__parset_assoc_arr bash@lo parset: Error: parset varname GNU Parallel options and command
+par__parset_assoc_arr bash@lo Too few var names
+par__parset_assoc_arr bash@lo parset: Error: Too few named destination variables
+par__parset_assoc_arr bash@lo val 2
+par__parset_assoc_arr bash@lo Exit value
+par__parset_assoc_arr bash@lo 2
+par__parset_assoc_arr bash@lo 2
+par__parset_assoc_arr bash@lo 2
+par__parset_assoc_arr bash@lo Stderr to stderr
+par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file': No such file or directory
+par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file': No such file or directory
+par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file1': No such file or directory
+par__parset_assoc_arr bash@lo ls: cannot access 'no-such-file2': No such file or directory
+par__parset_assoc_arr ksh@lo parset into an assoc array
+par__parset_assoc_arr ksh@lo val 1 val 2 val 3
+par__parset_assoc_arr ksh@lo val 1 val 2 val 3
+par__parset_assoc_arr ksh@lo val 1 val 2 val 3
+par__parset_assoc_arr ksh@lo Bad var name
+par__parset_assoc_arr ksh@lo parset: Error: -badname is an invalid variable name.
+par__parset_assoc_arr ksh@lo parset: Error: Variable names must be letter followed by letters or digits.
+par__parset_assoc_arr ksh@lo parset: Error: Usage:
+par__parset_assoc_arr ksh@lo parset: Error: parset varname GNU Parallel options and command
+par__parset_assoc_arr ksh@lo Too few var names
+par__parset_assoc_arr ksh@lo parset: Error: Too few named destination variables
+par__parset_assoc_arr ksh@lo val 2
+par__parset_assoc_arr ksh@lo Exit value
+par__parset_assoc_arr ksh@lo 2
+par__parset_assoc_arr ksh@lo 2
+par__parset_assoc_arr ksh@lo 2
+par__parset_assoc_arr ksh@lo Stderr to stderr
+par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file': No such file or directory
+par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file': No such file or directory
+par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file1': No such file or directory
+par__parset_assoc_arr ksh@lo ls: cannot access 'no-such-file2': No such file or directory
+par__parset_assoc_arr zsh@lo parset into an assoc array
+par__parset_assoc_arr zsh@lo val 1 val 2 val 3
+par__parset_assoc_arr zsh@lo val 1 val 2
+par__parset_assoc_arr zsh@lo val 1 val 2 val 3
+par__parset_assoc_arr zsh@lo Bad var name
+par__parset_assoc_arr zsh@lo parset: Error: -badname is an invalid variable name.
+par__parset_assoc_arr zsh@lo parset: Error: Variable names must be letter followed by letters or digits.
+par__parset_assoc_arr zsh@lo parset: Error: Usage:
+par__parset_assoc_arr zsh@lo parset: Error: parset varname GNU Parallel options and command
+par__parset_assoc_arr zsh@lo Too few var names
+par__parset_assoc_arr zsh@lo parset: Error: Too few named destination variables
+par__parset_assoc_arr zsh@lo val 2
+par__parset_assoc_arr zsh@lo Exit value
+par__parset_assoc_arr zsh@lo 2
+par__parset_assoc_arr zsh@lo 2
+par__parset_assoc_arr zsh@lo 2
+par__parset_assoc_arr zsh@lo Stderr to stderr
+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-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__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
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s 1000
+par__prefix_for_L_n_N_s Must give xxx000 lines
+par__prefix_for_L_n_N_s 149000
+par__prefix_for_L_n_N_s 149000
+par__prefix_for_L_n_N_s 149000
+par__prefix_for_L_n_N_s 149000
+par__prefix_for_L_n_N_s 149000
+par__prefix_for_L_n_N_s 165000
+par__prefix_for_L_n_N_s 90000
+par__prefix_for_L_n_N_s Must give max 1000 chars per line
+par__prefix_for_L_n_N_s 126
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 197
+par__prefix_for_L_n_N_s 244
+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__tee_too_many_args ### Fail if there are more arguments than --jobs
+par__tee_too_many_args 1 1
+par__tee_too_many_args 1 10
+par__tee_too_many_args 1 11
+par__tee_too_many_args 2 2
+par__tee_too_many_args 3 3
+par__tee_too_many_args 4 4
+par__tee_too_many_args parallel: Warning: Only enough file handles to run 999 jobs in parallel.
+par__tee_too_many_args parallel: Warning: Try running 'parallel -j999 -N 999 --pipe parallel -j999'
+par__tee_too_many_args parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
+par__tee_too_many_args parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
+par__tee_too_many_args parallel: Warning: or increasing /proc/sys/fs/file-max
+par__tee_too_many_args parallel: Error: --tee requires --jobs to be higher. Try --jobs 999.
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 ''
@@ -177,69 +333,82 @@
par_multiline_commands parallel: Warning: Command lines contain newline. Forcing --null.
par_multiline_commands 4
par_multiline_commands finish 4
-par_parset_assoc_arr bash@lo parset into an assoc array
-par_parset_assoc_arr bash@lo val 1 val 2 val 3
-par_parset_assoc_arr bash@lo val 1 val 2 val 3
-par_parset_assoc_arr bash@lo val 1 val 2 val 3
-par_parset_assoc_arr bash@lo Bad var name
-par_parset_assoc_arr bash@lo parset: Error: -badname is an invalid variable name.
-par_parset_assoc_arr bash@lo parset: Error: Variable names must be letter followed by letters or digits.
-par_parset_assoc_arr bash@lo parset: Error: Usage:
-par_parset_assoc_arr bash@lo parset: Error: parset varname GNU Parallel options and command
-par_parset_assoc_arr bash@lo Too few var names
-par_parset_assoc_arr bash@lo parset: Error: Too few named destination variables
-par_parset_assoc_arr bash@lo val 2
-par_parset_assoc_arr bash@lo Exit value
-par_parset_assoc_arr bash@lo 2
-par_parset_assoc_arr bash@lo 2
-par_parset_assoc_arr bash@lo 2
-par_parset_assoc_arr bash@lo Stderr to stderr
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-race01
^
|
@@ -5,6 +5,20 @@
par_bug56403 1 job1a
par_bug56403 1 job1b
par_bug56403 2 job2cjob2d
+par_change_content_--jobs_filename ### Test of -j filename with file content changing (missing -k is correct)
+par_change_content_--jobs_filename sleep 3.3
+par_change_content_--jobs_filename sleep 0.1
+par_change_content_--jobs_filename sleep 0.2
+par_change_content_--jobs_filename sleep 0.3
+par_change_content_--jobs_filename sleep 0.4
+par_change_content_--jobs_filename sleep 0.5
+par_change_content_--jobs_filename sleep 0.6
+par_change_content_--jobs_filename sleep 0.7
+par_change_content_--jobs_filename sleep 2.1
+par_change_content_--jobs_filename sleep 2.2
+par_change_content_--jobs_filename sleep 2.3
+par_change_content_--jobs_filename sleep 2.4
+par_change_content_--jobs_filename sleep 2.5
par_csv_not_installed ### Give error if CSV.pm is not installed when using --csv
par_csv_not_installed parallel: Error: The perl module Text::CSV is not installed.
par_csv_not_installed parallel: Error: Try installing libtext-csv-perl or perl-Text-CSV.
@@ -12,7 +26,8 @@
par_delay_Xauto ### bug #58911: --delay Xauto
par_delay_Xauto 0
par_delay_Xauto 2
-par_distribute_input_by_ability ### bug #48290: round-robin does not distribute data based on business
+par_distribute_input_by_ability ### bug #48290: round-robin does not distribute data
+par_distribute_input_by_ability based on busy-ness
par_distribute_input_by_ability ### Distribute input to jobs that are ready
par_distribute_input_by_ability Job-slot n is 50% slower than n+1, so the order should be 1..7
par_distribute_input_by_ability 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-race02
^
|
@@ -1,15 +1,18 @@
bug #46120: Suspend should suspend (at least local) children
it should burn 1.9 CPU seconds, but no more than that
The 5 second sleep will make it be killed by timeout when it fgs
+input_source_pipe
-stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1
+$cmd
Zero=OK 0
+input_source_cmdline
-echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | \grep -q CPUTIME=1
+$cmd
Zero=OK 0
-Control case: Burn for 2.9 seconds
+Control case: This should run 2.9 seconds
+input_source_cmdline
-stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1
+$cmd
1=OK 1
par_PARALLEL_RSYNC_OPTS ### test rsync opts
par_PARALLEL_RSYNC_OPTS -rlDzRRRR
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local-ssh4
^
|
@@ -1,4 +1,10 @@
par_--nonall_results ### --results --onall
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results /TMP/onall
par_--nonall_results /TMP/onall/noslashsh@lo
par_--nonall_results /TMP/onall/noslashsh@lo/1
@@ -98,6 +104,12 @@
par_--nonall_results /TMP/onall/rplslash/pwd/csh@lo
par_--nonall_results /TMP/onall/rplslash/pwd/sh@lo.err
par_--nonall_results ### --results --nonall
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
+par_--nonall_results parallel: Warning: --(n)onall + --results not supported (yet).
par_--nonall_results /TMP/nonall
par_--nonall_results /TMP/nonall/noslashsh@lo
par_--nonall_results /TMP/nonall/noslashsh@lo/1
@@ -148,28 +160,6 @@
par_--nonall_results /TMP/nonall/rplslash/sh@lo
par_--nonall_results /TMP/nonall/rplslash/csh@lo
par_--nonall_results /TMP/nonall/rplslash/sh@lo.err
-par_--tmux_different_shells ### Test tmux works on different shells
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 0
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 4
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 0
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 4
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 0
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 4
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 0
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 4
-par_--tmux_different_shells # command is currently too long for csh. Maybe it can be fixed?
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 0
-par_--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
-par_--tmux_different_shells 4
par_--tmux_length ### works
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
@@ -179,6 +169,28 @@
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
par_--tmux_length See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells ### Test tmux works on different shells
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 0
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 4
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 0
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 4
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 0
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 4
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 0
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 4
+par__--tmux_different_shells # command is currently too long for csh. Maybe it can be fixed?
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 0
+par__--tmux_different_shells See output with: tmux -S /TMP/tmsXXXXX attach
+par__--tmux_different_shells 4
par__test_different_rsync_versions ### different versions of rsync need fixups
par__test_different_rsync_versions ### no output is good
par_bigvar_csh ### csh
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local150
^
|
@@ -1,33 +1,3 @@
-echo '### bug #41565: Print happens in blocks - not after each job complete'
-### bug #41565: Print happens in blocks - not after each job complete
-echo 'The timing here is important: a full second between each'
-The timing here is important: a full second between each
- perl -e 'for(1..30){print("$_\n");`sleep 1`}' | parallel -j3 'echo {#}' | timestamp -dd | perl -pe '$_=int($_+0.3)."\n"' | median
-1
-echo '300 ms jobs:'
-300 ms jobs:
- perl -e 'for(1..30){print("$_\n");`sleep .3`}' | parallel -j3 --delay 0.3 echo | timestamp -d -d | perl -pe 's/(.....).*/int($1*10+0.2)/e' | median
-3
-echo '### Test --tagstring'
-### Test --tagstring
- nice parallel -j1 -X -v --tagstring a{}b echo ::: 3 4
-a3b a4b echo 3 4
-a3b a4b 3 4
- nice parallel -j1 -k -v --tagstring a{}b echo ::: 3 4
-a3b echo 3
-a3b 3
-a4b echo 4
-a4b 4
- nice parallel -j1 -k -v --tagstring a{}b echo job{#} ::: 3 4
-a3b echo job1
-a3b job1
-a4b echo job2
-a4b job2
- nice parallel -j1 -k -v --tagstring ajob{#}b echo job{#} ::: 3 4
-ajob1b echo job1
-ajob1b job1
-ajob2b echo job2
-ajob2b job2
echo '### Bug in --load'; nice parallel -k --load 30 sleep 0.1\;echo ::: 1 2 3
### Bug in --load
1
@@ -41,85 +11,6 @@
7.7
8.8
9.9
-echo '### Test retired'
-### Test retired
- stdout parallel -B foo
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
- stdout parallel -g
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
- stdout parallel -H 1
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
- stdout parallel -T
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
- stdout parallel -U foo
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
- stdout parallel -W foo
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
- stdout parallel -Y
-parallel: Error: -g has been retired. Use --group.
-parallel: Error: -B has been retired. Use --bf.
-parallel: Error: -T has been retired. Use --tty.
-parallel: Error: -U has been retired. Use --er.
-parallel: Error: -W has been retired. Use --wd.
-parallel: Error: -Y has been retired. Use --shebang.
-parallel: Error: -H has been retired. Use --halt.
-parallel: Error: --sql has been retired. Use --sqlmaster.
-parallel: Error: --ctrlc has been retired.
-parallel: Error: --noctrlc has been retired.
echo '### Test --joblog followed by --resume --joblog'
### Test --joblog followed by --resume --joblog
rm -f /tmp/joblog; timeout -k 1 1 parallel -j2 --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null; parallel -j2 --resume --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4; cat /tmp/joblog | wc -lw; rm -f /tmp/joblog; echo '### Test --resume --joblog followed by --resume --joblog'; rm -f /tmp/joblog2; timeout -k 1 1 parallel -j2 --resume --joblog /tmp/joblog2 sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null; parallel -j2 --resume --joblog /tmp/joblog2 sleep {} ::: 1.1 2.2 3.3 4.4; cat /tmp/joblog2 | wc -lw; rm -f /tmp/joblog2; echo '### Test --header'
@@ -141,92 +32,6 @@
### bug #35268: shell_quote doesn't treats [] brackets correctly
touch /tmp/foo1; stdout parallel echo ::: '/tmp/foo[123]'; rm /tmp/foo1
/tmp/foo[123]
-echo '### Test basic --arg-sep'
-### Test basic --arg-sep
- parallel -k echo ::: a b
-a
-b
-echo '### Run commands using --arg-sep'
-### Run commands using --arg-sep
- parallel -kv ::: 'echo a' 'echo b'
-echo a
-a
-echo b
-b
-echo '### Change --arg-sep'
-### Change --arg-sep
- parallel --arg-sep ::: -kv ::: 'echo a' 'echo b'
-echo a
-a
-echo b
-b
- parallel --arg-sep .--- -kv .--- 'echo a' 'echo b'
-echo a
-a
-echo b
-b
- parallel --argsep ::: -kv ::: 'echo a' 'echo b'
-echo a
-a
-echo b
-b
- parallel --argsep .--- -kv .--- 'echo a' 'echo b'
-echo a
-a
-echo b
-b
-echo '### Test stdin goes to first command only'
-### Test stdin goes to first command only
- echo via cat |parallel --arg-sep .--- -kv .--- 'cat' 'echo b'
-cat
-echo b
-b
- echo via cat |parallel -kv ::: 'cat' 'echo b'
-cat
-echo b
-b
-echo '### Bug made 4 5 go before 1 2 3'
-### Bug made 4 5 go before 1 2 3
- parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
-1
-2
-3
-4
-5
-echo '### Bug made 3 go before 1 2'
-### Bug made 3 go before 1 2
- parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
-1
-2
-3
-echo '### Bug did not quote'
-### Bug did not quote
- echo '>' | parallel -v echo
-echo '>'
->
- parallel -v echo ::: '>'
-echo '>'
->
- (echo '>'; echo 2) | parallel -j1 -vX echo
-echo '>' 2
-> 2
- parallel -X -j1 echo ::: '>' 2
-> 2
-echo '### Must not quote'; echo 'echo | wc -l' | parallel -v
-### Must not quote
-echo | wc -l
-1
- parallel -v ::: 'echo | wc -l'
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-local9
^
|
@@ -421,20 +421,3 @@
$NICEPAR -k -a <(printf 'def\tabc\njkl\tghi') --colsep '\t' echo {2} {1}
abc def
ghi jkl
-### Test of -j filename with file content changing (missing -k is correct)
-sleep 3.3
-sleep 1
-sleep 1
-sleep 1
-sleep 1
-sleep 1
-sleep 1
-sleep 1.5
-sleep 1.5
-sleep 1.5
-sleep 1.5
-sleep 1
-sleep 1
-sleep 1
-sleep 1
-sleep 1
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-macos
^
|
@@ -1,7 +1,7 @@
-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_big_func 1 3XXX 90XXX
+par_big_func 1 3XXX 90XXX
+par_big_func 1 3XXX 90XXX
+par_big_func 1 1XXX 47XXX
par_big_func_name 18XXX
par_big_func_name 18XXX
par_big_func_name 18XXX
@@ -65,7 +65,8 @@
par_many_func 1 196 4XXX
par_many_func 1 196 4XXX
par_many_func 1 196 4XXX
-par_many_func 1 200 4XXX
+par_many_func 1 196 4XXX
+par_many_func 1 4 68
par_many_var 22XXX
par_many_var 22XXX
par_many_var 22XXX
|
[-]
[+]
|
Changed |
_service:tar_git:parallel-20230522+git1.tar.bz2/upstream/testsuite/wanted-results/parallel-tutorial
^
|
@@ -16,7 +16,6 @@
perl -e 'printf "A_B_C_"' > abc_-file
perl -e 'printf "f1\tf2\nA\tB\nC\tD\n"' > tsv-file.tsv
perl -e 'for(1..8){print "$_\n"}' > num8
- perl -e 'for(1..128){print "$_\n"}' > num128
perl -e 'for(1..30000){print "$_\n"}' > num30000
perl -e 'for(1..1000000){print "$_\n"}' > num1000000
(echo %head1; echo %head2; \
@@ -145,7 +144,6 @@
def-file
fixedlen
num1000000
-num128
num30000
num8
outdir
@@ -379,8 +377,6 @@
/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 1: `set a="num1000000"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
-/usr/bin/bash: -c: line 1: `set a="num128"; if( { test -d "$a" } ) echo "$a is a dir"'
-/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 1: `set a="num30000"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 1: `set a="num8"; if( { test -d "$a" } ) echo "$a is a dir"'
@@ -489,30 +485,13 @@
/usr/bin/bash: line 10: outdir/f1/B/f2/D/seq: No such file or directory
/usr/bin/bash: line 11: outdir/f1/B/f2/D/stderr: No such file or directory
/usr/bin/bash: line 12: outdir/f1/B/f2/D/stdout: No such file or directory
- /usr/bin/time -f %e parallel -N0 -j64 sleep 1 :::: num128
-9
- /usr/bin/time -f %e parallel -N0 sleep 1 :::: num128
-99
- /usr/bin/time -f %e parallel -N0 --jobs 200% sleep 1 :::: num128
-9
- /usr/bin/time -f %e parallel -N0 --jobs 0 sleep 1 :::: num128
-9
echo 50% > my_jobs
- /usr/bin/time -f %e parallel -N0 --jobs my_jobs sleep 1 :::: num128 &
sleep 1
echo 0 > my_jobs
wait
-parallel: Warning: Only enough file handles to run 247 jobs in parallel.
-parallel: Warning: Try running 'parallel -j0 -N 247 --pipe parallel -j0'
-parallel: Warning: or increasing 'ulimit -n' (try: ulimit -n `ulimit -Hn`)
-parallel: Warning: or increasing 'nofile' in /etc/security/limits.conf
-parallel: Warning: or increasing /proc/sys/fs/file-max
-9
parallel --use-cpus-instead-of-cores -N0 sleep 1 :::: num8
parallel --shuf echo ::: 1 2 3 ::: a b c ::: A B C
123 abc ABC
- seq 10 20 | parallel --tmux 'echo start {}; sleep {}; echo done {}'
-See output with: tmux -S /TMP/tmsXXXXX attach
tmux -S /tmp/tmsXXXXX attach
no sessions
parallel --delay 2.5 echo Starting {}\;date ::: 1 2 3
@@ -594,7 +573,6 @@
2 : TIMESTAMP 9.999 0 0 2 0 exit 2
3 : TIMESTAMP 9.999 0 0 3 0 exit 3
9
-parallel: Starting no more jobs. Waiting for 1 jobs to finish.
parallel -j2 --halt now,fail=1 echo {}\; exit {} ::: 0 0 1 2 3
9
parallel -j2 --halt soon,fail=20% echo {}\; exit {} \
@@ -696,9 +674,6 @@
9
parallel --controlmaster -S $SERVER1 echo ::: 1 2 3
9
- parallel --filter-hosts -S 173.194.32.46,$SERVER1 echo ::: bar
-bar
-parallel: Warning: Removed 173.194.32.46.
parallel --onall -S $SERVER1,$SERVER2 echo ::: foo bar
foo
bar
@@ -1221,23 +1196,6 @@
The first finished
The first finished running in the foreground
The second finished running in the foreground
- sem --id my_id -u 'echo First started; sleep 10; echo First done'
-First started
-First done
- sem --id my_id -u 'echo Second started; sleep 10; echo Second done'
- sem --jobs 3 --id my_id -u 'echo Start 1; sleep 5; echo 1 done' &&
- sem --jobs 3 --id my_id -u 'echo Start 2; sleep 6; echo 2 done' &&
- sem --jobs 3 --id my_id -u 'echo Start 3; sleep 7; echo 3 done' &&
- sem --jobs 3 --id my_id -u 'echo Start 4; sleep 8; echo 4 done' &&
- sem --wait --id my_id
-Start 1
-Start 2
-1 done
-Start 3
-2 done
-Start 4
-3 done
-4 done
sem --id foo -u 'echo Slow started; sleep 5; echo Slow ended' &&
sem --id foo --semaphoretimeout 1 'echo Forced running after 1 sec' &&
sem --id foo --semaphoretimeout -2 'echo Give up after 2 secs'
|