mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-24 23:17:55 +00:00
testsuite: Made the tests more portable.
This commit is contained in:
parent
0b8e949cbb
commit
dce32425eb
12
README
12
README
|
@ -44,9 +44,9 @@ document.
|
|||
|
||||
Full installation of GNU Parallel is as simple as:
|
||||
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20170522.tar.bz2
|
||||
bzip2 -dc parallel-20170522.tar.bz2 | tar xvf -
|
||||
cd parallel-20170522
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20170622.tar.bz2
|
||||
bzip2 -dc parallel-20170622.tar.bz2 | tar xvf -
|
||||
cd parallel-20170622
|
||||
./configure && make && sudo make install
|
||||
|
||||
|
||||
|
@ -55,9 +55,9 @@ Full installation of GNU Parallel is as simple as:
|
|||
If you are not root you can add ~/bin to your path and install in
|
||||
~/bin and ~/share:
|
||||
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20170522.tar.bz2
|
||||
bzip2 -dc parallel-20170522.tar.bz2 | tar xvf -
|
||||
cd parallel-20170522
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20170622.tar.bz2
|
||||
bzip2 -dc parallel-20170622.tar.bz2 | tar xvf -
|
||||
cd parallel-20170622
|
||||
./configure --prefix=$HOME && make && make install
|
||||
|
||||
Or if your system lacks 'make' you can simply copy src/parallel
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([parallel], [20170522], [bug-parallel@gnu.org])
|
||||
AC_INIT([parallel], [20170622], [bug-parallel@gnu.org])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20170523;
|
||||
$Global::version = 20170622;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
|
@ -1376,7 +1376,7 @@ sub check_invalid_option_combinations {
|
|||
|
||||
sub init_globals {
|
||||
# Defaults:
|
||||
$Global::version = 20170523;
|
||||
$Global::version = 20170622;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
@ -1804,7 +1804,7 @@ sub find_compression_program {
|
|||
# 16-cores: pzstd lz4 pigz lzop lbzip2 pbzip2 plzip lzip lrz pxz gzip lzma xz bzip2
|
||||
# 32-cores: pzstd lbzip2 pbzip2 zstd pigz lz4 lzop plzip lzip lrz gzip pxz lzma bzip2 xz clzip
|
||||
|
||||
my @prg = qw(pzstd lbzip2 pbzip2 zstd pigz lz4 lzop plzip lzip lrz
|
||||
my @prg = qw(pzstd lbzip2 pbzip2 zstd pigz lz4 lzop plzip pixz lzip lrz
|
||||
gzip pxz lzma bzip2 xz clzip);
|
||||
for my $p (@prg) {
|
||||
if(which($p)) {
|
||||
|
|
|
@ -95,7 +95,7 @@ B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>.
|
|||
|
||||
The command cannot contain the character \257 (macron: ¯).
|
||||
|
||||
=item B<{}>
|
||||
=item B<{}> (alpha testing)
|
||||
|
||||
Input line. This replacement string will be replaced by a full line
|
||||
read from the input source. The input source is normally stdin
|
||||
|
@ -112,7 +112,7 @@ parsed by the shell. The exception is if the command starts with a
|
|||
replacement string; then the string is not quoted.
|
||||
|
||||
|
||||
=item B<{.}>
|
||||
=item B<{.}> (alpha testing)
|
||||
|
||||
Input line without extension. This replacement string will be replaced
|
||||
by the input with the extension removed. If the input line contains
|
||||
|
@ -128,7 +128,7 @@ The replacement string B<{.}> can be changed with B<--er>.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{/}>
|
||||
=item B<{/}> (alpha testing)
|
||||
|
||||
Basename of input line. This replacement string will be replaced by
|
||||
the input with the directory part removed.
|
||||
|
@ -139,7 +139,7 @@ B<--basenamereplace>.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{//}>
|
||||
=item B<{//}> (alpha testing)
|
||||
|
||||
Dirname of input line. This replacement string will be replaced by the
|
||||
dir of the input line. See B<dirname>(1).
|
||||
|
@ -150,7 +150,7 @@ B<--dirnamereplace>.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{/.}>
|
||||
=item B<{/.}> (alpha testing)
|
||||
|
||||
Basename of input line without extension. This replacement string will
|
||||
be replaced by the input with the directory and extension part
|
||||
|
@ -162,7 +162,7 @@ B<--basenameextensionreplace>.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{#}>
|
||||
=item B<{#}> (alpha testing)
|
||||
|
||||
Sequence number of the job to run. This replacement string will be
|
||||
replaced by the sequence number of the job being run. It contains the
|
||||
|
@ -173,7 +173,7 @@ The replacement string B<{#}> can be changed with B<--seqreplace>.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{%}>
|
||||
=item B<{%}> (alpha testing)
|
||||
|
||||
Job slot number. This replacement string will be replaced by the job's
|
||||
slot number between 1 and number of jobs to run in parallel. There
|
||||
|
@ -185,7 +185,7 @@ The replacement string B<{%}> can be changed with B<--slotreplace>.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{>I<n>B<}>
|
||||
=item B<{>I<n>B<}> (alpha testing)
|
||||
|
||||
Argument from input source I<n> or the I<n>'th argument. This
|
||||
positional replacement string will be replaced by the input from input
|
||||
|
@ -196,7 +196,7 @@ I<n>'th last argument.
|
|||
To understand replacement strings see B<{}>.
|
||||
|
||||
|
||||
=item B<{>I<n>.B<}>
|
||||
=item B<{>I<n>.B<}> (alpha testing)
|
||||
|
||||
Argument from input source I<n> or the I<n>'th argument without
|
||||
extension. It is a combination of B<{>I<n>B<}> and B<{.}>.
|
||||
|
@ -209,7 +209,7 @@ extension removed.
|
|||
To understand positional replacement strings see B<{>I<n>B<}>.
|
||||
|
||||
|
||||
=item B<{>I<n>/B<}>
|
||||
=item B<{>I<n>/B<}> (alpha testing)
|
||||
|
||||
Basename of argument from input source I<n> or the I<n>'th argument.
|
||||
It is a combination of B<{>I<n>B<}> and B<{/}>.
|
||||
|
@ -222,7 +222,7 @@ directory (if any) removed.
|
|||
To understand positional replacement strings see B<{>I<n>B<}>.
|
||||
|
||||
|
||||
=item B<{>I<n>//B<}>
|
||||
=item B<{>I<n>//B<}> (alpha testing)
|
||||
|
||||
Dirname of argument from input source I<n> or the I<n>'th argument.
|
||||
It is a combination of B<{>I<n>B<}> and B<{//}>.
|
||||
|
@ -234,7 +234,7 @@ the I<n>'th argument (when used with B<-N>). See B<dirname>(1).
|
|||
To understand positional replacement strings see B<{>I<n>B<}>.
|
||||
|
||||
|
||||
=item B<{>I<n>/.B<}>
|
||||
=item B<{>I<n>/.B<}> (alpha testing)
|
||||
|
||||
Basename of argument from input source I<n> or the I<n>'th argument
|
||||
without extension. It is a combination of B<{>I<n>B<}>, B<{/}>, and
|
||||
|
@ -248,7 +248,7 @@ directory (if any) and extension removed.
|
|||
To understand positional replacement strings see B<{>I<n>B<}>.
|
||||
|
||||
|
||||
=item B<{=>I<perl expression>B<=}>
|
||||
=item B<{=>I<perl expression>B<=}> (alpha testing)
|
||||
|
||||
Replace with calculated I<perl expression>. B<$_> will contain the
|
||||
same as B<{}>. After evaluating I<perl expression> B<$_> will be used
|
||||
|
@ -294,7 +294,7 @@ Example:
|
|||
See also: B<--rpl> B<--parens>
|
||||
|
||||
|
||||
=item B<{=>I<n> I<perl expression>B<=}>
|
||||
=item B<{=>I<n> I<perl expression>B<=}> (alpha testing)
|
||||
|
||||
Positional equivalent to B<{=perl expression=}>. To understand
|
||||
positional replacement strings see B<{>I<n>B<}>.
|
||||
|
@ -1076,7 +1076,7 @@ Arguments will be recycled if one input source has more arguments than the other
|
|||
See also B<--header>, B<:::+>, B<::::+>.
|
||||
|
||||
|
||||
=item B<--load> I<max-load> (beta testing)
|
||||
=item B<--load> I<max-load> (alpha testing)
|
||||
|
||||
Do not start new jobs on a given computer unless the number of running
|
||||
processes on the computer is less than I<max-load>. I<max-load> uses
|
||||
|
@ -1254,7 +1254,7 @@ control on the command line (used by GNU B<parallel> internally when
|
|||
called with B<--sshlogin>).
|
||||
|
||||
|
||||
=item B<--plus>
|
||||
=item B<--plus> (alpha testing)
|
||||
|
||||
Activate additional replacement strings: {+/} {+.} {+..} {+...} {..}
|
||||
{...} {/..} {/...} {##}. The idea being that '{+foo}' matches the opposite of
|
||||
|
@ -1767,7 +1767,7 @@ impossible to track which input block corresponds to which output.
|
|||
B<--round-robin> implies B<--pipe>, except if B<--pipepart> is given.
|
||||
|
||||
|
||||
=item B<--rpl> 'I<tag> I<perl expression>' (beta testing)
|
||||
=item B<--rpl> 'I<tag> I<perl expression>' (alpha testing)
|
||||
|
||||
Use I<tag> as a replacement string for I<perl expression>. This makes
|
||||
it possible to define your own replacement strings. GNU B<parallel>'s
|
||||
|
@ -3107,11 +3107,14 @@ printed as soon as possible you can use B<-u>.
|
|||
Compare the output of:
|
||||
|
||||
parallel wget --limit-rate=100k \
|
||||
https://ftpmirror.gnu.org/parallel/parallel-20{}0822.tar.bz2 ::: {12..16}
|
||||
https://ftpmirror.gnu.org/parallel/parallel-20{}0822.tar.bz2 \
|
||||
::: {12..16}
|
||||
parallel --line-buffer wget --limit-rate=100k \
|
||||
https://ftpmirror.gnu.org/parallel/parallel-20{}0822.tar.bz2 ::: {12..16}
|
||||
https://ftpmirror.gnu.org/parallel/parallel-20{}0822.tar.bz2 \
|
||||
::: {12..16}
|
||||
parallel -u wget --limit-rate=100k \
|
||||
https://ftpmirror.gnu.org/parallel/parallel-20{}0822.tar.bz2 ::: {12..16}
|
||||
https://ftpmirror.gnu.org/parallel/parallel-20{}0822.tar.bz2 \
|
||||
::: {12..16}
|
||||
|
||||
=head1 EXAMPLE: Tag output lines
|
||||
|
||||
|
|
3
src/parset
Executable file
3
src/parset
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo You need to: source `which env_parallel.bash`
|
2
src/sql
2
src/sql
|
@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20170523;
|
||||
$Global::version = 20170622;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -44,7 +44,7 @@ prereqlocal: installparallel
|
|||
echo | pv -qL 10 || (echo pv is required for testsuite; /bin/false)
|
||||
echo | script -c echo -q /dev/null || (echo script is required for testsuite; /bin/false)
|
||||
niceload true || (echo niceload is required for testsuite; /bin/false)
|
||||
which burnP6 || (echo burnP6 is required for testsuite; /bin/false)
|
||||
which cpuburn || (echo cpuburn is required for testsuite; /bin/false)
|
||||
which timeout || (echo timeout is required for testsuite; /bin/false)
|
||||
which autossh || (echo autossh is required for testsuite; /bin/false)
|
||||
which lsh || (echo lsh is required for testsuite; /bin/false)
|
||||
|
|
|
@ -2,28 +2,29 @@
|
|||
|
||||
mysqlrootpass=${mysqlrootpass:-b+Ydjq4ejT4E}
|
||||
|
||||
# To configure zsh
|
||||
echo Configure zsh and exit
|
||||
zsh
|
||||
|
||||
INSTALL="echo sudo aptitude -y install"
|
||||
# After first run, set this:
|
||||
# export INSTALL=echo
|
||||
INSTALL=${INSTALL:-"sudo aptitude -y install"}
|
||||
|
||||
# The testsuite depends on this:
|
||||
|
||||
$INSTALL imagemagick expect autossh sshpass jq libpod-simple-perl pod2pdf
|
||||
$INSTALL lua5.2 clisp php7.0-cli nodejs-legacy mono-csharp-shell
|
||||
test_pkgs="imagemagick expect autossh sshpass jq libpod-simple-perl pod2pdf gawk"
|
||||
test_pkgs="$test_pkgs lua5.2 clisp php7.0-cli nodejs-legacy mono-csharp-shell"
|
||||
|
||||
# DEBIAN package
|
||||
$INSTALL dpkg-dev build-essential debhelper
|
||||
packaging_pkgs="dpkg-dev build-essential debhelper"
|
||||
# SHEBANG TOOLS
|
||||
$INSTALL gnuplot octave ruby r-base-core
|
||||
shebang_pkgs="gnuplot octave ruby r-base-core"
|
||||
# SQL TOOLS
|
||||
$INSTALL libdbd-pg-perl libdbd-sqlite3-perl libdbd-csv-perl libdbd-mysql-perl rlwrap
|
||||
sql_pkgs="libdbd-pg-perl libdbd-sqlite3-perl libdbd-csv-perl libdbd-mysql-perl rlwrap"
|
||||
# Compression
|
||||
$INSTALL pxz pixz
|
||||
compression_pkgs="zstd clzip liblz4-tool lzop pigz pixz pxz gzip plzip pbzip2 lzma xz-utils lzip bzip2 lbzip2 lrzip"
|
||||
# Shells
|
||||
shell_pkgs="ash csh dash fdclone fish fizsh ksh mksh posh rc rush sash tcsh yash zsh"
|
||||
# Databases
|
||||
database_pkgs="postgresql mysql-server sqlite"
|
||||
$INSTALL $test_pkgs $packaging_pkgs $shebang_pkgs $sql_pkgs $compression_pkgs $shell_pkgs $database_pkgs
|
||||
|
||||
# DATABASES
|
||||
$INSTALL postgresql mysql-server sqlite
|
||||
echo '# Create PostgreSQL'
|
||||
sudo su - postgres -c 'createdb '`whoami`
|
||||
sudo su - postgres -c 'createuser '`whoami`
|
||||
|
@ -35,8 +36,7 @@ sql mysql://root:"$mysqlrootpass"@/mysql "DROP DATABASE `whoami`;DROP USER '`who
|
|||
sql mysql://root:"$mysqlrootpass"@/mysql "CREATE DATABASE `whoami`;CREATE USER '`whoami`'@'localhost' IDENTIFIED BY '`whoami`'; GRANT ALL ON `whoami`.* TO '`whoami`'@'localhost';"
|
||||
|
||||
# SHELLS
|
||||
$INSTALL ash csh dash fdclone fish fizsh ksh mksh pdksh posh rc rush sash tcsh yash zsh
|
||||
|
||||
touch ~/.zshrc
|
||||
SSHPASS=`goodpasswd`
|
||||
export SSHPASS
|
||||
#shells="bash sh csh ash tcsh zsh ksh fish fizsh mksh pdksh posh rc sash yash nopathbash nopathcsh"
|
||||
|
@ -48,13 +48,14 @@ create_shell_user() {
|
|||
sudo adduser --disabled-password --gecos "$shell for parallel,,," $shell &&
|
||||
echo "$shell:$SSHPASS" | sudo chpasswd &&
|
||||
sshpass -e ssh-copy-id $shell@lo &&
|
||||
echo "ssh-keyscan" &&
|
||||
echo Add server keys for lo and server &&
|
||||
ssh $shell@lo 'ssh-keyscan -t rsa lo >> .ssh/known_hosts' &&
|
||||
ssh $shell@lo 'ssh-keyscan -t rsa server >> .ssh/known_hosts' &&
|
||||
echo Do chsh -s $(which $shell || which ${shell#"nopath"}) $shell &&
|
||||
(echo $shell | grep parallel ||
|
||||
sudo chsh -s $(which $shell || which ${shell#"nopath"}) $shell) &&
|
||||
echo | ssh -t $shell@lo ssh-keygen &&
|
||||
echo Do ssh-keygen &&
|
||||
echo | ssh -t $shell@lo ssh-keygen -b 1024 &&
|
||||
echo Do ssh $shell@lo 'cat .ssh/id_rsa.pub >> .ssh/authorized_keys' &&
|
||||
ssh $shell@lo 'cat .ssh/id_rsa.pub >> .ssh/authorized_keys' &&
|
||||
ssh $shell@lo cat .ssh/id_rsa.pub | ssh parallel@lo 'cat >> .ssh/authorized_keys' &&
|
||||
|
@ -63,15 +64,22 @@ create_shell_user() {
|
|||
ssh $shell@lo env_parallel --install &&
|
||||
ssh $shell@lo 'mkdir .parallel; touch .parallel/will-cite' &&
|
||||
echo OK Created $shell &&
|
||||
echo >&2 &&
|
||||
echo OK Created $shell >&2 &&
|
||||
echo
|
||||
}
|
||||
export -f create_shell_user
|
||||
. `which env_parallel.bash`
|
||||
shellsplus="parallel $shells"
|
||||
parallel -u --timeout 15 --retries 2 --tag -j1 create_shell_user ::: $shellsplus
|
||||
# sh fails if not run by itself
|
||||
parallel -u --timeout 15 --retries 2 --tag -j1 create_shell_user ::: sh
|
||||
parallel -j10 --tag ssh {}@lo ssh {}@lo echo {} OK ::: $shells
|
||||
# Racecondition: if multiple adds a group it will the same group ID
|
||||
parallel --timeout 15 --retries 5 --tag -j1 create_shell_user ::: $shellsplus
|
||||
|
||||
ssh_a_to_b() {
|
||||
ssh $1@lo ssh $2@lo echo OK ||
|
||||
echo failed && false
|
||||
}
|
||||
export -f ssh_a_to_b
|
||||
parallel -j8 --timeout 5 --tag ssh_a_to_b {} {} ::: $shellsplus
|
||||
|
||||
ssh_copy_id() {
|
||||
from="$1"
|
||||
|
@ -80,8 +88,10 @@ ssh_copy_id() {
|
|||
}
|
||||
export -f ssh_copy_id
|
||||
|
||||
parallel --bar -j10 --timeout 3 --retries 10 --tag ssh_copy_id {1}@lo {2}@lo ::: $shellsplus ::: $shellsplus
|
||||
parallel -j10 --timeout 3 --retries 10 --tag ssh {1}@lo ssh {2}@lo echo OK ::: $shellsplus ::: $shellsplus
|
||||
# copy id from any X to any Y
|
||||
parallel -u --bar -j3 --timeout 3 --retries 10 --tag ssh_copy_id {1}@lo {2}@lo ::: $shellsplus ::: $shellsplus
|
||||
# Test the copying went well
|
||||
parallel -j3 --timeout 3 --retries 10 --tag ssh_a_to_b ::: $shellsplus ::: $shellsplus
|
||||
|
||||
# change paths to no path
|
||||
(
|
||||
|
@ -118,3 +128,7 @@ echo Add:
|
|||
echo HostkeyAlgorithms +ssh-dss
|
||||
echo to .ssh/config if you get
|
||||
echo no matching host key type found. Their offer: ssh-dss
|
||||
echo
|
||||
echo Add to /etc/ssh/sshd_config
|
||||
echo Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc
|
||||
echo KexAlgorithms diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,curve25519-sha256@libssh.org,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1
|
||||
|
|
|
@ -32,7 +32,9 @@ echo '### -N and --noswap. Must give 0'
|
|||
EOF
|
||||
|
||||
# force load > 10
|
||||
while uptime | egrep -v 'age:.[1-9][0-9]?[0-9].[0-9][0-9]' >/dev/null ; do (timeout 5 nice burnP6 2>/dev/null &) done
|
||||
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do
|
||||
(timeout 5 nice perl -e 'while(1){}' 2>/dev/null &)
|
||||
done
|
||||
|
||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 --joblog /tmp/jl-`basename $0` -L1
|
||||
echo '### -H and --hard'
|
||||
|
|
|
@ -5,7 +5,9 @@ niceload "perl -e 'exit(3)'" ; echo $? eq 3
|
|||
niceload "perl -e 'exit(0)'" ; echo $? eq 0
|
||||
|
||||
# force load > 10
|
||||
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do (timeout 5 nice burnP6 2>/dev/null &) done
|
||||
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do
|
||||
(timeout 5 nice perl -e 'while(1){}' 2>/dev/null &)
|
||||
done
|
||||
|
||||
echo '### Test -p'
|
||||
perl -e '$|=1;while($t++<3){sleep(1);print "."}' &
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# force load > 10
|
||||
while uptime | grep -v age:.[1-9]\\+[0-9].[0-9][0-9] >/dev/null ; do (timeout 5 nice burnP6 2>/dev/null &) done
|
||||
while uptime | grep -v age:.[1-9]\\+[0-9].[0-9][0-9] >/dev/null ; do
|
||||
(timeout 5 nice perl -e 'while(1){}' 2>/dev/null &)
|
||||
done
|
||||
|
||||
int() {
|
||||
perl -pe 's/(\d+\.\d*)/int($1)/e'
|
||||
|
|
|
@ -4,7 +4,9 @@ cp /bin/sleep /tmp/mysleep
|
|||
killall -9 mysleep 2>/dev/null
|
||||
|
||||
# force load > 10
|
||||
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do (timeout 5 nice burnP6 2>/dev/null &) done
|
||||
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do
|
||||
(timeout 5 nice perl -e 'while(1){}' 2>/dev/null &)
|
||||
done
|
||||
|
||||
sleep 2 &
|
||||
export PID1=$!
|
||||
|
|
|
@ -16,6 +16,9 @@ export SMALLDISK
|
|||
sudo chmod 777 /mnt/ram
|
||||
) >/dev/null 2>/dev/null
|
||||
|
||||
# Clean tmp
|
||||
find /tmp{/*,}/*.{par,tms,tmx} 2>/dev/null -mmin -10 | parallel rm
|
||||
|
||||
stdsort() {
|
||||
"$@" 2>&1 | sort;
|
||||
}
|
||||
|
@ -118,17 +121,6 @@ echo '### bug #44614: --pipepart --header off by one'
|
|||
echo '### PARALLEL_TMUX not found'
|
||||
PARALLEL_TMUX=not-existing parallel --tmux echo ::: 1
|
||||
|
||||
echo '**'
|
||||
|
||||
parallel -j4 --halt 2 ::: 'sleep 1' burnP6 false;
|
||||
killall burnP6 && echo ERROR: burnP6 should already have been killed
|
||||
parallel -j4 --halt -2 ::: 'sleep 1' burnP5 true;
|
||||
killall burnP5 && echo ERROR: burnP5 should already have been killed
|
||||
|
||||
parallel --halt error echo ::: should not print
|
||||
parallel --halt soon echo ::: should not print
|
||||
parallel --halt now echo ::: should not print
|
||||
|
||||
echo '**'
|
||||
|
||||
echo '### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2'
|
||||
|
@ -689,20 +681,40 @@ par_link_files_as_only_arg() {
|
|||
}
|
||||
|
||||
par_macron() {
|
||||
macron=$(perl -e 'print "\257"')
|
||||
parallel ::: "echo $macron"
|
||||
parallel echo ::: "$macron"
|
||||
parallel echo "$macron" ::: $macron
|
||||
macron_a=$(perl -e 'print "\257\256"')
|
||||
parallel ::: "echo $macron_a"
|
||||
parallel echo ::: "$macron_a"
|
||||
parallel echo "$macron_a" ::: $macron_a
|
||||
a=$(perl -e 'print "\257<\257<\257>\257>"')
|
||||
parallel ::: "echo \"$a\""
|
||||
parallel echo ::: "$a"
|
||||
parallel echo \"$a\" ::: $a
|
||||
print_it() {
|
||||
parallel ::: "echo $1"
|
||||
parallel echo ::: "$1"
|
||||
parallel echo "$1" ::: "$1"
|
||||
parallel echo \""$1"\" ::: "$1"
|
||||
parallel -q echo ::: "$1"
|
||||
parallel -q echo "$1" ::: "$1"
|
||||
parallel -q echo \""$1"\" ::: "$1"
|
||||
}
|
||||
print_it "$(perl -e 'print "\257"')"
|
||||
print_it "$(perl -e 'print "\257\256"')"
|
||||
print_it "$(perl -e 'print "\257<\257<\257>\257>"')"
|
||||
}
|
||||
|
||||
par_basic_halt() {
|
||||
cpuburn=$(tempfile)
|
||||
cpuburn2=$(tempfile)
|
||||
(echo '#!/usr/bin/perl'
|
||||
echo "eval{setpriority(0,0,9)}; while(1){}") > $cpuburn
|
||||
chmod 700 $cpuburn
|
||||
cp -a $cpuburn $cpuburn2
|
||||
|
||||
parallel -j4 --halt 2 ::: 'sleep 1' $cpuburn false;
|
||||
killall $(basename $cpuburn) 2>/dev/null &&
|
||||
echo ERROR: cpuburn should already have been killed
|
||||
parallel -j4 --halt -2 ::: 'sleep 1' $cpuburn2 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
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort |
|
||||
|
|
|
@ -4,6 +4,55 @@
|
|||
# Each should be taking 10-30s and be possible to run in parallel
|
||||
# I.e.: No race conditions, no logins
|
||||
|
||||
par__pipepart_spawn() {
|
||||
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
|
||||
seq 1000000 > /tmp/num1000000;
|
||||
stdout nice parallel --pipepart --progress -a /tmp/num1000000 --block 10k -j0 true |
|
||||
grep 1:local | perl -pe 's/\d\d\d/999/g'
|
||||
}
|
||||
|
||||
par__pipe_tee() {
|
||||
echo 'bug #45479: --pipe/--pipepart --tee'
|
||||
echo '--pipe --tee'
|
||||
|
||||
random1G() {
|
||||
< /dev/zero openssl enc -aes-128-ctr -K 1234 -iv 1234 2>/dev/null |
|
||||
head -c 1G;
|
||||
}
|
||||
random1G | parallel --pipe --tee cat ::: {1..3} | LANG=C wc -c
|
||||
}
|
||||
|
||||
par__pipepart_tee() {
|
||||
echo 'bug #45479: --pipe/--pipepart --tee'
|
||||
echo '--pipepart --tee'
|
||||
|
||||
random1G() {
|
||||
< /dev/zero openssl enc -aes-128-ctr -K 1234 -iv 1234 2>/dev/null |
|
||||
head -c 1G;
|
||||
}
|
||||
tmp=$(mktemp)
|
||||
random1G >$tmp
|
||||
parallel --pipepart --tee -a $tmp cat ::: {1..3} | LANG=C wc -c
|
||||
rm $tmp
|
||||
}
|
||||
|
||||
par__memleak() {
|
||||
echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs"
|
||||
echo "should give 1 == true"
|
||||
|
||||
mem30=$( nice stdout time -f %M parallel -j2 true :::: <(perl -e '$a="x"x60000;for(1..30){print $a,"\n"}') );
|
||||
mem300=$( nice stdout time -f %M parallel -j2 true :::: <(perl -e '$a="x"x60000;for(1..300){print $a,"\n"}') );
|
||||
echo "Memory use should not depend very much on the total number of jobs run\n";
|
||||
echo "Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 110% ";
|
||||
echo $(($mem300*100 < $mem30 * 110))
|
||||
}
|
||||
|
||||
par_slow_total_jobs() {
|
||||
echo 'bug #51006: Slow total_jobs() eats job'
|
||||
(echo a; sleep 10; echo b; sleep 10; seq 2) |
|
||||
parallel -k echo '{=total_jobs()=}'
|
||||
}
|
||||
|
||||
par_interactive() {
|
||||
echo '### Test -p --interactive'
|
||||
cat >/tmp/parallel-script-for-expect <<_EOF
|
||||
|
@ -36,7 +85,9 @@ expect "opt--interactive 3"
|
|||
send "\n"
|
||||
_EOF
|
||||
echo
|
||||
) | perl -ne '/\S/ and print'
|
||||
) | perl -ne 's/\r//g;/\S/ and print' |
|
||||
# Race will cause the order to change
|
||||
sort
|
||||
}
|
||||
|
||||
par_k() {
|
||||
|
@ -44,14 +95,7 @@ par_k() {
|
|||
ulimit -n 50
|
||||
(echo "sleep 3; echo begin"; seq 1 30 |
|
||||
parallel -kq echo "sleep 1; echo {}";
|
||||
echo "echo end") | stdout parallel -k -j0
|
||||
}
|
||||
|
||||
par_pipepart_spawn() {
|
||||
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
|
||||
seq 1000000 > /tmp/num1000000;
|
||||
stdout parallel --pipepart --progress -a /tmp/num1000000 --block 10k -j0 true |
|
||||
grep 1:local | perl -pe 's/\d\d\d/999/g'
|
||||
echo "echo end") | stdout nice parallel -k -j0
|
||||
}
|
||||
|
||||
par_halt_on_error() {
|
||||
|
@ -107,17 +151,6 @@ par_k_linebuffer() {
|
|||
parallel --line-buffer -k 'echo stdout top;sleep 1;echo stderr in the middle >&2; sleep 1;echo stdout' ::: end 2>&1
|
||||
}
|
||||
|
||||
par_memleak() {
|
||||
echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs"
|
||||
echo "should give 1 == true"
|
||||
|
||||
mem30=$( stdout time -f %M parallel -j2 true :::: <(perl -e '$a="x"x60000;for(1..30){print $a,"\n"}') );
|
||||
mem300=$( stdout time -f %M parallel -j2 true :::: <(perl -e '$a="x"x60000;for(1..300){print $a,"\n"}') );
|
||||
echo "Memory use should not depend very much on the total number of jobs run\n";
|
||||
echo "Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 110% ";
|
||||
echo $(($mem300*100 < $mem30 * 110))
|
||||
}
|
||||
|
||||
par_maxlinelen_m_I() {
|
||||
echo "### Test max line length -m -I"
|
||||
|
||||
|
@ -146,20 +179,9 @@ par_compress_fail() {
|
|||
seq 12 | parallel --compress -k seq {} 1000000 | md5sum
|
||||
}
|
||||
|
||||
par_distribute_input_by_ability() {
|
||||
echo "### bug #48290: round-robin does not distribute data based on business"
|
||||
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 |
|
||||
parallel --tagstring {#} -j7 --block 300k --round-robin --pipe \
|
||||
'pv -qL{=$_=$job->seq()**3+9=}0000 |wc -c' |
|
||||
sort -nk2 | field 1
|
||||
}
|
||||
|
||||
par_round_robin_blocks() {
|
||||
echo "bug #49664: --round-robin does not complete"
|
||||
|
||||
seq 20000000 | parallel --block 10M --round-robin --pipe wc -c | wc -l
|
||||
seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l
|
||||
}
|
||||
|
||||
par_results_csv() {
|
||||
|
@ -202,31 +224,6 @@ par_tmux_fg() {
|
|||
stdout parallel --tmux --fg sleep ::: 3 | perl -pe 's/.tmp\S+/tmp/'
|
||||
}
|
||||
|
||||
par_pipe_tee() {
|
||||
echo 'bug #45479: --pipe/--pipepart --tee'
|
||||
echo '--pipe --tee'
|
||||
|
||||
random1G() {
|
||||
< /dev/zero openssl enc -aes-128-ctr -K 1234 -iv 1234 2>/dev/null |
|
||||
head -c 1G;
|
||||
}
|
||||
random1G | parallel --pipe --tee cat ::: {1..3} | LANG=C wc -c
|
||||
}
|
||||
|
||||
par_pipepart_tee() {
|
||||
echo 'bug #45479: --pipe/--pipepart --tee'
|
||||
echo '--pipepart --tee'
|
||||
|
||||
random1G() {
|
||||
< /dev/zero openssl enc -aes-128-ctr -K 1234 -iv 1234 2>/dev/null |
|
||||
head -c 1G;
|
||||
}
|
||||
tmp=$(mktemp)
|
||||
random1G >$tmp
|
||||
parallel --pipepart --tee -a $tmp cat ::: {1..3} | LANG=C wc -c
|
||||
rm $tmp
|
||||
}
|
||||
|
||||
par_plus_dyn_repl() {
|
||||
echo "Dynamic replacement strings defined by --plus"
|
||||
|
||||
|
@ -307,12 +304,6 @@ par_plus_dyn_repl() {
|
|||
parallel --plus echo '{-2,,A}' ::: "wrong" ::: "$myvar" ::: "wrong"
|
||||
}
|
||||
|
||||
par_slow_total_jobs() {
|
||||
echo 'bug #51006: Slow total_jobs() eats job'
|
||||
(echo a; sleep 7; echo b; sleep 7; seq 2) |
|
||||
parallel -k echo '{=total_jobs()=}'
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort |
|
||||
parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -232,15 +232,6 @@ line2"' 'echo "command2"'
|
|||
echo "${var[0]}"
|
||||
}
|
||||
|
||||
|
||||
par_sqlworker_hostname() {
|
||||
echo 'bug #50901: --sqlworker should use hostname in the joblog instead of :'
|
||||
parallel --sqlmaster :my/hostname echo ::: 1 2 3
|
||||
parallel -k --sqlworker :my/hostname
|
||||
sql :my 'select host from hostname;'
|
||||
}
|
||||
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort |
|
||||
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'
|
||||
|
|
|
@ -60,12 +60,17 @@ par_linebuffer_matters_compress_tag() {
|
|||
# forcing the compress tool to spit out compressed blocks
|
||||
head -c 10000000 /dev/urandom > $randomfile
|
||||
|
||||
parallel -j0 --compress --tag --delay 1 "shuf $randomfile; sleep 1; shuf $randomfile; true" ::: {0..9} |
|
||||
perl -ne '/^(\S+)\t/ and print "$1\n"' | uniq > $nolbfile &
|
||||
parallel -j0 --compress --tag --delay 1 "shuf $randomfile; sleep 1; shuf $randomfile; true" ::: {0..9} |
|
||||
perl -ne '/^(\S+)\t/ and print "$1\n"' | uniq > $controlfile &
|
||||
parallel -j0 --line-buffer --compress --tag --delay 1 "shuf $randomfile; sleep 1; shuf $randomfile; true" ::: {0..9} |
|
||||
perl -ne '/^(\S+)\t/ and print "$1\n"' | uniq > $lbfile &
|
||||
testfunc() {
|
||||
linebuffer="$1"
|
||||
# Sleep 2 sec to give time to linebuffer-print the first part
|
||||
parallel -j0 $linebuffer --compress --tag \
|
||||
"shuf $randomfile; sleep 2; shuf $randomfile; true" ::: {0..10} |
|
||||
perl -ne '/^(\S+)\t/ and print "$1\n"' | uniq | sort
|
||||
}
|
||||
|
||||
testfunc > $nolbfile &
|
||||
testfunc > $controlfile &
|
||||
testfunc --linebuffer > $lbfile &
|
||||
wait
|
||||
|
||||
nolb="$(cat $nolbfile)"
|
||||
|
|
|
@ -118,5 +118,14 @@ par_dryrun_timeout_ungroup() {
|
|||
seq 1000 | stdout parallel --dry-run --timeout 100 -u --jobs 10 echo | wc
|
||||
}
|
||||
|
||||
par_sqlworker_hostname() {
|
||||
echo 'bug #50901: --sqlworker should use hostname in the joblog instead of :'
|
||||
parallel --sqlmaster :my/hostname echo ::: 1 2 3
|
||||
parallel -k --sqlworker :my/hostname
|
||||
hostname=`hostname`
|
||||
sql :my 'select host from hostname;' |
|
||||
perl -pe "s/$hostname/<hostname>/g"
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort | parallel -j6 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -1,5 +1,47 @@
|
|||
#!/bin/bash
|
||||
|
||||
par_hostgroup() {
|
||||
echo '### --hostgroup force ncpu'
|
||||
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8} | sort
|
||||
|
||||
echo '### --hostgroup two group arg'
|
||||
parallel -k --sshdelay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.3{} ::: {1..8}@g1+g2 | sort
|
||||
|
||||
echo '### --hostgroup one group arg'
|
||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8}@g2
|
||||
|
||||
echo '### --hostgroup multiple group arg + unused group'
|
||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.8{} ::: {1..8}@g1+g2 | sort
|
||||
|
||||
echo '### --hostgroup two groups @'
|
||||
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2
|
||||
|
||||
echo '### --hostgroup'
|
||||
parallel -k --hostgroup -S @grp1/lo echo ::: no_group explicit_group@grp1 implicit_group@lo
|
||||
|
||||
echo '### --hostgroup --sshlogin with @'
|
||||
parallel -k --hostgroups -S parallel@lo echo ::: no_group implicit_group@parallel@lo
|
||||
|
||||
echo '### --hostgroup -S @group'
|
||||
parallel -S @g1/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
|
||||
echo '### --hostgroup -S @group1 -Sgrp2'
|
||||
parallel -S @g1/ -S @g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
|
||||
echo '### --hostgroup -S @group1+grp2'
|
||||
parallel -S @g1+g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
}
|
||||
|
||||
par_distribute_input_by_ability() {
|
||||
echo "### bug #48290: round-robin does not distribute data based on business"
|
||||
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 |
|
||||
parallel --tagstring {#} -j7 --block 300k --round-robin --pipe \
|
||||
'pv -qL{=$_=$job->seq()**3+9=}0000 |wc -c' |
|
||||
sort -nk2 | field 1
|
||||
}
|
||||
|
||||
par_print_before_halt_on_error() {
|
||||
echo '### What is printed before the jobs are killed'
|
||||
mytest() {
|
||||
|
@ -41,4 +83,5 @@ par_testhalt() {
|
|||
|
||||
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` -j10 --tag -k '{} 2>&1'
|
||||
parallel --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -9,7 +9,8 @@ export DEBUG=false
|
|||
p_showsqlresult() {
|
||||
SERVERURL=$1
|
||||
TABLE=$2
|
||||
sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;"
|
||||
# No hostname as it can differ
|
||||
sql $SERVERURL "select Command,V1,V2,Stdout,Stderr from $TABLE order by seq;"
|
||||
}
|
||||
|
||||
p_wrapper() {
|
||||
|
@ -112,18 +113,17 @@ par_shuf() {
|
|||
touch $T1
|
||||
}
|
||||
|
||||
par_sqlandworker_lo() {
|
||||
p_template -S lo
|
||||
}
|
||||
|
||||
par_sql_joblog() {
|
||||
echo '### should only give a single --joblog heading'
|
||||
echo '### --sqlmaster/--sqlworker'
|
||||
parallel -k --joblog - --sqlmaster $DBURL --wait sleep .3\;echo ::: {1..5} ::: {a..e} |
|
||||
perl -pe 's/\d+\.\d+/999.999/g' | sort -n &
|
||||
sleep 0.5
|
||||
parallel -k --joblog - --sqlworker $DBURL
|
||||
T=$(tempfile)
|
||||
parallel -k --joblog - --sqlworker $DBURL > $T
|
||||
wait
|
||||
# Needed because of race condition
|
||||
cat $T; rm $T
|
||||
echo '### --sqlandworker'
|
||||
parallel -k --joblog - --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} |
|
||||
perl -pe 's/\d+\.\d+/999.999/g' | sort -n
|
||||
|
|
|
@ -8,7 +8,7 @@ unset run_test
|
|||
|
||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj300% -k --joblog /tmp/jl-`basename $0` -L1
|
||||
echo '### Test --load remote'
|
||||
ssh parallel@lo 'seq 10 | parallel --nice 19 --timeout 15 -j0 -N0 burnP6' &
|
||||
ssh parallel@lo 'seq 10 | parallel --nice 19 --timeout 15 -j0 -qN0 perl -e while\(1\)\{\ \}' &
|
||||
sleep 1;
|
||||
stdout /usr/bin/time -f %e parallel -S parallel@lo --load 10 sleep ::: 1 | perl -ne '$_ > 10 and print "OK\n"'
|
||||
|
||||
|
|
|
@ -1,37 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
# SSH only allowed to localhost/lo
|
||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj100% --retries 3 -k --joblog /tmp/jl-`basename $0` -L1
|
||||
echo '### --hostgroup force ncpu'
|
||||
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8} | sort
|
||||
|
||||
echo '### --hostgroup two group arg'
|
||||
parallel -k --sshdelay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.3{} ::: {1..8}@g1+g2 | sort
|
||||
|
||||
echo '### --hostgroup one group arg'
|
||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8}@g2
|
||||
|
||||
echo '### --hostgroup multiple group arg + unused group'
|
||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.8{} ::: {1..8}@g1+g2 | sort
|
||||
|
||||
echo '### --hostgroup two groups @'
|
||||
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2
|
||||
|
||||
echo '### --hostgroup'
|
||||
parallel -k --hostgroup -S @grp1/lo echo ::: no_group explicit_group@grp1 implicit_group@lo
|
||||
|
||||
echo '### --hostgroup --sshlogin with @'
|
||||
parallel -k --hostgroups -S parallel@lo echo ::: no_group implicit_group@parallel@lo
|
||||
|
||||
echo '### --hostgroup -S @group'
|
||||
parallel -S @g1/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
|
||||
echo '### --hostgroup -S @group1 -Sgrp2'
|
||||
parallel -S @g1/ -S @g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
|
||||
echo '### --hostgroup -S @group1+grp2'
|
||||
parallel -S @g1+g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
|
||||
cat <<'EOF' | parallel -vj100% --retries 3 -k --joblog /tmp/jl-`basename $0` -L1
|
||||
echo '### trailing space in sshlogin'
|
||||
echo 'sshlogin trailing space' | parallel --sshlogin "ssh -l parallel localhost " echo
|
||||
|
||||
|
@ -89,21 +60,23 @@ echo '### bug #49404: "Max jobs to run" does not equal the number of jobs specif
|
|||
EOF
|
||||
|
||||
par_trc_with_space() {
|
||||
SERVER1=parallel-server1
|
||||
echo '### Test --trc with space added in filename'
|
||||
echo original > '/tmp/parallel space file'
|
||||
echo '/tmp/parallel space file' | stdout parallel --trc "{} more space" -S parallel@$SERVER1 cat {} ">{}\\ more\\ space"
|
||||
cat '/tmp/parallel space file more space'
|
||||
rm '/tmp/parallel space file' '/tmp/parallel space file more space'
|
||||
cd
|
||||
mkdir -p tmp
|
||||
echo original > 'tmp/parallel space file'
|
||||
echo 'tmp/parallel space file' | stdout parallel --trc "{} more space" -S parallel@lo cat {} ">{}\\ more\\ space"
|
||||
cat 'tmp/parallel space file more space'
|
||||
rm 'tmp/parallel space file' 'tmp/parallel space file more space'
|
||||
}
|
||||
|
||||
par_trc_with_special_chars() {
|
||||
SERVER1=parallel-server1
|
||||
echo '### Test --trc with >|< added in filename'
|
||||
echo original > '/tmp/parallel space file2'
|
||||
echo '/tmp/parallel space file2' | stdout parallel --trc "{} >|<" -S parallel@$SERVER1 cat {} ">{}\\ \\>\\|\\<"
|
||||
cat '/tmp/parallel space file2 >|<'
|
||||
rm '/tmp/parallel space file2' '/tmp/parallel space file2 >|<'
|
||||
cd
|
||||
mkdir -p tmp
|
||||
echo original > 'tmp/parallel space file2'
|
||||
echo 'tmp/parallel space file2' | stdout parallel --trc "{} >|<" -S parallel@lo cat {} ">{}\\ \\>\\|\\<"
|
||||
cat 'tmp/parallel space file2 >|<'
|
||||
rm 'tmp/parallel space file2' 'tmp/parallel space file2 >|<'
|
||||
}
|
||||
|
||||
par_return_with_fixedstring() {
|
||||
|
|
|
@ -286,7 +286,7 @@ par_fish_man() {
|
|||
env_parallel ::: true false true false
|
||||
echo exit value $status should be 2
|
||||
|
||||
env_parallel --no-such-option >/dev/null
|
||||
env_parallel --no-such-option 2>&1 >/dev/null
|
||||
echo exit value $status should be 255
|
||||
_EOF
|
||||
)
|
||||
|
@ -632,7 +632,8 @@ par_bash_funky() {
|
|||
. `which env_parallel.bash`;
|
||||
|
||||
myvar="myvar works"
|
||||
funky=$(perl -e "print pack \"c*\", 1..255")
|
||||
funky_single_line=$(perl -e "print pack \"c*\", 13..126,128..255")
|
||||
funky_multi_line=$(perl -e "print pack \"c*\", 1..12,127")
|
||||
myarray=("" array_val2 3 "" 5 " space 6 ")
|
||||
declare -A assocarr
|
||||
assocarr[a]=assoc_val_a
|
||||
|
@ -643,14 +644,16 @@ par_bash_funky() {
|
|||
echo "$myvar"
|
||||
echo "${myarray[5]}"
|
||||
echo ${assocarr[a]}
|
||||
echo Funky-"$funky"-funky
|
||||
echo Funkyline-"$funky_single_line"-funkyline
|
||||
echo Funkymultiline-"$funky_multi_line"-funkymultiline
|
||||
}
|
||||
env_parallel alias_echo ::: alias_works
|
||||
env_parallel func_echo ::: function_works
|
||||
env_parallel -S lo alias_echo ::: alias_works_over_ssh
|
||||
env_parallel -S lo func_echo ::: function_works_over_ssh
|
||||
echo
|
||||
echo "$funky" | parallel --shellquote
|
||||
echo "$funky_single_line" | parallel --shellquote
|
||||
echo "$funky_multi_line" | parallel --shellquote
|
||||
_EOF
|
||||
)
|
||||
# Order is often different. Dunno why. So sort
|
||||
|
@ -864,6 +867,7 @@ par_bash_env_parallel_fifo() {
|
|||
myscript=$(cat <<'_EOF'
|
||||
echo 'bug #50435: Remote fifo broke in 20150522'
|
||||
# Due to $PARALLEL_TMP being transferred
|
||||
. `which env_parallel.bash`
|
||||
OK=OK
|
||||
echo data from stdin | env_parallel --pipe -S lo --fifo 'cat {} && echo $OK'
|
||||
echo data from stdin | env_parallel --pipe -S lo --cat 'cat {} && echo $OK'
|
||||
|
|
|
@ -7,7 +7,7 @@ par_path_remote_bash() {
|
|||
rm -rf /tmp/parallel
|
||||
cp /usr/local/bin/parallel /tmp
|
||||
|
||||
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to'
|
||||
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://' | uniq
|
||||
echo BASH Path before: $PATH with no parallel
|
||||
parallel echo ::: 1
|
||||
# Race condition stderr/stdout
|
||||
|
@ -28,7 +28,7 @@ par_path_remote_csh() {
|
|||
rm -rf /tmp/parallel
|
||||
cp /usr/local/bin/parallel /tmp
|
||||
|
||||
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to'
|
||||
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://' | uniq
|
||||
echo CSH Path before: $PATH with no parallel
|
||||
which parallel >& /dev/stdout
|
||||
echo '^^^^^^^^ Not found is OK'
|
||||
|
@ -42,6 +42,8 @@ par_path_remote_csh() {
|
|||
endif
|
||||
# --filter to see if $PATH with parallel is transferred
|
||||
env_parallel --filter --env A,PATH -Slo echo '$PATH' ::: OK
|
||||
# Sleep needed to avoid stderr/stdout mixing
|
||||
sleep 1
|
||||
echo Right now it seems csh does not respect $PATH if set from Perl
|
||||
echo Done
|
||||
_EOS
|
||||
|
|
|
@ -13,7 +13,7 @@ stdsort() {
|
|||
}
|
||||
export -f stdsort
|
||||
|
||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj200 -k --joblog /tmp/jl-`basename $0` -L1
|
||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj100 -k --joblog /tmp/jl-`basename $0` -L1
|
||||
echo '### -0 -n3 echo < files0.xi'
|
||||
stdout xargs -0 -n3 echo < files0.xi
|
||||
stdout parallel -k -0 -n3 echo < files0.xi
|
||||
|
@ -228,7 +228,8 @@ stdout xargs -iARG echo ARG is xARGx < files.xi
|
|||
stdout parallel -k -iARG echo ARG is xARGx < files.xi
|
||||
echo '### -i echo from \{\} to x{}y < items.xi'
|
||||
stdout xargs -i echo from \{\} to x{}y < items.xi
|
||||
stdout parallel -k -i echo from \{\} to x{}y < items.xi
|
||||
# GNU Parallel will see 'echo' as argument to '-i' if not given {}
|
||||
stdout parallel -k -i {} echo from \{\} to x{}y < items.xi
|
||||
echo '### -i -s26 echo from \{\} to x{}y < items.xi'
|
||||
stdsort xargs -i -s26 echo from \{\} to x{}y < items.xi
|
||||
stdsort parallel -k -i -s26 echo from \{\} to x{}y < items.xi
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
par_space() {
|
||||
echo '### Test --env - https://savannah.gnu.org/bugs/?37351'
|
||||
export TWOSPACES=' 2 spaces '
|
||||
export THREESPACES=" > My brother's 12\" records < "
|
||||
|
@ -20,35 +21,75 @@ stdout parallel --env TWOSPACES,THREESPACES echo 'a"$TWOSPACES"b' 'a"$THREESPACE
|
|||
stdout parallel -S localhost --env TWOSPACES,THREESPACES echo 'a"$TWOSPACES"b' 'a"$THREESPACES"b' ::: 3
|
||||
stdout parallel -S csh@localhost --env TWOSPACES,THREESPACES echo 'a"$TWOSPACES"b' 'a"$THREESPACES"b' ::: 3
|
||||
stdout parallel -S tcsh@localhost --env TWOSPACES,THREESPACES echo 'a"$TWOSPACES"b' 'a"$THREESPACES"b' ::: 3
|
||||
}
|
||||
|
||||
par_space_quote() {
|
||||
export MIN=" \'\""
|
||||
echo a"$MIN"b 4
|
||||
stdout parallel --env MIN echo 'a"$MIN"b' ::: 4
|
||||
stdout parallel -S localhost --env MIN echo 'a"$MIN"b' ::: 4
|
||||
stdout parallel -S csh@localhost --env MIN echo 'a"$MIN"b' ::: 4
|
||||
stdout parallel -S tcsh@localhost --env MIN echo 'a"$MIN"b' ::: 4
|
||||
}
|
||||
|
||||
par_special_char() {
|
||||
export SPC="'"' * ? >o <i*? ][\!#¤%=( ) | }'
|
||||
echo a"$SPC"b 5
|
||||
stdout parallel --env SPC echo 'a"$SPC"b' ::: 5
|
||||
stdout parallel -S localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||
stdout parallel -S csh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||
stdout parallel -S tcsh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||
LANG=C stdout parallel --env SPC echo 'a"$SPC"b' ::: 5
|
||||
LANG=C stdout parallel -S localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||
LANG=C stdout parallel -S csh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||
LANG=C stdout parallel -S tcsh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||
}
|
||||
|
||||
test_chr_on_sshlogin() {
|
||||
# test_chr_on_sshlogin 10,92 2/:,2/lo
|
||||
# test_chr_on_sshlogin 10,92 2/tcsh@lo,2/csh@lo
|
||||
chr="$1"
|
||||
sshlogin="$2"
|
||||
onall="$3"
|
||||
perl -e 'for('$chr') { printf "%c%c %c%d\0",$_,$_,$_,$_ }' |
|
||||
stdout parallel -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// LANG=C parallel -k -j1 $onall -S $sshlogin --env V,V2,LANG echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} |
|
||||
sort |
|
||||
uniq -c |
|
||||
grep -v ' 4 '|
|
||||
grep -v xauth |
|
||||
grep -v X11
|
||||
}
|
||||
export -f test_chr_on_sshlogin
|
||||
|
||||
par_env_newline_backslash_bash() {
|
||||
echo '### Test --env for \n and \\ - single and double (bash only) - no output is good'
|
||||
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S 2/:,2/lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||
test_chr_on_sshlogin 10,92 2/:,2/lo ''
|
||||
}
|
||||
|
||||
par_env_newline_backslash_csh() {
|
||||
echo '### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails'
|
||||
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S 2/tcsh@lo,2/csh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||
test_chr_on_sshlogin 10,92 2/tcsh@lo,2/csh@lo ''
|
||||
}
|
||||
|
||||
par_env_newline_backslash_onall_bash() {
|
||||
echo '### Test --env for \n and \\ - single and double --onall (bash only) - no output is good'
|
||||
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||
test_chr_on_sshlogin 10,92 :,lo --onall
|
||||
}
|
||||
|
||||
par_env_newline_backslash_onall_csh() {
|
||||
echo '### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails'
|
||||
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S 1/tcsh@lo,1/csh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | sort | uniq -c | grep -v ' 2 '|grep -v xauth |grep -v X11
|
||||
test_chr_on_sshlogin 10,92 2/tcsh@lo,2/csh@lo --onall
|
||||
}
|
||||
|
||||
par_env_160() {
|
||||
echo '### Test --env for \160 - which kills csh - single and double - no output is good'
|
||||
perl -e 'for(160) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} | uniq -c | grep -v ' 3 '|grep -v xauth |grep -v X11
|
||||
test_chr_on_sshlogin 160 :,1/lo,1/tcsh@lo |
|
||||
grep -v ' 3 '
|
||||
}
|
||||
|
||||
par_env_160_onall() {
|
||||
echo '### Test --env for \160 - which kills csh - single and double --onall - no output is good'
|
||||
perl -e 'for(160) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | uniq -c | grep -v ' 3 '|grep -v xauth |grep -v X11
|
||||
test_chr_on_sshlogin 160 :,1/lo,1/tcsh@lo --onall |
|
||||
grep -v ' 3 '
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
|
||||
compgen -A function | grep par_ | sort |
|
||||
parallel --joblog /tmp/jl-`basename $0` --retries 3 -j2 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -1,15 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
cpuburn=$(tempfile)
|
||||
(echo '#!/usr/bin/perl'
|
||||
echo "eval{setpriority(0,0,9)}; while(1){}") > $cpuburn
|
||||
chmod 700 $cpuburn
|
||||
|
||||
forceload () {
|
||||
# Force load
|
||||
LOAD=$1
|
||||
# Start 10 times as many burnP6
|
||||
seq 0 0.1 $1 | parallel -j0 timeout 20 burnP6 2>/dev/null &
|
||||
# Start 10 times as many cpuburn
|
||||
seq 0 0.1 $1 | parallel -j0 timeout 20 $cpuburn 2>/dev/null &
|
||||
PID=$!
|
||||
# Give GNU Parallel 1 second to startup
|
||||
sleep 1
|
||||
perl -e 'do{$a=`uptime`} while($a=~/average: *(\S+)/ and $1 < '$LOAD')'
|
||||
# Load is now > $CPUS
|
||||
# Load is now > $LOAD
|
||||
}
|
||||
|
||||
# Force load avg > number of cpu cores
|
||||
|
@ -27,15 +32,16 @@ echo '### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834'
|
|||
seq 1 3 | parallel -j1 "sleep 2; echo {}" | parallel -kj2 echo
|
||||
EOF
|
||||
|
||||
# Make sure we got all the burnP6 killed
|
||||
killall -9 burnP6 2>/dev/null
|
||||
# Make sure we got all the cpuburn killed
|
||||
killall $(basename $cpuburn) 2>/dev/null
|
||||
|
||||
echo '### Test too slow spawning'
|
||||
# Let the commands below run during high load
|
||||
seq 1000 | timeout 20 parallel -j400% -N0 burnP6 2>/dev/null &
|
||||
seq 1000 | timeout 20 parallel -j400% -N0 $cpuburn 2>/dev/null &
|
||||
PID=$!
|
||||
seq 1 1000 | stdout nice nice parallel --halt 1 -uj0 -N0 kill $PID |
|
||||
perl -pe '/parallel: Warning: Starting \d+ processes took/ and do {close STDIN; `kill '$PID';killall -9 burnP6`; print "OK\n"; exit }';
|
||||
perl -pe '/parallel: Warning: Starting \d+ processes took/ and do {close STDIN; `kill '$PID';killall '$(basename $cpuburn)'`; print "OK\n"; exit }';
|
||||
|
||||
# Make sure we got all the burnP6 killed
|
||||
killall -9 burnP6 2>/dev/null
|
||||
# Make sure we got all the cpuburn killed
|
||||
killall $(basename $cpuburn) 2>/dev/null
|
||||
rm $cpuburn
|
||||
|
|
|
@ -3,19 +3,28 @@
|
|||
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 burnP6 ::: 1 | grep -q CPUTIME=1 &
|
||||
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\]'
|
||||
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 burnP6 | grep -q CPUTIME=1 &
|
||||
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\]'
|
||||
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'
|
||||
|
||||
|
||||
cat <<'EOF' | sed -e 's/;$/; /;' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||
echo '### -L -n with pipe'
|
||||
|
|
|
@ -23,39 +23,39 @@ export -f par_tmux
|
|||
|
||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj3 --timeout 60 --retries 2 -k --joblog /tmp/jl-`basename $0` -L1
|
||||
|
||||
echo '### tmux1.9'
|
||||
seq 000 100 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 100 200 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 200 300 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 300 400 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 400 500 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 500 600 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 600 700 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 700 800 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 800 900 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 900 1000 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
seq 1000 1006 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo '### tmux1.9 fails'
|
||||
echo 1007 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo 1008 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo 1009 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo '### tmux-1.9'
|
||||
seq 000 100 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 100 200 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 200 300 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 300 400 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 400 500 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 500 600 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 600 700 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 700 800 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 800 900 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 900 1000 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
seq 1000 1006 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
echo '### tmux-1.9 fails'
|
||||
echo 1007 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
echo 1008 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
echo 1009 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
|
||||
echo '### tmux1.8'
|
||||
seq 1 50 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
seq 51 100 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
seq 101 113 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo '### tmux1.8 fails'
|
||||
echo 114 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo 115 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo 116 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo '### tmux-1.8'
|
||||
seq 1 50 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
seq 51 100 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
seq 101 113 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
echo '### tmux-1.8 fails'
|
||||
echo 114 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
echo 115 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
echo 116 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
|
||||
echo '### tmux1.8 0..255 ascii'
|
||||
echo '### tmux-1.8 0..255 ascii'
|
||||
perl -e 'print map { ($_, map { pack("c*",$_) } grep { $_>=1 && $_!=10 } $_-110..$_),"\n" } 0..255' |
|
||||
PARALLEL_TMUX=tmux1.8 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
|
||||
echo '### tmux1.9 0..255 ascii'
|
||||
echo '### tmux-1.9 0..255 ascii'
|
||||
perl -e 'print map { ($_, map { pack("c*",$_) } grep { $_>=1 && $_!=10 } 0..$_),"\n" } 0..255' |
|
||||
PARALLEL_TMUX=tmux1.9 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
|
||||
echo '### Test output ascii'
|
||||
rm -f /tmp/paralocal7-ascii*;
|
||||
|
@ -63,10 +63,10 @@ echo '### Test output ascii'
|
|||
sort /tmp/paralocal7-ascii* | md5sum
|
||||
|
||||
echo '### Test critical lengths. Must not block'
|
||||
seq 70 130 | PARALLEL_TMUX=tmux1.8 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
seq 70 130 | PARALLEL_TMUX=tmux1.9 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
seq 280 425 | PARALLEL_TMUX=tmux1.8 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
seq 280 425 | PARALLEL_TMUX=tmux1.9 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
seq 70 130 | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
seq 70 130 | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
seq 280 425 | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
seq 280 425 | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
|
||||
EOF
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ echo '### Test --env all chars except \n,\92,\160 - single and double - no outpu
|
|||
|
||||
# This is fast
|
||||
perl -e 'for(1..9,9,11..91,91,93..159,159,161..255) { printf "%c",$_ } printf "\0"' |
|
||||
stdout parallel -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -S 1/:,1/lo,1/tcsh@lo,1/csh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||
stdout parallel -k -I // --arg-sep _ -0 V=// V2=V2=// LANG=C parallel -k -S 1/:,1/lo,1/tcsh@lo,1/csh@lo --onall --env V,V2,LANG echo \''"{}$V$V2"'\' ::: {#} | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||
|
||||
echo '### bug #37262: --slf + --filter-hosts fails'
|
||||
parallel --nonall --filter-hosts --sshloginfile <(echo localhost) echo OK
|
||||
|
|
|
@ -152,22 +152,6 @@ echo '### PARALLEL_TMUX not found'
|
|||
PARALLEL_TMUX=not-existing parallel --tmux echo ::: 1
|
||||
parallel: Error: not-existing not found in $PATH.
|
||||
echo '**'
|
||||
**
|
||||
parallel -j4 --halt 2 ::: 'sleep 1' burnP6 false; killall burnP6 && echo ERROR: burnP6 should already have been killed
|
||||
parallel: This job failed:
|
||||
false
|
||||
burnP6: no process found
|
||||
parallel -j4 --halt -2 ::: 'sleep 1' burnP5 true; killall burnP5 && echo ERROR: burnP5 should already have been killed
|
||||
parallel: This job succeeded:
|
||||
true
|
||||
burnP5: no process found
|
||||
parallel --halt error echo ::: should not print
|
||||
parallel: Error: --halt must have 'never', 'soon', or 'now'.
|
||||
parallel --halt soon echo ::: should not print
|
||||
parallel: Error: --halt soon must be followed by ,success or ,fail.
|
||||
parallel --halt now echo ::: should not print
|
||||
parallel: Error: --halt now must be followed by ,success or ,fail.
|
||||
echo '**'
|
||||
**
|
||||
echo '### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2'
|
||||
### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2
|
||||
|
@ -308,8 +292,8 @@ OK
|
|||
~/privat/parallel/testsuite
|
||||
OK
|
||||
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
|
||||
/mnt/0tb/home/tange/.parallel/tmp/aspire-0-0
|
||||
/mnt/0tb/home/tange/privat/parallel/testsuite
|
||||
~/.parallel/tmp/hk-0-0
|
||||
~/privat/parallel/testsuite
|
||||
OK
|
||||
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
|
||||
~/privat/parallel/testsuite
|
||||
|
@ -1495,7 +1479,7 @@ echo '### bug #34422: parallel -X --eta crashes with div by zero'
|
|||
seq 2 | stdout parallel -X --eta echo | grep -E -v 'ETA:.*AVG'
|
||||
|
||||
Computers / CPU cores / Max jobs to run
|
||||
1:local / 8 / 2
|
||||
1:local / 2 / 2
|
||||
|
||||
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
|
||||
echo '**'
|
||||
|
@ -1612,6 +1596,13 @@ par_append_joblog ### can you append to a joblog using +
|
|||
par_append_joblog 1
|
||||
par_append_joblog 1
|
||||
par_append_joblog 3 /tmp/parallel_append_joblog
|
||||
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_empty bug #:
|
||||
par_empty true
|
||||
par_empty_line ### Test bug: empty line for | sh with -k
|
||||
|
@ -1628,12 +1619,25 @@ par_link_files_as_only_arg 3 3 3
|
|||
par_macron ¯
|
||||
par_macron ¯
|
||||
par_macron ¯ ¯
|
||||
par_macron ¯ ¯
|
||||
par_macron ¯
|
||||
par_macron ¯® ¯
|
||||
par_macron "¯®" ¯
|
||||
par_macron ¯®
|
||||
par_macron ¯®
|
||||
par_macron ¯® ¯®
|
||||
par_macron ¯® ¯®
|
||||
par_macron ¯®
|
||||
par_macron ¯®® ¯®
|
||||
par_macron "¯®®" ¯®
|
||||
par_macron /bin/bash: -c: line 0: syntax error near unexpected token `newline'
|
||||
par_macron /bin/bash: -c: line 0: `echo ¯<¯<¯>¯>'
|
||||
par_macron ¯<¯<¯>¯>
|
||||
par_macron ¯<¯<¯>¯>
|
||||
par_macron /bin/bash: ¯: No such file or directory
|
||||
par_macron ¯<¯<¯>¯> ¯<¯<¯>¯>
|
||||
par_macron ¯<¯<¯>¯>
|
||||
par_macron ¯®<¯®<¯®>¯®> ¯<¯<¯>¯>
|
||||
par_macron "¯®<¯®<¯®>¯®>" ¯<¯<¯>¯>
|
||||
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
|
||||
par_pipepart_block_bigger_2G 1 1 4
|
||||
par_python_children ### bug #49970: Python child process dies if --env is used
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
par__memleak ### Test memory consumption stays (almost) the same for 30 and 300 jobs
|
||||
par__memleak should give 1 == true
|
||||
par__memleak Memory use should not depend very much on the total number of jobs run\n
|
||||
par__memleak Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 110%
|
||||
par__memleak 1
|
||||
par__pipe_tee bug #45479: --pipe/--pipepart --tee
|
||||
par__pipe_tee --pipe --tee
|
||||
par__pipe_tee 3221225472
|
||||
par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
||||
par__pipepart_spawn 1:local / 2 / 999
|
||||
par__pipepart_tee bug #45479: --pipe/--pipepart --tee
|
||||
par__pipepart_tee --pipepart --tee
|
||||
par__pipepart_tee 3221225472
|
||||
par_compress_fail ### bug #41609: --compress fails
|
||||
par_compress_fail 24812dd0f24a26d08a780f988b9d5ad2 -
|
||||
par_compress_fail 24812dd0f24a26d08a780f988b9d5ad2 -
|
||||
par_distribute_input_by_ability ### bug #48290: round-robin does not distribute data based on business
|
||||
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
|
||||
par_distribute_input_by_ability 2
|
||||
par_distribute_input_by_ability 3
|
||||
par_distribute_input_by_ability 4
|
||||
par_distribute_input_by_ability 5
|
||||
par_distribute_input_by_ability 6
|
||||
par_distribute_input_by_ability 7
|
||||
par_first_print_halt_on_error_1 ### Test first dying print --halt-on-error 1
|
||||
par_first_print_halt_on_error_1 0
|
||||
par_first_print_halt_on_error_1 parallel: This job failed:
|
||||
|
@ -258,24 +261,22 @@ par_halt_on_error 2 false false sleep 1;false
|
|||
par_halt_on_error 2 false false parallel: This job failed:
|
||||
par_halt_on_error 2 false false sleep 1;false
|
||||
par_interactive ### Test -p --interactive
|
||||
par_interactive spawn /tmp/parallel-script-for-expect
|
||||
par_interactive sleep 0.1; echo opt-p 1 ?...y
|
||||
par_interactive sleep 0.1; echo opt-p 2 ?...n
|
||||
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
||||
par_interactive opt--interactive 1
|
||||
par_interactive opt--interactive 3
|
||||
par_interactive opt-p 1
|
||||
par_interactive opt-p 3
|
||||
par_interactive sleep 0.1; echo opt--interactive 1 ?...y
|
||||
par_interactive sleep 0.1; echo opt--interactive 2 ?...n
|
||||
par_interactive sleep 0.1; echo opt--interactive 3 ?...y
|
||||
par_interactive opt--interactive 1
|
||||
par_interactive opt--interactive 3
|
||||
par_interactive sleep 0.1; echo opt-p 1 ?...y
|
||||
par_interactive sleep 0.1; echo opt-p 2 ?...n
|
||||
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
||||
par_interactive spawn /tmp/parallel-script-for-expect
|
||||
par_k ### Test -k
|
||||
par_k parallel: Warning: Only enough file handles to run 9 jobs in parallel.
|
||||
par_k parallel: Warning: Running 'parallel -j0 -N 9 --pipe parallel -j0' or
|
||||
par_k parallel: Warning: Only enough file handles to run 8 jobs in parallel.
|
||||
par_k parallel: Warning: Running 'parallel -j0 -N 8 --pipe parallel -j0' or
|
||||
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
||||
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
|
||||
par_k parallel: Warning: No more file handles.
|
||||
par_k parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help.
|
||||
par_k begin
|
||||
par_k 1
|
||||
par_k 2
|
||||
|
@ -487,19 +488,6 @@ par_maxlinelen_X_I Chars per line (817788/13): 62906
|
|||
par_maxlinelen_m_I ### Test max line length -m -I
|
||||
par_maxlinelen_m_I d10d5c84fc4716b21d90afa92cf44d73 -
|
||||
par_maxlinelen_m_I Chars per line (697810/11): 63437
|
||||
par_memleak ### Test memory consumption stays (almost) the same for 30 and 300 jobs
|
||||
par_memleak should give 1 == true
|
||||
par_memleak Memory use should not depend very much on the total number of jobs run\n
|
||||
par_memleak Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 110%
|
||||
par_memleak 1
|
||||
par_pipe_tee bug #45479: --pipe/--pipepart --tee
|
||||
par_pipe_tee --pipe --tee
|
||||
par_pipe_tee 3221225472
|
||||
par_pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
||||
par_pipepart_spawn 1:local / 8 / 999
|
||||
par_pipepart_tee bug #45479: --pipe/--pipepart --tee
|
||||
par_pipepart_tee --pipepart --tee
|
||||
par_pipepart_tee 3221225472
|
||||
par_plus_dyn_repl Dynamic replacement strings defined by --plus
|
||||
par_plus_dyn_repl myval
|
||||
par_plus_dyn_repl myval
|
||||
|
@ -568,10 +556,10 @@ par_results_compress 0
|
|||
par_results_compress 1
|
||||
par_results_csv bug #: --results csv
|
||||
par_results_csv --header : --tag --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --tag --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --tag --lb --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --lb --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
|
@ -596,10 +584,10 @@ par_results_csv --header : --tag --lb ",
|
|||
par_results_csv --header : --tag --lb 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
||||
par_results_csv --header : --tag --lb ",
|
||||
par_results_csv --header : --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --tag --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --header : --tag --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
|
@ -624,10 +612,10 @@ par_results_csv --header : --tag ",
|
|||
par_results_csv --header : --tag 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
||||
par_results_csv --header : --tag ",
|
||||
par_results_csv --header : --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --lb --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --lb --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
|
@ -652,10 +640,10 @@ par_results_csv --header : --lb ",
|
|||
par_results_csv --header : --lb 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
|
||||
par_results_csv --header : --lb ",
|
||||
par_results_csv --header : --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||
par_results_csv --header : --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --header : --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
|
@ -680,15 +668,15 @@ par_results_csv --header : ",
|
|||
par_results_csv --header : 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
|
||||
par_results_csv --header : ",
|
||||
par_results_csv --tag --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --tag --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --tag --lb --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --lb --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
|
@ -738,15 +726,15 @@ par_results_csv --tag --lb ",
|
|||
par_results_csv --tag --lb 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
||||
par_results_csv --tag --lb ",
|
||||
par_results_csv --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --tag --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
par_results_csv --tag --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||
|
@ -796,15 +784,15 @@ par_results_csv --tag ",
|
|||
par_results_csv --tag 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
||||
par_results_csv --tag ",
|
||||
par_results_csv --lb --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --lb --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --lb --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --lb --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
|
@ -854,15 +842,15 @@ par_results_csv --lb ",
|
|||
par_results_csv --lb 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
|
||||
par_results_csv --lb ",
|
||||
par_results_csv --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||
par_results_csv --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
par_results_csv --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||
|
|
|
@ -743,11 +743,3 @@ par_result_replace /tmp/par__49983-baz C
|
|||
par_result_replace /tmp/par__49983-baz C/seq
|
||||
par_result_replace /tmp/par__49983-baz C/stderr
|
||||
par_result_replace /tmp/par__49983-baz C/stdout
|
||||
par_sqlworker_hostname bug #50901: --sqlworker should use hostname in the joblog instead of :
|
||||
par_sqlworker_hostname 1
|
||||
par_sqlworker_hostname 2
|
||||
par_sqlworker_hostname 3
|
||||
par_sqlworker_hostname host
|
||||
par_sqlworker_hostname aspire
|
||||
par_sqlworker_hostname aspire
|
||||
par_sqlworker_hostname aspire
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
par_linebuffer_matters_compress ### (--linebuffer) --compress should give different output
|
||||
par_linebuffer_matters_compress environment: line 8: warning: command substitution: ignored null byte in input
|
||||
par_linebuffer_matters_compress environment: line 11: warning: command substitution: ignored null byte in input
|
||||
par_linebuffer_matters_compress OK: --linebuffer makes a difference
|
||||
par_linebuffer_matters_compress_tag ### (--linebuffer) --compress --tag should give different output
|
||||
par_linebuffer_matters_compress_tag OK: --linebuffer makes a difference
|
||||
|
|
|
@ -82,6 +82,14 @@ par_slow_args_generation ### Test slow arguments generation - https://savannah.g
|
|||
par_slow_args_generation 1
|
||||
par_slow_args_generation 2
|
||||
par_slow_args_generation 3
|
||||
par_sqlworker_hostname bug #50901: --sqlworker should use hostname in the joblog instead of :
|
||||
par_sqlworker_hostname 1
|
||||
par_sqlworker_hostname 2
|
||||
par_sqlworker_hostname 3
|
||||
par_sqlworker_hostname host
|
||||
par_sqlworker_hostname <hostname>
|
||||
par_sqlworker_hostname <hostname>
|
||||
par_sqlworker_hostname <hostname>
|
||||
par_wrong_slot_rpl_resume ### bug #47644: Wrong slot number replacement when resuming
|
||||
par_wrong_slot_rpl_resume 1 0
|
||||
par_wrong_slot_rpl_resume 2 1
|
||||
|
|
|
@ -1,3 +1,82 @@
|
|||
par_distribute_input_by_ability ### bug #48290: round-robin does not distribute data based on business
|
||||
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
|
||||
par_distribute_input_by_ability 2
|
||||
par_distribute_input_by_ability 3
|
||||
par_distribute_input_by_ability 4
|
||||
par_distribute_input_by_ability 5
|
||||
par_distribute_input_by_ability 6
|
||||
par_distribute_input_by_ability 7
|
||||
par_hostgroup ### --hostgroup force ncpu
|
||||
par_hostgroup parallel
|
||||
par_hostgroup parallel
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup ### --hostgroup two group arg
|
||||
par_hostgroup parallel
|
||||
par_hostgroup parallel
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup ### --hostgroup one group arg
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup ### --hostgroup multiple group arg + unused group
|
||||
par_hostgroup parallel
|
||||
par_hostgroup parallel
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup ### --hostgroup two groups @
|
||||
par_hostgroup parallel parallel
|
||||
par_hostgroup parallel parallel
|
||||
par_hostgroup tange tange
|
||||
par_hostgroup tange tange
|
||||
par_hostgroup ### --hostgroup
|
||||
par_hostgroup no_group
|
||||
par_hostgroup explicit_group
|
||||
par_hostgroup implicit_group
|
||||
par_hostgroup ### --hostgroup --sshlogin with @
|
||||
par_hostgroup no_group
|
||||
par_hostgroup implicit_group
|
||||
par_hostgroup ### --hostgroup -S @group
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tcsh
|
||||
par_hostgroup tcsh
|
||||
par_hostgroup tcsh
|
||||
par_hostgroup ### --hostgroup -S @group1 -Sgrp2
|
||||
par_hostgroup parallel
|
||||
par_hostgroup parallel
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tcsh
|
||||
par_hostgroup tcsh
|
||||
par_hostgroup ### --hostgroup -S @group1+grp2
|
||||
par_hostgroup parallel
|
||||
par_hostgroup parallel
|
||||
par_hostgroup tange
|
||||
par_hostgroup tange
|
||||
par_hostgroup tcsh
|
||||
par_hostgroup tcsh
|
||||
par_print_before_halt_on_error ### What is printed before the jobs are killed
|
||||
par_print_before_halt_on_error -2 exit code 0
|
||||
par_print_before_halt_on_error -2 0.1 0.1
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,6 @@
|
|||
echo '### Test --load remote'
|
||||
### Test --load remote
|
||||
ssh parallel@lo 'seq 10 | parallel --nice 19 --timeout 15 -j0 -N0 burnP6' & sleep 1; stdout /usr/bin/time -f %e parallel -S parallel@lo --load 10 sleep ::: 1 | perl -ne '$_ > 10 and print "OK\n"'
|
||||
ssh parallel@lo 'seq 10 | parallel --nice 19 --timeout 15 -j0 -qN0 perl -e while\(1\)\{\ \}' & sleep 1; stdout /usr/bin/time -f %e parallel -S parallel@lo --load 10 sleep ::: 1 | perl -ne '$_ > 10 and print "OK\n"'
|
||||
OK
|
||||
echo '**'
|
||||
**
|
||||
|
|
|
@ -1,92 +1,3 @@
|
|||
echo '### --hostgroup force ncpu'
|
||||
### --hostgroup force ncpu
|
||||
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8} | sort
|
||||
parallel
|
||||
parallel
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
echo '### --hostgroup two group arg'
|
||||
### --hostgroup two group arg
|
||||
parallel -k --sshdelay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.3{} ::: {1..8}@g1+g2 | sort
|
||||
parallel
|
||||
parallel
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
echo '### --hostgroup one group arg'
|
||||
### --hostgroup one group arg
|
||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8}@g2
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
echo '### --hostgroup multiple group arg + unused group'
|
||||
### --hostgroup multiple group arg + unused group
|
||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.8{} ::: {1..8}@g1+g2 | sort
|
||||
parallel
|
||||
parallel
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
echo '### --hostgroup two groups @'
|
||||
### --hostgroup two groups @
|
||||
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2
|
||||
parallel parallel
|
||||
parallel parallel
|
||||
tange tange
|
||||
tange tange
|
||||
echo '### --hostgroup'
|
||||
### --hostgroup
|
||||
parallel -k --hostgroup -S @grp1/lo echo ::: no_group explicit_group@grp1 implicit_group@lo
|
||||
no_group
|
||||
explicit_group
|
||||
implicit_group
|
||||
echo '### --hostgroup --sshlogin with @'
|
||||
### --hostgroup --sshlogin with @
|
||||
parallel -k --hostgroups -S parallel@lo echo ::: no_group implicit_group@parallel@lo
|
||||
no_group
|
||||
implicit_group
|
||||
echo '### --hostgroup -S @group'
|
||||
### --hostgroup -S @group
|
||||
parallel -S @g1/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
tange
|
||||
tange
|
||||
tange
|
||||
tcsh
|
||||
tcsh
|
||||
tcsh
|
||||
echo '### --hostgroup -S @group1 -Sgrp2'
|
||||
### --hostgroup -S @group1 -Sgrp2
|
||||
parallel -S @g1/ -S @g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
parallel
|
||||
parallel
|
||||
tange
|
||||
tange
|
||||
tcsh
|
||||
tcsh
|
||||
echo '### --hostgroup -S @group1+grp2'
|
||||
### --hostgroup -S @group1+grp2
|
||||
parallel -S @g1+g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
||||
parallel
|
||||
parallel
|
||||
tange
|
||||
tange
|
||||
tcsh
|
||||
tcsh
|
||||
echo '### trailing space in sshlogin'
|
||||
### trailing space in sshlogin
|
||||
echo 'sshlogin trailing space' | parallel --sshlogin "ssh -l parallel localhost " echo
|
||||
|
|
|
@ -34,7 +34,7 @@ Environment variables are:
|
|||
stderr
|
||||
|
||||
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
|
||||
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
|
||||
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=3.1.2]
|
||||
/usr/lib/autossh/autossh: invalid option -- '-'
|
||||
usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
|
||||
|
||||
|
@ -66,7 +66,7 @@ Environment variables are:
|
|||
stderr
|
||||
|
||||
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
|
||||
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]
|
||||
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.2]
|
||||
echo '### bug #46520: --basefile cleans up without --cleanup'
|
||||
### bug #46520: --basefile cleans up without --cleanup
|
||||
touch bug_46520; parallel -S parallel@lo --bf bug_46520 ls ::: bug_46520; ssh parallel@lo ls bug_46520; parallel -S parallel@lo --cleanup --bf bug_46520 ls ::: bug_46520; stdout ssh parallel@lo ls bug_46520 # should not exist
|
||||
|
|
|
@ -54,21 +54,21 @@ echo '### Test --onall -u'; parallel --onall -S parallel@lo,csh@lo -u '(echo {
|
|||
3
|
||||
echo '### Test --nonall'; parallel --nonall -k -S parallel@lo,csh@lo pwd | sort
|
||||
### Test --nonall
|
||||
/mnt/4tb/home/csh
|
||||
/mnt/4tb/home/parallel
|
||||
/home/csh
|
||||
/home/parallel
|
||||
echo '### Test --nonall -u - should be interleaved x y x y'; parallel --nonall -S parallel@lo,csh@lo -u 'pwd|grep -q csh && sleep 3; pwd;sleep 12;pwd;'
|
||||
### Test --nonall -u - should be interleaved x y x y
|
||||
/mnt/4tb/home/parallel
|
||||
/mnt/4tb/home/csh
|
||||
/mnt/4tb/home/parallel
|
||||
/mnt/4tb/home/csh
|
||||
/home/parallel
|
||||
/home/csh
|
||||
/home/parallel
|
||||
/home/csh
|
||||
echo '### Test read sshloginfile from STDIN'; echo parallel@lo,csh@lo | parallel -S - -k --nonall pwd; echo parallel@lo,csh@lo | parallel --sshloginfile - -k --onall pwd\; echo ::: foo
|
||||
### Test read sshloginfile from STDIN
|
||||
/mnt/4tb/home/csh
|
||||
/mnt/4tb/home/parallel
|
||||
/mnt/4tb/home/csh
|
||||
/home/csh
|
||||
/home/parallel
|
||||
/home/csh
|
||||
foo
|
||||
/mnt/4tb/home/parallel
|
||||
/home/parallel
|
||||
foo
|
||||
echo '**'
|
||||
**
|
||||
|
@ -102,10 +102,10 @@ echo '**'
|
|||
**
|
||||
echo '### Test --workdir .'; ssh parallel@lo mkdir -p mydir; mkdir -p $HOME/mydir; cd $HOME/mydir; parallel --workdir . -S parallel@lo ::: pwd
|
||||
### Test --workdir .
|
||||
/mnt/4tb/home/parallel/mydir
|
||||
/home/parallel/mydir
|
||||
echo '### Test --wd .'; ssh csh@lo mkdir -p mydir; mkdir -p $HOME/mydir; cd $HOME/mydir; parallel --workdir . -S csh@lo ::: pwd
|
||||
### Test --wd .
|
||||
/mnt/4tb/home/csh/mydir
|
||||
/home/csh/mydir
|
||||
echo '### Test --wd {}'; ssh csh@lo rm -rf wd1 wd2; mkdir -p $HOME/mydir; cd $HOME/mydir; parallel --workdir {} -S csh@lo touch ::: wd1 wd2; ssh csh@lo ls -d wd1 wd2
|
||||
### Test --wd {}
|
||||
wd1
|
||||
|
|
|
@ -79,28 +79,27 @@ par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
|||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_funky
|
||||
par_bash_funky
|
||||
par_bash_funky
|
||||
par_bash_funky \\\\\\\\
|
||||
par_bash_funky
|
||||
par_bash_funky
|
||||
par_bash_funky
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
||||
par_bash_funky
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
||||
par_bash_funky -funkymultiline
|
||||
par_bash_funky -funkymultiline
|
||||
par_bash_funky space 6
|
||||
par_bash_funky space 6
|
||||
par_bash_funky 3 arg alias_works
|
||||
par_bash_funky 3 arg alias_works_over_ssh
|
||||
par_bash_funky Funky-
|
||||
par_bash_funky Funky-
|
||||
par_bash_funky \\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
||||
par_bash_funky Funkyline-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyline
|
||||
par_bash_funky Funkyline-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyline
|
||||
par_bash_funky Funkymultiline-
|
||||
par_bash_funky Funkymultiline-
|
||||
par_bash_funky \\
|
||||
par_bash_funky \
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䪤Ě声蹾胬𨜏㙡笋蕚𪀔髢𦰡脪𠗫𦖭䓀珢娫糭䨵鞸㘘𩄼疱髿癧﹏兝α么功吒吭沔坼歿俞枯苒娉珮豹崤淚許廄琵跚愧稞鈾暝蓋墦穀閱璞餐縷擺黠孀髏躡ふж尐佢汻岤狖垥柦胐娖涂罡偅惝牾莍傜揊焮茻鄃幋滜綅赨塿槙箤踊嫹潿蔌醆嬞獦螏餤燡螰駹礒鎪瀙酀瀵騱酅贕鱋鱭𣘀园𧃸檝𠰺<E6AA9D>
|
||||
par_bash_funky assoc_val_a
|
||||
par_bash_funky assoc_val_a
|
||||
par_bash_funky function_works
|
||||
par_bash_funky function_works_over_ssh
|
||||
par_bash_funky myvar works
|
||||
par_bash_funky myvar works
|
||||
par_bash_funky €亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
|
||||
par_bash_funky €亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
|
||||
par_bash_man ### bash
|
||||
par_bash_man ### From man env_parallel
|
||||
par_bash_man aliases work
|
||||
|
@ -138,21 +137,21 @@ par_bash_underscore variables in aliases in and arrays in functions work
|
|||
par_bash_underscore variables in aliases in and arrays in functions work
|
||||
par_bash_underscore variables in aliases in and arrays in functions work
|
||||
par_bash_underscore variables in aliases in and arrays in functions work
|
||||
par_bash_underscore /bin/bash: line 55: not_copied_alias: command not found
|
||||
par_bash_underscore /bin/bash: line 55: not_copied_func: command not found
|
||||
par_bash_underscore /bin/bash: line 57: not_copied_alias: command not found
|
||||
par_bash_underscore /bin/bash: line 57: not_copied_func: command not found
|
||||
par_bash_underscore error=OK
|
||||
par_bash_underscore error=OK
|
||||
par_bash_underscore aliases in and arrays in functions work
|
||||
par_bash_underscore aliases in and arrays in functions work
|
||||
par_bash_underscore aliases in functions work
|
||||
par_bash_underscore aliases in functions work
|
||||
par_bash_underscore /bin/bash: line 49: myecho: command not found
|
||||
par_bash_underscore environment: line 51: myecho: command not found
|
||||
par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
par_bash_underscore /bin/bash: line 49: myecho: command not found
|
||||
par_bash_underscore environment: line 51: myecho: command not found
|
||||
par_bash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
par_bash_underscore /bin/bash: line 48: myfunc: command not found
|
||||
par_bash_underscore /bin/bash: line 50: myfunc: command not found
|
||||
par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
par_bash_underscore /bin/bash: line 48: myfunc: command not found
|
||||
par_bash_underscore /bin/bash: line 50: myfunc: command not found
|
||||
par_bash_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
par_csh_env_parallel_fifo bug #50435: Remote fifo broke in 20150522
|
||||
par_csh_env_parallel_fifo data from stdin
|
||||
|
@ -541,7 +540,7 @@ par_tcsh_funky
|
|||
par_tcsh_funky 3 arg alias_works
|
||||
par_tcsh_funky 3 arg alias_works_over_ssh
|
||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<7F>‚ƒ„…†‡ˆ‰Š‹Œ<E280B9>Ž<EFBFBD><C5BD>‘’“”•–—˜™š›œ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funky alias_var_works
|
||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<EFBFBD><EFBFBD><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-funky alias_var_works_over_ssh
|
||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩-funky alias_var_works_over_ssh
|
||||
par_tcsh_funky \\\\\\\\ \ \\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
||||
par_tcsh_funky func_echo: Command not found.
|
||||
par_tcsh_funky func_echo: Command not found.
|
||||
|
|
|
@ -10,12 +10,6 @@ par_load_csh ### Gave Word too long.
|
|||
par_load_csh a
|
||||
par_path_remote_bash bug #47695: How to set $PATH on remote? Bash
|
||||
par_path_remote_bash
|
||||
par_path_remote_bash * Documentation: https://help.ubuntu.com
|
||||
par_path_remote_bash * Management: https://landscape.canonical.com
|
||||
par_path_remote_bash * Support: https://ubuntu.com/advantage
|
||||
par_path_remote_bash
|
||||
par_path_remote_bash 0 updates are security updates.
|
||||
par_path_remote_bash
|
||||
par_path_remote_bash BASH Path before: /bin:/usr/bin with no parallel
|
||||
par_path_remote_bash -bash: line 2: parallel: command not found
|
||||
par_path_remote_bash ^^^^^^^^ Not found is OK
|
||||
|
@ -23,12 +17,6 @@ par_path_remote_bash /bin:/usr/bin:/tmp OK
|
|||
par_path_remote_bash
|
||||
par_path_remote_csh bug #47695: How to set $PATH on remote? csh
|
||||
par_path_remote_csh
|
||||
par_path_remote_csh * Documentation: https://help.ubuntu.com
|
||||
par_path_remote_csh * Management: https://landscape.canonical.com
|
||||
par_path_remote_csh * Support: https://ubuntu.com/advantage
|
||||
par_path_remote_csh
|
||||
par_path_remote_csh 0 updates are security updates.
|
||||
par_path_remote_csh
|
||||
par_path_remote_csh Warning: no access to tty (Bad file descriptor).
|
||||
par_path_remote_csh Thus no job control in this shell.
|
||||
par_path_remote_csh CSH Path before: /bin:/usr/bin with no parallel
|
||||
|
|
|
@ -35,7 +35,7 @@ If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|||
To silence this citation notice: run 'parallel --citation'.
|
||||
|
||||
10 files to edit
|
||||
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"file1" [New File][2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m[37m[41mE173: 9 more files to edit[1;1H[?12l[?25h[24;1H[m[24;1H[K[24;1H[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
|
||||
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"file1" [New File][2;1H[94m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[97m[41mE173: 9 more files to edit[1;1H[?12l[?25h[24;1H[m[24;1H[K[24;1H[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
|
||||
When using programs that use GNU Parallel to process data for publication
|
||||
please cite:
|
||||
|
||||
|
|
|
@ -1197,15 +1197,16 @@ from ff to xffy
|
|||
from r
r
to xr
r
y
|
||||
from t t to xt t y
|
||||
from vv to xvvy
|
||||
stdout parallel -k -i echo from \{\} to x{}y < items.xi
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
from: can't read /var/mail/{}
|
||||
# GNU Parallel will see 'echo' as argument to '-i' if not given {}
|
||||
stdout parallel -k -i {} echo from \{\} to x{}y < items.xi
|
||||
from
to x
y
|
||||
from dumb to xdumby
|
||||
from s s to x s s y
|
||||
from ff to xffy
|
||||
from
r
r
to x
r
r
y
|
||||
from t t to x t t y
|
||||
from vv to xvvy
|
||||
from
to x
y
|
||||
echo '### -i -s26 echo from \{\} to x{}y < items.xi'
|
||||
### -i -s26 echo from \{\} to x{}y < items.xi
|
||||
stdsort xargs -i -s26 echo from \{\} to x{}y < items.xi
|
||||
|
|
|
@ -146,8 +146,8 @@ echo '### Test make .deb package'; cd ~/privat/parallel/packager/debian; std
|
|||
To install the GNU Parallel Debian package, run:
|
||||
echo '### Test of segfaulting issue'
|
||||
### Test of segfaulting issue
|
||||
echo 'This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1'; echo 'before adding wait() before exit'; seq 1 300 | stdout parallel ./trysegfault
|
||||
This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1
|
||||
echo 'This gave ~/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1'; echo 'before adding wait() before exit'; seq 1 300 | stdout parallel ./trysegfault
|
||||
This gave ~/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1
|
||||
before adding wait() before exit
|
||||
echo '### Test basic --arg-sep'
|
||||
### Test basic --arg-sep
|
||||
|
|
|
@ -1,42 +1,45 @@
|
|||
### Test --env - https://savannah.gnu.org/bugs/?37351
|
||||
a 2 spaces b 1
|
||||
a 2 spaces b 1
|
||||
a 2 spaces b 1
|
||||
a 2 spaces b 1
|
||||
a 2 spaces b 1
|
||||
a 2 spaces b a > My brother's 12" records < b 2
|
||||
a 2 spaces b a > My brother's 12" records < b 2
|
||||
a 2 spaces b a > My brother's 12" records < b 2
|
||||
a 2 spaces b a > My brother's 12" records < b 2
|
||||
a 2 spaces b a > My brother's 12" records < b 2
|
||||
a 2 spaces b a > My brother's 12" records < b 3
|
||||
a 2 spaces b a > My brother's 12" records < b 3
|
||||
a 2 spaces b a > My brother's 12" records < b 3
|
||||
a 2 spaces b a > My brother's 12" records < b 3
|
||||
a 2 spaces b a > My brother's 12" records < b 3
|
||||
a \'"b 4
|
||||
a \'"b 4
|
||||
a \'"b 4
|
||||
a \'"b 4
|
||||
a \'"b 4
|
||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
### Test --env for \n and \\ - single and double (bash only) - no output is good
|
||||
8
|
||||
8
|
||||
### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
|
||||
2 2\ \92V2=\ \92
|
||||
2 2\\ \92V2=\\ \92
|
||||
### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
||||
2 1
|
||||
2 10
|
||||
2 10V2=
|
||||
2 2\\ \92V2=\\ \92
|
||||
### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
|
||||
1 2\ \92V2=\ \92
|
||||
1 2\\ \92V2=\\ \92
|
||||
### Test --env for \160 - which kills csh - single and double - no output is good
|
||||
### Test --env for \160 - which kills csh - single and double --onall - no output is good
|
||||
par_env_160 ### Test --env for \160 - which kills csh - single and double - no output is good
|
||||
par_env_160_onall ### Test --env for \160 - which kills csh - single and double --onall - no output is good
|
||||
par_env_160_onall 12 1 160V2= 160
|
||||
par_env_newline_backslash_bash ### Test --env for \n and \\ - single and double (bash only) - no output is good
|
||||
par_env_newline_backslash_bash 8
|
||||
par_env_newline_backslash_bash 8
|
||||
par_env_newline_backslash_csh ### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
|
||||
par_env_newline_backslash_csh 2 2\ \92V2=\ \92
|
||||
par_env_newline_backslash_csh 2 2\\ \92V2=\\ \92
|
||||
par_env_newline_backslash_csh 2 Unmatched ".
|
||||
par_env_newline_backslash_csh 2 Unmatched '"'.
|
||||
par_env_newline_backslash_onall_bash ### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
||||
par_env_newline_backslash_onall_bash 16
|
||||
par_env_newline_backslash_onall_bash 16
|
||||
par_env_newline_backslash_onall_bash 8 1
|
||||
par_env_newline_backslash_onall_bash 8 10
|
||||
par_env_newline_backslash_onall_bash 8 10V2=
|
||||
par_env_newline_backslash_onall_bash 8 2\\ \92V2=\\ \92
|
||||
par_env_newline_backslash_onall_csh ### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
|
||||
par_space ### Test --env - https://savannah.gnu.org/bugs/?37351
|
||||
par_space a 2 spaces b 1
|
||||
par_space a 2 spaces b 1
|
||||
par_space a 2 spaces b 1
|
||||
par_space a 2 spaces b 1
|
||||
par_space a 2 spaces b 1
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 2
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 2
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 2
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 2
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 2
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 3
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 3
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 3
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 3
|
||||
par_space a 2 spaces b a > My brother's 12" records < b 3
|
||||
par_space_quote a \'"b 4
|
||||
par_space_quote a \'"b 4
|
||||
par_space_quote a \'"b 4
|
||||
par_space_quote a \'"b 4
|
||||
par_space_quote a \'"b 4
|
||||
par_special_char a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
par_special_char a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
par_special_char a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
par_special_char a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
par_special_char a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||
|
|
|
@ -1,20 +1,16 @@
|
|||
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
|
||||
1024 SHA256:SXgag2Z2L91JsrT5WjNBcARD1EpyCCj4JctVJ6Zpzm0 ~/.ssh/id_dsa (DSA)
|
||||
8192 SHA256:lYn04AefJq/5r0e4FftceviJ7JVnq9NGKY3CW9XMpO8 ~/.ssh/id_rsa (RSA)
|
||||
1024 SHA256:R8Dy6OsG3j646iO2KeSkCAmBiR5s2720ZYx695+0JHw ~/.ssh/id_rsa_1024 (RSA)
|
||||
4096 SHA256:jUQ9ysfprs7UOckttjjVb+j3qikUmKWDEWC+eEJkbDQ ~/.ssh/id_rsa_openindiana (RSA)
|
||||
|
||||
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 ::: 1 | grep -q CPUTIME=1
|
||||
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | grep --color=auto -q CPUTIME=1
|
||||
Zero=OK 0
|
||||
1024 SHA256:SXgag2Z2L91JsrT5WjNBcARD1EpyCCj4JctVJ6Zpzm0 ~/.ssh/id_dsa (DSA)
|
||||
8192 SHA256:lYn04AefJq/5r0e4FftceviJ7JVnq9NGKY3CW9XMpO8 ~/.ssh/id_rsa (RSA)
|
||||
1024 SHA256:R8Dy6OsG3j646iO2KeSkCAmBiR5s2720ZYx695+0JHw ~/.ssh/id_rsa_1024 (RSA)
|
||||
4096 SHA256:jUQ9ysfprs7UOckttjjVb+j3qikUmKWDEWC+eEJkbDQ ~/.ssh/id_rsa_openindiana (RSA)
|
||||
|
||||
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 | grep -q CPUTIME=1
|
||||
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | grep --color=auto -q CPUTIME=1
|
||||
Zero=OK 0
|
||||
Control case: Burn for 2.9 seconds
|
||||
|
||||
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | grep --color=auto -q CPUTIME=1
|
||||
1=OK 1
|
||||
echo '### -L -n with pipe'
|
||||
### -L -n with pipe
|
||||
seq 14 | parallel --pipe -k -L 3 -n 2 'cat;echo 6 Ln line record'
|
||||
|
|
|
@ -1,80 +1,80 @@
|
|||
echo '### tmux1.9'
|
||||
### tmux1.9
|
||||
seq 000 100 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
echo '### tmux-1.9'
|
||||
### tmux-1.9
|
||||
seq 000 100 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 100 200 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 100 200 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 200 300 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 200 300 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 300 400 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 300 400 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 400 500 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 400 500 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 500 600 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 500 600 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 600 700 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 600 700 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 700 800 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 700 800 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 800 900 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 800 900 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 900 1000 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 900 1000 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 1000 1006 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 1000 1006 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
echo '### tmux1.9 fails'
|
||||
### tmux1.9 fails
|
||||
echo 1007 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo '### tmux-1.9 fails'
|
||||
### tmux-1.9 fails
|
||||
echo 1007 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
parallel: Error: Command line too long (2023 >= 2023) at input 0: 1007
|
||||
255
|
||||
echo 1008 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo 1008 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
parallel: Error: Command line too long (2025 >= 2023) at input 0: 1008
|
||||
255
|
||||
echo 1009 | PARALLEL_TMUX=tmux1.9 par_tmux
|
||||
echo 1009 | PARALLEL_TMUX=tmux-1.9 par_tmux
|
||||
parallel: Error: Command line too long (2027 >= 2023) at input 0: 1009
|
||||
255
|
||||
echo '### tmux1.8'
|
||||
### tmux1.8
|
||||
seq 1 50 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
See output with: tmux1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
echo '### tmux-1.8'
|
||||
### tmux-1.8
|
||||
seq 1 50 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
See output with: tmux-1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 51 100 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
See output with: tmux1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 51 100 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
See output with: tmux-1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
seq 101 113 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
See output with: tmux1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 101 113 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
See output with: tmux-1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
echo '### tmux1.8 fails'
|
||||
### tmux1.8 fails
|
||||
echo 114 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo '### tmux-1.8 fails'
|
||||
### tmux-1.8 fails
|
||||
echo 114 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
parallel: Error: Command line too long (236 >= 236) at input 0: 114
|
||||
255
|
||||
echo 115 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo 115 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
parallel: Error: Command line too long (238 >= 236) at input 0: 115
|
||||
255
|
||||
echo 116 | PARALLEL_TMUX=tmux1.8 par_tmux
|
||||
echo 116 | PARALLEL_TMUX=tmux-1.8 par_tmux
|
||||
parallel: Error: Command line too long (240 >= 236) at input 0: 116
|
||||
255
|
||||
echo '### tmux1.8 0..255 ascii'
|
||||
### tmux1.8 0..255 ascii
|
||||
perl -e 'print map { ($_, map { pack("c*",$_) } grep { $_>=1 && $_!=10 } $_-110..$_),"\n" } 0..255' | PARALLEL_TMUX=tmux1.8 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
See output with: tmux1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
echo '### tmux-1.8 0..255 ascii'
|
||||
### tmux-1.8 0..255 ascii
|
||||
perl -e 'print map { ($_, map { pack("c*",$_) } grep { $_>=1 && $_!=10 } $_-110..$_),"\n" } 0..255' | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
See output with: tmux-1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
echo '### tmux1.9 0..255 ascii'
|
||||
### tmux1.9 0..255 ascii
|
||||
perl -e 'print map { ($_, map { pack("c*",$_) } grep { $_>=1 && $_!=10 } 0..$_),"\n" } 0..255' | PARALLEL_TMUX=tmux1.9 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
echo '### tmux-1.9 0..255 ascii'
|
||||
### tmux-1.9 0..255 ascii
|
||||
perl -e 'print map { ($_, map { pack("c*",$_) } grep { $_>=1 && $_!=10 } 0..$_),"\n" } 0..255' | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux --timeout 3 echo | par_tmux_filter; echo $?
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
0
|
||||
echo '### Test output ascii'
|
||||
### Test output ascii
|
||||
|
@ -83,12 +83,12 @@ See output with: tmux -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
|||
053c7e8e945ef7641fc63bc309ac069d -
|
||||
echo '### Test critical lengths. Must not block'
|
||||
### Test critical lengths. Must not block
|
||||
seq 70 130 | PARALLEL_TMUX=tmux1.8 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
See output with: tmux1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 70 130 | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
See output with: tmux-1.8 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
parallel: Error: Command line too long (236 >= 236) at input 0: 114
|
||||
seq 70 130 | PARALLEL_TMUX=tmux1.9 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 280 425 | PARALLEL_TMUX=tmux1.8 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
seq 70 130 | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux echo '{}{=$_="&"x$_=}' | par_tmux_filter
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 280 425 | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
parallel: Error: Command line too long (288 >= 236) at input 0: 280
|
||||
seq 280 425 | PARALLEL_TMUX=tmux1.9 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
See output with: tmux1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
seq 280 425 | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
|
||||
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
|
||||
|
|
|
@ -63,7 +63,7 @@ echo '### Test --number-of-cpus'; stdout $NICEPAR --number-of-cpus
|
|||
1
|
||||
echo '### Test --number-of-cores'; stdout $NICEPAR --number-of-cores
|
||||
### Test --number-of-cores
|
||||
8
|
||||
2
|
||||
echo '### Test --use-cpus-instead-of-cores'; (seq 1 8 | stdout parallel --use-cpus-instead-of-cores -j100% sleep) && echo CPUs done & (seq 1 8 | stdout parallel -j100% sleep) && echo cores done & echo 'Cores should complete first on machines with less than 8 physical CPUs'; wait
|
||||
### Test --use-cpus-instead-of-cores
|
||||
Cores should complete first on machines with less than 8 physical CPUs
|
||||
|
|
Loading…
Reference in a new issue