mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
--tmuxpane initial version.
Passes testsuite.
This commit is contained in:
parent
fd6abf1f9a
commit
8bec8de5df
|
@ -219,9 +219,9 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
|
||||||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||||
Jesse Alama <jesse.alama@gmail.com>
|
Jesse Alama <jesse.alama@gmail.com>
|
||||||
|
|
||||||
Subject: GNU Parallel 20160722 ('Og Nomekop/Munich/Erdogan') released <<[stable]>>
|
Subject: GNU Parallel 20160822 ('Og Nomekop') released <<[stable]>>
|
||||||
|
|
||||||
GNU Parallel 20160722 ('Munich/Erdogan') <<[stable]>> has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
GNU Parallel 20160822 ('Og Nomekop') <<[stable]>> has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||||
|
|
||||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||||
|
|
||||||
|
@ -234,6 +234,7 @@ New in this release:
|
||||||
|
|
||||||
* GNU Parallel was cited in: Exome sequencing of geographically diverse barley landraces and wild relatives gives insights into environmental adaptation http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.3612.html?WT.feed_name=subjects_genetics#references
|
* GNU Parallel was cited in: Exome sequencing of geographically diverse barley landraces and wild relatives gives insights into environmental adaptation http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.3612.html?WT.feed_name=subjects_genetics#references
|
||||||
|
|
||||||
|
* GNU Parallel was cited in: Vision-Enhanced Lidar Odometry and Mapping https://www.ri.cmu.edu/pub_files/2016/8/DLL-thesis.pdf
|
||||||
|
|
||||||
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
||||||
|
|
||||||
|
|
25
src/parallel
25
src/parallel
|
@ -799,6 +799,7 @@ sub options_hash {
|
||||||
"ungroup|u" => \$opt::ungroup,
|
"ungroup|u" => \$opt::ungroup,
|
||||||
"linebuffer|linebuffered|line-buffer|line-buffered|lb" => \$opt::linebuffer,
|
"linebuffer|linebuffered|line-buffer|line-buffered|lb" => \$opt::linebuffer,
|
||||||
"tmux" => \$opt::tmux,
|
"tmux" => \$opt::tmux,
|
||||||
|
"tmuxpane" => \$opt::tmuxpane,
|
||||||
"null|0" => \$opt::0,
|
"null|0" => \$opt::0,
|
||||||
"quote|q" => \$opt::q,
|
"quote|q" => \$opt::q,
|
||||||
# Replacement strings
|
# Replacement strings
|
||||||
|
@ -997,6 +998,7 @@ sub parse_options {
|
||||||
$opt::nice ||= 0;
|
$opt::nice ||= 0;
|
||||||
if(defined $opt::help) { die_usage(); }
|
if(defined $opt::help) { die_usage(); }
|
||||||
if(defined $opt::sqlandworker) { $opt::sqlmaster = $opt::sqlworker = $opt::sqlandworker; }
|
if(defined $opt::sqlandworker) { $opt::sqlmaster = $opt::sqlworker = $opt::sqlandworker; }
|
||||||
|
if(defined $opt::tmuxpane) { $opt::tmux = $opt::tmuxpane; }
|
||||||
if(defined $opt::colsep) { $Global::trim = 'lr'; }
|
if(defined $opt::colsep) { $Global::trim = 'lr'; }
|
||||||
if(defined $opt::header) { $opt::colsep = defined $opt::colsep ? $opt::colsep : "\t"; }
|
if(defined $opt::header) { $opt::colsep = defined $opt::colsep ? $opt::colsep : "\t"; }
|
||||||
if(defined $opt::trim) { $Global::trim = $opt::trim; }
|
if(defined $opt::trim) { $Global::trim = $opt::trim; }
|
||||||
|
@ -1551,7 +1553,7 @@ sub find_compression_program {
|
||||||
# $decompress_program = decompress program with options
|
# $decompress_program = decompress program with options
|
||||||
|
|
||||||
# Search for these. Sorted by speed on 20 core
|
# Search for these. Sorted by speed on 20 core
|
||||||
# parallel -j1 --joblog jl --arg-sep , parallel --compress-program \'{3}" "-{2}\' cat ::: gz '>'/dev/null , 1 2 3 , {1..3} , zstd clzip lz4 lzop pigz pxz gzip plzip pbzip2 lzma xz lzip bzip2
|
# parallel -j1 --joblog jl --arg-sep , parallel --compress-program \'{3}" "-{2}\' cat ::: gz '>'/dev/null , 1 2 3 , {1..3} , zstd clzip lz4 lzop pigz pxz gzip plzip pbzip2 lzma xz lzip bzip2 lbzip2 lrzip
|
||||||
# sort -nk4 jl
|
# sort -nk4 jl
|
||||||
my @prg = qw(lz4 lzop pbzip2 pigz plzip lzip gzip pxz lzma xz bzip2);
|
my @prg = qw(lz4 lzop pbzip2 pigz plzip lzip gzip pxz lzma xz bzip2);
|
||||||
for my $p (@prg) {
|
for my $p (@prg) {
|
||||||
|
@ -1617,6 +1619,9 @@ sub read_options {
|
||||||
exec "$0 --internal-pipe-means-argfiles @options @parser $script ::: @ARGV";
|
exec "$0 --internal-pipe-means-argfiles @options @parser $script ::: @ARGV";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($ARGV[0] =~ / --shebang(-?wrap)? /) {
|
||||||
|
::warning("--shebang and --shebang-wrap must be the first argument.\n");
|
||||||
|
}
|
||||||
|
|
||||||
Getopt::Long::Configure("bundling","require_order");
|
Getopt::Long::Configure("bundling","require_order");
|
||||||
my @ARGV_copy = @ARGV;
|
my @ARGV_copy = @ARGV;
|
||||||
|
@ -5023,8 +5028,10 @@ sub loadavg {
|
||||||
if($update_loadavg_file) {
|
if($update_loadavg_file) {
|
||||||
::debug("load", "Updating loadavg file", $self->{'loadavg_file'}, "\n");
|
::debug("load", "Updating loadavg file", $self->{'loadavg_file'}, "\n");
|
||||||
$self->{'last_loadavg_update'} = time;
|
$self->{'last_loadavg_update'} = time;
|
||||||
-e $ENV{'HOME'}."/.parallel" or mkdir $ENV{'HOME'}."/.parallel";
|
-w $ENV{'HOME'}."/.parallel" or mkdir $ENV{'HOME'}."/.parallel"
|
||||||
-e $ENV{'HOME'}."/.parallel/tmp" or mkdir $ENV{'HOME'}."/.parallel/tmp";
|
or ::die_bug("Cannot write to $ENV{'HOME'}/.parallel");
|
||||||
|
-w $ENV{'HOME'}."/.parallel/tmp" or mkdir $ENV{'HOME'}."/.parallel/tmp"
|
||||||
|
or ::die_bug("Cannot write to $ENV{'HOME'}/.parallel/tmp");
|
||||||
my $cmd = "";
|
my $cmd = "";
|
||||||
if($self->{'string'} ne ":") {
|
if($self->{'string'} ne ":") {
|
||||||
$cmd = $self->sshcommand() . " " . $self->serverlogin() . " " .
|
$cmd = $self->sshcommand() . " " . $self->serverlogin() . " " .
|
||||||
|
@ -7851,6 +7858,12 @@ sub print_dryrun_and_verbose {
|
||||||
::error("tmux does not support sockets with path > 100.");
|
::error("tmux does not support sockets with path > 100.");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
|
if($opt::tmuxpane) {
|
||||||
|
# Move the command into a pane in window 0
|
||||||
|
$actual_command = 'tmux joinp -t :0 ; '.
|
||||||
|
'tmux select-layout -t :0 tiled ; '.
|
||||||
|
$actual_command;
|
||||||
|
}
|
||||||
my $visual_command = $self->replaced();
|
my $visual_command = $self->replaced();
|
||||||
my $title = $visual_command;
|
my $title = $visual_command;
|
||||||
if($visual_command =~ /\0/) {
|
if($visual_command =~ /\0/) {
|
||||||
|
@ -10445,11 +10458,11 @@ sub remove_dead_locks {
|
||||||
$d =~ m:$lockdir/([0-9]+)\@([-\._a-z0-9]+)$:o or next;
|
$d =~ m:$lockdir/([0-9]+)\@([-\._a-z0-9]+)$:o or next;
|
||||||
my ($pid, $host) = ($1, $2);
|
my ($pid, $host) = ($1, $2);
|
||||||
if($host eq ::hostname()) {
|
if($host eq ::hostname()) {
|
||||||
if(not kill 0, $pid) {
|
if(kill 0, $pid) {
|
||||||
|
::debug("sem", "Alive: $pid $d\n");
|
||||||
|
} else {
|
||||||
::debug("sem", "Dead: $d\n");
|
::debug("sem", "Dead: $d\n");
|
||||||
::rm($d);
|
::rm($d);
|
||||||
} else {
|
|
||||||
::debug("sem", "Alive: $d\n");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2105,6 +2105,13 @@ Use B<tmux> for output. Start a B<tmux> session and run each job in a
|
||||||
window in that session. No other output will be produced.
|
window in that session. No other output will be produced.
|
||||||
|
|
||||||
|
|
||||||
|
=item B<--tmuxpane> (alpha testing)
|
||||||
|
|
||||||
|
Use B<tmux> for output but put output into panes in the first window.
|
||||||
|
Useful if you want to monitor the progress of less than 100 concurrent
|
||||||
|
jobs.
|
||||||
|
|
||||||
|
|
||||||
=item B<--timeout> I<secs>
|
=item B<--timeout> I<secs>
|
||||||
|
|
||||||
Time out for command. If the command runs for longer than I<secs>
|
Time out for command. If the command runs for longer than I<secs>
|
||||||
|
|
|
@ -53,7 +53,8 @@ prereqremote: installparallel startvm
|
||||||
|
|
||||||
startvm:
|
startvm:
|
||||||
# Make sure we can reach the virtual machines
|
# Make sure we can reach the virtual machines
|
||||||
sudo ifconfig wlp13s0:0 192.168.1.72 || sudo ifconfig wlan0:0 192.168.1.72
|
#sudo ifconfig wlp13s0:0 192.168.1.72 || sudo ifconfig wlan0:0 192.168.1.72
|
||||||
|
sudo ifconfig enp14s0 192.168.1.72 || sudo ifconfig eth0:0 192.168.1.72
|
||||||
# If they are already running: Don't fail
|
# If they are already running: Don't fail
|
||||||
VBoxManage startvm CentOS3-root:centos3 || VBoxManage controlvm CentOS3-root:centos3 resume || true
|
VBoxManage startvm CentOS3-root:centos3 || VBoxManage controlvm CentOS3-root:centos3 resume || true
|
||||||
VBoxManage startvm RedHat9-root:redhat9 || VBoxManage controlvm RedHat9-root:redhat9 resume || true
|
VBoxManage startvm RedHat9-root:redhat9 || VBoxManage controlvm RedHat9-root:redhat9 resume || true
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
1
|
1
|
||||||
2
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ freepl >/dev/null &
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### --rm and --runmem'
|
echo '### --rm and --runmem'
|
||||||
niceload -H --rm 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
|
niceload -H --rm 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
|
||||||
niceload -H --runmem 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
|
niceload -H --runmem 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
|
||||||
|
|
||||||
echo '### -N and --noswap. Must give 0'
|
echo '### -N and --noswap. Must give 0'
|
||||||
niceload -H -N vmstat 1 2 | tail -n1 | awk '{print "-N " $7*$8}'
|
niceload -H -N vmstat 1 2 | tail -n1 | awk '{print "-N " $7*$8}'
|
||||||
|
|
|
@ -46,6 +46,7 @@ no_mem_leak() {
|
||||||
min30000=$(parallel measure {} 100000 ::: 30000 30000 30000 30000 |
|
min30000=$(parallel measure {} 100000 ::: 30000 30000 30000 30000 |
|
||||||
sort -n | head -n 1)
|
sort -n | head -n 1)
|
||||||
if [ $max1000 -gt $min30000 ] ; then
|
if [ $max1000 -gt $min30000 ] ; then
|
||||||
|
# Make sure there are a few sleeps
|
||||||
max1000=$(parallel measure {} 100 ::: 1000 1000 1000 1000 |
|
max1000=$(parallel measure {} 100 ::: 1000 1000 1000 1000 |
|
||||||
sort -n | tail -n 1)
|
sort -n | tail -n 1)
|
||||||
min30000=$(parallel measure {} 100 ::: 30000 30000 30000 30000 |
|
min30000=$(parallel measure {} 100 ::: 30000 30000 30000 30000 |
|
||||||
|
|
|
@ -112,7 +112,7 @@ echo '**'
|
||||||
|
|
||||||
echo "### Test max line length -m -I"
|
echo "### Test max line length -m -I"
|
||||||
|
|
||||||
seq 1 60000 | parallel -I :: -m -j1 echo a::b::c | sort >/tmp/114-a$$;
|
seq 1 60000 | parallel -I :: -km -j1 echo a::b::c | sort >/tmp/114-a$$;
|
||||||
md5sum </tmp/114-a$$;
|
md5sum </tmp/114-a$$;
|
||||||
export CHAR=$(cat /tmp/114-a$$ | wc -c);
|
export CHAR=$(cat /tmp/114-a$$ | wc -c);
|
||||||
export LINES=$(cat /tmp/114-a$$ | wc -l);
|
export LINES=$(cat /tmp/114-a$$ | wc -l);
|
||||||
|
@ -121,7 +121,7 @@ echo "### Test max line length -m -I"
|
||||||
|
|
||||||
echo "### Test max line length -X -I"
|
echo "### Test max line length -X -I"
|
||||||
|
|
||||||
seq 1 60000 | parallel -I :: -X -j1 echo a::b::c | sort >/tmp/114-b$$;
|
seq 1 60000 | parallel -I :: -kX -j1 echo a::b::c | sort >/tmp/114-b$$;
|
||||||
md5sum </tmp/114-b$$;
|
md5sum </tmp/114-b$$;
|
||||||
export CHAR=$(cat /tmp/114-b$$ | wc -c);
|
export CHAR=$(cat /tmp/114-b$$ | wc -c);
|
||||||
export LINES=$(cat /tmp/114-b$$ | wc -l);
|
export LINES=$(cat /tmp/114-b$$ | wc -l);
|
||||||
|
|
|
@ -90,7 +90,7 @@ echo 'bug #47695: How to set $PATH on remote?'
|
||||||
rm -rf /tmp/parallel
|
rm -rf /tmp/parallel
|
||||||
cp /usr/local/bin/parallel /tmp
|
cp /usr/local/bin/parallel /tmp
|
||||||
|
|
||||||
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -v 'packages can be updated'
|
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to Ubuntu'
|
||||||
echo BASH Path before: $PATH with no parallel
|
echo BASH Path before: $PATH with no parallel
|
||||||
parallel echo ::: 1
|
parallel echo ::: 1
|
||||||
echo '^^^^^^^^ Not found is OK'
|
echo '^^^^^^^^ Not found is OK'
|
||||||
|
@ -103,7 +103,7 @@ echo 'bug #47695: How to set $PATH on remote?'
|
||||||
_EOS
|
_EOS
|
||||||
echo
|
echo
|
||||||
|
|
||||||
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -v 'packages can be updated'
|
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to Ubuntu'
|
||||||
echo CSH Path before: $PATH with no parallel
|
echo CSH Path before: $PATH with no parallel
|
||||||
which parallel >& /dev/stdout
|
which parallel >& /dev/stdout
|
||||||
echo '^^^^^^^^ Not found is OK'
|
echo '^^^^^^^^ Not found is OK'
|
||||||
|
|
|
@ -6,8 +6,8 @@ P_ALL="vax freebsd solaris openbsd netbsd debian alpha aix redhat hpux ultrix mi
|
||||||
P_NOTWORKING="vax alpha openstep"
|
P_NOTWORKING="vax alpha openstep"
|
||||||
P_NOTWORKING_YET="ultrix irix"
|
P_NOTWORKING_YET="ultrix irix"
|
||||||
|
|
||||||
P_WORKING="pidora raspbian solaris openindiana aix hpux qnx debian-ppc suse solaris-x86 mandriva ubuntu scosysv unixware centos miros macosx redhat netbsd openbsd freebsd debian"
|
P_WORKING="tru64 syllable pidora raspbian solaris openindiana aix hpux qnx debian-ppc suse solaris-x86 mandriva ubuntu scosysv unixware centos miros macosx redhat netbsd openbsd freebsd debian"
|
||||||
P_TEMPORARILY_BROKEN="minix tru64 syllable hurd hpux-ia64 dragonfly"
|
P_TEMPORARILY_BROKEN="minix hurd hpux-ia64 dragonfly"
|
||||||
|
|
||||||
P="$P_WORKING"
|
P="$P_WORKING"
|
||||||
POLAR=`parallel -k echo {}.polarhome.com ::: $P`
|
POLAR=`parallel -k echo {}.polarhome.com ::: $P`
|
||||||
|
@ -15,7 +15,8 @@ S_POLAR=`parallel -k echo -S 1/{}.polarhome.com ::: $P`
|
||||||
|
|
||||||
# 20150414 --timeout 80 -> 40
|
# 20150414 --timeout 80 -> 40
|
||||||
# 20151219 --retries 5 -> 2
|
# 20151219 --retries 5 -> 2
|
||||||
TIMEOUT=10
|
# 20160821 --timeout 10 -> 100 (DNS problems)
|
||||||
|
TIMEOUT=130
|
||||||
RETRIES=4
|
RETRIES=4
|
||||||
|
|
||||||
echo '### Tests on polarhome machines'
|
echo '### Tests on polarhome machines'
|
||||||
|
|
|
@ -1,9 +1,18 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
minipv() {
|
||||||
|
sleep=$1
|
||||||
|
while read line; do
|
||||||
|
echo "$line"
|
||||||
|
sleep $sleep
|
||||||
|
done
|
||||||
|
}
|
||||||
|
export -f minipv
|
||||||
|
|
||||||
echo '### Test id = --id `tty`'
|
echo '### Test id = --id `tty`'
|
||||||
parallel --id `tty` -u --semaphore seq 1 10 '|' pv -qL 20
|
parallel --id `tty` --lb --semaphore seq 1 10 '|' minipv 0.1
|
||||||
echo '### Test default id = --id `tty`'
|
echo '### Test default id = --id `tty`'
|
||||||
parallel -u --semaphore seq 11 20 '|' pv -qL 100
|
parallel --lb --semaphore seq 11 20 '|' minipv 0.01
|
||||||
echo '### Test --semaphorename `tty`'
|
echo '### Test --semaphorename `tty`'
|
||||||
parallel --semaphorename `tty` --semaphore --wait
|
parallel --semaphorename `tty` --semaphore --wait
|
||||||
echo done
|
echo done
|
||||||
|
|
|
@ -66,7 +66,7 @@ echo "### Test oracle with \n arguments on the command line"
|
||||||
sql :oraunittest 'select 1 from dual;\nselect 2 from dual;\x0aselect 3 from dual;'
|
sql :oraunittest 'select 1 from dual;\nselect 2 from dual;\x0aselect 3 from dual;'
|
||||||
|
|
||||||
echo "### Test --show-tables"
|
echo "### Test --show-tables"
|
||||||
sql --show-tables :oraunittest
|
sql --show-tables :oraunittest | sort
|
||||||
|
|
||||||
echo "### Test --show-databases"
|
echo "### Test --show-databases"
|
||||||
sql --show-databases :oraunittest
|
sql --show-databases :oraunittest
|
||||||
|
|
|
@ -42,7 +42,7 @@ EOF
|
||||||
|
|
||||||
cd input-files/test15
|
cd input-files/test15
|
||||||
|
|
||||||
echo 'xargs Expect: 3 1 2'
|
echo 'xargs Expect: 3 1'
|
||||||
echo 3 | xargs -P 1 -n 1 -a files cat -
|
echo 3 | xargs -P 1 -n 1 -a files cat -
|
||||||
echo 'parallel Expect: 3 1 via psedotty 2'
|
echo 'parallel Expect: 3 1 via psedotty 2'
|
||||||
cat >/tmp/parallel-script-for-script <<EOF
|
cat >/tmp/parallel-script-for-script <<EOF
|
||||||
|
@ -53,7 +53,7 @@ chmod 755 /tmp/parallel-script-for-script
|
||||||
echo via pseudotty | script -q -f -c /tmp/parallel-script-for-script /dev/null
|
echo via pseudotty | script -q -f -c /tmp/parallel-script-for-script /dev/null
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
echo 'xargs Expect: 1 3 2'
|
echo 'xargs Expect: 1 3'
|
||||||
echo 3 | xargs -I {} -P 1 -n 1 -a files cat {} -
|
echo 3 | xargs -I {} -P 1 -n 1 -a files cat {} -
|
||||||
echo 'parallel Expect: 1 3 2 via pseudotty'
|
echo 'parallel Expect: 1 3 2 via pseudotty'
|
||||||
cat >/tmp/parallel-script-for-script2 <<EOF
|
cat >/tmp/parallel-script-for-script2 <<EOF
|
||||||
|
|
|
@ -3,9 +3,9 @@ This works
|
||||||
|
|
||||||
echo '### --rm and --runmem'
|
echo '### --rm and --runmem'
|
||||||
### --rm and --runmem
|
### --rm and --runmem
|
||||||
niceload -H --rm 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
|
niceload -H --rm 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
|
||||||
OK--rm
|
OK--rm
|
||||||
niceload -H --runmem 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
|
niceload -H --runmem 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
|
||||||
OK--runmem
|
OK--runmem
|
||||||
echo '### -N and --noswap. Must give 0'
|
echo '### -N and --noswap. Must give 0'
|
||||||
### -N and --noswap. Must give 0
|
### -N and --noswap. Must give 0
|
||||||
|
|
|
@ -13,7 +13,7 @@ test -n "" \
|
||||||
-exec chmod u+rwx,go+rx {} \; -o \
|
-exec chmod u+rwx,go+rx {} \; -o \
|
||||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
! -type d ! -perm -444 -exec /bin/bash /mnt/4tb/home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \
|
! -type d ! -perm -444 -exec /bin/bash /home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \
|
||||||
|| chmod -R a+r "parallel-00000000"
|
|| chmod -R a+r "parallel-00000000"
|
||||||
tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz
|
tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz
|
||||||
make[0]: Leaving directory '/mnt/4tb/home/tange/privat/parallel'
|
make[0]: Leaving directory '/mnt/4tb/home/tange/privat/parallel'
|
||||||
|
|
|
@ -297,23 +297,23 @@ bug #45993: --wd ... should also work when run locally
|
||||||
parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
|
parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
|
||||||
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
|
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
|
||||||
/bin
|
/bin
|
||||||
/mnt/4tb/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
|
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
|
||||||
/
|
/
|
||||||
/mnt/4tb/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
|
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
|
||||||
/tmp
|
/tmp
|
||||||
/mnt/4tb/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
|
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
|
||||||
/home/tange/.parallel/tmp/aspire-0-0
|
/home/tange/.parallel/tmp/aspire-0-0
|
||||||
/mnt/0tb/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
|
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
|
||||||
/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
/mnt/4tb/home/tange/privat/parallel/testsuite
|
/home/tange/privat/parallel/testsuite
|
||||||
OK
|
OK
|
||||||
echo '**'
|
echo '**'
|
||||||
**
|
**
|
||||||
|
|
|
@ -3,8 +3,8 @@ par_mem_leak ### test for mem leak
|
||||||
par_mem_leak no mem leak detected
|
par_mem_leak no mem leak detected
|
||||||
par_outside_file_handle_limit 2>&1
|
par_outside_file_handle_limit 2>&1
|
||||||
par_outside_file_handle_limit ### Test Force outside the file handle limit, 2009-02-17 Gave fork error
|
par_outside_file_handle_limit ### Test Force outside the file handle limit, 2009-02-17 Gave fork error
|
||||||
par_outside_file_handle_limit parallel: Warning: Only enough file handles to run 251 jobs in parallel.
|
par_outside_file_handle_limit parallel: Warning: Only enough file handles to run 252 jobs in parallel.
|
||||||
par_outside_file_handle_limit parallel: Warning: Running 'parallel -j0 -N 251 --pipe parallel -j0' or
|
par_outside_file_handle_limit parallel: Warning: Running 'parallel -j0 -N 252 --pipe parallel -j0' or
|
||||||
par_outside_file_handle_limit parallel: Warning: raising ulimit -n or /etc/security/limits.conf may help.
|
par_outside_file_handle_limit parallel: Warning: raising ulimit -n or /etc/security/limits.conf may help.
|
||||||
par_outside_file_handle_limit Start
|
par_outside_file_handle_limit Start
|
||||||
par_outside_file_handle_limit end
|
par_outside_file_handle_limit end
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
|
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
|
||||||
### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
### 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
|
seq 1000000 > /tmp/num1000000; stdout parallel --pipepart --progress -a /tmp/num1000000 --block 10k -j0 true |grep 1:local
|
||||||
1:local / 8 / 251
|
1:local / 8 / 252
|
||||||
echo '**'
|
echo '**'
|
||||||
**
|
**
|
||||||
testhalt() { echo '### testhalt --halt '$1; (yes 0 | head -n 10; seq 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; (seq 10; yes 0 | head -n 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; }; export -f testhalt; parallel -kj0 testhalt ::: now,fail=0 now,fail=1 now,fail=2 now,fail=30% now,fail=70% soon,fail=0 soon,fail=1 soon,fail=2 soon,fail=30% soon,fail=70% now,success=0 now,success=1 now,success=2 now,success=30% now,success=70% soon,success=0 soon,success=1 soon,success=2 soon,success=30% now,success=70%
|
testhalt() { echo '### testhalt --halt '$1; (yes 0 | head -n 10; seq 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; (seq 10; yes 0 | head -n 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; }; export -f testhalt; parallel -kj0 testhalt ::: now,fail=0 now,fail=1 now,fail=2 now,fail=30% now,fail=70% soon,fail=0 soon,fail=1 soon,fail=2 soon,fail=30% soon,fail=70% now,success=0 now,success=1 now,success=2 now,success=30% now,success=70% soon,success=0 soon,success=1 soon,success=2 soon,success=30% now,success=70%
|
||||||
|
@ -862,12 +862,12 @@ echo '**'
|
||||||
**
|
**
|
||||||
echo "### Test max line length -m -I"
|
echo "### Test max line length -m -I"
|
||||||
### Test max line length -m -I
|
### Test max line length -m -I
|
||||||
seq 1 60000 | parallel -I :: -m -j1 echo a::b::c | sort >/tmp/114-a$$; md5sum </tmp/114-a$$; export CHAR=$(cat /tmp/114-a$$ | wc -c); export LINES=$(cat /tmp/114-a$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-a$$
|
seq 1 60000 | parallel -I :: -km -j1 echo a::b::c | sort >/tmp/114-a$$; md5sum </tmp/114-a$$; export CHAR=$(cat /tmp/114-a$$ | wc -c); export LINES=$(cat /tmp/114-a$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-a$$
|
||||||
14bacad229d8b0d32be0a2339c2a6af7 -
|
14bacad229d8b0d32be0a2339c2a6af7 -
|
||||||
Chars per line (697810/11): 63437
|
Chars per line (697810/11): 63437
|
||||||
echo "### Test max line length -X -I"
|
echo "### Test max line length -X -I"
|
||||||
### Test max line length -X -I
|
### Test max line length -X -I
|
||||||
seq 1 60000 | parallel -I :: -X -j1 echo a::b::c | sort >/tmp/114-b$$; md5sum </tmp/114-b$$; export CHAR=$(cat /tmp/114-b$$ | wc -c); export LINES=$(cat /tmp/114-b$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-b$$
|
seq 1 60000 | parallel -I :: -kX -j1 echo a::b::c | sort >/tmp/114-b$$; md5sum </tmp/114-b$$; export CHAR=$(cat /tmp/114-b$$ | wc -c); export LINES=$(cat /tmp/114-b$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-b$$
|
||||||
81c0a85162c989c07f666b827a30ce52 -
|
81c0a85162c989c07f666b827a30ce52 -
|
||||||
Chars per line (817788/13): 62906
|
Chars per line (817788/13): 62906
|
||||||
echo '**'
|
echo '**'
|
||||||
|
|
|
@ -123,7 +123,6 @@ echo '### exported function to csh but with PARALLEL_SHELL=bash'
|
||||||
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
|
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
|
||||||
OK
|
OK
|
||||||
bug #47695: How to set $PATH on remote?
|
bug #47695: How to set $PATH on remote?
|
||||||
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
|
|
||||||
|
|
||||||
* Documentation: https://help.ubuntu.com
|
* Documentation: https://help.ubuntu.com
|
||||||
* Management: https://landscape.canonical.com
|
* Management: https://landscape.canonical.com
|
||||||
|
@ -136,7 +135,6 @@ BASH Path before: /bin:/usr/bin with no parallel
|
||||||
^^^^^^^^ Not found is OK
|
^^^^^^^^ Not found is OK
|
||||||
/bin:/usr/bin:/tmp OK
|
/bin:/usr/bin:/tmp OK
|
||||||
|
|
||||||
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
|
|
||||||
|
|
||||||
* Documentation: https://help.ubuntu.com
|
* Documentation: https://help.ubuntu.com
|
||||||
* Management: https://landscape.canonical.com
|
* Management: https://landscape.canonical.com
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
### Tests on polarhome machines
|
### Tests on polarhome machines
|
||||||
Setup on polarhome machines
|
Setup on polarhome machines
|
||||||
|
copy_and_test tru64.polarhome.com
|
||||||
|
tru64.polarhome.com ### Run the test on tru64.polarhome.com
|
||||||
|
tru64.polarhome.com Works on tru64.polarhome.com
|
||||||
|
tru64.polarhome.com Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable
|
||||||
|
tru64.polarhome.com at bin/parallel line 0000
|
||||||
|
tru64.polarhome.com OK
|
||||||
|
copy_and_test syllable.polarhome.com
|
||||||
|
syllable.polarhome.com ### Run the test on syllable.polarhome.com
|
||||||
|
syllable.polarhome.com chmod: changing permissions of `bin/p.tmp': Function not implemented
|
||||||
copy_and_test pidora.polarhome.com
|
copy_and_test pidora.polarhome.com
|
||||||
pidora.polarhome.com ### Run the test on pidora.polarhome.com
|
pidora.polarhome.com ### Run the test on pidora.polarhome.com
|
||||||
pidora.polarhome.com Works on pidora.polarhome.com
|
pidora.polarhome.com Works on pidora.polarhome.com
|
||||||
|
@ -124,7 +133,7 @@ debian-ppc
|
||||||
debian
|
debian
|
||||||
freebsd.polarhome.com
|
freebsd.polarhome.com
|
||||||
hpux64
|
hpux64
|
||||||
macosx.polarhome.com
|
macosx
|
||||||
mandriva.polarhome.com
|
mandriva.polarhome.com
|
||||||
miros.polarhome.com
|
miros.polarhome.com
|
||||||
netbsd.polarhome.com
|
netbsd.polarhome.com
|
||||||
|
@ -138,6 +147,7 @@ scosysv.polarhome.com
|
||||||
solaris-x86
|
solaris-x86
|
||||||
solaris
|
solaris
|
||||||
suse
|
suse
|
||||||
|
tru64.polarhome.com
|
||||||
ubuntu
|
ubuntu
|
||||||
unixware.polarhome.com
|
unixware.polarhome.com
|
||||||
|
|
||||||
|
@ -163,6 +173,7 @@ scosysv.polarhome.com bash only A
|
||||||
solaris-x86.polarhome.com bash only A
|
solaris-x86.polarhome.com bash only A
|
||||||
solaris.polarhome.com bash only A
|
solaris.polarhome.com bash only A
|
||||||
suse.polarhome.com bash only A
|
suse.polarhome.com bash only A
|
||||||
|
tru64.polarhome.com bash only A
|
||||||
ubuntu.polarhome.com bash only A
|
ubuntu.polarhome.com bash only A
|
||||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `(' unexpected
|
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `(' unexpected
|
||||||
|
|
||||||
|
|
|
@ -161,7 +161,7 @@ num8
|
||||||
num_%header
|
num_%header
|
||||||
tsv-file.tsv
|
tsv-file.tsv
|
||||||
foo
|
foo
|
||||||
/mnt/4tb/home/tange/privat/parallel/testsuite/tmp
|
/home/tange/privat/parallel/testsuite/tmp
|
||||||
my_func() {
|
my_func() {
|
||||||
echo in my_func $1
|
echo in my_func $1
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,18 +88,18 @@ arg3
|
||||||
|
|
||||||
### Test --show-tables
|
### Test --show-tables
|
||||||
|
|
||||||
OBJECT_NAME
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------------------------
|
||||||
REGIONS
|
|
||||||
COUNTRIES
|
|
||||||
LOCATIONS
|
|
||||||
DEPARTMENTS
|
|
||||||
JOBS
|
|
||||||
EMPLOYEES
|
|
||||||
JOB_HISTORY
|
|
||||||
|
|
||||||
7 rows selected.
|
7 rows selected.
|
||||||
|
COUNTRIES
|
||||||
|
DEPARTMENTS
|
||||||
|
EMPLOYEES
|
||||||
|
JOBS
|
||||||
|
JOB_HISTORY
|
||||||
|
LOCATIONS
|
||||||
|
OBJECT_NAME
|
||||||
|
REGIONS
|
||||||
### Test --show-databases
|
### Test --show-databases
|
||||||
|
|
||||||
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG PREDICA ENC COMPRESS_FOR
|
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG PREDICA ENC COMPRESS_FOR
|
||||||
|
|
|
@ -1,34 +1,10 @@
|
||||||
### Test -p --interactive
|
### Test -p --interactive
|
||||||
spawn /tmp/parallel-script-for-expect
|
spawn /tmp/parallel-script-for-expect
|
||||||
Academic 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:
|
|
||||||
|
|
||||||
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
||||||
;login: The USENIX Magazine, February 2011:42-47.
|
|
||||||
|
|
||||||
This helps funding further development; AND IT WON'T COST YOU A CENT.
|
|
||||||
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
||||||
|
|
||||||
To silence the citation notice: run 'parallel --citation'.
|
|
||||||
|
|
||||||
sleep 0.1; echo opt-p 1 ?...y
|
sleep 0.1; echo opt-p 1 ?...y
|
||||||
sleep 0.1; echo opt-p 2 ?...n
|
sleep 0.1; echo opt-p 2 ?...n
|
||||||
sleep 0.1; echo opt-p 3 ?...y
|
sleep 0.1; echo opt-p 3 ?...y
|
||||||
opt-p 1
|
opt-p 1
|
||||||
opt-p 3
|
opt-p 3
|
||||||
Academic 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:
|
|
||||||
|
|
||||||
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
||||||
;login: The USENIX Magazine, February 2011:42-47.
|
|
||||||
|
|
||||||
This helps funding further development; AND IT WON'T COST YOU A CENT.
|
|
||||||
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
||||||
|
|
||||||
To silence the citation notice: run 'parallel --citation'.
|
|
||||||
|
|
||||||
sleep 0.1; echo opt--interactive 1 ?...y
|
sleep 0.1; echo opt--interactive 1 ?...y
|
||||||
sleep 0.1; echo opt--interactive 2 ?...n
|
sleep 0.1; echo opt--interactive 2 ?...n
|
||||||
sleep 0.1; echo opt--interactive 3 ?...y
|
sleep 0.1; echo opt--interactive 3 ?...y
|
||||||
|
@ -41,47 +17,19 @@ echo '### Test killing children with --timeout and exit value (failed if timed o
|
||||||
0 0 0
|
0 0 0
|
||||||
2
|
2
|
||||||
0 0 0
|
0 0 0
|
||||||
xargs Expect: 3 1 2
|
xargs Expect: 3 1
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
2
|
|
||||||
parallel Expect: 3 1 via psedotty 2
|
parallel Expect: 3 1 via psedotty 2
|
||||||
Academic 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:
|
|
||||||
|
|
||||||
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
||||||
;login: The USENIX Magazine, February 2011:42-47.
|
|
||||||
|
|
||||||
This helps funding further development; AND IT WON'T COST YOU A CENT.
|
|
||||||
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
||||||
|
|
||||||
To silence the citation notice: run 'parallel --citation'.
|
|
||||||
|
|
||||||
3
|
|
||||||
1
|
|
||||||
via pseudotty
|
via pseudotty
|
||||||
2
|
via pseudotty
|
||||||
xargs Expect: 1 3 2
|
1
|
||||||
|
xargs Expect: 1 3
|
||||||
1
|
1
|
||||||
3
|
3
|
||||||
2
|
|
||||||
parallel Expect: 1 3 2 via pseudotty
|
parallel Expect: 1 3 2 via pseudotty
|
||||||
Academic tradition requires you to cite works you base your article on.
|
via pseudotty
|
||||||
When using programs that use GNU Parallel to process data for publication
|
|
||||||
please cite:
|
|
||||||
|
|
||||||
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|
||||||
;login: The USENIX Magazine, February 2011:42-47.
|
|
||||||
|
|
||||||
This helps funding further development; AND IT WON'T COST YOU A CENT.
|
|
||||||
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|
||||||
|
|
||||||
To silence the citation notice: run 'parallel --citation'.
|
|
||||||
|
|
||||||
1
|
1
|
||||||
3
|
|
||||||
2
|
|
||||||
via pseudotty
|
via pseudotty
|
||||||
### Hans found a bug giving unitialized variable
|
### Hans found a bug giving unitialized variable
|
||||||
gzip /tmp/parallel_f1
|
gzip /tmp/parallel_f1
|
||||||
|
|
Loading…
Reference in a new issue