From a0f4c5e4d9180ee454a3e975a16cf704f47b8f13 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Tue, 22 Jun 2010 15:24:55 +0200 Subject: [PATCH] Unittest for --interactive. Added --eta. Updated to version 20100620. --- autom4te.cache/output.0 | 20 +- autom4te.cache/output.1 | 20 +- autom4te.cache/traces.1 | 2 +- configure | 20 +- configure.ac | 2 +- doc/FUTURE_IDEAS | 59 +++- doc/release_new_version | 2 +- src/parallel | 161 ++++++--- unittest/actual-results/test01 | 489 --------------------------- unittest/actual-results/test02 | 14 - unittest/actual-results/test03 | 50 --- unittest/actual-results/test04 | 8 - unittest/actual-results/test05 | 8 - unittest/actual-results/test06 | 100 ------ unittest/actual-results/test07 | 200 ----------- unittest/actual-results/test08 | 32 -- unittest/actual-results/test09 | 3 - unittest/actual-results/test10 | 15 - unittest/actual-results/test11 | 1 - unittest/actual-results/test12 | 1 - unittest/actual-results/test13 | 52 --- unittest/actual-results/test14 | 79 ----- unittest/actual-results/test15 | 241 -------------- unittest/actual-results/test16 | 204 ------------ unittest/actual-results/test17 | 573 -------------------------------- unittest/actual-results/test18 | 94 ------ unittest/actual-results/test19 | 1 - unittest/actual-results/test20 | 8 - unittest/actual-results/test21 | 11 - unittest/actual-results/test22 | 58 ---- unittest/actual-results/test23 | 46 --- unittest/tests-to-run/test15.sh | 30 ++ unittest/wanted-results/test15 | 12 + unittest/wanted-results/test24 | 1 + 34 files changed, 235 insertions(+), 2382 deletions(-) delete mode 100644 unittest/actual-results/test01 delete mode 100644 unittest/actual-results/test02 delete mode 100644 unittest/actual-results/test03 delete mode 100644 unittest/actual-results/test04 delete mode 100644 unittest/actual-results/test05 delete mode 100644 unittest/actual-results/test06 delete mode 100644 unittest/actual-results/test07 delete mode 100644 unittest/actual-results/test08 delete mode 100644 unittest/actual-results/test09 delete mode 100644 unittest/actual-results/test10 delete mode 100644 unittest/actual-results/test11 delete mode 100644 unittest/actual-results/test12 delete mode 100644 unittest/actual-results/test13 delete mode 100644 unittest/actual-results/test14 delete mode 100644 unittest/actual-results/test15 delete mode 100644 unittest/actual-results/test16 delete mode 100644 unittest/actual-results/test17 delete mode 100644 unittest/actual-results/test18 delete mode 100644 unittest/actual-results/test19 delete mode 100644 unittest/actual-results/test20 delete mode 100644 unittest/actual-results/test21 delete mode 100644 unittest/actual-results/test22 delete mode 100644 unittest/actual-results/test23 create mode 100644 unittest/wanted-results/test24 diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 index e41b97bc..4b74731a 100644 --- a/autom4te.cache/output.0 +++ b/autom4te.cache/output.0 @@ -1,6 +1,6 @@ @%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.65 for parallel 20100616. +@%:@ Generated by GNU Autoconf 2.65 for parallel 20100620. @%:@ @%:@ Report bugs to . @%:@ @@ -551,8 +551,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20100616' -PACKAGE_STRING='parallel 20100616' +PACKAGE_VERSION='20100620' +PACKAGE_STRING='parallel 20100620' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1167,7 +1167,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures parallel 20100616 to adapt to many kinds of systems. +\`configure' configures parallel 20100620 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1233,7 +1233,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20100616:";; + short | recursive ) echo "Configuration of parallel 20100620:";; esac cat <<\_ACEOF @@ -1300,7 +1300,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20100616 +parallel configure 20100620 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1317,7 +1317,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20100616, which was +It was created by parallel $as_me 20100620, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2125,7 +2125,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20100616' + VERSION='20100620' cat >>confdefs.h <<_ACEOF @@ -2675,7 +2675,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20100616, which was +This file was extended by parallel $as_me 20100620, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2737,7 +2737,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20100616 +parallel config.status 20100620 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1 index e41b97bc..4b74731a 100644 --- a/autom4te.cache/output.1 +++ b/autom4te.cache/output.1 @@ -1,6 +1,6 @@ @%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.65 for parallel 20100616. +@%:@ Generated by GNU Autoconf 2.65 for parallel 20100620. @%:@ @%:@ Report bugs to . @%:@ @@ -551,8 +551,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20100616' -PACKAGE_STRING='parallel 20100616' +PACKAGE_VERSION='20100620' +PACKAGE_STRING='parallel 20100620' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1167,7 +1167,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures parallel 20100616 to adapt to many kinds of systems. +\`configure' configures parallel 20100620 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1233,7 +1233,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20100616:";; + short | recursive ) echo "Configuration of parallel 20100620:";; esac cat <<\_ACEOF @@ -1300,7 +1300,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20100616 +parallel configure 20100620 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1317,7 +1317,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20100616, which was +It was created by parallel $as_me 20100620, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2125,7 +2125,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20100616' + VERSION='20100620' cat >>confdefs.h <<_ACEOF @@ -2675,7 +2675,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20100616, which was +This file was extended by parallel $as_me 20100620, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2737,7 +2737,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20100616 +parallel config.status 20100620 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1 index 8c884ffe..cf20f12f 100644 --- a/autom4te.cache/traces.1 +++ b/autom4te.cache/traces.1 @@ -1,4 +1,4 @@ -m4trace:configure.ac:1: -1- AC_INIT([parallel], [20100616], [bug-parallel@gnu.org]) +m4trace:configure.ac:1: -1- AC_INIT([parallel], [20100620], [bug-parallel@gnu.org]) m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_]) m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) diff --git a/configure b/configure index 0c51185b..82a142b4 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for parallel 20100616. +# Generated by GNU Autoconf 2.65 for parallel 20100620. # # Report bugs to . # @@ -551,8 +551,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20100616' -PACKAGE_STRING='parallel 20100616' +PACKAGE_VERSION='20100620' +PACKAGE_STRING='parallel 20100620' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1167,7 +1167,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures parallel 20100616 to adapt to many kinds of systems. +\`configure' configures parallel 20100620 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1233,7 +1233,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20100616:";; + short | recursive ) echo "Configuration of parallel 20100620:";; esac cat <<\_ACEOF @@ -1300,7 +1300,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20100616 +parallel configure 20100620 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1317,7 +1317,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20100616, which was +It was created by parallel $as_me 20100620, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2125,7 +2125,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20100616' + VERSION='20100620' cat >>confdefs.h <<_ACEOF @@ -2675,7 +2675,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20100616, which was +This file was extended by parallel $as_me 20100620, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2737,7 +2737,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20100616 +parallel config.status 20100620 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 4b5b6376..869e7564 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel], [20100616], [bug-parallel@gnu.org]) +AC_INIT([parallel], [20100620], [bug-parallel@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/doc/FUTURE_IDEAS b/doc/FUTURE_IDEAS index becb7e4c..25da7e63 100644 --- a/doc/FUTURE_IDEAS +++ b/doc/FUTURE_IDEAS @@ -1,6 +1,20 @@ -Some systems does not receive the SIGCHLD (maybe when running under -dash?). -Unittest failed if /bin/sh was dash. +# BUG: bash -c 'parallel -a <(seq 1 3) -p echo' + +# Hvordan udregnes system limits på remote systems hvis jeg ikke ved, hvormange +# argumenter, der er? Lav system limits lokalt og lad det være max + +# TODO max_line_length on remote +# TODO compute how many can be transferred within max_line_length +# TODO Unittest with filename that is long and requires a lot of quoting. Will there be to many +# TODO --max-number-of-jobs print the system limited number of jobs + +# TODO Debian package + +# TODO to kill from a run script parallel should set PARALLEL_PID that can be sig termed +# TAGS: parallel | parallel processing | multicore | multiprocessor | Clustering/Distributed Networks +# job control | multiple jobs | parallelization | text processing | cluster | filters +# Clustering Tools | Command Line Tools | Utilities | System Administration +# Bash parallel * 100% options complete with xargs. All options for xargs can now be used in GNU Parallel - even the more exotic. @@ -14,6 +28,8 @@ Unittest failed if /bin/sh was dash. server use --progress. It can be turned on even after GNU Parallel is started. +* --eta shows estimated time left in seconds. + * --halt-on-error stops if an error occurs. GNU Parallel will default to run all jobs - even if some of them fail. With --halt-on-error GNU Parallel can ignore errors, wait for the currently running jobs @@ -44,24 +60,29 @@ rm -rf dirs/* rm -rf parallel-*bz2 xvidcap -ffmpeg -i 20100615_002.mp4 -ab 320k -ar 44100 speak.mp3 +ffmpeg -i 20100616_002.mp4 -ab 320k -ar 44100 speak.mp3 # Merge video using youtube #ffmpeg -i speak.mp3 -i xvidcap.mpeg -target mpeg -hq -minrate 8000000 \ -#-title "GNU Parallel" -author "Ole Tange" -copyright "(CC-By-SA) 2010" -comment "Intro video of GNU Parallel 20100615" videoaudio.mpg +#-title "GNU Parallel" -author "Ole Tange" -copyright "(CC-By-SA) 2010" -comment "Intro video of GNU Parallel 20100616" videoaudio.mpg # GNU PARALLEL - BASIC USAGE # A GNU tool for parallelizing shell commands +## Ole Tange Author + # GET GNU PARALLEL -wget ftp://ftp.gnu.org/gnu/parallel/parallel-20100615.tar.bz2 -tar xjf parallel-20100615.tar.bz2 -cd parallel-20100615 +wget ftp://ftp.gnu.org/gnu/parallel/parallel-20100620.tar.bz2 +tar xjf parallel-20100620.tar.bz2 +cd parallel-20100620 ./configure && make ## su make install exit cd +## scp /usr/local/bin/parallel root@parallel:/usr/local/bin/ + + # YOUR FIRST PARALLEL JOBS cd logs du @@ -76,26 +97,26 @@ ls | time parallel gunzip # RECOMPRESS gz TO bz2 ls | time parallel gzip -1 -ls *.gz | time parallel -j+0 --progress 'zcat {} | bzip2 -1 > {.}.bz2' +ls *.gz | time parallel -j+0 --eta 'zcat {} | bzip2 -9 >{.}.bz2' ## Explain command line ## vis top local ## Man that is boring -## 2m41s - 2m +## 2m41s - 2m - 3m35s -# RECOMPRESS gz TO bz2 USING local(:) AND REMOTE server1-3 -ls *.gz |time parallel -j+0 --progress -Sserver1,server2,server3,: \ ---transfer --return {.}.bz2 --cleanup 'zcat {} | bzip2 -1 > {.}.bz2' +# RECOMPRESS gz TO bz2 USING local(:) AND REMOTE server1-4 +ls *.gz |time parallel -j+0 --eta -Sserver1,server2,server3,server4,: \ +--transfer --return {.}.bz2 --cleanup 'zcat {} | bzip2 -9 > {.}.bz2' ## Explain command line ## Explain server config ## vis top local ## vis top remote1-3 ## 49 sek -# RECOMPRESS gz TO bz2 USING A SCRIPT ON local AND REMOTE server1-3 +# RECOMPRESS gz TO bz2 USING A SCRIPT ON local AND REMOTE server1-2,4 # (imagine the script is way more complex) cp ../recompress /tmp cat /tmp/recompress -ls *.gz |time parallel -j+0 --progress -Sserver1,server2,server3,: \ +ls *.gz |time parallel -j+0 --progress -Sserver1,server2,server4,: \ --trc {.}.bz2 --basefile /tmp/recompress '/tmp/recompress {} {.}.bz2' @@ -123,7 +144,7 @@ seq 1 255 | parallel -j0 ping -c 1 178.63.11.{} 2>&1 \ | grep '64 bytes' | wc -l # MULTIPLE ARGUMENTS -# make dir: test-(1-20000).dir +# make dir: test-(1-5000).dir cd ../dirs rm -rf *; sync seq 1 10 | parallel echo mkdir test-{}.dir @@ -175,6 +196,12 @@ Test if -0 works on filenames ending in '\n' If there are nomore jobs (STDIN is eof) then make sure to distribute the arguments evenly if running -X. + +=head1 search terms + +GNU parallel execution shell bash script simultaneous concurrent linux +scripting run xargs ppss code.google.com/p/ppss/ + =head1 options One char options not used: F G J K P Q Y diff --git a/doc/release_new_version b/doc/release_new_version index 99665baf..6e1bde72 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -79,7 +79,7 @@ download at: http://ftp.gnu.org/gnu/parallel/ New in this release: -* GNU Parallel now has support for running jobs on remote machines +* GNU Parallel now has progress indicator = About GNU Parallel = diff --git a/src/parallel b/src/parallel index 309a014d..35796e77 100755 --- a/src/parallel +++ b/src/parallel @@ -37,7 +37,7 @@ after the list of options. That will give you an idea of what GNU B is capable of. You can also watch the intro video for a quick introduction: -http://www.youtube.com/watch?v=LlXDtd_pRaY +http://www.youtube.com/watch?v=OpaiGYxkSuQ =head1 OPTIONS @@ -164,6 +164,14 @@ If I is omitted, there is no end of file string. If neither B<-E> nor B<-e> is used, no end of file string is used. +=item B<--eta> (beta testing) + +Show the estimated number of seconds before finishing. This forces GNU +B to read all jobs before starting to find the number of +jobs. GNU B normally only reads the next job to run. +Implies B<--progress>. + + =item B<--file> =item B<-f> @@ -1603,7 +1611,7 @@ if($::opt_halt_on_error) { sub parse_options { # Defaults: - $Global::version = 20100616; + $Global::version = 20100620; $Global::progname = 'parallel'; $Global::debug = 0; $Global::verbose = 0; @@ -1620,6 +1628,8 @@ sub parse_options { $Global::default_simultaneous_sshlogins = 9; $Global::exitstatus = 0; $Global::halt_on_error_exitstatus = 0; + $Global::total_jobs = 0; + $Global::eta = 0; Getopt::Long::Configure ("bundling","require_order"); # Add options from .parallelrc @@ -1664,6 +1674,7 @@ sub parse_options { "basefile|B=s" => \@::opt_basefile, "halt-on-error|H=s" => \$::opt_halt_on_error, "progress" => \$::opt_progress, + "eta" => \$::opt_eta, # xargs-compatibility - implemented, man, unittest "max-procs|P=s" => \$::opt_P, "delimiter|d=s" => \$::opt_d, @@ -1677,13 +1688,11 @@ sub parse_options { "help|h" => \$::opt_help, "L=i" => \$::opt_L, "max-lines|l:i" => \$::opt_l, + "interactive|p" => \$::opt_p, "verbose|t" => \$::opt_verbose, "version|V" => \$::opt_version, "show-limits" => \$::opt_show_limits, "exit|x" => \$::opt_x, - ## xargs-compatibility - implemented, man - unittest missing - "interactive|p" => \$::opt_p, - ## How to unittest? tty must be emulated ) || die_usage(); $Global::debug = (defined $::opt_D); $Global::input_is_filename = (@ARGV); @@ -1735,6 +1744,16 @@ sub parse_options { } $Global::argfile = *ARGFILE; } + if(defined $::opt_eta) { + # must be done after opt_a + $::opt_progress = $::opt_eta; + my @args = (); + while(not eof $Global::argfile) { + # This will read all arguments and compute $Global::total_jobs + push @args, get_next_arg(); + } + unget_arg(@args); + } if(@ARGV) { if($Global::quoting) { @@ -2507,6 +2526,7 @@ sub get_next_arg { if($Global::input_is_filename) { $arg = shell_quote($arg); } + $Global::total_jobs++; } debug("Next arg: !".$arg."!\n"); return $arg; @@ -2518,7 +2538,9 @@ sub unget_arg { sub drain_job_queue { if($::opt_progress) { + DoNotReap(); print init_progress(); + ReapIfNeeded(); } my $last_header=""; while($Global::total_running > 0) { @@ -2527,11 +2549,13 @@ sub drain_job_queue { Reaper(); # Some systems fail to catch the SIGCHLD if($::opt_progress) { my %progress = progress(); + DoNotReap(); if($last_header ne $progress{'header'}) { print "\n",$progress{'header'},"\n"; $last_header = $progress{'header'}; } print "\r",$progress{'status'}; + ReapIfNeeded(); } } if($::opt_progress) { @@ -2566,33 +2590,92 @@ sub progress { ($Global::host{$_}{'ncpus'} || "-") ." / ". $Global::host{$_}{'max_no_of_running'} } @workers); - if(eof $Global::argfile) { - # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX/XX% - $header = "Computer:jobs running/jobs completed/%completed of all jobs"; - $status = join(" ",map - { sprintf("%s:%d/%d/%d%%", - $sshlogin{$_}, $Global::host{$_}{'no_of_running'}, - ($Global::host{$_}{'completed'}||0), - ($Global::host{$_}{'completed'}||0)*100 - / $Global::total_started) } - @workers); - if(length $status > $termcols) { - # 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX% 6:XX/XX/XX% - $header = "Computer:jobs running/jobs completed/%completed of all jobs"; - $status = join(" ",map - { sprintf("%s:%d/%d/%d%%", - $workerno{$_}, $Global::host{$_}{'no_of_running'}, - ($Global::host{$_}{'completed'}||0), - ($Global::host{$_}{'completed'}||0)*100 - / $Global::total_started) } - @workers); + my $eta = ""; + if($::opt_eta) { + my $completed = 0; + for(@workers) { $completed += ($Global::host{$_}{'completed'}||0) } + if($completed) { + $Global::first_completed ||= time; + my $avgtime = (time-$Global::first_completed)/$completed; + my $this_eta = ($Global::total_jobs - $completed) * $avgtime; + $Global::eta ||= $this_eta; + # Smooth the eta so it does not jump wildly + $Global::eta = 0.9 * $Global::eta + 0.1 * $this_eta; + $eta = sprintf("ETA: %ds ", $Global::eta); } - + } + + if(length $status > $termcols) { + # sshlogin1:XX/XX/XX%/XX.Xs sshlogin2:XX/XX/XX%/XX.Xs sshlogin3:XX/XX/XX%/XX.Xs + $header = "Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete"; + $status = $eta . + join(" ",map + { + my $completed = ($Global::host{$_}{'completed'}||0); + my $running = $Global::host{$_}{'no_of_running'}; + my $time = $completed ? (time-$^T)/($completed) : "0"; + sprintf("%s:%d/%d/%d%%/%.1fs ", + $sshlogin{$_}, $running, $completed, + ($running+$completed)*100 + / $Global::total_started, $time); + } @workers); + } + if(length $status > $termcols) { + # 1:XX/XX/XX%/XX.Xs 2:XX/XX/XX%/XX.Xs 3:XX/XX/XX%/XX.Xs 4:XX/XX/XX%/XX.Xs + $header = "Computer:jobs running/jobs completed/%of started jobs"; + $status = $eta . + join(" ",map + { + my $completed = ($Global::host{$_}{'completed'}||0); + my $running = $Global::host{$_}{'no_of_running'}; + my $time = $completed ? (time-$^T)/($completed) : "0"; + sprintf("%s:%d/%d/%d%%/%.1fs ", + $workerno{$_}, $running, $completed, + ($running+$completed)*100 + / $Global::total_started, $time); + } @workers); + } + if(length $status > $termcols) { + # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX/XX% + $header = "Computer:jobs running/jobs completed/%of started jobs"; + $status = $eta . + join(" ",map + { sprintf("%s:%d/%d/%d%%", + $sshlogin{$_}, $Global::host{$_}{'no_of_running'}, + ($Global::host{$_}{'completed'}||0), + ($Global::host{$_}{'no_of_running'}+ + ($Global::host{$_}{'completed'}||0))*100 + / $Global::total_started) } + @workers); + } + if(length $status > $termcols) { + # 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX% 6:XX/XX/XX% + $header = "Computer:jobs running/jobs completed/%of started jobs"; + $status = $eta . + join(" ",map + { sprintf("%s:%d/%d/%d%%", + $workerno{$_}, $Global::host{$_}{'no_of_running'}, + ($Global::host{$_}{'completed'}||0), + ($Global::host{$_}{'no_of_running'}+ + ($Global::host{$_}{'completed'}||0))*100 + / $Global::total_started) } + @workers); + } + if(length $status > $termcols) { + # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX sshlogin4:XX/XX + $header = "Computer:jobs running/jobs completed"; + $status = $eta . + join(" ",map + { sprintf("%s:%d/%d", + $sshlogin{$_}, $Global::host{$_}{'no_of_running'}, + ($Global::host{$_}{'completed'}||0)) } + @workers); } if(length $status > $termcols) { # sshlogin1:XX/XX sshlogin2:XX/XX sshlogin3:XX/XX sshlogin4:XX/XX $header = "Computer:jobs running/jobs completed"; - $status = join(" ",map + $status = $eta . + join(" ",map { sprintf("%s:%d/%d", $sshlogin{$_}, $Global::host{$_}{'no_of_running'}, ($Global::host{$_}{'completed'}||0)) } @@ -2601,7 +2684,8 @@ sub progress { if(length $status > $termcols) { # 1:XX/XX 2:XX/XX 3:XX/XX 4:XX/XX 5:XX/XX 6:XX/XX $header = "Computer:jobs running/jobs completed"; - $status = join(" ",map + $status = $eta . + join(" ",map { sprintf("%s:%d/%d", $workerno{$_}, $Global::host{$_}{'no_of_running'}, ($Global::host{$_}{'completed'}||0)) } @@ -2610,7 +2694,8 @@ sub progress { if(length $status > $termcols) { # sshlogin1:XX sshlogin2:XX sshlogin3:XX sshlogin4:XX sshlogin5:XX $header = "Computer:jobs completed"; - $status = join(" ",map + $status = $eta . + join(" ",map { sprintf("%s:%d/%d", $sshlogin{$_}, ($Global::host{$_}{'completed'}||0)) } @@ -2619,7 +2704,8 @@ sub progress { if(length $status > $termcols) { # 1:XX 2:XX 3:XX 4:XX 5:XX 6:XX $header = "Computer:jobs completed"; - $status = join(" ",map + $status = $eta . + join(" ",map { sprintf("%s:%d/%d", $workerno{$_}, ($Global::host{$_}{'completed'}||0)) } @@ -3219,18 +3305,3 @@ $main::opt_show_limits = $main::opt_n = $main::opt_e = $main::opt_verbose = $main::opt_E = $main::opt_r = $Global::xargs = $Global::keeporder = $Global::control_path = 0; -# Hvordan udregnes system limits på remote systems hvis jeg ikke ved, hvormange -# argumenter, der er? Lav system limits lokalt og lad det være max - -# TODO max_line_length on remote -# TODO compute how many can be transferred within max_line_length -# TODO Unittest with filename that is long and requires a lot of quoting. Will there be to many -# TODO --max-number-of-jobs print the system limited number of jobs - -# TODO Debian package - -# TODO to kill from a run script parallel should set PARALLEL_PID that can be sig termed -# TAGS: parallel | parallel processing | multicore | multiprocessor | Clustering/Distributed Networks -# job control | multiple jobs | parallelization | text processing | cluster | filters -# Clustering Tools | Command Line Tools | Utilities | System Administration -# Bash parallel diff --git a/unittest/actual-results/test01 b/unittest/actual-results/test01 deleted file mode 100644 index 0aac1af7..00000000 --- a/unittest/actual-results/test01 +++ /dev/null @@ -1,489 +0,0 @@ -test of cat pipe sh -1-col.txt -2-col.txt -bar -bar -foo -foo -foo2 -ls 1-col.txt -ls 2-col.txt -ls a -ls b -ls 1-col.txt -ls 2-col.txt -ls a -ls b - 1 1 10 - 1 1 10 - 1 1 15 - 1 1 15 - 4 4 26 - 6 6 41 -1-col.txt -1-col.txt.diff -2-col.txt -2-col.txt.diff -a -b -ls 1-col.txt.diff|wc;echo 1-col.txt.diff -ls 1-col.txt|wc;echo 1-col.txt -ls 2-col.txt.diff|wc;echo 2-col.txt.diff -ls 2-col.txt|wc;echo 2-col.txt -ls a|wc;echo a -ls b|wc;echo b -### Check that we can have more input than max procs (-j 0) -touch more_than_5000-9990 -touch more_than_5000-9991 -touch more_than_5000-9992 -touch more_than_5000-9993 -touch more_than_5000-9994 -touch more_than_5000-9995 -touch more_than_5000-9996 -touch more_than_5000-9997 -touch more_than_5000-9998 -touch more_than_5000-9999 -1 1-col.txt -1 1-col.txt.diff -1 2-col.txt -1 2-col.txt.diff -1 more_than_5000-9901 -1 more_than_5000-9902 -1 more_than_5000-9903 -1 more_than_5000-9904 -1 more_than_5000-9905 -1 more_than_5000-9906 -1 more_than_5000-9907 -1 more_than_5000-9908 -1 more_than_5000-9909 -1 more_than_5000-9910 -1 more_than_5000-9911 -1 more_than_5000-9912 -1 more_than_5000-9913 -1 more_than_5000-9914 -1 more_than_5000-9915 -1 more_than_5000-9916 -1 more_than_5000-9917 -1 more_than_5000-9918 -1 more_than_5000-9919 -1 more_than_5000-9920 -1 more_than_5000-9921 -1 more_than_5000-9922 -1 more_than_5000-9923 -1 more_than_5000-9924 -1 more_than_5000-9925 -1 more_than_5000-9926 -1 more_than_5000-9927 -1 more_than_5000-9928 -1 more_than_5000-9929 -1 more_than_5000-9930 -1 more_than_5000-9931 -1 more_than_5000-9932 -1 more_than_5000-9933 -1 more_than_5000-9934 -1 more_than_5000-9935 -1 more_than_5000-9936 -1 more_than_5000-9937 -1 more_than_5000-9938 -1 more_than_5000-9939 -1 more_than_5000-9940 -1 more_than_5000-9941 -1 more_than_5000-9942 -1 more_than_5000-9943 -1 more_than_5000-9944 -1 more_than_5000-9945 -1 more_than_5000-9946 -1 more_than_5000-9947 -1 more_than_5000-9948 -1 more_than_5000-9949 -1 more_than_5000-9950 -1 more_than_5000-9951 -1 more_than_5000-9952 -1 more_than_5000-9953 -1 more_than_5000-9954 -1 more_than_5000-9955 -1 more_than_5000-9956 -1 more_than_5000-9957 -1 more_than_5000-9958 -1 more_than_5000-9959 -1 more_than_5000-9960 -1 more_than_5000-9961 -1 more_than_5000-9962 -1 more_than_5000-9963 -1 more_than_5000-9964 -1 more_than_5000-9965 -1 more_than_5000-9966 -1 more_than_5000-9967 -1 more_than_5000-9968 -1 more_than_5000-9969 -1 more_than_5000-9970 -1 more_than_5000-9971 -1 more_than_5000-9972 -1 more_than_5000-9973 -1 more_than_5000-9974 -1 more_than_5000-9975 -1 more_than_5000-9976 -1 more_than_5000-9977 -1 more_than_5000-9978 -1 more_than_5000-9979 -1 more_than_5000-9980 -1 more_than_5000-9981 -1 more_than_5000-9982 -1 more_than_5000-9983 -1 more_than_5000-9984 -1 more_than_5000-9985 -1 more_than_5000-9986 -1 more_than_5000-9987 -1 more_than_5000-9988 -1 more_than_5000-9989 -1 more_than_5000-9990 -1 more_than_5000-9991 -1 more_than_5000-9992 -1 more_than_5000-9993 -1 more_than_5000-9994 -1 more_than_5000-9995 -1 more_than_5000-9996 -1 more_than_5000-9997 -1 more_than_5000-9998 -1 more_than_5000-9999 -4 b -6 a -1 1-col.txt -1 1-col.txt.diff -1 2-col.txt -1 2-col.txt.diff -1 more_than_5000-9901 -1 more_than_5000-9902 -1 more_than_5000-9903 -1 more_than_5000-9904 -1 more_than_5000-9905 -1 more_than_5000-9906 -1 more_than_5000-9907 -1 more_than_5000-9908 -1 more_than_5000-9909 -1 more_than_5000-9910 -1 more_than_5000-9911 -1 more_than_5000-9912 -1 more_than_5000-9913 -1 more_than_5000-9914 -1 more_than_5000-9915 -1 more_than_5000-9916 -1 more_than_5000-9917 -1 more_than_5000-9918 -1 more_than_5000-9919 -1 more_than_5000-9920 -1 more_than_5000-9921 -1 more_than_5000-9922 -1 more_than_5000-9923 -1 more_than_5000-9924 -1 more_than_5000-9925 -1 more_than_5000-9926 -1 more_than_5000-9927 -1 more_than_5000-9928 -1 more_than_5000-9929 -1 more_than_5000-9930 -1 more_than_5000-9931 -1 more_than_5000-9932 -1 more_than_5000-9933 -1 more_than_5000-9934 -1 more_than_5000-9935 -1 more_than_5000-9936 -1 more_than_5000-9937 -1 more_than_5000-9938 -1 more_than_5000-9939 -1 more_than_5000-9940 -1 more_than_5000-9941 -1 more_than_5000-9942 -1 more_than_5000-9943 -1 more_than_5000-9944 -1 more_than_5000-9945 -1 more_than_5000-9946 -1 more_than_5000-9947 -1 more_than_5000-9948 -1 more_than_5000-9949 -1 more_than_5000-9950 -1 more_than_5000-9951 -1 more_than_5000-9952 -1 more_than_5000-9953 -1 more_than_5000-9954 -1 more_than_5000-9955 -1 more_than_5000-9956 -1 more_than_5000-9957 -1 more_than_5000-9958 -1 more_than_5000-9959 -1 more_than_5000-9960 -1 more_than_5000-9961 -1 more_than_5000-9962 -1 more_than_5000-9963 -1 more_than_5000-9964 -1 more_than_5000-9965 -1 more_than_5000-9966 -1 more_than_5000-9967 -1 more_than_5000-9968 -1 more_than_5000-9969 -1 more_than_5000-9970 -1 more_than_5000-9971 -1 more_than_5000-9972 -1 more_than_5000-9973 -1 more_than_5000-9974 -1 more_than_5000-9975 -1 more_than_5000-9976 -1 more_than_5000-9977 -1 more_than_5000-9978 -1 more_than_5000-9979 -1 more_than_5000-9980 -1 more_than_5000-9981 -1 more_than_5000-9982 -1 more_than_5000-9983 -1 more_than_5000-9984 -1 more_than_5000-9985 -1 more_than_5000-9986 -1 more_than_5000-9987 -1 more_than_5000-9988 -1 more_than_5000-9989 -1 more_than_5000-9990 -1 more_than_5000-9991 -1 more_than_5000-9992 -1 more_than_5000-9993 -1 more_than_5000-9994 -1 more_than_5000-9995 -1 more_than_5000-9996 -1 more_than_5000-9997 -1 more_than_5000-9998 -1 more_than_5000-9999 -4 b -6 a -1-col.txt.diff -1-col.txt.diff -2-col.txt -2-col.txt -2-col.txt.diff -2-col.txt.diff -1-col.txt.diff -1-col.txt.diff -2-col.txt -2-col.txt -2-col.txt.diff -2-col.txt.diff -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 1-col.txt -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 1-col.txt.diff -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 2-col.txt -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' 2-col.txt.diff -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' a -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' b -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9901 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9902 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9903 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9904 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9905 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9906 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9907 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9908 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9909 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9910 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9911 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9912 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9913 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9914 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9915 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9916 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9917 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9918 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9919 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9920 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9921 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9922 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9923 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9924 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9925 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9926 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9927 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9928 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9929 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9930 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9931 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9932 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9933 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9934 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9935 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9936 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9937 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9938 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9939 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9940 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9941 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9942 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9943 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9944 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9945 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9946 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9947 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9948 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9949 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9950 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9951 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9952 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9953 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9954 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9955 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9956 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9957 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9958 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9959 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9960 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9961 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9962 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9963 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9964 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9965 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9966 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9967 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9968 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9969 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9970 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9971 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9972 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9973 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9974 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9975 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9976 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9977 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9978 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9979 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9980 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9981 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9982 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9983 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9984 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9985 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9986 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9987 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9988 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9989 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9990 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9991 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9992 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9993 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9994 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9995 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9996 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9997 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9998 -perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' more_than_5000-9999 -1-col.txt.diff -1-col.txt.diff -2-col.txt -2-col.txt -2-col.txt.diff -2-col.txt.diff -1-col.txt.diff -1-col.txt.diff -2-col.txt -2-col.txt -2-col.txt.diff -2-col.txt.diff -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 1-col.txt -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 1-col.txt.diff -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 2-col.txt -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" 2-col.txt.diff -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" a -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" b -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9901 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9902 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9903 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9904 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9905 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9906 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9907 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9908 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9909 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9910 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9911 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9912 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9913 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9914 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9915 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9916 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9917 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9918 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9919 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9920 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9921 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9922 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9923 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9924 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9925 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9926 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9927 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9928 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9929 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9930 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9931 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9932 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9933 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9934 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9935 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9936 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9937 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9938 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9939 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9940 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9941 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9942 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9943 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9944 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9945 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9946 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9947 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9948 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9949 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9950 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9951 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9952 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9953 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9954 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9955 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9956 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9957 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9958 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9959 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9960 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9961 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9962 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9963 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9964 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9965 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9966 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9967 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9968 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9969 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9970 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9971 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9972 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9973 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9974 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9975 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9976 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9977 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9978 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9979 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9980 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9981 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9982 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9983 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9984 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9985 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9986 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9987 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9988 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9989 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9990 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9991 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9992 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9993 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9994 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9995 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9996 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9997 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9998 -perl -ne /^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\" more_than_5000-9999 diff --git a/unittest/actual-results/test02 b/unittest/actual-results/test02 deleted file mode 100644 index 213ceba1..00000000 --- a/unittest/actual-results/test02 +++ /dev/null @@ -1,14 +0,0 @@ -### Test filenames containing UTF-8 -. -./1-col.txt -./2-col.txt -./a -./a/bar -./a/foo -./a/foo2 -./b -./b/bar -./b/foo -./中国 (Zhōngguó) -./中国 (Zhōngguó)/China's (中国) road.jpg -./中国 (Zhōngguó)/thumb_China's (中国) road.jpg diff --git a/unittest/actual-results/test03 b/unittest/actual-results/test03 deleted file mode 100644 index 40593335..00000000 --- a/unittest/actual-results/test03 +++ /dev/null @@ -1,50 +0,0 @@ -a 1 -a 10 -a 11 -a 12 -a 13 -a 14 -a 15 -a 16 -a 17 -a 18 -a 19 -a 2 -a 20 -a 21 -a 22 -a 23 -a 24 -a 25 -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 9 -b 1 -b 10 -b 11 -b 12 -b 13 -b 14 -b 15 -b 16 -b 17 -b 18 -b 19 -b 2 -b 20 -b 21 -b 22 -b 23 -b 24 -b 25 -b 3 -b 4 -b 5 -b 6 -b 7 -b 8 -b 9 diff --git a/unittest/actual-results/test04 b/unittest/actual-results/test04 deleted file mode 100644 index d7a8ed45..00000000 --- a/unittest/actual-results/test04 +++ /dev/null @@ -1,8 +0,0 @@ -b801e53463bbe25ae078b5fa2652263d - -There are 917 dirs with 916 files -Removing files -982bd9f76f05cdd409ca0e8ceced92c7 - -There are 917 dirs with files -Removing dirs -eb6ee16fe9acc502c3123567cc789cbf - -There are 1 dirs with files diff --git a/unittest/actual-results/test05 b/unittest/actual-results/test05 deleted file mode 100644 index 62ecb2bf..00000000 --- a/unittest/actual-results/test05 +++ /dev/null @@ -1,8 +0,0 @@ -071eca55ffd15717546273235adeb775 - -There are 6246 dirs with 6246 files -Removing files -4e2ffc66811f839854f2f0071c1e0541 - -There are 6246 dirs with files -Removing dirs -1c91bf0327094531133e6ad95d2e23f5 - -There are 1 dirs with files diff --git a/unittest/actual-results/test06 b/unittest/actual-results/test06 deleted file mode 100644 index b1735d70..00000000 --- a/unittest/actual-results/test06 +++ /dev/null @@ -1,100 +0,0 @@ -a 1 -a 10 -a 11 -a 12 -a 13 -a 14 -a 15 -a 16 -a 17 -a 18 -a 19 -a 2 -a 20 -a 21 -a 22 -a 23 -a 24 -a 25 -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 9 -b 1 -b 10 -b 11 -b 12 -b 13 -b 14 -b 15 -b 16 -b 17 -b 18 -b 19 -b 2 -b 20 -b 21 -b 22 -b 23 -b 24 -b 25 -b 3 -b 4 -b 5 -b 6 -b 7 -b 8 -b 9 -a 1 -a 10 -a 11 -a 12 -a 13 -a 14 -a 15 -a 16 -a 17 -a 18 -a 19 -a 2 -a 20 -a 21 -a 22 -a 23 -a 24 -a 25 -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 9 -b 1 -b 10 -b 11 -b 12 -b 13 -b 14 -b 15 -b 16 -b 17 -b 18 -b 19 -b 2 -b 20 -b 21 -b 22 -b 23 -b 24 -b 25 -b 3 -b 4 -b 5 -b 6 -b 7 -b 8 -b 9 diff --git a/unittest/actual-results/test07 b/unittest/actual-results/test07 deleted file mode 100644 index b4a941d9..00000000 --- a/unittest/actual-results/test07 +++ /dev/null @@ -1,200 +0,0 @@ -1 -10 -100 -11 -12 -13 -14 -15 -16 -17 -18 -19 -2 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -3 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -4 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -5 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -6 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -7 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -8 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -9 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 1 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 10 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 100 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 11 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 12 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 13 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 14 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 15 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 16 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 17 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 18 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 19 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 2 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 20 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 21 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 22 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 23 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 24 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 25 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 26 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 27 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 28 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 29 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 3 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 30 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 31 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 32 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 33 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 34 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 35 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 36 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 37 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 38 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 39 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 4 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 40 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 41 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 42 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 43 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 44 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 45 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 46 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 47 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 48 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 49 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 5 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 50 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 51 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 52 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 53 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 54 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 55 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 56 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 57 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 58 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 59 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 6 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 60 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 61 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 62 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 63 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 64 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 65 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 66 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 67 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 68 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 69 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 7 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 70 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 71 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 72 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 73 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 74 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 75 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 76 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 77 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 78 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 79 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 8 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 80 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 81 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 82 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 83 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 84 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 85 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 86 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 87 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 88 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 89 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 9 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 90 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 91 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 92 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 93 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 94 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 95 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 96 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 97 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 98 -perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\){\$a=\"a\"x100}\;print\ shift,\"\\n\" 10000 99 diff --git a/unittest/actual-results/test08 b/unittest/actual-results/test08 deleted file mode 100644 index 491d2053..00000000 --- a/unittest/actual-results/test08 +++ /dev/null @@ -1,32 +0,0 @@ -b -d -1 -10 -2 -3 -4 -5 -6 -7 -8 -9 -1 -10 -2 -3 -4 -5 -6 -7 -8 -9 -1 -10 -2 -3 -4 -5 -6 -7 -8 -9 diff --git a/unittest/actual-results/test09 b/unittest/actual-results/test09 deleted file mode 100644 index 8424eda5..00000000 --- a/unittest/actual-results/test09 +++ /dev/null @@ -1,3 +0,0 @@ -Force outside the file handle limit -Start -end diff --git a/unittest/actual-results/test10 b/unittest/actual-results/test10 deleted file mode 100644 index bcc622d4..00000000 --- a/unittest/actual-results/test10 +++ /dev/null @@ -1,15 +0,0 @@ -### This causes problems if we kill child processes -33bf8b2986551515cdaff5e860618098 - -d7fb96d6a56d4347bc24930a395c431a - -### Test of xargs -m and -X -b35d8e49be8d94899b719c40d3f1f4bb - - 3 60000 348894 -1foo bar2foo bar3 Afoo barBfoo barC -1foo2foo3 1bar2bar3 AfooBfooC AbarBbarC -31d9274be5fdc2de59487cb05ba57776 - - 6 119994 697800 -31d9274be5fdc2de59487cb05ba57776 - -Chars per line: 116300 -### Bug before 2009-08-26 causing regexp compile error or infinite loop -'a' -'a' diff --git a/unittest/actual-results/test11 b/unittest/actual-results/test11 deleted file mode 100644 index 257cc564..00000000 --- a/unittest/actual-results/test11 +++ /dev/null @@ -1 +0,0 @@ -foo diff --git a/unittest/actual-results/test12 b/unittest/actual-results/test12 deleted file mode 100644 index 31eae36e..00000000 --- a/unittest/actual-results/test12 +++ /dev/null @@ -1 +0,0 @@ -75da7edc12b129d109af92592c61da56 - diff --git a/unittest/actual-results/test13 b/unittest/actual-results/test13 deleted file mode 100644 index 55a38481..00000000 --- a/unittest/actual-results/test13 +++ /dev/null @@ -1,52 +0,0 @@ -### Test -k -begin -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -end -### Test SIGTERM -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 diff --git a/unittest/actual-results/test14 b/unittest/actual-results/test14 deleted file mode 100644 index 25b48c72..00000000 --- a/unittest/actual-results/test14 +++ /dev/null @@ -1,79 +0,0 @@ -1 1 -2 1 -2 2 -3 1 -3 2 -3 3 -4 1 -4 2 -4 3 -4 4 -5 1 -5 2 -5 3 -5 4 -5 5 -6 1 -6 2 -6 3 -6 4 -6 5 -6 6 -7 1 -7 2 -7 3 -7 4 -7 5 -7 6 -7 7 -8 1 -8 2 -8 3 -8 4 -8 5 -8 6 -8 7 -8 8 -9 1 -9 2 -9 3 -9 4 -9 5 -9 6 -9 7 -9 8 -9 9 -10 1 -10 2 -10 3 -10 4 -10 5 -10 6 -10 7 -10 8 -10 9 -10 10 -a1 b1 -a2 b1 b2 -a3 b1 b2 b3 -a4 b1 b2 b3 b4 -a5 b1 b2 b3 b4 b5 -a6 b1 b2 b3 b4 b5 b6 -a7 b1 b2 b3 b4 b5 b6 b7 -a8 b1 b2 b3 b4 b5 b6 b7 b8 -a9 b1 b2 b3 b4 b5 b6 b7 b8 b9 -a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 -a1 b1 -a2 b1 2 -a3 b1 2 3 -a4 b1 2 3 4 -a5 b1 2 3 4 5 -a6 b1 2 3 4 5 6 -a7 b1 2 3 4 5 6 7 -a8 b1 2 3 4 5 6 7 8 -a9 b1 2 3 4 5 6 7 8 9 -a10 b1 2 3 4 5 6 7 8 9 10 -31d9274be5fdc2de59487cb05ba57776 - -Chars per line (697800/6): 116300 -22074f9acada52462defb18ba912d744 - -Chars per line (817788/7): 116826 diff --git a/unittest/actual-results/test15 b/unittest/actual-results/test15 deleted file mode 100644 index 1969f855..00000000 --- a/unittest/actual-results/test15 +++ /dev/null @@ -1,241 +0,0 @@ -### Test -L -l and --max-lines -a_b c -a_b c -a_b -c -a_b -c -a_b c -d -a_b c -d -a_b c d -e -a_b c d -e -a_b c -d -e -a_b c -d -e -a_b c d -e -a_b c d -e -a_b c -d -e -a_b c -d -e -a_b c d -e -a_b c d -e -a_b c -d -e -a_b c -d -e -### test too long args -Command line too long (1000005 >= 131071) at number 1: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... -xargs: argument line too long -1 2 -3 4 -5 6 -7 8 -Command line too long (1000007 >= 10) at number 1: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... -9 10 -1 2 -3 4 -5 6 -7 8 -xargs: argument line too long -9 10 -### Test -x -1 2 -3 4 -5 6 -Command line too long (15 >= 10) at number 3: 12345... -7 8 -1 2 -3 4 -5 6 -xargs: argument line too long -7 8 -1 2 -3 4 -5 6 -7 8 -9 10 -1234 -12 -13 -14 -15 -1 2 -3 4 -5 6 -7 8 -9 10 -1234 -12 -13 -14 -15 -### Test bugfix if no command given -Command line too long (1000002 >= 10) at number 1: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... -1 2 3 4 5 -### Test -a and --arg-file: Read input from file instead of stdin -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -xargs Expect: 3 1 2 -3 -1 -2 -parallel Expect: 3 1 2 -3 -1 -2 -xargs Expect: 1 3 2 -1 -3 -2 -parallel Expect: 1 3 2 -1 -3 -2 -### Test -i and --replace: Replace with argument -replace -replace -replace -replace -replace -replace -replace -replace -replace -### Test -E: Artificial end-of-file -include this -include this -### Test -e and --eof: Artificial end-of-file -include this -include this -include this -include this -### Test -n and --max-args: Max number of args per line (only with -X and -m) -line 1 -line 2 -line 3 -line 1 line 1 -line 2 -line 1 -line 2 -line 3 -line 1 line 1 -line 2 -line 1 -line 2 -line 3 -line 1 -line 2 -line 3 -line 1 line 1 -line 2 -line 1 line 1 -line 2 -### Test --max-procs and -P: Number of processes -max proc 1 -max proc 2 -max proc 3 -max proc 4 -max proc 5 -max proc 6 -max proc 7 -max proc 8 -max proc 9 -max proc 10 -200% proc 1 -200% proc 2 -200% proc 3 -200% proc 4 -200% proc 5 -200% proc 6 -200% proc 7 -200% proc 8 -200% proc 9 -200% proc 10 -### Test --delimiter and -d: Delimiter instead of newline -# Yes there is supposed to be an extra newline for -d N -This is line 1 -This is line 2 -This is line 3 - -This is line 1 -This is line 2 -This is line 3 - -delimiter NUL line 1 -line 2 -line 3 -delimiter TAB line 1 -line 2 -line 3 -### Test --max-chars and -s: Max number of chars in a line -line 1 line 1 -line 2 -line 1 line 1 -line 2 -### Test --no-run-if-empty and -r: This should give no output -### Test --help and -h: Help output (just check we get the same amount of lines) -Output from -h and --help -4 -4 -### Test --version: Version output (just check we get the same amount of lines) -7 -### Test --verbose and -t -echo bar -echo car -echo far -echo bar -echo car -echo far -### Test --show-limits -Maximal size of command: 131071 -Maximal used size of command: 131071 - -Execution of will continue now, and it will try to read its input -and run commands; if this is not what you wanted to happen, please -press CTRL-D or CTRL-C -bar -car -far -Maximal size of command: 131071 -Maximal used size of command: 100 - -Execution of will continue now, and it will try to read its input -and run commands; if this is not what you wanted to happen, please -press CTRL-D or CTRL-C -bar -car -far diff --git a/unittest/actual-results/test16 b/unittest/actual-results/test16 deleted file mode 100644 index c00983b5..00000000 --- a/unittest/actual-results/test16 +++ /dev/null @@ -1,204 +0,0 @@ -### Test weird regexp chars -a1b1^c1[.}c a2b2^c2[.}c a3b3^c3[.}c a4b4^c4[.}c a5b5^c5[.}c a6b6^c6[.}c -### Test {.} and {} -### Test {.} with files that have no . but dir does -/tmp/test-of-{.}-parallel/subdir/file -/tmp/test-of-{.}-parallel/subdir/file{.} -ls 1-col.diff|wc;echo 1-col.diff - 1 1 11 -1-col.diff -ls 1-col.txt|wc;echo 1-col.txt - 1 1 10 -1-col.txt -ls 2-col.diff|wc;echo 2-col.diff - 1 1 11 -2-col.diff -ls 2-col.txt|wc;echo 2-col.txt - 1 1 10 -2-col.txt -ls a|wc;echo a - 6 6 41 -a -ls b|wc;echo b - 4 4 26 -b -ls 中国\ \(Zhōngguó\)|wc;echo 中国\ \(Zhōngguó\) - 4 12 118 -中国 (Zhōngguó) -1 1-col.diff -1 1-col.txt -1 2-col.diff -1 2-col.txt -6 a -4 b -4 中国 (Zhōngguó) -1 1-col.diff -1 1-col.txt -1 2-col.diff -1 2-col.txt -6 a -4 b -4 中国 (Zhōngguó) -touch -- 1-col/abc-1-col-1-col -touch -- 1-col/abc-1-col-1-col.diff -touch -- 1-col/abc-1-col-1-col.txt -touch -- 2-col/abc-2-col-2-col -touch -- 2-col/abc-2-col-2-col.diff -touch -- 2-col/abc-2-col-2-col.txt -touch -- a/abc-a-a -touch -- b/abc-b-b -touch -- 中国\ \(Zhōngguó\)/abc-中国\ \(Zhōngguó\)-中国\ \(Zhōngguó\) -rm -- 1-col/abc-1-col-1-col -rm -- 1-col/abc-1-col-1-col.diff -rm -- 1-col/abc-1-col-1-col.txt -rm -- 2-col/abc-2-col-2-col -rm -- 2-col/abc-2-col-2-col.diff -rm -- 2-col/abc-2-col-2-col.txt -rm -- a/abc-a-a -rm -- b/abc-b-b -rm -- 中国\ \(Zhōngguó\)/abc-中国\ \(Zhōngguó\)-中国\ \(Zhōngguó\) -### Test -m -1foo bar joe.gif2foo bar joe3 Afoo bar joeBfoo bar joeC -1foo2foo3 1bar2bar3 1joe.gif2joe3 AfooBfooC AbarBbarC AjoeBjoeC -a1.gif 2.gif 3.gif 4.gif 5.gif 6.gifb1 2 3 4 5 6c1 2 3 4 5 6 -a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6 -### Test -m with 60000 args -98c94dcab1efedab3f820935d230bc77 - - 12 180011 1286837 -### Test -X with 60000 args -12de4813eda45d364a51bef697eee299 - - 13 120000 1586682 -### Test -X with 60000 args and 5 expansions -19 -15 -13 -10 -7 -### Test -I with shell meta chars -9 -9 -9 -9 -### Test {.} -'a' -'a' -begin -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -end -### Test -I with -X and -m -1 1 -2 1 -2 2 -3 1 -3 2 -3 3 -4 1 -4 2 -4 3 -4 4 -5 1 -5 2 -5 3 -5 4 -5 5 -6 1 -6 2 -6 3 -6 4 -6 5 -6 6 -7 1 -7 2 -7 3 -7 4 -7 5 -7 6 -7 7 -8 1 -8 2 -8 3 -8 4 -8 5 -8 6 -8 7 -8 8 -9 1 -9 2 -9 3 -9 4 -9 5 -9 6 -9 7 -9 8 -9 9 -10 1 -10 2 -10 3 -10 4 -10 5 -10 6 -10 7 -10 8 -10 9 -10 10 -a1 b1 -a2 b1 b2 -a3 b1 b2 b3 -a4 b1 b2 b3 b4 -a5 b1 b2 b3 b4 b5 -a6 b1 b2 b3 b4 b5 b6 -a7 b1 b2 b3 b4 b5 b6 b7 -a8 b1 b2 b3 b4 b5 b6 b7 b8 -a9 b1 b2 b3 b4 b5 b6 b7 b8 b9 -a10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 -a1 b1 -a2 b1 2 -a3 b1 2 3 -a4 b1 2 3 4 -a5 b1 2 3 4 5 -a6 b1 2 3 4 5 6 -a7 b1 2 3 4 5 6 7 -a8 b1 2 3 4 5 6 7 8 -a9 b1 2 3 4 5 6 7 8 9 -a10 b1 2 3 4 5 6 7 8 9 10 -### Test -i -replace -### Test --replace -replace -### Test -t -echo bar -echo car -echo far -### Test --verbose -echo bar -echo car -echo far diff --git a/unittest/actual-results/test17 b/unittest/actual-results/test17 deleted file mode 100644 index 6a8c846b..00000000 --- a/unittest/actual-results/test17 +++ /dev/null @@ -1,573 +0,0 @@ -### Test --transfer --return --cleanup -# Create some weirdly files in /tmp -### --transfer - abspath -file1 -file2 -file3 -file>fire -file5 -file6 -file7 -file8 -file9 -file10 -file : & ) \n*.jpg -file/./sub dir -file13 -file14 -file15 -file16 -file17 -file18 -file19 -file20 -good if no file -ls: cannot access /tmp/parallel.file*: No such file or directory -### --transfer - relpath -file1 -file2 -file3 -file>fire -file5 -file6 -file7 -file8 -file9 -file10 -file : & ) \n*.jpg -file/./sub dir -file13 -file14 -file15 -file16 -file17 -file18 -file19 -file20 -good if no file -ls: cannot access tmp/parallel.file*: No such file or directory -### --transfer --cleanup - abspath -file1 -file2 -file3 -file>fire -file5 -file6 -file7 -file8 -file9 -file10 -file : & ) \n*.jpg -file/./sub dir -file13 -file14 -file15 -file16 -file17 -file18 -file19 -file20 -good if no file -ls: cannot access /tmp/parallel.file*: No such file or directory -### --transfer --cleanup - relpath -file1 -file2 -file3 -file>fire -file5 -file6 -file7 -file8 -file9 -file10 -file : & ) \n*.jpg -file/./sub dir -file13 -file14 -file15 -file16 -file17 -file18 -file19 -file20 -good if no file -ls: cannot access tmp/parallel.file*: No such file or directory -OK -### --return - abspath -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.out -/tmp/parallel.file10.out -/tmp/parallel.file13.out -/tmp/parallel.file14.out -/tmp/parallel.file15.out -/tmp/parallel.file16.out -/tmp/parallel.file17.out -/tmp/parallel.file18.out -/tmp/parallel.file19.out -/tmp/parallel.file2.out -/tmp/parallel.file20.out -/tmp/parallel.file3.out -/tmp/parallel.file5.out -/tmp/parallel.file6.out -/tmp/parallel.file7.out -/tmp/parallel.file8.out -/tmp/parallel.file9.out -/tmp/parallel.file>fire.out -### --return - relpath -tmp/parallel.file : & ) \n*.jpg.out -tmp/parallel.file/sub dir.out -tmp/parallel.file1.out -tmp/parallel.file10.out -tmp/parallel.file13.out -tmp/parallel.file14.out -tmp/parallel.file15.out -tmp/parallel.file16.out -tmp/parallel.file17.out -tmp/parallel.file18.out -tmp/parallel.file19.out -tmp/parallel.file2.out -tmp/parallel.file20.out -tmp/parallel.file3.out -tmp/parallel.file5.out -tmp/parallel.file6.out -tmp/parallel.file7.out -tmp/parallel.file8.out -tmp/parallel.file9.out -tmp/parallel.file>fire.out -### --return - multiple files -tmp/parallel.file : & ) \n*.jpg.file.done -tmp/parallel.file : & ) \n*.jpg.out -tmp/parallel.file/sub dir.file.done -tmp/parallel.file/sub dir.out -tmp/parallel.file1.file.done -tmp/parallel.file1.out -tmp/parallel.file10.file.done -tmp/parallel.file10.out -tmp/parallel.file13.file.done -tmp/parallel.file13.out -tmp/parallel.file14.file.done -tmp/parallel.file14.out -tmp/parallel.file15.file.done -tmp/parallel.file15.out -tmp/parallel.file16.file.done -tmp/parallel.file16.out -tmp/parallel.file17.file.done -tmp/parallel.file17.out -tmp/parallel.file18.file.done -tmp/parallel.file18.out -tmp/parallel.file19.file.done -tmp/parallel.file19.out -tmp/parallel.file2.file.done -tmp/parallel.file2.out -tmp/parallel.file20.file.done -tmp/parallel.file20.out -tmp/parallel.file3.file.done -tmp/parallel.file3.out -tmp/parallel.file5.file.done -tmp/parallel.file5.out -tmp/parallel.file6.file.done -tmp/parallel.file6.out -tmp/parallel.file7.file.done -tmp/parallel.file7.out -tmp/parallel.file8.file.done -tmp/parallel.file8.out -tmp/parallel.file9.file.done -tmp/parallel.file9.out -tmp/parallel.file>fire.file.done -tmp/parallel.file>fire.out -### --return --cleanup - abspath -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -good if no file -ls: cannot access /tmp/parallel.file*: No such file or directory -OK -### --return --cleanup - relpath -tmp/parallel.file : & ) \n*.jpg.file.done -tmp/parallel.file : & ) \n*.jpg.out -tmp/parallel.file/sub dir.file.done -tmp/parallel.file/sub dir.out -tmp/parallel.file1.file.done -tmp/parallel.file1.out -tmp/parallel.file10.file.done -tmp/parallel.file10.out -tmp/parallel.file13.file.done -tmp/parallel.file13.out -tmp/parallel.file14.file.done -tmp/parallel.file14.out -tmp/parallel.file15.file.done -tmp/parallel.file15.out -tmp/parallel.file16.file.done -tmp/parallel.file16.out -tmp/parallel.file17.file.done -tmp/parallel.file17.out -tmp/parallel.file18.file.done -tmp/parallel.file18.out -tmp/parallel.file19.file.done -tmp/parallel.file19.out -tmp/parallel.file2.file.done -tmp/parallel.file2.out -tmp/parallel.file20.file.done -tmp/parallel.file20.out -tmp/parallel.file3.file.done -tmp/parallel.file3.out -tmp/parallel.file5.file.done -tmp/parallel.file5.out -tmp/parallel.file6.file.done -tmp/parallel.file6.out -tmp/parallel.file7.file.done -tmp/parallel.file7.out -tmp/parallel.file8.file.done -tmp/parallel.file8.out -tmp/parallel.file9.file.done -tmp/parallel.file9.out -tmp/parallel.file>fire.file.done -tmp/parallel.file>fire.out -good if no file -ls: cannot access tmp/parallel.file*: No such file or directory -OK -### --return --cleanup - multiple returns -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -good if no file -ls: cannot access tmp/parallel.file*: No such file or directory -OK -### --transfer --return --cleanup - abspath -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -good if no file -ls: cannot access /tmp/parallel.file*: No such file or directory -OK -### --transfer --return --cleanup - relpath -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -good if no file -ls: cannot access tmp/parallel.file*: No such file or directory -OK -### --transfer --return --cleanup - multiple files -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -ls: cannot access tmp/parallel.file*: No such file or directory -OK -### --trc - abspath -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -good if no file -ls: cannot access /tmp/parallel.file*: No such file or directory -OK -### --trc - relpath -tmp/parallel.file : & ) \n*.jpg.file.done -tmp/parallel.file : & ) \n*.jpg.out -tmp/parallel.file/sub dir.file.done -tmp/parallel.file/sub dir.out -tmp/parallel.file1.file.done -tmp/parallel.file1.out -tmp/parallel.file10.file.done -tmp/parallel.file10.out -tmp/parallel.file13.file.done -tmp/parallel.file13.out -tmp/parallel.file14.file.done -tmp/parallel.file14.out -tmp/parallel.file15.file.done -tmp/parallel.file15.out -tmp/parallel.file16.file.done -tmp/parallel.file16.out -tmp/parallel.file17.file.done -tmp/parallel.file17.out -tmp/parallel.file18.file.done -tmp/parallel.file18.out -tmp/parallel.file19.file.done -tmp/parallel.file19.out -tmp/parallel.file2.file.done -tmp/parallel.file2.out -tmp/parallel.file20.file.done -tmp/parallel.file20.out -tmp/parallel.file3.file.done -tmp/parallel.file3.out -tmp/parallel.file5.file.done -tmp/parallel.file5.out -tmp/parallel.file6.file.done -tmp/parallel.file6.out -tmp/parallel.file7.file.done -tmp/parallel.file7.out -tmp/parallel.file8.file.done -tmp/parallel.file8.out -tmp/parallel.file9.file.done -tmp/parallel.file9.out -tmp/parallel.file>fire.file.done -tmp/parallel.file>fire.out -good if no file -ls: cannot access tmp/parallel.file*: No such file or directory -OK -### --trc - multiple files -/tmp/parallel.file : & ) \n*.jpg.file.done -/tmp/parallel.file : & ) \n*.jpg.out -/tmp/parallel.file/sub dir.file.done -/tmp/parallel.file/sub dir.out -/tmp/parallel.file1.file.done -/tmp/parallel.file1.out -/tmp/parallel.file10.file.done -/tmp/parallel.file10.out -/tmp/parallel.file13.file.done -/tmp/parallel.file13.out -/tmp/parallel.file14.file.done -/tmp/parallel.file14.out -/tmp/parallel.file15.file.done -/tmp/parallel.file15.out -/tmp/parallel.file16.file.done -/tmp/parallel.file16.out -/tmp/parallel.file17.file.done -/tmp/parallel.file17.out -/tmp/parallel.file18.file.done -/tmp/parallel.file18.out -/tmp/parallel.file19.file.done -/tmp/parallel.file19.out -/tmp/parallel.file2.file.done -/tmp/parallel.file2.out -/tmp/parallel.file20.file.done -/tmp/parallel.file20.out -/tmp/parallel.file3.file.done -/tmp/parallel.file3.out -/tmp/parallel.file5.file.done -/tmp/parallel.file5.out -/tmp/parallel.file6.file.done -/tmp/parallel.file6.out -/tmp/parallel.file7.file.done -/tmp/parallel.file7.out -/tmp/parallel.file8.file.done -/tmp/parallel.file8.out -/tmp/parallel.file9.file.done -/tmp/parallel.file9.out -/tmp/parallel.file>fire.file.done -/tmp/parallel.file>fire.out -good if no file -ls: cannot access /tmp/parallel.file*: No such file or directory -OK diff --git a/unittest/actual-results/test18 b/unittest/actual-results/test18 deleted file mode 100644 index 156d5728..00000000 --- a/unittest/actual-results/test18 +++ /dev/null @@ -1,94 +0,0 @@ -### Check warning if --transfer but file not found -Warning: /tmp/noexistant/file is not readable and will not be transferred -/tmp/noexistant/file -### Transfer for file starting with : -remote-:.: -content-: -remote-file:name.file:name -content-file:name -remote-file:name.foo.file:name -content-file:name.foo -remote-file: name.foo.file: name -content-file: name.foo -remote-file : name.foo.file : name -content-file : name.foo -### Check warning if --transfer but not --sshlogin -Warning: --transfer ignored as there are no remote --sshlogin - -### Check warning if --return but not --sshlogin -Warning: --return ignored as there are no remote --sshlogin - -### Check warning if --cleanup but not --sshlog10 -### Check forced number of CPUs being respected -alpha -### Check more than 9 simultaneous sshlogins -### Check more than 9(relative) simultaneous sshlogins -### Check -S syntax -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -PUs being respected -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -nlv.pi.dk -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha -### Check more than 9 simultaneous sshlogins -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -### Check more than 9(relative) simultaneous sshlogins -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -### Check -S syntax -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 diff --git a/unittest/actual-results/test19 b/unittest/actual-results/test19 deleted file mode 100644 index f74a0fc8..00000000 --- a/unittest/actual-results/test19 +++ /dev/null @@ -1 +0,0 @@ -### Test --transfer --return --cleanup - files with newline diff --git a/unittest/actual-results/test20 b/unittest/actual-results/test20 deleted file mode 100644 index e80c2ed8..00000000 --- a/unittest/actual-results/test20 +++ /dev/null @@ -1,8 +0,0 @@ -### Test --number-of-cpus -1 -### Test --number-of-cores -2 -### Test --use-cpus-instead-of-cores -Cores should complete first on machines with less than 4 physical CPUs -cores done -CPUs done diff --git a/unittest/actual-results/test21 b/unittest/actual-results/test21 deleted file mode 100644 index fb071aab..00000000 --- a/unittest/actual-results/test21 +++ /dev/null @@ -1,11 +0,0 @@ -### Test $PARALLEL -1 -ssh -l parallel parallel-server2 echo\ 1; -1 -ssh parallel-server3 echo\ 2; -2 -### Test ~/.parallelrc -ssh -l parallel parallel-server2 echo\ 1; -1 -ssh parallel-server3 echo\ 2; -2 diff --git a/unittest/actual-results/test22 b/unittest/actual-results/test22 deleted file mode 100644 index bb1ca3ec..00000000 --- a/unittest/actual-results/test22 +++ /dev/null @@ -1,58 +0,0 @@ -### Test exit val -0 -1 -### Test --halt-on-error -1 -parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed: -sleep 2;false -1 -parallel: This job failed: -sleep 2;false -1 -sh: non_exist: command not found -2 -parallel: Starting no more jobs. Waiting for 3 jobs to finish. This job failed: -sleep 2;false -sh: non_exist: command not found -parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed: -sleep 4; non_exist -127 -parallel: This job failed: -sleep 2;false -1 -### Test last dying print --halt-on-error -0 -1 -parallel: Starting no more jobs. Waiting for 9 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 1 -2 -parallel: Starting no more jobs. Waiting for 8 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 2 -3 -parallel: Starting no more jobs. Waiting for 7 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 3 -4 -parallel: Starting no more jobs. Waiting for 6 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 4 -5 -parallel: Starting no more jobs. Waiting for 5 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 5 -6 -parallel: Starting no more jobs. Waiting for 4 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 6 -7 -parallel: Starting no more jobs. Waiting for 3 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 7 -8 -0 -parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 8 -9 -parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 9 -9 -0 -1 -parallel: This job failed: -perl -e sleep\ \$ARGV[0]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 1 -1 diff --git a/unittest/actual-results/test23 b/unittest/actual-results/test23 deleted file mode 100644 index b89b8637..00000000 --- a/unittest/actual-results/test23 +++ /dev/null @@ -1,46 +0,0 @@ -### Test --basefile with no --sshlogin -Warning: --basefile ignored as there are no remote --sshlogin - -### Test --basefile + --cleanup + permissions -script1 run 1 -script2 run 1 -script1 run 2 -script2 run 2 -script1 run 3 -script2 run 3 -script1 run 4 -script2 run 4 -script1 run 5 -script2 run 5 -good if no file -ls: cannot access script1: No such file or directory -OK -ls: cannot access script2: No such file or directory -OK -### Test --basefile + --sshlogin : -1 -10 -11 -12 -13 -2 -3 -4 -5 -6 -7 -8 -9 -1 -10 -11 -12 -13 -2 -3 -4 -5 -6 -7 -8 -9 diff --git a/unittest/tests-to-run/test15.sh b/unittest/tests-to-run/test15.sh index 445bbd61..b3314969 100755 --- a/unittest/tests-to-run/test15.sh +++ b/unittest/tests-to-run/test15.sh @@ -4,6 +4,36 @@ PAR=parallel +echo '### Test -p --interactive' +cat >/tmp/parallel-script-for-expect <<_EOF +#!/bin/bash + +seq 1 3 | parallel -k -p echo opt-p +seq 1 3 | parallel -k --interactive echo opt--interactive +_EOF +chmod 755 /tmp/parallel-script-for-expect + +expect -b - <<_EOF +spawn /tmp/parallel-script-for-expect +expect "echo opt-p 1" +send "y\n" +expect "echo opt-p 2" +send "n\n" +expect "echo opt-p 3" +send "y\n" +expect "opt-p 1" +expect "opt-p 3" +expect "echo opt--interactive 1" +send "y\n" +expect "echo opt--interactive 2" +send "n\n" +expect "echo opt--interactive 3" +send "y\n" +expect "opt--interactive 1" +expect "opt--interactive 3" +_EOF + + echo '### Test -L -l and --max-lines' (echo a_b;echo c) | parallel -km -L2 echo (echo a_b;echo c) | xargs -L2 echo diff --git a/unittest/wanted-results/test15 b/unittest/wanted-results/test15 index 1969f855..114fc295 100644 --- a/unittest/wanted-results/test15 +++ b/unittest/wanted-results/test15 @@ -1,3 +1,15 @@ +### Test -p --interactive +spawn /tmp/parallel-script-for-expect +echo opt-p 1 ?...y +echo opt-p 2 ?...n +echo opt-p 3 ?...y +opt-p 1 +opt-p 3 +echo opt--interactive 1 ?...y +echo opt--interactive 2 ?...n +echo opt--interactive 3 ?...y +opt--interactive 1 +opt--interactive 3 ### Test -L -l and --max-lines a_b c a_b c diff --git a/unittest/wanted-results/test24 b/unittest/wanted-results/test24 new file mode 100644 index 00000000..8434e4ad --- /dev/null +++ b/unittest/wanted-results/test24 @@ -0,0 +1 @@ +### 64-bit wierdness - this did not complete on a 64-bit machine