diff --git a/doc/haikus b/doc/haikus index 41845832..9d181dfd 100644 --- a/doc/haikus +++ b/doc/haikus @@ -4,17 +4,27 @@ Quote of the month: + + "Do this with gnu parallel" is the Copilot hack of the day + -- Chase Clark @chasingmicrobes.bsky.social + + GNU Parallel too. It is my map/reduce tool with built in support to retry failed jobs. + -- Dhruva @mechanicker.bsky.social + + gnu parallel is my new favorite toy + -- Eytan Adar @eytan.adar.prof + + ainda não inventaram palavras capazes de expressar minha gratidão aos desenvolvedores do GNU Parallel + -- @nueidris.kawaii.social + GNU parallel is awesome. Use it more often in your scripts! -- Wade @WadeGrimshire@twitter i rly love gnu parallel over xargs, it's basically the same but has lots of useful and well documented options. sry if u know already -- d@nny "disc@" mc² @hipsterelectron@circumstances.run - ainda não inventaram palavras capazes de expressar minha gratidão aos desenvolvedores do GNU Parallel - -- nueidris ‪@nueidris.kawaii.social‬ - Und die Tage jetzt hab ich GNU parallel für mich entdeckt, auch ne nette Geschichte, gerade wenn's irgendwelche remote APIs sind. - -- Vince ‪@dd1des.bsky.social‬ + -- Vince @dd1des.bsky.social gnu parallelすごい!!! -- たらたら@nosennyuu@twitter diff --git a/doc/release_new_version b/doc/release_new_version index 94853ebf..f20f70b3 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -132,6 +132,9 @@ description="An easy way to support GNU Parallel is to tip on LBRY. $(perl -ne '/About\sGNU\sParallel/ and exit;/It\sis\savailable/..0 and print' doc/release_new_version) " +echo +echo "Title: $title" +echo echo "$description" | grep '<<.*>>' && echo STOP STOP STOP || echo "$description" @@ -272,39 +275,25 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -Subject: GNU Parallel 20241122 ('Ahoo Daryaei') released +Subject: GNU Parallel 202xxx22 ('Scooter/Assad/Damaskus/South Korea/Georgien/Aleppo/<<>>') released <<[stable]>> -GNU Parallel 20241122 ('Ahoo Daryaei') has been released. It is available for download at: lbry://@GnuParallel:4 +GNU Parallel 202xxx22 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 Quote of the month: - GNU parallel is so satisfying - -- James Coman @jcoman.bsky.social + <<>> New in this release: -* --pipe --block works similar to --pipepart --block if --block size is negative. +<<>> -* DBURLs can be written with / instead of %2F for sqlite and CSV. +<<* No new features. This is a candidate for a stable release.>> * Bug fixes and man page updates. News about GNU Parallel: -* Embarrassingly GNU parallel - https://dengin.xyz/blog/2024/10/24/embarrassingly-gnu-parallel/ - -* GNU Parallel for Your Terminal Tasks - https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/ - -* How to leverage GNU parallel to utilize multiple cores while running AUGUSTUS - https://lifescienceshub.wixsite.com/lifesciencehub/post/how-to-leverage-gnu-parallel-to-utilize-multiple-cores-while-running-augustus - -* GNU Parallel: The Good Parts - https://diekmeier.de/posts/2024-11-17-gnu-parallel/ - -* Put your CPU to work with GNU Parallel - https://www.redhat.com/en/blog/gnu-parallel +<<>> GNU Parallel - For people who live life in the parallel lane. diff --git a/packager/obs/home-tange/parallel/.osc/_files b/packager/obs/home-tange/parallel/.osc/_files index 14d09c57..8dad9df2 100644 --- a/packager/obs/home-tange/parallel/.osc/_files +++ b/packager/obs/home-tange/parallel/.osc/_files @@ -1,6 +1,6 @@ - - - + + + diff --git a/packager/obs/home-tange/parallel/Makefile b/packager/obs/home-tange/parallel/Makefile index 0686f2b6..628f3d15 100644 --- a/packager/obs/home-tange/parallel/Makefile +++ b/packager/obs/home-tange/parallel/Makefile @@ -3,7 +3,9 @@ all: update upload monitorbuild update: # Update sha256sum - s=`sha256sum parallel-*.tar.bz2|field 1` perl -i -pe 's/(sha256sums=..)\w+(..)/$$1$$ENV{s}$$2/' PKGBUILD + s1=`sha256sum parallel-*.tar.bz2|field 1` \ + s2=`sha256sum parallel-*.tar.bz2.sig|field 1` \ + perl -i -pe 's/(sha256sums=..)\w+(...)\w+(..)/$$1$$ENV{s1}$$2$$ENV{s2}$$3/' PKGBUILD # Update version perl -i -pe 's/pkgver=.*/pkgver=$$ENV{YYYYMMDD}/' PKGBUILD osc diff diff --git a/src/env_parallel.pod b/src/env_parallel.pod index ad5675a4..90ab0805 100644 --- a/src/env_parallel.pod +++ b/src/env_parallel.pod @@ -13,8 +13,7 @@ env_parallel - export environment to GNU parallel =head1 SYNOPSIS -B [--record-env|--session|--end-session] - [options for GNU Parallel] +B [--record-env|--session|--end-session] [options for GNU Parallel] =head1 DESCRIPTION diff --git a/src/parallel b/src/parallel index 4fbd963e..855c85f6 100755 --- a/src/parallel +++ b/src/parallel @@ -2945,7 +2945,7 @@ sub check_invalid_option_combinations() { sub init_globals() { # Defaults: - $Global::version = 20241122; + $Global::version = 20241201; $Global::progname = 'parallel'; $::name = "GNU Parallel"; $Global::infinity = 2**31; @@ -15124,6 +15124,10 @@ sub new($) { ::error("The DBURL ($dburl) must contain a table."); ::wait_and_exit(255); } + if($options{'table'} =~ m:/:) { + ::error("The table name ($options{'table'}) cannot contain /"); + ::wait_and_exit(255); + } return bless { 'dbh' => $dbh, diff --git a/src/parallel.pod b/src/parallel.pod index 612e6e37..0491c263 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -3244,7 +3244,7 @@ Examples: B<4/>, B<12/> The I to use. The I must be followed by a space. -Example: B, B +Example: B , B =item Z<> I diff --git a/src/sphinx/source/conf.py b/src/sphinx/source/conf.py index 40fc620c..4487befb 100644 --- a/src/sphinx/source/conf.py +++ b/src/sphinx/source/conf.py @@ -66,7 +66,7 @@ master_doc = 'sphinx' # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = "en" # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. diff --git a/src/sql b/src/sql index 2d7ea808..86f523e4 100755 --- a/src/sql +++ b/src/sql @@ -597,6 +597,11 @@ if($database_driver eq "mysql" or $database_driver eq "influxssl") { ($batch_command,$interactive_command) = influx_commands($database_driver,%dburl); +} elsif($database_driver eq "csv") { + ($batch_command,$interactive_command) = + csv_commands($database_driver,%dburl); +} else { + die("Unsupported driver: $database_driver"); } my $err; @@ -635,8 +640,6 @@ if($dburl{'query'}) { $batch_command = "(cat $qfile;rm $qfile; cat) | $batch_command"; } - - do { if(@ARGV) { # SQL Commands given as arguments: @@ -746,36 +749,38 @@ sub parse_options { sub database_driver_alias { my $driver = shift; - my %database_driver_alias = ("mysql" => "mysql", - "mysqls" => "mysqlssl", - "mysqlssl" => "mysqlssl", - "oracle" => "oracle", - "ora" => "oracle", - "oracles" => "oraclessl", - "oras" => "oraclessl", - "oraclessl" => "oraclessl", - "orassl" => "oraclessl", - "postgresql" => "postgresql", - "pgsql" => "postgresql", - "postgres" => "postgresql", - "pg" => "postgresql", - "postgresqlssl" => "postgresqlssl", - "pgsqlssl" => "postgresqlssl", - "postgresssl" => "postgresqlssl", - "pgssl" => "postgresqlssl", - "postgresqls" => "postgresqlssl", - "pgsqls" => "postgresqlssl", - "postgress" => "postgresqlssl", - "pgs" => "postgresqlssl", - "sqlite" => "sqlite", - "sqlite2" => "sqlite", - "sqlite3" => "sqlite3", - "influx" => "influx", - "influxdb" => "influx", - "influxssl" => "influxssl", - "influxdbssl" => "influxssl", - "influxs" => "influxssl", - "influxdbs" => "influxssl", + my %database_driver_alias = ( + "csv" => "csv", + "influx" => "influx", + "influxdb" => "influx", + "influxdbs" => "influxssl", + "influxdbssl" => "influxssl", + "influxs" => "influxssl", + "influxssl" => "influxssl", + "mysql" => "mysql", + "mysqls" => "mysqlssl", + "mysqlssl" => "mysqlssl", + "ora" => "oracle", + "oracle" => "oracle", + "oracles" => "oraclessl", + "oraclessl" => "oraclessl", + "oras" => "oraclessl", + "orassl" => "oraclessl", + "pg" => "postgresql", + "pgs" => "postgresqlssl", + "pgsql" => "postgresql", + "pgsqls" => "postgresqlssl", + "pgsqlssl" => "postgresqlssl", + "pgssl" => "postgresqlssl", + "postgres" => "postgresql", + "postgresql" => "postgresql", + "postgresqls" => "postgresqlssl", + "postgresqlssl" => "postgresqlssl", + "postgress" => "postgresqlssl", + "postgresssl" => "postgresqlssl", + "sqlite" => "sqlite", + "sqlite2" => "sqlite", + "sqlite3" => "sqlite3", ); return $database_driver_alias{$driver}; } @@ -907,6 +912,30 @@ sub sqlite_commands { return($batch_command,$interactive_command); } +sub csv_commands { + my ($database_driver,%opt) = (@_); + my $csvsql = find_command_in_path("csvsql") || + die ("csvsql not in path"); + my $sep = defined($::opt_s) ? "-d '$::opt_s'" : ""; + my $database = defined($opt{'database'}) ? + "$opt{'database'}" : "$ENV{'USER'}"; + + my $format = defined($::opt_json) ? "-format json" : + defined($::opt_pretty) ? "-format json -pretty" : + defined($::opt_csv) ? "-format csv" : ""; + my $precision = defined($::opt_precision) ? + "-precision $::opt_precision" : ""; + + my $no_headers = defined($::opt_n) ? "--skip-column-names" : ""; + my $ssl = ""; + + $batch_command = + "$csvsql $pass_through_options $no_headers $format ". + "$precision $database ".'--query "`cat`"'; + $interactive_command = $batch_command; + return($batch_command,$interactive_command); +} + sub influx_commands { my ($database_driver,%opt) = (@_); my $influx = find_command_in_path("influx") || @@ -1191,7 +1220,7 @@ sub parse_dburl { )? (?: / - ([^?]*)? # Database ($6) + ([^?]*?)? # Database ($6) )? (?: /? diff --git a/testsuite/Makefile b/testsuite/Makefile index 7ab86c61..332d3bf9 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -129,16 +129,16 @@ servers=parallel-server1 parallel-server2 parallel-server3 parallel-server4 ${na startvm: sort -u ~/.ssh/*.pub vagrant/authorized_keys > vagrant/authorized_keys. mv vagrant/authorized_keys. vagrant/authorized_keys - parallel -j0 --tag -k '${start}' ::: ${servers} & + parallel -j0 --tag -k --timeout 60 '${start}' ::: ${servers} & stopvm: parallel -j0 --tag -k '${stop}' ::: ${namedservers} || true startdb: sql oracle://SYSTEM:$$VM_ORACLE_PWD@/FREE "select 'Oracle is running' from dual;" || \ - (cd vagrant-projects/OracleDatabase/23.4.0-Free && vagrant up && \ + (cd vagrant-projects/OracleDatabase/23.3.0-Free && vagrant up && \ sql oracle://SYSTEM:$$VM_ORACLE_PWD@/FREE "select 'Oracle is running' from dual;") stopdb: - cd vagrant-projects/OracleDatabase/23.4.0-Free; vagrant suspend + cd vagrant-projects/OracleDatabase/23.3.0-Free; vagrant suspend ### Distribution installparallel: ../src/parallel diff --git a/testsuite/REQUIREMENTS b/testsuite/REQUIREMENTS index 0068fa23..f358da78 100644 --- a/testsuite/REQUIREMENTS +++ b/testsuite/REQUIREMENTS @@ -14,7 +14,7 @@ install_packages() { test_pkgs="$test_pkgs autossh sshpass lsh-client lsh-utils jq" test_pkgs="$test_pkgs libpod-simple-perl libtext-csv-perl" test_pkgs="$test_pkgs libtest-nowarnings-perl pod2pdf" - test_pkgs="$test_pkgs xemacs21" + test_pkgs="$test_pkgs xemacs21 csvkit" test_pkgs="$test_pkgs gawk lua5.3 clisp php-cli nodejs guile-3.0 fsharp" test_pkgs="$test_pkgs mono-csharp-shell octave openjdk-11-jdk-headless tcl" test_pkgs="$test_pkgs racket libevent-dev python-is-python3" diff --git a/testsuite/tests-to-run/parallel-local-10s.sh b/testsuite/tests-to-run/parallel-local-10s.sh index 62d373e3..038b6145 100755 --- a/testsuite/tests-to-run/parallel-local-10s.sh +++ b/testsuite/tests-to-run/parallel-local-10s.sh @@ -8,6 +8,18 @@ # Each should be taking 10-30s and be possible to run in parallel # I.e.: No race conditions, no logins +par_retries_lb_jl() { + echo Broken in 20240522 + tmp=$(mktemp) + export tmp + parallel-20240522 --lb --jl /dev/null --timeout 0.3 --retries 5 'echo should be 5 lines >> "$tmp";sleep {}' ::: 20 + cat "$tmp" + > "$tmp" + parallel --lb --jl /dev/null --timeout 0.3 --retries 5 'echo 5 lines >> "$tmp";sleep {}' ::: 20 + cat "$tmp" + rm "$tmp" +} + par_--match() { export PARALLEL=-k echo Basic match @@ -224,22 +236,6 @@ par__round_robin_blocks() { seq 20000000 | parallel -j8 --block 10M --round-robin --pipe wc -c | wc -l } -par_compress_prg_fails() { - echo "### bug #41609: --compress fails" - seq 12 | parallel --compress --compress-program gzip -k seq {} 10000 | md5sum - seq 12 | parallel --compress -k seq {} 10000 | md5sum - - echo '### bug #44546: If --compress-program fails: fail' - doit() { - (parallel $* --compress-program false \ - echo \; sleep 1\; ls ::: /no-existing - echo $?) | tail -n1 - } - export -f doit - stdout parallel --tag -k doit ::: '' --line-buffer ::: '' --tag ::: '' --files | - grep -v -- -dc -} - par_dryrun_timeout_ungroup() { echo 'bug #51039: --dry-run --timeout 1.4m -u breaks' seq 1000 | stdout parallel --dry-run --timeout 1.4m -u --jobs 10 echo | wc diff --git a/testsuite/tests-to-run/parallel-local-30s.sh b/testsuite/tests-to-run/parallel-local-30s.sh index 47d98873..d7cda674 100755 --- a/testsuite/tests-to-run/parallel-local-30s.sh +++ b/testsuite/tests-to-run/parallel-local-30s.sh @@ -86,6 +86,7 @@ par__dburl_parsing() { } export -f test_dburl parallel -j1 --tag test_dburl ::: ${dburls[@]} + parallel -j1 --tag test_dburl {}/ ::: ${dburls[@]} ) rmdir test } @@ -142,7 +143,7 @@ par__print_in_blocks() { perl -e 'for(1..30){print("$_\n");`sleep .3`}' | parallel -j3 --delay 0.3 echo | timestamp -d -d | - perl -pe 's/(.....).*/int($1*10+0.2)/e' | + perl -pe 's/(.....).*/int($1*10+0.1)/e' | median } @@ -176,18 +177,6 @@ par__keeporder_roundrobin() { fi } -par_retries_lb_jl() { - echo Broken in 20240522 - tmp=$(mktemp) - export tmp - parallel-20240522 --lb --jl /dev/null --timeout 0.3 --retries 5 'echo should be 5 lines >> "$tmp";sleep {}' ::: 20 - cat "$tmp" - > "$tmp" - parallel --lb --jl /dev/null --timeout 0.3 --retries 5 'echo 5 lines >> "$tmp";sleep {}' ::: 20 - cat "$tmp" - rm "$tmp" -} - par_reload_slf_every_second() { echo "### --slf should reload every second" tmp=$(mktemp) @@ -677,7 +666,7 @@ par__test_detected_shell() { } export -f test_known_shell_pipe - stdout parallel -j2 --tag -k \ + stdout nice parallel -j2 --tag -k \ ::: test_unknown_shell test_known_shell_c test_known_shell_pipe \ ::: $shells | grep -Ev 'parallel: Warning: (Starting .* processes took|Consider adjusting)' @@ -728,101 +717,102 @@ par_max_length_len_128k() { par__plus_dyn_repl() { echo "Dynamic replacement strings defined by --plus" - + pp="nice parallel --plus" + unset myvar echo ${myvar:-myval} parallel --rpl '{:-(.+)} $_ ||= $$1' echo {:-myval} ::: "$myvar" - parallel --plus echo {:-myval} ::: "$myvar" - parallel --plus echo {2:-myval} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2:-myval} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {:-myval} ::: "$myvar" + $pp echo {2:-myval} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2:-myval} ::: "wrong" ::: "$myvar" ::: "wrong" myvar=abcAaBdefCdefDdef echo ${myvar:2} parallel --rpl '{:(\d+)} substr($_,0,$$1) = ""' echo {:2} ::: "$myvar" - parallel --plus echo {:2} ::: "$myvar" - parallel --plus echo {2:2} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2:2} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {:2} ::: "$myvar" + $pp echo {2:2} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2:2} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar:2:3} parallel --rpl '{:(\d+?):(\d+?)} $_ = substr($_,$$1,$$2);' echo {:2:3} ::: "$myvar" - parallel --plus echo {:2:3} ::: "$myvar" - parallel --plus echo {2:2:3} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2:2:3} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {:2:3} ::: "$myvar" + $pp echo {2:2:3} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2:2:3} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${#myvar} parallel --rpl '{#} $_ = length $_;' echo {#} ::: "$myvar" # {#} used for job number - parallel --plus echo {#} ::: "$myvar" + $pp echo {#} ::: "$myvar" echo ${myvar#bc} parallel --rpl '{#(.+?)} s/^$$1//;' echo {#bc} ::: "$myvar" - parallel --plus echo {#bc} ::: "$myvar" - parallel --plus echo {2#bc} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2#bc} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {#bc} ::: "$myvar" + $pp echo {2#bc} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2#bc} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar#abc} parallel --rpl '{#(.+?)} s/^$$1//;' echo {#abc} ::: "$myvar" - parallel --plus echo {#abc} ::: "$myvar" - parallel --plus echo {2#abc} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2#abc} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {#abc} ::: "$myvar" + $pp echo {2#abc} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2#abc} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar%de} parallel --rpl '{%(.+?)} s/$$1$//;' echo {%de} ::: "$myvar" - parallel --plus echo {%de} ::: "$myvar" - parallel --plus echo {2%de} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2%de} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {%de} ::: "$myvar" + $pp echo {2%de} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2%de} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar%def} parallel --rpl '{%(.+?)} s/$$1$//;' echo {%def} ::: "$myvar" - parallel --plus echo {%def} ::: "$myvar" - parallel --plus echo {2%def} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2%def} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {%def} ::: "$myvar" + $pp echo {2%def} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2%def} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar/def/ghi} parallel --rpl '{/(.+?)/(.+?)} s/$$1/$$2/;' echo {/def/ghi} ::: "$myvar" - parallel --plus echo {/def/ghi} ::: "$myvar" - parallel --plus echo {2/def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2/def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {/def/ghi} ::: "$myvar" + $pp echo {2/def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2/def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar//def/ghi} parallel --rpl '{//(.+?)/(.+?)} s/$$1/$$2/g;' echo {//def/ghi} ::: "$myvar" - parallel --plus echo {//def/ghi} ::: "$myvar" - parallel --plus echo {2//def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2//def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {//def/ghi} ::: "$myvar" + $pp echo {2//def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2//def/ghi} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar^a} parallel --rpl '{^(.+?)} s/^($$1)/uc($1)/e;' echo {^a} ::: "$myvar" - parallel --plus echo {^a} ::: "$myvar" - parallel --plus echo {2^a} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2^a} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {^a} ::: "$myvar" + $pp echo {2^a} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2^a} ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar^^a} parallel --rpl '{^^(.+?)} s/($$1)/uc($1)/eg;' echo {^^a} ::: "$myvar" - parallel --plus echo {^^a} ::: "$myvar" - parallel --plus echo {2^^a} ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo {-2^^a} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {^^a} ::: "$myvar" + $pp echo {2^^a} ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo {-2^^a} ::: "wrong" ::: "$myvar" ::: "wrong" myvar=AbcAaAdef echo ${myvar,A} parallel --rpl '{,(.+?)} s/^($$1)/lc($1)/e;' echo '{,A}' ::: "$myvar" - parallel --plus echo '{,A}' ::: "$myvar" - parallel --plus echo '{2,A}' ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo '{-2,A}' ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo '{,A}' ::: "$myvar" + $pp echo '{2,A}' ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo '{-2,A}' ::: "wrong" ::: "$myvar" ::: "wrong" echo ${myvar,,A} parallel --rpl '{,,(.+?)} s/($$1)/lc($1)/eg;' echo '{,,A}' ::: "$myvar" - parallel --plus echo '{,,A}' ::: "$myvar" - parallel --plus echo '{2,,A}' ::: "wrong" ::: "$myvar" ::: "wrong" - parallel --plus echo '{-2,,A}' ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo '{,,A}' ::: "$myvar" + $pp echo '{2,,A}' ::: "wrong" ::: "$myvar" ::: "wrong" + $pp echo '{-2,,A}' ::: "wrong" ::: "$myvar" ::: "wrong" myvar=abcabcdefdef echo $myvar ${myvar/#abc/ABC} - echo $myvar | parallel --plus echo {} {/#abc/ABC} + echo $myvar | $pp echo {} {/#abc/ABC} echo $myvar ${myvar/%def/DEF} - echo $myvar | parallel --plus echo {} {/%def/DEF} + echo $myvar | $pp echo {} {/%def/DEF} echo $myvar ${myvar/#abc/} - echo $myvar | parallel --plus echo {} {/#abc/} + echo $myvar | $pp echo {} {/#abc/} echo $myvar ${myvar/%def/} - echo $myvar | parallel --plus echo {} {/%def/} + echo $myvar | $pp echo {} {/%def/} } -par_test_ipv6_format() { +par__test_ipv6_format() { # If not MaxStartups 100:30:1000 then this will fail ipv4() { ifconfig | perl -nE '/inet (\S+) / and say $1' @@ -831,7 +821,7 @@ par_test_ipv6_format() { ifconfig | perl -nE '/inet6 ([0-9a-f:]+) .*(host|global)/ and say $1' } (ipv4; ipv6) | - parallel ssh -oStrictHostKeyChecking=accept-new {} true 2>/dev/null + nice parallel ssh -oStrictHostKeyChecking=accept-new {} true 2>/dev/null echo '### Host as IPv6 address' ( ipv6 | @@ -848,7 +838,7 @@ par_test_ipv6_format() { # 9.9.9.9q22 => 9.9.9.9 perl -pe 's/q.*//;' ) | - parallel -j200% --argsep , parallel -S {} true ::: 1 || + nice parallel -j200% --argsep , parallel -S {} true ::: 1 || echo Failed } diff --git a/testsuite/tests-to-run/parallel-local-race02.sh b/testsuite/tests-to-run/parallel-local-race02.sh index 79cecc40..9fb1f655 100755 --- a/testsuite/tests-to-run/parallel-local-race02.sh +++ b/testsuite/tests-to-run/parallel-local-race02.sh @@ -24,80 +24,6 @@ env_underscore() { } env_underscore -ctrlz_should_suspend_children() { - echo 'bug #46120: Suspend should suspend (at least local) children' - echo 'it should burn 1.9 CPU seconds, but no more than that' - echo 'The 5 second sleep will make it be killed by timeout when it fgs' - - run() { - cmd="$1" - sleep="$2" - error="$3" - input_source_pipe() { - echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | \grep -q CPUTIME=1 - } - input_source_cmdline() { - stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1 - } - # $cmd is input_source_pipe or input_source_cmdline - $cmd & - echo $cmd - sleep $sleep - kill -TSTP -$! - sleep 5 - fg - echo $error $? - } - export -f run - clean() { - grep -v '\[1\]' | grep -v 'SHA256' - } - - stdout bash -i -c 'run input_source_pipe 1.9 Zero=OK' | clean - stdout bash -i -c 'run input_source_cmdline 1.9 Zero=OK' | clean - echo "Control case: This should run 2.9 seconds" - stdout bash -i -c 'run input_source_cmdline 2.9 1=OK' | clean -} -ctrlz_should_suspend_children - -par_totaljob_repl() { - echo '{##} bug #45841: Replacement string for total no of jobs' - - parallel -k --plus echo {##} ::: {a..j}; - parallel -k 'echo {= $::G++ > 3 and ($_=$Global::JobQueue->total_jobs());=}' ::: {1..10} - parallel -k -N7 --plus echo {#} {##} ::: {1..14} - parallel -k -N7 --plus echo {#} {##} ::: {1..15} - parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15} - parallel -k --plus --delay 0.01 -j 10 'sleep 2; echo {0#}/{##}:{0%}' ::: {1..5} ::: {1..4} -} - -par_semaphore() { - echo '### Test if parallel invoked as sem will run parallel --semaphore' - sem --id as_sem -u -j2 'echo job1a 1; sleep 3; echo job1b 3' - sleep 0.5 - sem --id as_sem -u -j2 'echo job2a 2; sleep 3; echo job2b 5' - sleep 0.5 - sem --id as_sem -u -j2 'echo job3a 4; sleep 3; echo job3b 6' - sem --id as_sem --wait - echo done -} - -par_more_than_9_relative_sshlogin() { - echo '### Check more than 9(relative) simultaneous sshlogins' - seq 1 11 | stdout parallel -k -j10000% -S "ssh lo" echo | - grep -v 'parallel: Warning:' -} - -par_sql_CSV() { - echo '### CSV write to the right place' - rm -rf /tmp/parallel-CSV - mkdir /tmp/parallel-CSV - parallel --sqlandworker csv:///%2Ftmp%2Fparallel-CSV/OK echo ::: 'ran OK' - ls /tmp/parallel-CSV - stdout parallel --sqlandworker csv:///%2Fmust%2Ffail/fail echo ::: 1 | - perl -pe 's/\d/0/g' -} - par_hostgroup() { echo '### --hostgroup force ncpu - 2x parallel, 6x me' parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo \ @@ -137,128 +63,6 @@ par_hostgroup() { 'whoami;sleep 1;true' ::: {1..6} | sort } -par_PARALLEL_RSYNC_OPTS() { - echo '### test rsync opts' - touch parallel_rsync_opts.test - - parallel --rsync-opts -rlDzRRRR -vv -S parallel@lo --trc {}.out touch {}.out ::: parallel_rsync_opts.test | - perl -nE 's/(\S+RRRR)/say $1/ge' - export PARALLEL_RSYNC_OPTS=-zzzzrldRRRR - parallel -vv -S parallel@lo --trc {}.out touch {}.out ::: parallel_rsync_opts.test | - perl -nE 's/(\S+RRRR)/say $1/ge' - rm parallel_rsync_opts.test parallel_rsync_opts.test.out - echo -} - -par_retries_bug_from_2010() { - echo '### Bug with --retries' - seq 1 8 | - parallel --retries 2 --sshlogin 8/localhost,8/: -j+0 "hostname; false" | - wc -l - seq 1 8 | - parallel --retries 2 --sshlogin 8/localhost,8/: -j+1 "hostname; false" | - wc -l - seq 1 2 | - parallel --retries 2 --sshlogin 8/localhost,8/: -j-1 "hostname; false" | - wc -l - seq 1 1 | - parallel --retries 2 --sshlogin 1/localhost,1/: -j1 "hostname; false" | - wc -l - seq 1 1 | - parallel --retries 2 --sshlogin 1/localhost,1/: -j9 "hostname; false" | - wc -l - seq 1 1 | - parallel --retries 2 --sshlogin 1/localhost,1/: -j0 "hostname; false" | - wc -l - - echo '### These were not affected by the bug' - seq 1 8 | - parallel --retries 2 --sshlogin 1/localhost,9/: -j-1 "hostname; false" | - wc -l - seq 1 8 | - parallel --retries 2 --sshlogin 8/localhost,8/: -j-1 "hostname; false" | - wc -l - seq 1 1 | - parallel --retries 2 --sshlogin 1/localhost,1/: "hostname; false" | - wc -l - seq 1 4 | - parallel --retries 2 --sshlogin 2/localhost,2/: -j-1 "hostname; false" | - wc -l - seq 1 4 | - parallel --retries 2 --sshlogin 2/localhost,2/: -j1 "hostname; false" | - wc -l - seq 1 4 | - parallel --retries 2 --sshlogin 1/localhost,1/: -j1 "hostname; false" | - wc -l - seq 1 2 | - parallel --retries 2 --sshlogin 1/localhost,1/: -j1 "hostname; false" | - wc -l -} - -par_kill_hup() { - echo '### Are children killed if GNU Parallel receives HUP? There should be no sleep at the end' - - parallel -j 2 -q bash -c 'sleep {} & pid=$!; wait $pid' ::: 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 & - T=$! - sleep 3.9 - pstree $$ - kill -HUP $T - sleep 4 - pstree $$ -} - -par_resume_failed_k() { - echo '### bug #38299: --resume-failed -k' - tmp=$(mktemp) - parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 - echo try 2. Gives failing - not 0 - parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 - echo with exit 0 - parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit 0 ::: 0 1 2 3 0 1 - sleep 0.5 - echo try 2 again. Gives empty - parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 - rm "$tmp" -} - -par_testhalt() { - testhalt_false() { - echo '### testhalt --halt '$1; - (yes 0 | head -n 10; seq 10) | - stdout parallel -kj4 --delay 0.27 --halt $1 \ - 'echo job {#}; sleep {= $_=0.3*($_+1+seq()) =}; exit {}'; echo $?; - } - testhalt_true() { - echo '### testhalt --halt '$1; - (seq 10; yes 0 | head -n 10) | - stdout parallel -kj4 --delay 0.17 --halt $1 \ - 'echo job {#}; sleep {= $_=0.3*($_+1+seq()) =}; exit {}'; echo $?; - }; - export -f testhalt_false; - export -f testhalt_true; - - stdout parallel -k --delay 0.11 --tag testhalt_{4} {1},{2}={3} \ - ::: now soon ::: fail success done ::: 0 1 2 30% 70% ::: true false | - # Remove lines that only show up now and then - perl -ne '/Starting no more jobs./ or print' -} - -par_continuous_output() { - # After the first batch, each jobs should output when it finishes. - # Old versions delayed output by $jobslots jobs - doit() { - echo "Test delayed output with '$1'" - echo "-u is optimal but hard to reach, due to non-mixing" - seq 10 | - parallel -j1 $1 --delay 1.5 -N0 echo | - parallel -j4 $1 -N0 'sleep 0.6;date' | - timestamp -dd | - perl -pe 's/(.).*/$1/' - } - export -f doit - parallel -k doit ::: '' -u -} - export -f $(compgen -A function | grep par_) compgen -A function | G "$@" | grep par_ | sort | # parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1' diff --git a/testsuite/tests-to-run/parallel-local-race03.sh b/testsuite/tests-to-run/parallel-local-race03.sh new file mode 100644 index 00000000..69ebfee6 --- /dev/null +++ b/testsuite/tests-to-run/parallel-local-race03.sh @@ -0,0 +1,225 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + +# These fail regularly if run in parallel +# If they fail: Move them to race02.sh + +ctrlz_should_suspend_children() { + echo 'bug #46120: Suspend should suspend (at least local) children' + echo 'it should burn 1.9 CPU seconds, but no more than that' + echo 'The 5 second sleep will make it be killed by timeout when it fgs' + + run() { + cmd="$1" + sleep="$2" + error="$3" + input_source_pipe() { + echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" | \grep -q CPUTIME=1 + } + input_source_cmdline() { + stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1 + } + # $cmd is input_source_pipe or input_source_cmdline + $cmd & + echo $cmd + sleep $sleep + kill -TSTP -$! + sleep 5 + fg + echo $error $? + } + export -f run + clean() { + grep -v '\[1\]' | grep -v 'SHA256' + } + + stdout bash -i -c 'run input_source_pipe 1.9 Zero=OK' | clean + stdout bash -i -c 'run input_source_cmdline 1.9 Zero=OK' | clean + echo "Control case: This should run 2.9 seconds" + stdout bash -i -c 'run input_source_cmdline 2.9 1=OK' | clean +} +ctrlz_should_suspend_children + +par_totaljob_repl() { + echo '{##} bug #45841: Replacement string for total no of jobs' + + parallel -k --plus echo {##} ::: {a..j}; + parallel -k 'echo {= $::G++ > 3 and ($_=$Global::JobQueue->total_jobs());=}' ::: {1..10} + parallel -k -N7 --plus echo {#} {##} ::: {1..14} + parallel -k -N7 --plus echo {#} {##} ::: {1..15} + parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15} + parallel -k --plus --delay 0.01 -j 10 'sleep 2; echo {0#}/{##}:{0%}' ::: {1..5} ::: {1..4} +} + +par_semaphore() { + echo '### Test if parallel invoked as sem will run parallel --semaphore' + sem --id as_sem -u -j2 'echo job1a 1; sleep 3; echo job1b 3' + sleep 0.5 + sem --id as_sem -u -j2 'echo job2a 2; sleep 3; echo job2b 5' + sleep 0.5 + sem --id as_sem -u -j2 'echo job3a 4; sleep 3; echo job3b 6' + sem --id as_sem --wait + echo done +} + +par_more_than_9_relative_sshlogin() { + echo '### Check more than 9(relative) simultaneous sshlogins' + seq 1 11 | stdout parallel -k -j10000% -S "ssh lo" echo | + grep -v 'parallel: Warning:' +} + +par_sql_CSV() { + echo '### CSV write to the right place' + rm -rf /tmp/parallel-CSV + mkdir /tmp/parallel-CSV + parallel --sqlandworker csv:///%2Ftmp%2Fparallel-CSV/OK echo ::: 'ran OK' + ls /tmp/parallel-CSV + stdout parallel --sqlandworker csv:///%2Fmust%2Ffail/fail echo ::: 1 | + perl -pe 's/\d/0/g' +} + +par_PARALLEL_RSYNC_OPTS() { + echo '### test rsync opts' + touch parallel_rsync_opts.test + + parallel --rsync-opts -rlDzRRRR -vv -S parallel@lo --trc {}.out touch {}.out ::: parallel_rsync_opts.test | + perl -nE 's/(\S+RRRR)/say $1/ge' + export PARALLEL_RSYNC_OPTS=-zzzzrldRRRR + parallel -vv -S parallel@lo --trc {}.out touch {}.out ::: parallel_rsync_opts.test | + perl -nE 's/(\S+RRRR)/say $1/ge' + rm parallel_rsync_opts.test parallel_rsync_opts.test.out + echo +} + +par_retries_bug_from_2010() { + echo '### Bug with --retries' + seq 1 8 | + parallel --retries 2 --sshlogin 8/localhost,8/: -j+0 "hostname; false" | + wc -l + seq 1 8 | + parallel --retries 2 --sshlogin 8/localhost,8/: -j+1 "hostname; false" | + wc -l + seq 1 2 | + parallel --retries 2 --sshlogin 8/localhost,8/: -j-1 "hostname; false" | + wc -l + seq 1 1 | + parallel --retries 2 --sshlogin 1/localhost,1/: -j1 "hostname; false" | + wc -l + seq 1 1 | + parallel --retries 2 --sshlogin 1/localhost,1/: -j9 "hostname; false" | + wc -l + seq 1 1 | + parallel --retries 2 --sshlogin 1/localhost,1/: -j0 "hostname; false" | + wc -l + + echo '### These were not affected by the bug' + seq 1 8 | + parallel --retries 2 --sshlogin 1/localhost,9/: -j-1 "hostname; false" | + wc -l + seq 1 8 | + parallel --retries 2 --sshlogin 8/localhost,8/: -j-1 "hostname; false" | + wc -l + seq 1 1 | + parallel --retries 2 --sshlogin 1/localhost,1/: "hostname; false" | + wc -l + seq 1 4 | + parallel --retries 2 --sshlogin 2/localhost,2/: -j-1 "hostname; false" | + wc -l + seq 1 4 | + parallel --retries 2 --sshlogin 2/localhost,2/: -j1 "hostname; false" | + wc -l + seq 1 4 | + parallel --retries 2 --sshlogin 1/localhost,1/: -j1 "hostname; false" | + wc -l + seq 1 2 | + parallel --retries 2 --sshlogin 1/localhost,1/: -j1 "hostname; false" | + wc -l +} + +par_kill_hup() { + echo '### Are children killed if GNU Parallel receives HUP? There should be no sleep at the end' + + parallel -j 2 -q bash -c 'sleep {} & pid=$!; wait $pid' ::: 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 & + T=$! + sleep 3.9 + pstree $$ + kill -HUP $T + sleep 4 + pstree $$ +} + +par_resume_failed_k() { + echo '### bug #38299: --resume-failed -k' + tmp=$(mktemp) + parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 + echo try 2. Gives failing - not 0 + parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 + echo with exit 0 + parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit 0 ::: 0 1 2 3 0 1 + sleep 0.5 + echo try 2 again. Gives empty + parallel -k --resume-failed --joblog "$tmp" echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 + rm "$tmp" +} + +par_testhalt() { + testhalt_false() { + echo '### testhalt --halt '$1; + (yes 0 | head -n 10; seq 10) | + stdout parallel -kj4 --delay 0.27 --halt $1 \ + 'echo job {#}; sleep {= $_=0.3*($_+1+seq()) =}; exit {}'; echo $?; + } + testhalt_true() { + echo '### testhalt --halt '$1; + (seq 10; yes 0 | head -n 10) | + stdout parallel -kj4 --delay 0.17 --halt $1 \ + 'echo job {#}; sleep {= $_=0.3*($_+1+seq()) =}; exit {}'; echo $?; + }; + export -f testhalt_false; + export -f testhalt_true; + + stdout parallel -k --delay 0.11 --tag testhalt_{4} {1},{2}={3} \ + ::: now soon ::: fail success done ::: 0 1 2 30% 70% ::: true false | + # Remove lines that only show up now and then + perl -ne '/Starting no more jobs./ or print' +} + +par_continuous_output() { + # After the first batch, each jobs should output when it finishes. + # Old versions delayed output by $jobslots jobs + doit() { + echo "Test delayed output with '$1'" + echo "-u is optimal but hard to reach, due to non-mixing" + seq 10 | + parallel -j1 $1 --delay 1.5 -N0 echo | + parallel -j4 $1 -N0 'sleep 0.6;date' | + timestamp -dd | + perl -pe 's/(.).*/$1/' + } + export -f doit + parallel -k doit ::: '' -u +} + +par__compress_prg_fails() { + echo "### bug #41609: --compress fails" + seq 12 | parallel --compress --compress-program gzip -k seq {} 10000 | md5sum + seq 12 | parallel --compress -k seq {} 10000 | md5sum + + echo '### bug #44546: If --compress-program fails: fail' + doit() { + (parallel $* --compress-program false \ + echo \; sleep 1\; ls ::: /no-existing + echo $?) | tail -n1 + } + export -f doit + stdout parallel --tag -k doit ::: '' --line-buffer ::: '' --tag ::: '' --files | + grep -v -- -dc +} + +export -f $(compgen -A function | grep par_) +compgen -A function | G "$@" | grep par_ | sort | + # parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1' + parallel -o --joblog /tmp/jl-`basename $0` -j1 --tag -k '{} 2>&1' diff --git a/testsuite/tests-to-run/parallel-local-sql01.sh b/testsuite/tests-to-run/parallel-local-sql01.sh index cf30d2c0..409cfacf 100644 --- a/testsuite/tests-to-run/parallel-local-sql01.sh +++ b/testsuite/tests-to-run/parallel-local-sql01.sh @@ -170,12 +170,13 @@ par_sql_joblog() { par_no_table() { echo 'bug #50018: --dburl without table dies' + echo should default to table USERNAME + parallel --sqlandworker $SERVERURL echo ::: OK + echo $? + parallel --sqlmaster $SERVERURL echo ::: OK + echo $? parallel --sqlworker $SERVERURL echo $? - parallel --sqlandworker $SERVERURL echo ::: no_output - echo $? - parallel --sqlmaster $SERVERURL echo ::: no_output - echo $? # For p_wrapper to remove table parallel --sqlandworker $DBURL true ::: dummy ::: dummy } diff --git a/testsuite/tests-to-run/sql01.sh b/testsuite/tests-to-run/sql01.sh index 42fac15b..2547e1ae 100755 --- a/testsuite/tests-to-run/sql01.sh +++ b/testsuite/tests-to-run/sql01.sh @@ -60,7 +60,7 @@ INSERT INTO unittest VALUES (1,'abc'); INSERT INTO unittest VALUES (3,'def'); SELECT 'Yes it does' as 'Test reading SQL from file works'; EOF - sql $MYSQL_TEST_DBURL/sqlunittest <"$unittest" + sql $MYSQL_TEST_DBURL <"$unittest" } testtable() { diff --git a/testsuite/tests-to-run/sql02.sh b/testsuite/tests-to-run/sql02.sh index 03252bbf..6604a6e9 100755 --- a/testsuite/tests-to-run/sql02.sh +++ b/testsuite/tests-to-run/sql02.sh @@ -52,7 +52,8 @@ par_influx() { sql -s . influx:///parallel 'SELECT * FROM cpu;' sql --html influx:///parallel 'SELECT * FROM cpu;' sql influx:///parallel 'drop database parallel' - ) | perl -pe 's/\d/0/g;' + ) | perl -pe 's/\d/0/g; s/sql line (\d+)./sql line 000./ +' } diff --git a/testsuite/tests-to-run/sql03.sh b/testsuite/tests-to-run/sql03.sh index d004d9ae..e89462b4 100755 --- a/testsuite/tests-to-run/sql03.sh +++ b/testsuite/tests-to-run/sql03.sh @@ -109,10 +109,35 @@ par_showdatabases() { par_listproc() { echo "### Test --listproc" - sql --listproc :oraunittest | + shortest-output() { + # Initialize variables to store the shortest output and its length + shortest_output="" + shortest_length=9999999 # Start with a large number + runs=$1 + shift + # Run the command more times + for i in {1..$runs}; do + # Run the command and capture the output + output=$("$@") + + # Get the length of the current output + output_length=${#output} + + # Check if the current output is shorter than the shortest found so far + if [[ $output_length -lt $shortest_length ]]; then + shortest_output="$output" + shortest_length=$output_length + fi + done + + # Print the shortest output + echo "$shortest_output" + } + # Try 10 times: Other jobs may be running in parallel + shortest-output 10 nice sql --listproc :oraunittest | perl -ne '/select 1 from dual|user_objects|user_tablespaces|connect_by_filtering/ and next; s/[21 ]\.\d{4,5}/1.99999/; - s/ +/ /g; + s/\s+/ /g; print' sql --listproc $MYSQL_TEST_DBURL | perl -pe 's/^\d+/XXX/' diff --git a/testsuite/wanted-results/parallel-local-10s b/testsuite/wanted-results/parallel-local-10s index 3101efa7..e4881fb9 100644 --- a/testsuite/wanted-results/parallel-local-10s +++ b/testsuite/wanted-results/parallel-local-10s @@ -549,38 +549,6 @@ par_colsep echo ac par_colsep ac par_colsep echo ac par_colsep ac -par_compress_prg_fails ### bug #41609: --compress fails -par_compress_prg_fails f1a751b1283e99e7dda40f63f1225f74 - -par_compress_prg_fails f1a751b1283e99e7dda40f63f1225f74 - -par_compress_prg_fails ### bug #44546: If --compress-program fails: fail -par_compress_prg_fails 1 -par_compress_prg_fails parallel: Error: false failed. -par_compress_prg_fails parallel: Error: false failed. -par_compress_prg_fails --files 1 -par_compress_prg_fails --files parallel: Warning: Use --files0 when $TMPDIR contains newline. -par_compress_prg_fails --files parallel: Error: false failed. -par_compress_prg_fails --files parallel: Error: false failed. -par_compress_prg_fails --tag 1 -par_compress_prg_fails --tag parallel: Error: false failed. -par_compress_prg_fails --tag parallel: Error: false failed. -par_compress_prg_fails --tag --files 1 -par_compress_prg_fails --tag --files parallel: Warning: Use --files0 when $TMPDIR contains newline. -par_compress_prg_fails --tag --files parallel: Error: false failed. -par_compress_prg_fails --tag --files parallel: Error: false failed. -par_compress_prg_fails --line-buffer 1 -par_compress_prg_fails --line-buffer parallel: Error: false failed. -par_compress_prg_fails --line-buffer parallel: Error: false failed. -par_compress_prg_fails --line-buffer --files 1 -par_compress_prg_fails --line-buffer --files parallel: Warning: Use --files0 when $TMPDIR contains newline. -par_compress_prg_fails --line-buffer --files parallel: Error: false failed. -par_compress_prg_fails --line-buffer --files parallel: Error: false failed. -par_compress_prg_fails --line-buffer --tag 1 -par_compress_prg_fails --line-buffer --tag parallel: Error: false failed. -par_compress_prg_fails --line-buffer --tag parallel: Error: false failed. -par_compress_prg_fails --line-buffer --tag --files 1 -par_compress_prg_fails --line-buffer --tag --files parallel: Warning: Use --files0 when $TMPDIR contains newline. -par_compress_prg_fails --line-buffer --tag --files parallel: Error: false failed. -par_compress_prg_fails --line-buffer --tag --files parallel: Error: false failed. par_dryrun_timeout_ungroup bug #51039: --dry-run --timeout 1.4m -u breaks par_dryrun_timeout_ungroup 1000 2000 8893 par_failing_compressor Compress with failing (de)compressor @@ -1367,6 +1335,25 @@ par_retries_all_fail 5 par_retries_all_fail 6 par_retries_all_fail 7 par_retries_all_fail 8 +par_retries_lb_jl Broken in 20240522 +par_retries_lb_jl parallel: Warning: This job was killed because it timed out: +par_retries_lb_jl parallel: Warning: echo should be 5 lines >> "$tmp";sleep 20 +par_retries_lb_jl should be 5 lines +par_retries_lb_jl parallel: Warning: This job was killed because it timed out: +par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 +par_retries_lb_jl parallel: Warning: This job was killed because it timed out: +par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 +par_retries_lb_jl parallel: Warning: This job was killed because it timed out: +par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 +par_retries_lb_jl parallel: Warning: This job was killed because it timed out: +par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 +par_retries_lb_jl parallel: Warning: This job was killed because it timed out: +par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 +par_retries_lb_jl 5 lines +par_retries_lb_jl 5 lines +par_retries_lb_jl 5 lines +par_retries_lb_jl 5 lines +par_retries_lb_jl 5 lines par_seqreplace_long_line ### Test --seqreplace and line too long par_seqreplace_long_line 9 1 1 101 par_seqreplace_long_line 90 1 1 201 diff --git a/testsuite/wanted-results/parallel-local-30s b/testsuite/wanted-results/parallel-local-30s index c9539a4d..5e55c89d 100644 --- a/testsuite/wanted-results/parallel-local-30s +++ b/testsuite/wanted-results/parallel-local-30s @@ -3,7 +3,7 @@ par__dburl_parsing csv:///mydir/tange Execution ERROR: Cannot open /tmp/parallel par__dburl_parsing csv:///mydir/tange `/tmp/trip`>/tmp/tripwire; par__dburl_parsing csv:///mydir/tange  par__dburl_parsing csv:///mydir/tange "'@/tmp/tripwire; par__dburl_parsing csv:///./mydir/tange  par__dburl_parsing csv:///./mydir/tange "'@/tmp/tripwire; par__dburl_parsing csv:///.%2Fmydir/tange  par__dburl_parsing csv:///.%2Fmydir/tange "'@/tmp/tripwire; par__dburl_parsing csv:///./tange  par__dburl_parsing csv:///./tange "'@/tmp/tripwire; par__dburl_parsing csv:///./  par__dburl_parsing csv:///./ "'@/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire; is not a valid DBURL par__dburl_parsing  parallel: Error:  is not a valid DBURL par__dburl_parsing "'@ line 1. +par__dburl_parsing sqlite3:///%2Ftmp%2Fparallel-local-30s-tmp%2F parallel: Error: The table name (/tmp/parallel-local-30s-tmp/) cannot contain / par__dburl_parsing `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; is not a valid DBURL par__dburl_parsing  parallel: Error:  is not a valid DBURL par__dburl_parsing "'@/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire; is not a valid DBURL par__dburl_parsing  parallel: Error:  is not a valid DBURL par__dburl_parsing "'@ line 1. +par__dburl_parsing sqlite:///%2Ftmp%2Fparallel-local-30s-tmp%2F parallel: Error: The table name (/tmp/parallel-local-30s-tmp/) cannot contain / par__dburl_parsing `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; is not a valid DBURL par__dburl_parsing  parallel: Error:  is not a valid DBURL par__dburl_parsing "'@/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire;/ is not a valid DBURL +par__dburl_parsing  parallel: Error: / is not a valid DBURL +par__dburl_parsing "'@%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire;/ is not a valid DBURL +par__dburl_parsing  parallel: Error: / is not a valid DBURL +par__dburl_parsing "'@/tmp/tripwire; +par__dburl_parsing csv:///./  +par__dburl_parsing csv:///./ "'@/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire;/ is not a valid DBURL +par__dburl_parsing  parallel: Error: / is not a valid DBURL +par__dburl_parsing "'@%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire;/ is not a valid DBURL +par__dburl_parsing  parallel: Error: / is not a valid DBURL +par__dburl_parsing "'@/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire;/ is not a valid DBURL +par__dburl_parsing  parallel: Error: / is not a valid DBURL +par__dburl_parsing "'@%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire;/ is not a valid DBURL +par__dburl_parsing  parallel: Error: / is not a valid DBURL +par__dburl_parsing "'@> "$tmp";sleep 20 -par_retries_lb_jl should be 5 lines -par_retries_lb_jl parallel: Warning: This job was killed because it timed out: -par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 -par_retries_lb_jl parallel: Warning: This job was killed because it timed out: -par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 -par_retries_lb_jl parallel: Warning: This job was killed because it timed out: -par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 -par_retries_lb_jl parallel: Warning: This job was killed because it timed out: -par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 -par_retries_lb_jl parallel: Warning: This job was killed because it timed out: -par_retries_lb_jl parallel: Warning: echo 5 lines >> "$tmp";sleep 20 -par_retries_lb_jl 5 lines -par_retries_lb_jl 5 lines -par_retries_lb_jl 5 lines -par_retries_lb_jl 5 lines -par_retries_lb_jl 5 lines par_shard ### --shard par_shard OK par_shard OK @@ -3419,4 +3503,3 @@ par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;) par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword par_test_diff_roundrobin_k ### test there is difference on -k par_test_diff_roundrobin_k OK -par_test_ipv6_format ### Host as IPv6 address diff --git a/testsuite/wanted-results/parallel-local-race02 b/testsuite/wanted-results/parallel-local-race02 index f172ec0a..e61e60bb 100644 --- a/testsuite/wanted-results/parallel-local-race02 +++ b/testsuite/wanted-results/parallel-local-race02 @@ -5,52 +5,6 @@ In csh this may fail with ignored_var: Undefined variable. ### --env _ with explicit mentioning of normally ignored var $ignored_var OK from fubar should be copied test OK from fubar should be copied test -bug #46120: Suspend should suspend (at least local) children -it should burn 1.9 CPU seconds, but no more than that -The 5 second sleep will make it be killed by timeout when it fgs -input_source_pipe - -$cmd -Zero=OK 0 -input_source_cmdline - -$cmd -Zero=OK 0 -Control case: This should run 2.9 seconds -input_source_cmdline - -$cmd -1=OK 1 -par_PARALLEL_RSYNC_OPTS ### test rsync opts -par_PARALLEL_RSYNC_OPTS -rlDzRRRR -par_PARALLEL_RSYNC_OPTS -rlDzRRRR -par_PARALLEL_RSYNC_OPTS -zzzzrldRRRR -par_PARALLEL_RSYNC_OPTS -zzzzrldRRRR -par_PARALLEL_RSYNC_OPTS -par_continuous_output Test delayed output with '' -par_continuous_output -u is optimal but hard to reach, due to non-mixing -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 0 -par_continuous_output Test delayed output with '-u' -par_continuous_output -u is optimal but hard to reach, due to non-mixing -par_continuous_output 0 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 -par_continuous_output 1 par_hostgroup ### --hostgroup force ncpu - 2x parallel, 6x me par_hostgroup parallel par_hostgroup parallel @@ -110,1462 +64,3 @@ par_hostgroup tange par_hostgroup tange par_hostgroup tcsh par_hostgroup tcsh -par_kill_hup ### Are children killed if GNU Parallel receives HUP? There should be no sleep at the end -par_kill_hup bash-+-perl---2*[bash---sleep] -par_kill_hup `-pstree -par_kill_hup parallel: SIGHUP received. No new jobs will be started. -par_kill_hup parallel: Waiting for these 2 jobs to finish. Send SIGTERM to stop now. -par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' -par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' -par_kill_hup bash---pstree -par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins -par_more_than_9_relative_sshlogin 1 -par_more_than_9_relative_sshlogin 2 -par_more_than_9_relative_sshlogin 3 -par_more_than_9_relative_sshlogin 4 -par_more_than_9_relative_sshlogin 5 -par_more_than_9_relative_sshlogin 6 -par_more_than_9_relative_sshlogin 7 -par_more_than_9_relative_sshlogin 8 -par_more_than_9_relative_sshlogin 9 -par_more_than_9_relative_sshlogin 10 -par_more_than_9_relative_sshlogin 11 -par_resume_failed_k ### bug #38299: --resume-failed -k -par_resume_failed_k job1 val 0 -par_resume_failed_k job2 val 1 -par_resume_failed_k job3 val 2 -par_resume_failed_k job4 val 3 -par_resume_failed_k job5 val 0 -par_resume_failed_k job6 val 1 -par_resume_failed_k try 2. Gives failing - not 0 -par_resume_failed_k job2 val 1 -par_resume_failed_k job3 val 2 -par_resume_failed_k job4 val 3 -par_resume_failed_k job6 val 1 -par_resume_failed_k with exit 0 -par_resume_failed_k job2 val 1 -par_resume_failed_k job3 val 2 -par_resume_failed_k job4 val 3 -par_resume_failed_k job6 val 1 -par_resume_failed_k try 2 again. Gives empty -par_retries_bug_from_2010 ### Bug with --retries -par_retries_bug_from_2010 8 -par_retries_bug_from_2010 8 -par_retries_bug_from_2010 2 -par_retries_bug_from_2010 1 -par_retries_bug_from_2010 1 -par_retries_bug_from_2010 1 -par_retries_bug_from_2010 ### These were not affected by the bug -par_retries_bug_from_2010 8 -par_retries_bug_from_2010 8 -par_retries_bug_from_2010 1 -par_retries_bug_from_2010 4 -par_retries_bug_from_2010 4 -par_retries_bug_from_2010 4 -par_retries_bug_from_2010 2 -par_semaphore ### Test if parallel invoked as sem will run parallel --semaphore -par_semaphore job1a 1 -par_semaphore job2a 2 -par_semaphore job1b 3 -par_semaphore job3a 4 -par_semaphore job2b 5 -par_semaphore job3b 6 -par_semaphore done -par_sql_CSV ### CSV write to the right place -par_sql_CSV ran OK -par_sql_CSV ok -par_sql_CSV parallel: Error: /must/fail is not a directory. -par_testhalt now fail 0 true ### testhalt --halt now,fail=0 -par_testhalt now fail 0 true job 1 -par_testhalt now fail 0 true parallel: This job failed: -par_testhalt now fail 0 true echo job 1; sleep 0.9; exit 1 -par_testhalt now fail 0 true 0 -par_testhalt now fail 0 false ### testhalt --halt now,fail=0 -par_testhalt now fail 0 false job 1 -par_testhalt now fail 0 false job 2 -par_testhalt now fail 0 false job 3 -par_testhalt now fail 0 false job 4 -par_testhalt now fail 0 false job 5 -par_testhalt now fail 0 false job 6 -par_testhalt now fail 0 false job 7 -par_testhalt now fail 0 false job 8 -par_testhalt now fail 0 false job 9 -par_testhalt now fail 0 false job 10 -par_testhalt now fail 0 false job 11 -par_testhalt now fail 0 false parallel: This job failed: -par_testhalt now fail 0 false echo job 11; sleep 3.9; exit 1 -par_testhalt now fail 0 false 0 -par_testhalt now fail 1 true ### testhalt --halt now,fail=1 -par_testhalt now fail 1 true job 1 -par_testhalt now fail 1 true parallel: This job failed: -par_testhalt now fail 1 true echo job 1; sleep 0.9; exit 1 -par_testhalt now fail 1 true 1 -par_testhalt now fail 1 false ### testhalt --halt now,fail=1 -par_testhalt now fail 1 false job 1 -par_testhalt now fail 1 false job 2 -par_testhalt now fail 1 false job 3 -par_testhalt now fail 1 false job 4 -par_testhalt now fail 1 false job 5 -par_testhalt now fail 1 false job 6 -par_testhalt now fail 1 false job 7 -par_testhalt now fail 1 false job 8 -par_testhalt now fail 1 false job 9 -par_testhalt now fail 1 false job 10 -par_testhalt now fail 1 false job 11 -par_testhalt now fail 1 false parallel: This job failed: -par_testhalt now fail 1 false echo job 11; sleep 3.9; exit 1 -par_testhalt now fail 1 false 1 -par_testhalt now fail 2 true ### testhalt --halt now,fail=2 -par_testhalt now fail 2 true job 1 -par_testhalt now fail 2 true parallel: This job failed: -par_testhalt now fail 2 true echo job 1; sleep 0.9; exit 1 -par_testhalt now fail 2 true job 2 -par_testhalt now fail 2 true parallel: This job failed: -par_testhalt now fail 2 true echo job 2; sleep 1.5; exit 2 -par_testhalt now fail 2 true 2 -par_testhalt now fail 2 false ### testhalt --halt now,fail=2 -par_testhalt now fail 2 false job 1 -par_testhalt now fail 2 false job 2 -par_testhalt now fail 2 false job 3 -par_testhalt now fail 2 false job 4 -par_testhalt now fail 2 false job 5 -par_testhalt now fail 2 false job 6 -par_testhalt now fail 2 false job 7 -par_testhalt now fail 2 false job 8 -par_testhalt now fail 2 false job 9 -par_testhalt now fail 2 false job 10 -par_testhalt now fail 2 false job 11 -par_testhalt now fail 2 false parallel: This job failed: -par_testhalt now fail 2 false echo job 11; sleep 3.9; exit 1 -par_testhalt now fail 2 false job 12 -par_testhalt now fail 2 false parallel: This job failed: -par_testhalt now fail 2 false echo job 12; sleep 4.5; exit 2 -par_testhalt now fail 2 false 2 -par_testhalt now fail 30% true ### testhalt --halt now,fail=30% -par_testhalt now fail 30% true job 1 -par_testhalt now fail 30% true parallel: This job failed: -par_testhalt now fail 30% true echo job 1; sleep 0.9; exit 1 -par_testhalt now fail 30% true job 2 -par_testhalt now fail 30% true parallel: This job failed: -par_testhalt now fail 30% true echo job 2; sleep 1.5; exit 2 -par_testhalt now fail 30% true job 3 -par_testhalt now fail 30% true parallel: This job failed: -par_testhalt now fail 30% true echo job 3; sleep 2.1; exit 3 -par_testhalt now fail 30% true job 4 -par_testhalt now fail 30% true parallel: This job failed: -par_testhalt now fail 30% true echo job 4; sleep 2.7; exit 4 -par_testhalt now fail 30% true job 5 -par_testhalt now fail 30% true parallel: This job failed: -par_testhalt now fail 30% true echo job 5; sleep 3.3; exit 5 -par_testhalt now fail 30% true job 6 -par_testhalt now fail 30% true parallel: This job failed: -par_testhalt now fail 30% true echo job 6; sleep 3.9; exit 6 -par_testhalt now fail 30% true 30 -par_testhalt now fail 30% false ### testhalt --halt now,fail=30% -par_testhalt now fail 30% false job 1 -par_testhalt now fail 30% false job 2 -par_testhalt now fail 30% false job 3 -par_testhalt now fail 30% false job 4 -par_testhalt now fail 30% false job 5 -par_testhalt now fail 30% false job 6 -par_testhalt now fail 30% false job 7 -par_testhalt now fail 30% false job 8 -par_testhalt now fail 30% false job 9 -par_testhalt now fail 30% false job 10 -par_testhalt now fail 30% false job 11 -par_testhalt now fail 30% false parallel: This job failed: -par_testhalt now fail 30% false echo job 11; sleep 3.9; exit 1 -par_testhalt now fail 30% false job 12 -par_testhalt now fail 30% false parallel: This job failed: -par_testhalt now fail 30% false echo job 12; sleep 4.5; exit 2 -par_testhalt now fail 30% false job 13 -par_testhalt now fail 30% false parallel: This job failed: -par_testhalt now fail 30% false echo job 13; sleep 5.1; exit 3 -par_testhalt now fail 30% false job 14 -par_testhalt now fail 30% false parallel: This job failed: -par_testhalt now fail 30% false echo job 14; sleep 5.7; exit 4 -par_testhalt now fail 30% false job 15 -par_testhalt now fail 30% false parallel: This job failed: -par_testhalt now fail 30% false echo job 15; sleep 6.3; exit 5 -par_testhalt now fail 30% false job 16 -par_testhalt now fail 30% false parallel: This job failed: -par_testhalt now fail 30% false echo job 16; sleep 6.9; exit 6 -par_testhalt now fail 30% false 30 -par_testhalt now fail 70% true ### testhalt --halt now,fail=70% -par_testhalt now fail 70% true job 1 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 1; sleep 0.9; exit 1 -par_testhalt now fail 70% true job 2 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 2; sleep 1.5; exit 2 -par_testhalt now fail 70% true job 3 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 3; sleep 2.1; exit 3 -par_testhalt now fail 70% true job 4 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 4; sleep 2.7; exit 4 -par_testhalt now fail 70% true job 5 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 5; sleep 3.3; exit 5 -par_testhalt now fail 70% true job 6 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 6; sleep 3.9; exit 6 -par_testhalt now fail 70% true job 7 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 7; sleep 4.5; exit 7 -par_testhalt now fail 70% true job 8 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 8; sleep 5.1; exit 8 -par_testhalt now fail 70% true job 9 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 9; sleep 5.7; exit 9 -par_testhalt now fail 70% true job 10 -par_testhalt now fail 70% true job 11 -par_testhalt now fail 70% true parallel: This job failed: -par_testhalt now fail 70% true echo job 10; sleep 6.3; exit 10 -par_testhalt now fail 70% true job 12 -par_testhalt now fail 70% true job 13 -par_testhalt now fail 70% true job 14 -par_testhalt now fail 70% true job 15 -par_testhalt now fail 70% true job 16 -par_testhalt now fail 70% true job 17 -par_testhalt now fail 70% true job 18 -par_testhalt now fail 70% true job 19 -par_testhalt now fail 70% true job 20 -par_testhalt now fail 70% true 50 -par_testhalt now fail 70% false ### testhalt --halt now,fail=70% -par_testhalt now fail 70% false job 1 -par_testhalt now fail 70% false job 2 -par_testhalt now fail 70% false job 3 -par_testhalt now fail 70% false job 4 -par_testhalt now fail 70% false job 5 -par_testhalt now fail 70% false job 6 -par_testhalt now fail 70% false job 7 -par_testhalt now fail 70% false job 8 -par_testhalt now fail 70% false job 9 -par_testhalt now fail 70% false job 10 -par_testhalt now fail 70% false job 11 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 11; sleep 3.9; exit 1 -par_testhalt now fail 70% false job 12 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 12; sleep 4.5; exit 2 -par_testhalt now fail 70% false job 13 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 13; sleep 5.1; exit 3 -par_testhalt now fail 70% false job 14 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 14; sleep 5.7; exit 4 -par_testhalt now fail 70% false job 15 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 15; sleep 6.3; exit 5 -par_testhalt now fail 70% false job 16 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 16; sleep 6.9; exit 6 -par_testhalt now fail 70% false job 17 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 17; sleep 7.5; exit 7 -par_testhalt now fail 70% false job 18 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 18; sleep 8.1; exit 8 -par_testhalt now fail 70% false job 19 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 19; sleep 8.7; exit 9 -par_testhalt now fail 70% false job 20 -par_testhalt now fail 70% false parallel: This job failed: -par_testhalt now fail 70% false echo job 20; sleep 9.3; exit 10 -par_testhalt now fail 70% false 50 -par_testhalt now success 0 true ### testhalt --halt now,success=0 -par_testhalt now success 0 true job 1 -par_testhalt now success 0 true job 2 -par_testhalt now success 0 true job 3 -par_testhalt now success 0 true job 4 -par_testhalt now success 0 true job 5 -par_testhalt now success 0 true job 6 -par_testhalt now success 0 true job 7 -par_testhalt now success 0 true job 8 -par_testhalt now success 0 true job 9 -par_testhalt now success 0 true parallel: This job succeeded: -par_testhalt now success 0 true echo job 11; sleep 3.6; exit 0 -par_testhalt now success 0 true 0 -par_testhalt now success 0 false ### testhalt --halt now,success=0 -par_testhalt now success 0 false job 1 -par_testhalt now success 0 false parallel: This job succeeded: -par_testhalt now success 0 false echo job 1; sleep 0.6; exit 0 -par_testhalt now success 0 false 0 -par_testhalt now success 1 true ### testhalt --halt now,success=1 -par_testhalt now success 1 true job 1 -par_testhalt now success 1 true job 2 -par_testhalt now success 1 true job 3 -par_testhalt now success 1 true job 4 -par_testhalt now success 1 true job 5 -par_testhalt now success 1 true job 6 -par_testhalt now success 1 true job 7 -par_testhalt now success 1 true job 8 -par_testhalt now success 1 true job 9 -par_testhalt now success 1 true parallel: This job succeeded: -par_testhalt now success 1 true echo job 11; sleep 3.6; exit 0 -par_testhalt now success 1 true 0 -par_testhalt now success 1 false ### testhalt --halt now,success=1 -par_testhalt now success 1 false job 1 -par_testhalt now success 1 false parallel: This job succeeded: -par_testhalt now success 1 false echo job 1; sleep 0.6; exit 0 -par_testhalt now success 1 false 0 -par_testhalt now success 2 true ### testhalt --halt now,success=2 -par_testhalt now success 2 true job 1 -par_testhalt now success 2 true job 2 -par_testhalt now success 2 true job 3 -par_testhalt now success 2 true job 4 -par_testhalt now success 2 true job 5 -par_testhalt now success 2 true job 6 -par_testhalt now success 2 true job 7 -par_testhalt now success 2 true job 8 -par_testhalt now success 2 true job 9 -par_testhalt now success 2 true parallel: This job succeeded: -par_testhalt now success 2 true echo job 11; sleep 3.6; exit 0 -par_testhalt now success 2 true job 10 -par_testhalt now success 2 true job 11 -par_testhalt now success 2 true job 12 -par_testhalt now success 2 true parallel: This job succeeded: -par_testhalt now success 2 true echo job 12; sleep 3.9; exit 0 -par_testhalt now success 2 true 0 -par_testhalt now success 2 false ### testhalt --halt now,success=2 -par_testhalt now success 2 false job 1 -par_testhalt now success 2 false parallel: This job succeeded: -par_testhalt now success 2 false echo job 1; sleep 0.6; exit 0 -par_testhalt now success 2 false job 2 -par_testhalt now success 2 false parallel: This job succeeded: -par_testhalt now success 2 false echo job 2; sleep 0.9; exit 0 -par_testhalt now success 2 false 0 -par_testhalt now success 30% true ### testhalt --halt now,success=30% -par_testhalt now success 30% true job 1 -par_testhalt now success 30% true job 2 -par_testhalt now success 30% true job 3 -par_testhalt now success 30% true job 4 -par_testhalt now success 30% true job 5 -par_testhalt now success 30% true job 6 -par_testhalt now success 30% true job 7 -par_testhalt now success 30% true job 8 -par_testhalt now success 30% true job 9 -par_testhalt now success 30% true parallel: This job succeeded: -par_testhalt now success 30% true echo job 11; sleep 3.6; exit 0 -par_testhalt now success 30% true job 10 -par_testhalt now success 30% true job 11 -par_testhalt now success 30% true job 12 -par_testhalt now success 30% true parallel: This job succeeded: -par_testhalt now success 30% true echo job 12; sleep 3.9; exit 0 -par_testhalt now success 30% true job 13 -par_testhalt now success 30% true parallel: This job succeeded: -par_testhalt now success 30% true echo job 13; sleep 4.2; exit 0 -par_testhalt now success 30% true job 14 -par_testhalt now success 30% true parallel: This job succeeded: -par_testhalt now success 30% true echo job 14; sleep 4.5; exit 0 -par_testhalt now success 30% true job 15 -par_testhalt now success 30% true parallel: This job succeeded: -par_testhalt now success 30% true echo job 15; sleep 4.8; exit 0 -par_testhalt now success 30% true job 16 -par_testhalt now success 30% true parallel: This job succeeded: -par_testhalt now success 30% true echo job 16; sleep 5.1; exit 0 -par_testhalt now success 30% true 0 -par_testhalt now success 30% false ### testhalt --halt now,success=30% -par_testhalt now success 30% false job 1 -par_testhalt now success 30% false parallel: This job succeeded: -par_testhalt now success 30% false echo job 1; sleep 0.6; exit 0 -par_testhalt now success 30% false job 2 -par_testhalt now success 30% false parallel: This job succeeded: -par_testhalt now success 30% false echo job 2; sleep 0.9; exit 0 -par_testhalt now success 30% false job 3 -par_testhalt now success 30% false parallel: This job succeeded: -par_testhalt now success 30% false echo job 3; sleep 1.2; exit 0 -par_testhalt now success 30% false job 4 -par_testhalt now success 30% false parallel: This job succeeded: -par_testhalt now success 30% false echo job 4; sleep 1.5; exit 0 -par_testhalt now success 30% false job 5 -par_testhalt now success 30% false parallel: This job succeeded: -par_testhalt now success 30% false echo job 5; sleep 1.8; exit 0 -par_testhalt now success 30% false job 6 -par_testhalt now success 30% false parallel: This job succeeded: -par_testhalt now success 30% false echo job 6; sleep 2.1; exit 0 -par_testhalt now success 30% false 0 -par_testhalt now success 70% true ### testhalt --halt now,success=70% -par_testhalt now success 70% true job 1 -par_testhalt now success 70% true job 2 -par_testhalt now success 70% true job 3 -par_testhalt now success 70% true job 4 -par_testhalt now success 70% true job 5 -par_testhalt now success 70% true job 6 -par_testhalt now success 70% true job 7 -par_testhalt now success 70% true job 8 -par_testhalt now success 70% true job 9 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 11; sleep 3.6; exit 0 -par_testhalt now success 70% true job 10 -par_testhalt now success 70% true job 11 -par_testhalt now success 70% true job 12 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 12; sleep 3.9; exit 0 -par_testhalt now success 70% true job 13 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 13; sleep 4.2; exit 0 -par_testhalt now success 70% true job 14 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 14; sleep 4.5; exit 0 -par_testhalt now success 70% true job 15 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 15; sleep 4.8; exit 0 -par_testhalt now success 70% true job 16 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 16; sleep 5.1; exit 0 -par_testhalt now success 70% true job 17 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 17; sleep 5.4; exit 0 -par_testhalt now success 70% true job 18 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 18; sleep 5.7; exit 0 -par_testhalt now success 70% true job 19 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 19; sleep 6; exit 0 -par_testhalt now success 70% true job 20 -par_testhalt now success 70% true parallel: This job succeeded: -par_testhalt now success 70% true echo job 20; sleep 6.3; exit 0 -par_testhalt now success 70% true 50 -par_testhalt now success 70% false ### testhalt --halt now,success=70% -par_testhalt now success 70% false job 1 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 1; sleep 0.6; exit 0 -par_testhalt now success 70% false job 2 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 2; sleep 0.9; exit 0 -par_testhalt now success 70% false job 3 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 3; sleep 1.2; exit 0 -par_testhalt now success 70% false job 4 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 4; sleep 1.5; exit 0 -par_testhalt now success 70% false job 5 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 5; sleep 1.8; exit 0 -par_testhalt now success 70% false job 6 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 6; sleep 2.1; exit 0 -par_testhalt now success 70% false job 7 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 7; sleep 2.4; exit 0 -par_testhalt now success 70% false job 8 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 8; sleep 2.7; exit 0 -par_testhalt now success 70% false job 9 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 9; sleep 3; exit 0 -par_testhalt now success 70% false job 10 -par_testhalt now success 70% false parallel: This job succeeded: -par_testhalt now success 70% false echo job 10; sleep 3.3; exit 0 -par_testhalt now success 70% false job 11 -par_testhalt now success 70% false job 12 -par_testhalt now success 70% false job 13 -par_testhalt now success 70% false job 14 -par_testhalt now success 70% false job 15 -par_testhalt now success 70% false job 16 -par_testhalt now success 70% false job 17 -par_testhalt now success 70% false job 18 -par_testhalt now success 70% false job 19 -par_testhalt now success 70% false job 20 -par_testhalt now success 70% false 50 -par_testhalt now done 0 true ### testhalt --halt now,done=0 -par_testhalt now done 0 true job 1 -par_testhalt now done 0 true parallel: This job finished: -par_testhalt now done 0 true echo job 1; sleep 0.9; exit 1 -par_testhalt now done 0 true 0 -par_testhalt now done 0 false ### testhalt --halt now,done=0 -par_testhalt now done 0 false job 1 -par_testhalt now done 0 false parallel: This job finished: -par_testhalt now done 0 false echo job 1; sleep 0.6; exit 0 -par_testhalt now done 0 false 0 -par_testhalt now done 1 true ### testhalt --halt now,done=1 -par_testhalt now done 1 true job 1 -par_testhalt now done 1 true parallel: This job finished: -par_testhalt now done 1 true echo job 1; sleep 0.9; exit 1 -par_testhalt now done 1 true 1 -par_testhalt now done 1 false ### testhalt --halt now,done=1 -par_testhalt now done 1 false job 1 -par_testhalt now done 1 false parallel: This job finished: -par_testhalt now done 1 false echo job 1; sleep 0.6; exit 0 -par_testhalt now done 1 false 0 -par_testhalt now done 2 true ### testhalt --halt now,done=2 -par_testhalt now done 2 true job 1 -par_testhalt now done 2 true parallel: This job finished: -par_testhalt now done 2 true echo job 1; sleep 0.9; exit 1 -par_testhalt now done 2 true job 2 -par_testhalt now done 2 true parallel: This job finished: -par_testhalt now done 2 true echo job 2; sleep 1.5; exit 2 -par_testhalt now done 2 true 2 -par_testhalt now done 2 false ### testhalt --halt now,done=2 -par_testhalt now done 2 false job 1 -par_testhalt now done 2 false parallel: This job finished: -par_testhalt now done 2 false echo job 1; sleep 0.6; exit 0 -par_testhalt now done 2 false job 2 -par_testhalt now done 2 false parallel: This job finished: -par_testhalt now done 2 false echo job 2; sleep 0.9; exit 0 -par_testhalt now done 2 false 101 -par_testhalt now done 30% true ### testhalt --halt now,done=30% -par_testhalt now done 30% true job 1 -par_testhalt now done 30% true parallel: This job finished: -par_testhalt now done 30% true echo job 1; sleep 0.9; exit 1 -par_testhalt now done 30% true job 2 -par_testhalt now done 30% true parallel: This job finished: -par_testhalt now done 30% true echo job 2; sleep 1.5; exit 2 -par_testhalt now done 30% true job 3 -par_testhalt now done 30% true parallel: This job finished: -par_testhalt now done 30% true echo job 3; sleep 2.1; exit 3 -par_testhalt now done 30% true job 4 -par_testhalt now done 30% true parallel: This job finished: -par_testhalt now done 30% true echo job 4; sleep 2.7; exit 4 -par_testhalt now done 30% true job 5 -par_testhalt now done 30% true parallel: This job finished: -par_testhalt now done 30% true echo job 5; sleep 3.3; exit 5 -par_testhalt now done 30% true job 6 -par_testhalt now done 30% true parallel: This job finished: -par_testhalt now done 30% true echo job 6; sleep 3.9; exit 6 -par_testhalt now done 30% true 30 -par_testhalt now done 30% false ### testhalt --halt now,done=30% -par_testhalt now done 30% false job 1 -par_testhalt now done 30% false parallel: This job finished: -par_testhalt now done 30% false echo job 1; sleep 0.6; exit 0 -par_testhalt now done 30% false job 2 -par_testhalt now done 30% false parallel: This job finished: -par_testhalt now done 30% false echo job 2; sleep 0.9; exit 0 -par_testhalt now done 30% false job 3 -par_testhalt now done 30% false parallel: This job finished: -par_testhalt now done 30% false echo job 3; sleep 1.2; exit 0 -par_testhalt now done 30% false job 4 -par_testhalt now done 30% false parallel: This job finished: -par_testhalt now done 30% false echo job 4; sleep 1.5; exit 0 -par_testhalt now done 30% false job 5 -par_testhalt now done 30% false parallel: This job finished: -par_testhalt now done 30% false echo job 5; sleep 1.8; exit 0 -par_testhalt now done 30% false job 6 -par_testhalt now done 30% false parallel: This job finished: -par_testhalt now done 30% false echo job 6; sleep 2.1; exit 0 -par_testhalt now done 30% false 0 -par_testhalt now done 70% true ### testhalt --halt now,done=70% -par_testhalt now done 70% true job 1 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 1; sleep 0.9; exit 1 -par_testhalt now done 70% true job 2 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 2; sleep 1.5; exit 2 -par_testhalt now done 70% true job 3 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 3; sleep 2.1; exit 3 -par_testhalt now done 70% true job 4 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 4; sleep 2.7; exit 4 -par_testhalt now done 70% true job 5 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 5; sleep 3.3; exit 5 -par_testhalt now done 70% true job 6 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 6; sleep 3.9; exit 6 -par_testhalt now done 70% true job 7 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 7; sleep 4.5; exit 7 -par_testhalt now done 70% true job 8 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 8; sleep 5.1; exit 8 -par_testhalt now done 70% true job 9 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 9; sleep 5.7; exit 9 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 11; sleep 3.6; exit 0 -par_testhalt now done 70% true job 10 -par_testhalt now done 70% true job 11 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 10; sleep 6.3; exit 10 -par_testhalt now done 70% true job 12 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 12; sleep 3.9; exit 0 -par_testhalt now done 70% true job 13 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 13; sleep 4.2; exit 0 -par_testhalt now done 70% true job 14 -par_testhalt now done 70% true parallel: This job finished: -par_testhalt now done 70% true echo job 14; sleep 4.5; exit 0 -par_testhalt now done 70% true 50 -par_testhalt now done 70% false ### testhalt --halt now,done=70% -par_testhalt now done 70% false job 1 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 1; sleep 0.6; exit 0 -par_testhalt now done 70% false job 2 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 2; sleep 0.9; exit 0 -par_testhalt now done 70% false job 3 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 3; sleep 1.2; exit 0 -par_testhalt now done 70% false job 4 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 4; sleep 1.5; exit 0 -par_testhalt now done 70% false job 5 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 5; sleep 1.8; exit 0 -par_testhalt now done 70% false job 6 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 6; sleep 2.1; exit 0 -par_testhalt now done 70% false job 7 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 7; sleep 2.4; exit 0 -par_testhalt now done 70% false job 8 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 8; sleep 2.7; exit 0 -par_testhalt now done 70% false job 9 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 9; sleep 3; exit 0 -par_testhalt now done 70% false job 10 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 10; sleep 3.3; exit 0 -par_testhalt now done 70% false job 11 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 11; sleep 3.9; exit 1 -par_testhalt now done 70% false job 12 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 12; sleep 4.5; exit 2 -par_testhalt now done 70% false job 13 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 13; sleep 5.1; exit 3 -par_testhalt now done 70% false job 14 -par_testhalt now done 70% false parallel: This job finished: -par_testhalt now done 70% false echo job 14; sleep 5.7; exit 4 -par_testhalt now done 70% false 20 -par_testhalt soon fail 0 true ### testhalt --halt soon,fail=0 -par_testhalt soon fail 0 true job 1 -par_testhalt soon fail 0 true parallel: This job failed: -par_testhalt soon fail 0 true echo job 1; sleep 0.9; exit 1 -par_testhalt soon fail 0 true job 2 -par_testhalt soon fail 0 true parallel: This job failed: -par_testhalt soon fail 0 true echo job 2; sleep 1.5; exit 2 -par_testhalt soon fail 0 true job 3 -par_testhalt soon fail 0 true parallel: This job failed: -par_testhalt soon fail 0 true echo job 3; sleep 2.1; exit 3 -par_testhalt soon fail 0 true job 4 -par_testhalt soon fail 0 true parallel: This job failed: -par_testhalt soon fail 0 true echo job 4; sleep 2.7; exit 4 -par_testhalt soon fail 0 true 0 -par_testhalt soon fail 0 false ### testhalt --halt soon,fail=0 -par_testhalt soon fail 0 false job 1 -par_testhalt soon fail 0 false job 2 -par_testhalt soon fail 0 false job 3 -par_testhalt soon fail 0 false job 4 -par_testhalt soon fail 0 false job 5 -par_testhalt soon fail 0 false job 6 -par_testhalt soon fail 0 false job 7 -par_testhalt soon fail 0 false job 8 -par_testhalt soon fail 0 false job 9 -par_testhalt soon fail 0 false job 10 -par_testhalt soon fail 0 false job 11 -par_testhalt soon fail 0 false parallel: This job failed: -par_testhalt soon fail 0 false echo job 11; sleep 3.9; exit 1 -par_testhalt soon fail 0 false job 12 -par_testhalt soon fail 0 false parallel: This job failed: -par_testhalt soon fail 0 false echo job 12; sleep 4.5; exit 2 -par_testhalt soon fail 0 false job 13 -par_testhalt soon fail 0 false parallel: This job failed: -par_testhalt soon fail 0 false echo job 13; sleep 5.1; exit 3 -par_testhalt soon fail 0 false job 14 -par_testhalt soon fail 0 false parallel: This job failed: -par_testhalt soon fail 0 false echo job 14; sleep 5.7; exit 4 -par_testhalt soon fail 0 false 0 -par_testhalt soon fail 1 true ### testhalt --halt soon,fail=1 -par_testhalt soon fail 1 true job 1 -par_testhalt soon fail 1 true parallel: This job failed: -par_testhalt soon fail 1 true echo job 1; sleep 0.9; exit 1 -par_testhalt soon fail 1 true job 2 -par_testhalt soon fail 1 true parallel: This job failed: -par_testhalt soon fail 1 true echo job 2; sleep 1.5; exit 2 -par_testhalt soon fail 1 true job 3 -par_testhalt soon fail 1 true parallel: This job failed: -par_testhalt soon fail 1 true echo job 3; sleep 2.1; exit 3 -par_testhalt soon fail 1 true job 4 -par_testhalt soon fail 1 true parallel: This job failed: -par_testhalt soon fail 1 true echo job 4; sleep 2.7; exit 4 -par_testhalt soon fail 1 true 1 -par_testhalt soon fail 1 false ### testhalt --halt soon,fail=1 -par_testhalt soon fail 1 false job 1 -par_testhalt soon fail 1 false job 2 -par_testhalt soon fail 1 false job 3 -par_testhalt soon fail 1 false job 4 -par_testhalt soon fail 1 false job 5 -par_testhalt soon fail 1 false job 6 -par_testhalt soon fail 1 false job 7 -par_testhalt soon fail 1 false job 8 -par_testhalt soon fail 1 false job 9 -par_testhalt soon fail 1 false job 10 -par_testhalt soon fail 1 false job 11 -par_testhalt soon fail 1 false parallel: This job failed: -par_testhalt soon fail 1 false echo job 11; sleep 3.9; exit 1 -par_testhalt soon fail 1 false job 12 -par_testhalt soon fail 1 false parallel: This job failed: -par_testhalt soon fail 1 false echo job 12; sleep 4.5; exit 2 -par_testhalt soon fail 1 false job 13 -par_testhalt soon fail 1 false parallel: This job failed: -par_testhalt soon fail 1 false echo job 13; sleep 5.1; exit 3 -par_testhalt soon fail 1 false job 14 -par_testhalt soon fail 1 false parallel: This job failed: -par_testhalt soon fail 1 false echo job 14; sleep 5.7; exit 4 -par_testhalt soon fail 1 false 1 -par_testhalt soon fail 2 true ### testhalt --halt soon,fail=2 -par_testhalt soon fail 2 true job 1 -par_testhalt soon fail 2 true parallel: This job failed: -par_testhalt soon fail 2 true echo job 1; sleep 0.9; exit 1 -par_testhalt soon fail 2 true job 2 -par_testhalt soon fail 2 true parallel: This job failed: -par_testhalt soon fail 2 true echo job 2; sleep 1.5; exit 2 -par_testhalt soon fail 2 true job 3 -par_testhalt soon fail 2 true parallel: This job failed: -par_testhalt soon fail 2 true echo job 3; sleep 2.1; exit 3 -par_testhalt soon fail 2 true job 4 -par_testhalt soon fail 2 true parallel: This job failed: -par_testhalt soon fail 2 true echo job 4; sleep 2.7; exit 4 -par_testhalt soon fail 2 true job 5 -par_testhalt soon fail 2 true parallel: This job failed: -par_testhalt soon fail 2 true echo job 5; sleep 3.3; exit 5 -par_testhalt soon fail 2 true 2 -par_testhalt soon fail 2 false ### testhalt --halt soon,fail=2 -par_testhalt soon fail 2 false job 1 -par_testhalt soon fail 2 false job 2 -par_testhalt soon fail 2 false job 3 -par_testhalt soon fail 2 false job 4 -par_testhalt soon fail 2 false job 5 -par_testhalt soon fail 2 false job 6 -par_testhalt soon fail 2 false job 7 -par_testhalt soon fail 2 false job 8 -par_testhalt soon fail 2 false job 9 -par_testhalt soon fail 2 false job 10 -par_testhalt soon fail 2 false job 11 -par_testhalt soon fail 2 false parallel: This job failed: -par_testhalt soon fail 2 false echo job 11; sleep 3.9; exit 1 -par_testhalt soon fail 2 false job 12 -par_testhalt soon fail 2 false parallel: This job failed: -par_testhalt soon fail 2 false echo job 12; sleep 4.5; exit 2 -par_testhalt soon fail 2 false job 13 -par_testhalt soon fail 2 false parallel: This job failed: -par_testhalt soon fail 2 false echo job 13; sleep 5.1; exit 3 -par_testhalt soon fail 2 false job 14 -par_testhalt soon fail 2 false parallel: This job failed: -par_testhalt soon fail 2 false echo job 14; sleep 5.7; exit 4 -par_testhalt soon fail 2 false job 15 -par_testhalt soon fail 2 false parallel: This job failed: -par_testhalt soon fail 2 false echo job 15; sleep 6.3; exit 5 -par_testhalt soon fail 2 false 2 -par_testhalt soon fail 30% true ### testhalt --halt soon,fail=30% -par_testhalt soon fail 30% true job 1 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 1; sleep 0.9; exit 1 -par_testhalt soon fail 30% true job 2 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 2; sleep 1.5; exit 2 -par_testhalt soon fail 30% true job 3 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 3; sleep 2.1; exit 3 -par_testhalt soon fail 30% true job 4 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 4; sleep 2.7; exit 4 -par_testhalt soon fail 30% true job 5 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 5; sleep 3.3; exit 5 -par_testhalt soon fail 30% true job 6 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 6; sleep 3.9; exit 6 -par_testhalt soon fail 30% true job 7 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 7; sleep 4.5; exit 7 -par_testhalt soon fail 30% true job 8 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 8; sleep 5.1; exit 8 -par_testhalt soon fail 30% true job 9 -par_testhalt soon fail 30% true parallel: This job failed: -par_testhalt soon fail 30% true echo job 9; sleep 5.7; exit 9 -par_testhalt soon fail 30% true 30 -par_testhalt soon fail 30% false ### testhalt --halt soon,fail=30% -par_testhalt soon fail 30% false job 1 -par_testhalt soon fail 30% false job 2 -par_testhalt soon fail 30% false job 3 -par_testhalt soon fail 30% false job 4 -par_testhalt soon fail 30% false job 5 -par_testhalt soon fail 30% false job 6 -par_testhalt soon fail 30% false job 7 -par_testhalt soon fail 30% false job 8 -par_testhalt soon fail 30% false job 9 -par_testhalt soon fail 30% false job 10 -par_testhalt soon fail 30% false job 11 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 11; sleep 3.9; exit 1 -par_testhalt soon fail 30% false job 12 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 12; sleep 4.5; exit 2 -par_testhalt soon fail 30% false job 13 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 13; sleep 5.1; exit 3 -par_testhalt soon fail 30% false job 14 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 14; sleep 5.7; exit 4 -par_testhalt soon fail 30% false job 15 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 15; sleep 6.3; exit 5 -par_testhalt soon fail 30% false job 16 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 16; sleep 6.9; exit 6 -par_testhalt soon fail 30% false job 17 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 17; sleep 7.5; exit 7 -par_testhalt soon fail 30% false job 18 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 18; sleep 8.1; exit 8 -par_testhalt soon fail 30% false job 19 -par_testhalt soon fail 30% false parallel: This job failed: -par_testhalt soon fail 30% false echo job 19; sleep 8.7; exit 9 -par_testhalt soon fail 30% false 30 -par_testhalt soon fail 70% true ### testhalt --halt soon,fail=70% -par_testhalt soon fail 70% true job 1 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 1; sleep 0.9; exit 1 -par_testhalt soon fail 70% true job 2 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 2; sleep 1.5; exit 2 -par_testhalt soon fail 70% true job 3 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 3; sleep 2.1; exit 3 -par_testhalt soon fail 70% true job 4 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 4; sleep 2.7; exit 4 -par_testhalt soon fail 70% true job 5 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 5; sleep 3.3; exit 5 -par_testhalt soon fail 70% true job 6 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 6; sleep 3.9; exit 6 -par_testhalt soon fail 70% true job 7 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 7; sleep 4.5; exit 7 -par_testhalt soon fail 70% true job 8 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 8; sleep 5.1; exit 8 -par_testhalt soon fail 70% true job 9 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 9; sleep 5.7; exit 9 -par_testhalt soon fail 70% true job 10 -par_testhalt soon fail 70% true job 11 -par_testhalt soon fail 70% true parallel: This job failed: -par_testhalt soon fail 70% true echo job 10; sleep 6.3; exit 10 -par_testhalt soon fail 70% true job 12 -par_testhalt soon fail 70% true job 13 -par_testhalt soon fail 70% true job 14 -par_testhalt soon fail 70% true job 15 -par_testhalt soon fail 70% true job 16 -par_testhalt soon fail 70% true job 17 -par_testhalt soon fail 70% true job 18 -par_testhalt soon fail 70% true job 19 -par_testhalt soon fail 70% true job 20 -par_testhalt soon fail 70% true 50 -par_testhalt soon fail 70% false ### testhalt --halt soon,fail=70% -par_testhalt soon fail 70% false job 1 -par_testhalt soon fail 70% false job 2 -par_testhalt soon fail 70% false job 3 -par_testhalt soon fail 70% false job 4 -par_testhalt soon fail 70% false job 5 -par_testhalt soon fail 70% false job 6 -par_testhalt soon fail 70% false job 7 -par_testhalt soon fail 70% false job 8 -par_testhalt soon fail 70% false job 9 -par_testhalt soon fail 70% false job 10 -par_testhalt soon fail 70% false job 11 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 11; sleep 3.9; exit 1 -par_testhalt soon fail 70% false job 12 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 12; sleep 4.5; exit 2 -par_testhalt soon fail 70% false job 13 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 13; sleep 5.1; exit 3 -par_testhalt soon fail 70% false job 14 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 14; sleep 5.7; exit 4 -par_testhalt soon fail 70% false job 15 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 15; sleep 6.3; exit 5 -par_testhalt soon fail 70% false job 16 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 16; sleep 6.9; exit 6 -par_testhalt soon fail 70% false job 17 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 17; sleep 7.5; exit 7 -par_testhalt soon fail 70% false job 18 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 18; sleep 8.1; exit 8 -par_testhalt soon fail 70% false job 19 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 19; sleep 8.7; exit 9 -par_testhalt soon fail 70% false job 20 -par_testhalt soon fail 70% false parallel: This job failed: -par_testhalt soon fail 70% false echo job 20; sleep 9.3; exit 10 -par_testhalt soon fail 70% false 50 -par_testhalt soon success 0 true ### testhalt --halt soon,success=0 -par_testhalt soon success 0 true job 1 -par_testhalt soon success 0 true job 2 -par_testhalt soon success 0 true job 3 -par_testhalt soon success 0 true job 4 -par_testhalt soon success 0 true job 5 -par_testhalt soon success 0 true job 6 -par_testhalt soon success 0 true job 7 -par_testhalt soon success 0 true job 8 -par_testhalt soon success 0 true job 9 -par_testhalt soon success 0 true parallel: This job succeeded: -par_testhalt soon success 0 true echo job 11; sleep 3.6; exit 0 -par_testhalt soon success 0 true job 10 -par_testhalt soon success 0 true job 11 -par_testhalt soon success 0 true job 12 -par_testhalt soon success 0 true parallel: This job succeeded: -par_testhalt soon success 0 true echo job 12; sleep 3.9; exit 0 -par_testhalt soon success 0 true job 13 -par_testhalt soon success 0 true parallel: This job succeeded: -par_testhalt soon success 0 true echo job 13; sleep 4.2; exit 0 -par_testhalt soon success 0 true 0 -par_testhalt soon success 0 false ### testhalt --halt soon,success=0 -par_testhalt soon success 0 false job 1 -par_testhalt soon success 0 false parallel: This job succeeded: -par_testhalt soon success 0 false echo job 1; sleep 0.6; exit 0 -par_testhalt soon success 0 false job 2 -par_testhalt soon success 0 false parallel: This job succeeded: -par_testhalt soon success 0 false echo job 2; sleep 0.9; exit 0 -par_testhalt soon success 0 false job 3 -par_testhalt soon success 0 false parallel: This job succeeded: -par_testhalt soon success 0 false echo job 3; sleep 1.2; exit 0 -par_testhalt soon success 0 false 0 -par_testhalt soon success 1 true ### testhalt --halt soon,success=1 -par_testhalt soon success 1 true job 1 -par_testhalt soon success 1 true job 2 -par_testhalt soon success 1 true job 3 -par_testhalt soon success 1 true job 4 -par_testhalt soon success 1 true job 5 -par_testhalt soon success 1 true job 6 -par_testhalt soon success 1 true job 7 -par_testhalt soon success 1 true job 8 -par_testhalt soon success 1 true job 9 -par_testhalt soon success 1 true parallel: This job succeeded: -par_testhalt soon success 1 true echo job 11; sleep 3.6; exit 0 -par_testhalt soon success 1 true job 10 -par_testhalt soon success 1 true job 11 -par_testhalt soon success 1 true job 12 -par_testhalt soon success 1 true parallel: This job succeeded: -par_testhalt soon success 1 true echo job 12; sleep 3.9; exit 0 -par_testhalt soon success 1 true job 13 -par_testhalt soon success 1 true parallel: This job succeeded: -par_testhalt soon success 1 true echo job 13; sleep 4.2; exit 0 -par_testhalt soon success 1 true 0 -par_testhalt soon success 1 false ### testhalt --halt soon,success=1 -par_testhalt soon success 1 false job 1 -par_testhalt soon success 1 false parallel: This job succeeded: -par_testhalt soon success 1 false echo job 1; sleep 0.6; exit 0 -par_testhalt soon success 1 false job 2 -par_testhalt soon success 1 false parallel: This job succeeded: -par_testhalt soon success 1 false echo job 2; sleep 0.9; exit 0 -par_testhalt soon success 1 false job 3 -par_testhalt soon success 1 false parallel: This job succeeded: -par_testhalt soon success 1 false echo job 3; sleep 1.2; exit 0 -par_testhalt soon success 1 false 0 -par_testhalt soon success 2 true ### testhalt --halt soon,success=2 -par_testhalt soon success 2 true job 1 -par_testhalt soon success 2 true job 2 -par_testhalt soon success 2 true job 3 -par_testhalt soon success 2 true job 4 -par_testhalt soon success 2 true job 5 -par_testhalt soon success 2 true job 6 -par_testhalt soon success 2 true job 7 -par_testhalt soon success 2 true job 8 -par_testhalt soon success 2 true job 9 -par_testhalt soon success 2 true parallel: This job succeeded: -par_testhalt soon success 2 true echo job 11; sleep 3.6; exit 0 -par_testhalt soon success 2 true job 10 -par_testhalt soon success 2 true job 11 -par_testhalt soon success 2 true job 12 -par_testhalt soon success 2 true parallel: This job succeeded: -par_testhalt soon success 2 true echo job 12; sleep 3.9; exit 0 -par_testhalt soon success 2 true job 13 -par_testhalt soon success 2 true parallel: This job succeeded: -par_testhalt soon success 2 true echo job 13; sleep 4.2; exit 0 -par_testhalt soon success 2 true job 14 -par_testhalt soon success 2 true parallel: This job succeeded: -par_testhalt soon success 2 true echo job 14; sleep 4.5; exit 0 -par_testhalt soon success 2 true job 15 -par_testhalt soon success 2 true parallel: This job succeeded: -par_testhalt soon success 2 true echo job 15; sleep 4.8; exit 0 -par_testhalt soon success 2 true 0 -par_testhalt soon success 2 false ### testhalt --halt soon,success=2 -par_testhalt soon success 2 false job 1 -par_testhalt soon success 2 false parallel: This job succeeded: -par_testhalt soon success 2 false echo job 1; sleep 0.6; exit 0 -par_testhalt soon success 2 false job 2 -par_testhalt soon success 2 false parallel: This job succeeded: -par_testhalt soon success 2 false echo job 2; sleep 0.9; exit 0 -par_testhalt soon success 2 false job 3 -par_testhalt soon success 2 false parallel: This job succeeded: -par_testhalt soon success 2 false echo job 3; sleep 1.2; exit 0 -par_testhalt soon success 2 false job 4 -par_testhalt soon success 2 false parallel: This job succeeded: -par_testhalt soon success 2 false echo job 4; sleep 1.5; exit 0 -par_testhalt soon success 2 false job 5 -par_testhalt soon success 2 false parallel: This job succeeded: -par_testhalt soon success 2 false echo job 5; sleep 1.8; exit 0 -par_testhalt soon success 2 false 0 -par_testhalt soon success 30% true ### testhalt --halt soon,success=30% -par_testhalt soon success 30% true job 1 -par_testhalt soon success 30% true job 2 -par_testhalt soon success 30% true job 3 -par_testhalt soon success 30% true job 4 -par_testhalt soon success 30% true job 5 -par_testhalt soon success 30% true job 6 -par_testhalt soon success 30% true job 7 -par_testhalt soon success 30% true job 8 -par_testhalt soon success 30% true job 9 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 11; sleep 3.6; exit 0 -par_testhalt soon success 30% true job 10 -par_testhalt soon success 30% true job 11 -par_testhalt soon success 30% true job 12 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 12; sleep 3.9; exit 0 -par_testhalt soon success 30% true job 13 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 13; sleep 4.2; exit 0 -par_testhalt soon success 30% true job 14 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 14; sleep 4.5; exit 0 -par_testhalt soon success 30% true job 15 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 15; sleep 4.8; exit 0 -par_testhalt soon success 30% true job 16 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 16; sleep 5.1; exit 0 -par_testhalt soon success 30% true job 17 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 17; sleep 5.4; exit 0 -par_testhalt soon success 30% true job 18 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 18; sleep 5.7; exit 0 -par_testhalt soon success 30% true job 19 -par_testhalt soon success 30% true parallel: This job succeeded: -par_testhalt soon success 30% true echo job 19; sleep 6; exit 0 -par_testhalt soon success 30% true 0 -par_testhalt soon success 30% false ### testhalt --halt soon,success=30% -par_testhalt soon success 30% false job 1 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 1; sleep 0.6; exit 0 -par_testhalt soon success 30% false job 2 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 2; sleep 0.9; exit 0 -par_testhalt soon success 30% false job 3 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 3; sleep 1.2; exit 0 -par_testhalt soon success 30% false job 4 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 4; sleep 1.5; exit 0 -par_testhalt soon success 30% false job 5 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 5; sleep 1.8; exit 0 -par_testhalt soon success 30% false job 6 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 6; sleep 2.1; exit 0 -par_testhalt soon success 30% false job 7 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 7; sleep 2.4; exit 0 -par_testhalt soon success 30% false job 8 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 8; sleep 2.7; exit 0 -par_testhalt soon success 30% false job 9 -par_testhalt soon success 30% false parallel: This job succeeded: -par_testhalt soon success 30% false echo job 9; sleep 3; exit 0 -par_testhalt soon success 30% false 0 -par_testhalt soon success 70% true ### testhalt --halt soon,success=70% -par_testhalt soon success 70% true job 1 -par_testhalt soon success 70% true job 2 -par_testhalt soon success 70% true job 3 -par_testhalt soon success 70% true job 4 -par_testhalt soon success 70% true job 5 -par_testhalt soon success 70% true job 6 -par_testhalt soon success 70% true job 7 -par_testhalt soon success 70% true job 8 -par_testhalt soon success 70% true job 9 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 11; sleep 3.6; exit 0 -par_testhalt soon success 70% true job 10 -par_testhalt soon success 70% true job 11 -par_testhalt soon success 70% true job 12 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 12; sleep 3.9; exit 0 -par_testhalt soon success 70% true job 13 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 13; sleep 4.2; exit 0 -par_testhalt soon success 70% true job 14 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 14; sleep 4.5; exit 0 -par_testhalt soon success 70% true job 15 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 15; sleep 4.8; exit 0 -par_testhalt soon success 70% true job 16 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 16; sleep 5.1; exit 0 -par_testhalt soon success 70% true job 17 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 17; sleep 5.4; exit 0 -par_testhalt soon success 70% true job 18 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 18; sleep 5.7; exit 0 -par_testhalt soon success 70% true job 19 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 19; sleep 6; exit 0 -par_testhalt soon success 70% true job 20 -par_testhalt soon success 70% true parallel: This job succeeded: -par_testhalt soon success 70% true echo job 20; sleep 6.3; exit 0 -par_testhalt soon success 70% true 50 -par_testhalt soon success 70% false ### testhalt --halt soon,success=70% -par_testhalt soon success 70% false job 1 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 1; sleep 0.6; exit 0 -par_testhalt soon success 70% false job 2 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 2; sleep 0.9; exit 0 -par_testhalt soon success 70% false job 3 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 3; sleep 1.2; exit 0 -par_testhalt soon success 70% false job 4 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 4; sleep 1.5; exit 0 -par_testhalt soon success 70% false job 5 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 5; sleep 1.8; exit 0 -par_testhalt soon success 70% false job 6 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 6; sleep 2.1; exit 0 -par_testhalt soon success 70% false job 7 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 7; sleep 2.4; exit 0 -par_testhalt soon success 70% false job 8 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 8; sleep 2.7; exit 0 -par_testhalt soon success 70% false job 9 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 9; sleep 3; exit 0 -par_testhalt soon success 70% false job 10 -par_testhalt soon success 70% false parallel: This job succeeded: -par_testhalt soon success 70% false echo job 10; sleep 3.3; exit 0 -par_testhalt soon success 70% false job 11 -par_testhalt soon success 70% false job 12 -par_testhalt soon success 70% false job 13 -par_testhalt soon success 70% false job 14 -par_testhalt soon success 70% false job 15 -par_testhalt soon success 70% false job 16 -par_testhalt soon success 70% false job 17 -par_testhalt soon success 70% false job 18 -par_testhalt soon success 70% false job 19 -par_testhalt soon success 70% false job 20 -par_testhalt soon success 70% false 50 -par_testhalt soon done 0 true ### testhalt --halt soon,done=0 -par_testhalt soon done 0 true job 1 -par_testhalt soon done 0 true parallel: This job finished: -par_testhalt soon done 0 true echo job 1; sleep 0.9; exit 1 -par_testhalt soon done 0 true job 2 -par_testhalt soon done 0 true parallel: This job finished: -par_testhalt soon done 0 true echo job 2; sleep 1.5; exit 2 -par_testhalt soon done 0 true job 3 -par_testhalt soon done 0 true parallel: This job finished: -par_testhalt soon done 0 true echo job 3; sleep 2.1; exit 3 -par_testhalt soon done 0 true job 4 -par_testhalt soon done 0 true parallel: This job finished: -par_testhalt soon done 0 true echo job 4; sleep 2.7; exit 4 -par_testhalt soon done 0 true 0 -par_testhalt soon done 0 false ### testhalt --halt soon,done=0 -par_testhalt soon done 0 false job 1 -par_testhalt soon done 0 false parallel: This job finished: -par_testhalt soon done 0 false echo job 1; sleep 0.6; exit 0 -par_testhalt soon done 0 false job 2 -par_testhalt soon done 0 false parallel: This job finished: -par_testhalt soon done 0 false echo job 2; sleep 0.9; exit 0 -par_testhalt soon done 0 false job 3 -par_testhalt soon done 0 false parallel: This job finished: -par_testhalt soon done 0 false echo job 3; sleep 1.2; exit 0 -par_testhalt soon done 0 false 0 -par_testhalt soon done 1 true ### testhalt --halt soon,done=1 -par_testhalt soon done 1 true job 1 -par_testhalt soon done 1 true parallel: This job finished: -par_testhalt soon done 1 true echo job 1; sleep 0.9; exit 1 -par_testhalt soon done 1 true job 2 -par_testhalt soon done 1 true parallel: This job finished: -par_testhalt soon done 1 true echo job 2; sleep 1.5; exit 2 -par_testhalt soon done 1 true job 3 -par_testhalt soon done 1 true parallel: This job finished: -par_testhalt soon done 1 true echo job 3; sleep 2.1; exit 3 -par_testhalt soon done 1 true job 4 -par_testhalt soon done 1 true parallel: This job finished: -par_testhalt soon done 1 true echo job 4; sleep 2.7; exit 4 -par_testhalt soon done 1 true 1 -par_testhalt soon done 1 false ### testhalt --halt soon,done=1 -par_testhalt soon done 1 false job 1 -par_testhalt soon done 1 false parallel: This job finished: -par_testhalt soon done 1 false echo job 1; sleep 0.6; exit 0 -par_testhalt soon done 1 false job 2 -par_testhalt soon done 1 false parallel: This job finished: -par_testhalt soon done 1 false echo job 2; sleep 0.9; exit 0 -par_testhalt soon done 1 false job 3 -par_testhalt soon done 1 false parallel: This job finished: -par_testhalt soon done 1 false echo job 3; sleep 1.2; exit 0 -par_testhalt soon done 1 false 0 -par_testhalt soon done 2 true ### testhalt --halt soon,done=2 -par_testhalt soon done 2 true job 1 -par_testhalt soon done 2 true parallel: This job finished: -par_testhalt soon done 2 true echo job 1; sleep 0.9; exit 1 -par_testhalt soon done 2 true job 2 -par_testhalt soon done 2 true parallel: This job finished: -par_testhalt soon done 2 true echo job 2; sleep 1.5; exit 2 -par_testhalt soon done 2 true job 3 -par_testhalt soon done 2 true parallel: This job finished: -par_testhalt soon done 2 true echo job 3; sleep 2.1; exit 3 -par_testhalt soon done 2 true job 4 -par_testhalt soon done 2 true parallel: This job finished: -par_testhalt soon done 2 true echo job 4; sleep 2.7; exit 4 -par_testhalt soon done 2 true job 5 -par_testhalt soon done 2 true parallel: This job finished: -par_testhalt soon done 2 true echo job 5; sleep 3.3; exit 5 -par_testhalt soon done 2 true 2 -par_testhalt soon done 2 false ### testhalt --halt soon,done=2 -par_testhalt soon done 2 false job 1 -par_testhalt soon done 2 false parallel: This job finished: -par_testhalt soon done 2 false echo job 1; sleep 0.6; exit 0 -par_testhalt soon done 2 false job 2 -par_testhalt soon done 2 false parallel: This job finished: -par_testhalt soon done 2 false echo job 2; sleep 0.9; exit 0 -par_testhalt soon done 2 false job 3 -par_testhalt soon done 2 false parallel: This job finished: -par_testhalt soon done 2 false echo job 3; sleep 1.2; exit 0 -par_testhalt soon done 2 false job 4 -par_testhalt soon done 2 false parallel: This job finished: -par_testhalt soon done 2 false echo job 4; sleep 1.5; exit 0 -par_testhalt soon done 2 false job 5 -par_testhalt soon done 2 false parallel: This job finished: -par_testhalt soon done 2 false echo job 5; sleep 1.8; exit 0 -par_testhalt soon done 2 false 101 -par_testhalt soon done 30% true ### testhalt --halt soon,done=30% -par_testhalt soon done 30% true job 1 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 1; sleep 0.9; exit 1 -par_testhalt soon done 30% true job 2 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 2; sleep 1.5; exit 2 -par_testhalt soon done 30% true job 3 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 3; sleep 2.1; exit 3 -par_testhalt soon done 30% true job 4 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 4; sleep 2.7; exit 4 -par_testhalt soon done 30% true job 5 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 5; sleep 3.3; exit 5 -par_testhalt soon done 30% true job 6 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 6; sleep 3.9; exit 6 -par_testhalt soon done 30% true job 7 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 7; sleep 4.5; exit 7 -par_testhalt soon done 30% true job 8 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 8; sleep 5.1; exit 8 -par_testhalt soon done 30% true job 9 -par_testhalt soon done 30% true parallel: This job finished: -par_testhalt soon done 30% true echo job 9; sleep 5.7; exit 9 -par_testhalt soon done 30% true 30 -par_testhalt soon done 30% false ### testhalt --halt soon,done=30% -par_testhalt soon done 30% false job 1 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 1; sleep 0.6; exit 0 -par_testhalt soon done 30% false job 2 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 2; sleep 0.9; exit 0 -par_testhalt soon done 30% false job 3 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 3; sleep 1.2; exit 0 -par_testhalt soon done 30% false job 4 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 4; sleep 1.5; exit 0 -par_testhalt soon done 30% false job 5 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 5; sleep 1.8; exit 0 -par_testhalt soon done 30% false job 6 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 6; sleep 2.1; exit 0 -par_testhalt soon done 30% false job 7 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 7; sleep 2.4; exit 0 -par_testhalt soon done 30% false job 8 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 8; sleep 2.7; exit 0 -par_testhalt soon done 30% false job 9 -par_testhalt soon done 30% false parallel: This job finished: -par_testhalt soon done 30% false echo job 9; sleep 3; exit 0 -par_testhalt soon done 30% false 0 -par_testhalt soon done 70% true ### testhalt --halt soon,done=70% -par_testhalt soon done 70% true job 1 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 1; sleep 0.9; exit 1 -par_testhalt soon done 70% true job 2 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 2; sleep 1.5; exit 2 -par_testhalt soon done 70% true job 3 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 3; sleep 2.1; exit 3 -par_testhalt soon done 70% true job 4 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 4; sleep 2.7; exit 4 -par_testhalt soon done 70% true job 5 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 5; sleep 3.3; exit 5 -par_testhalt soon done 70% true job 6 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 6; sleep 3.9; exit 6 -par_testhalt soon done 70% true job 7 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 7; sleep 4.5; exit 7 -par_testhalt soon done 70% true job 8 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 8; sleep 5.1; exit 8 -par_testhalt soon done 70% true job 9 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 9; sleep 5.7; exit 9 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 11; sleep 3.6; exit 0 -par_testhalt soon done 70% true job 10 -par_testhalt soon done 70% true job 11 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 10; sleep 6.3; exit 10 -par_testhalt soon done 70% true job 12 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 12; sleep 3.9; exit 0 -par_testhalt soon done 70% true job 13 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 13; sleep 4.2; exit 0 -par_testhalt soon done 70% true job 14 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 14; sleep 4.5; exit 0 -par_testhalt soon done 70% true job 15 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 15; sleep 4.8; exit 0 -par_testhalt soon done 70% true job 16 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 16; sleep 5.1; exit 0 -par_testhalt soon done 70% true job 17 -par_testhalt soon done 70% true parallel: This job finished: -par_testhalt soon done 70% true echo job 17; sleep 5.4; exit 0 -par_testhalt soon done 70% true 50 -par_testhalt soon done 70% false ### testhalt --halt soon,done=70% -par_testhalt soon done 70% false job 1 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 1; sleep 0.6; exit 0 -par_testhalt soon done 70% false job 2 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 2; sleep 0.9; exit 0 -par_testhalt soon done 70% false job 3 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 3; sleep 1.2; exit 0 -par_testhalt soon done 70% false job 4 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 4; sleep 1.5; exit 0 -par_testhalt soon done 70% false job 5 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 5; sleep 1.8; exit 0 -par_testhalt soon done 70% false job 6 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 6; sleep 2.1; exit 0 -par_testhalt soon done 70% false job 7 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 7; sleep 2.4; exit 0 -par_testhalt soon done 70% false job 8 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 8; sleep 2.7; exit 0 -par_testhalt soon done 70% false job 9 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 9; sleep 3; exit 0 -par_testhalt soon done 70% false job 10 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 10; sleep 3.3; exit 0 -par_testhalt soon done 70% false job 11 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 11; sleep 3.9; exit 1 -par_testhalt soon done 70% false job 12 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 12; sleep 4.5; exit 2 -par_testhalt soon done 70% false job 13 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 13; sleep 5.1; exit 3 -par_testhalt soon done 70% false job 14 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 14; sleep 5.7; exit 4 -par_testhalt soon done 70% false job 15 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 15; sleep 6.3; exit 5 -par_testhalt soon done 70% false job 16 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 16; sleep 6.9; exit 6 -par_testhalt soon done 70% false job 17 -par_testhalt soon done 70% false parallel: This job finished: -par_testhalt soon done 70% false echo job 17; sleep 7.5; exit 7 -par_testhalt soon done 70% false 20 -par_totaljob_repl {##} bug #45841: Replacement string for total no of jobs -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 1 -par_totaljob_repl 2 -par_totaljob_repl 3 -par_totaljob_repl 4 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 10 -par_totaljob_repl 1 2 -par_totaljob_repl 2 2 -par_totaljob_repl 1 3 -par_totaljob_repl 2 3 -par_totaljob_repl 3 3 -par_totaljob_repl 1 15 -par_totaljob_repl 2 14 -par_totaljob_repl 3 14 -par_totaljob_repl 4 14 -par_totaljob_repl 5 14 -par_totaljob_repl 6 14 -par_totaljob_repl 7 14 -par_totaljob_repl 8 14 -par_totaljob_repl 01/20:01 -par_totaljob_repl 02/20:02 -par_totaljob_repl 03/20:03 -par_totaljob_repl 04/20:04 -par_totaljob_repl 05/20:05 -par_totaljob_repl 06/20:06 -par_totaljob_repl 07/20:07 -par_totaljob_repl 08/20:08 -par_totaljob_repl 09/20:09 -par_totaljob_repl 10/20:10 -par_totaljob_repl 11/20:01 -par_totaljob_repl 12/20:02 -par_totaljob_repl 13/20:03 -par_totaljob_repl 14/20:04 -par_totaljob_repl 15/20:05 -par_totaljob_repl 16/20:06 -par_totaljob_repl 17/20:07 -par_totaljob_repl 18/20:08 -par_totaljob_repl 19/20:09 -par_totaljob_repl 20/20:10 diff --git a/testsuite/wanted-results/parallel-local-race03 b/testsuite/wanted-results/parallel-local-race03 new file mode 100644 index 00000000..4a0ab54e --- /dev/null +++ b/testsuite/wanted-results/parallel-local-race03 @@ -0,0 +1,1537 @@ +bug #46120: Suspend should suspend (at least local) children +it should burn 1.9 CPU seconds, but no more than that +The 5 second sleep will make it be killed by timeout when it fgs +input_source_pipe + +$cmd +Zero=OK 0 +input_source_cmdline + +$cmd +Zero=OK 0 +Control case: This should run 2.9 seconds +input_source_cmdline + +$cmd +1=OK 1 +par_PARALLEL_RSYNC_OPTS ### test rsync opts +par_PARALLEL_RSYNC_OPTS -rlDzRRRR +par_PARALLEL_RSYNC_OPTS -rlDzRRRR +par_PARALLEL_RSYNC_OPTS -zzzzrldRRRR +par_PARALLEL_RSYNC_OPTS -zzzzrldRRRR +par_PARALLEL_RSYNC_OPTS +par__compress_prg_fails ### bug #41609: --compress fails +par__compress_prg_fails f1a751b1283e99e7dda40f63f1225f74 - +par__compress_prg_fails f1a751b1283e99e7dda40f63f1225f74 - +par__compress_prg_fails ### bug #44546: If --compress-program fails: fail +par__compress_prg_fails 1 +par__compress_prg_fails parallel: Error: false failed. +par__compress_prg_fails parallel: Error: false failed. +par__compress_prg_fails --files 1 +par__compress_prg_fails --files parallel: Warning: Use --files0 when $TMPDIR contains newline. +par__compress_prg_fails --files parallel: Error: false failed. +par__compress_prg_fails --files parallel: Error: false failed. +par__compress_prg_fails --tag 1 +par__compress_prg_fails --tag parallel: Error: false failed. +par__compress_prg_fails --tag parallel: Error: false failed. +par__compress_prg_fails --tag --files 1 +par__compress_prg_fails --tag --files parallel: Warning: Use --files0 when $TMPDIR contains newline. +par__compress_prg_fails --tag --files parallel: Error: false failed. +par__compress_prg_fails --tag --files parallel: Error: false failed. +par__compress_prg_fails --line-buffer 1 +par__compress_prg_fails --line-buffer parallel: Error: false failed. +par__compress_prg_fails --line-buffer parallel: Error: false failed. +par__compress_prg_fails --line-buffer --files 1 +par__compress_prg_fails --line-buffer --files parallel: Warning: Use --files0 when $TMPDIR contains newline. +par__compress_prg_fails --line-buffer --files parallel: Error: false failed. +par__compress_prg_fails --line-buffer --files parallel: Error: false failed. +par__compress_prg_fails --line-buffer --tag 1 +par__compress_prg_fails --line-buffer --tag parallel: Error: false failed. +par__compress_prg_fails --line-buffer --tag parallel: Error: false failed. +par__compress_prg_fails --line-buffer --tag --files 1 +par__compress_prg_fails --line-buffer --tag --files parallel: Warning: Use --files0 when $TMPDIR contains newline. +par__compress_prg_fails --line-buffer --tag --files parallel: Error: false failed. +par__compress_prg_fails --line-buffer --tag --files parallel: Error: false failed. +par_continuous_output Test delayed output with '' +par_continuous_output -u is optimal but hard to reach, due to non-mixing +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 0 +par_continuous_output Test delayed output with '-u' +par_continuous_output -u is optimal but hard to reach, due to non-mixing +par_continuous_output 0 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_continuous_output 1 +par_kill_hup ### Are children killed if GNU Parallel receives HUP? There should be no sleep at the end +par_kill_hup bash-+-perl---2*[bash---sleep] +par_kill_hup `-pstree +par_kill_hup parallel: SIGHUP received. No new jobs will be started. +par_kill_hup parallel: Waiting for these 2 jobs to finish. Send SIGTERM to stop now. +par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' +par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' +par_kill_hup bash---pstree +par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins +par_more_than_9_relative_sshlogin 1 +par_more_than_9_relative_sshlogin 2 +par_more_than_9_relative_sshlogin 3 +par_more_than_9_relative_sshlogin 4 +par_more_than_9_relative_sshlogin 5 +par_more_than_9_relative_sshlogin 6 +par_more_than_9_relative_sshlogin 7 +par_more_than_9_relative_sshlogin 8 +par_more_than_9_relative_sshlogin 9 +par_more_than_9_relative_sshlogin 10 +par_more_than_9_relative_sshlogin 11 +par_resume_failed_k ### bug #38299: --resume-failed -k +par_resume_failed_k job1 val 0 +par_resume_failed_k job2 val 1 +par_resume_failed_k job3 val 2 +par_resume_failed_k job4 val 3 +par_resume_failed_k job5 val 0 +par_resume_failed_k job6 val 1 +par_resume_failed_k try 2. Gives failing - not 0 +par_resume_failed_k job2 val 1 +par_resume_failed_k job3 val 2 +par_resume_failed_k job4 val 3 +par_resume_failed_k job6 val 1 +par_resume_failed_k with exit 0 +par_resume_failed_k job2 val 1 +par_resume_failed_k job3 val 2 +par_resume_failed_k job4 val 3 +par_resume_failed_k job6 val 1 +par_resume_failed_k try 2 again. Gives empty +par_retries_bug_from_2010 ### Bug with --retries +par_retries_bug_from_2010 8 +par_retries_bug_from_2010 8 +par_retries_bug_from_2010 2 +par_retries_bug_from_2010 1 +par_retries_bug_from_2010 1 +par_retries_bug_from_2010 1 +par_retries_bug_from_2010 ### These were not affected by the bug +par_retries_bug_from_2010 8 +par_retries_bug_from_2010 8 +par_retries_bug_from_2010 1 +par_retries_bug_from_2010 4 +par_retries_bug_from_2010 4 +par_retries_bug_from_2010 4 +par_retries_bug_from_2010 2 +par_semaphore ### Test if parallel invoked as sem will run parallel --semaphore +par_semaphore job1a 1 +par_semaphore job2a 2 +par_semaphore job1b 3 +par_semaphore job3a 4 +par_semaphore job2b 5 +par_semaphore job3b 6 +par_semaphore done +par_sql_CSV ### CSV write to the right place +par_sql_CSV ran OK +par_sql_CSV ok +par_sql_CSV parallel: Error: /must/fail is not a directory. +par_testhalt now fail 0 true ### testhalt --halt now,fail=0 +par_testhalt now fail 0 true job 1 +par_testhalt now fail 0 true parallel: This job failed: +par_testhalt now fail 0 true echo job 1; sleep 0.9; exit 1 +par_testhalt now fail 0 true 0 +par_testhalt now fail 0 false ### testhalt --halt now,fail=0 +par_testhalt now fail 0 false job 1 +par_testhalt now fail 0 false job 2 +par_testhalt now fail 0 false job 3 +par_testhalt now fail 0 false job 4 +par_testhalt now fail 0 false job 5 +par_testhalt now fail 0 false job 6 +par_testhalt now fail 0 false job 7 +par_testhalt now fail 0 false job 8 +par_testhalt now fail 0 false job 9 +par_testhalt now fail 0 false job 10 +par_testhalt now fail 0 false job 11 +par_testhalt now fail 0 false parallel: This job failed: +par_testhalt now fail 0 false echo job 11; sleep 3.9; exit 1 +par_testhalt now fail 0 false 0 +par_testhalt now fail 1 true ### testhalt --halt now,fail=1 +par_testhalt now fail 1 true job 1 +par_testhalt now fail 1 true parallel: This job failed: +par_testhalt now fail 1 true echo job 1; sleep 0.9; exit 1 +par_testhalt now fail 1 true 1 +par_testhalt now fail 1 false ### testhalt --halt now,fail=1 +par_testhalt now fail 1 false job 1 +par_testhalt now fail 1 false job 2 +par_testhalt now fail 1 false job 3 +par_testhalt now fail 1 false job 4 +par_testhalt now fail 1 false job 5 +par_testhalt now fail 1 false job 6 +par_testhalt now fail 1 false job 7 +par_testhalt now fail 1 false job 8 +par_testhalt now fail 1 false job 9 +par_testhalt now fail 1 false job 10 +par_testhalt now fail 1 false job 11 +par_testhalt now fail 1 false parallel: This job failed: +par_testhalt now fail 1 false echo job 11; sleep 3.9; exit 1 +par_testhalt now fail 1 false 1 +par_testhalt now fail 2 true ### testhalt --halt now,fail=2 +par_testhalt now fail 2 true job 1 +par_testhalt now fail 2 true parallel: This job failed: +par_testhalt now fail 2 true echo job 1; sleep 0.9; exit 1 +par_testhalt now fail 2 true job 2 +par_testhalt now fail 2 true parallel: This job failed: +par_testhalt now fail 2 true echo job 2; sleep 1.5; exit 2 +par_testhalt now fail 2 true 2 +par_testhalt now fail 2 false ### testhalt --halt now,fail=2 +par_testhalt now fail 2 false job 1 +par_testhalt now fail 2 false job 2 +par_testhalt now fail 2 false job 3 +par_testhalt now fail 2 false job 4 +par_testhalt now fail 2 false job 5 +par_testhalt now fail 2 false job 6 +par_testhalt now fail 2 false job 7 +par_testhalt now fail 2 false job 8 +par_testhalt now fail 2 false job 9 +par_testhalt now fail 2 false job 10 +par_testhalt now fail 2 false job 11 +par_testhalt now fail 2 false parallel: This job failed: +par_testhalt now fail 2 false echo job 11; sleep 3.9; exit 1 +par_testhalt now fail 2 false job 12 +par_testhalt now fail 2 false parallel: This job failed: +par_testhalt now fail 2 false echo job 12; sleep 4.5; exit 2 +par_testhalt now fail 2 false 2 +par_testhalt now fail 30% true ### testhalt --halt now,fail=30% +par_testhalt now fail 30% true job 1 +par_testhalt now fail 30% true parallel: This job failed: +par_testhalt now fail 30% true echo job 1; sleep 0.9; exit 1 +par_testhalt now fail 30% true job 2 +par_testhalt now fail 30% true parallel: This job failed: +par_testhalt now fail 30% true echo job 2; sleep 1.5; exit 2 +par_testhalt now fail 30% true job 3 +par_testhalt now fail 30% true parallel: This job failed: +par_testhalt now fail 30% true echo job 3; sleep 2.1; exit 3 +par_testhalt now fail 30% true job 4 +par_testhalt now fail 30% true parallel: This job failed: +par_testhalt now fail 30% true echo job 4; sleep 2.7; exit 4 +par_testhalt now fail 30% true job 5 +par_testhalt now fail 30% true parallel: This job failed: +par_testhalt now fail 30% true echo job 5; sleep 3.3; exit 5 +par_testhalt now fail 30% true job 6 +par_testhalt now fail 30% true parallel: This job failed: +par_testhalt now fail 30% true echo job 6; sleep 3.9; exit 6 +par_testhalt now fail 30% true 30 +par_testhalt now fail 30% false ### testhalt --halt now,fail=30% +par_testhalt now fail 30% false job 1 +par_testhalt now fail 30% false job 2 +par_testhalt now fail 30% false job 3 +par_testhalt now fail 30% false job 4 +par_testhalt now fail 30% false job 5 +par_testhalt now fail 30% false job 6 +par_testhalt now fail 30% false job 7 +par_testhalt now fail 30% false job 8 +par_testhalt now fail 30% false job 9 +par_testhalt now fail 30% false job 10 +par_testhalt now fail 30% false job 11 +par_testhalt now fail 30% false parallel: This job failed: +par_testhalt now fail 30% false echo job 11; sleep 3.9; exit 1 +par_testhalt now fail 30% false job 12 +par_testhalt now fail 30% false parallel: This job failed: +par_testhalt now fail 30% false echo job 12; sleep 4.5; exit 2 +par_testhalt now fail 30% false job 13 +par_testhalt now fail 30% false parallel: This job failed: +par_testhalt now fail 30% false echo job 13; sleep 5.1; exit 3 +par_testhalt now fail 30% false job 14 +par_testhalt now fail 30% false parallel: This job failed: +par_testhalt now fail 30% false echo job 14; sleep 5.7; exit 4 +par_testhalt now fail 30% false job 15 +par_testhalt now fail 30% false parallel: This job failed: +par_testhalt now fail 30% false echo job 15; sleep 6.3; exit 5 +par_testhalt now fail 30% false job 16 +par_testhalt now fail 30% false parallel: This job failed: +par_testhalt now fail 30% false echo job 16; sleep 6.9; exit 6 +par_testhalt now fail 30% false 30 +par_testhalt now fail 70% true ### testhalt --halt now,fail=70% +par_testhalt now fail 70% true job 1 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 1; sleep 0.9; exit 1 +par_testhalt now fail 70% true job 2 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 2; sleep 1.5; exit 2 +par_testhalt now fail 70% true job 3 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 3; sleep 2.1; exit 3 +par_testhalt now fail 70% true job 4 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 4; sleep 2.7; exit 4 +par_testhalt now fail 70% true job 5 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 5; sleep 3.3; exit 5 +par_testhalt now fail 70% true job 6 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 6; sleep 3.9; exit 6 +par_testhalt now fail 70% true job 7 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 7; sleep 4.5; exit 7 +par_testhalt now fail 70% true job 8 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 8; sleep 5.1; exit 8 +par_testhalt now fail 70% true job 9 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 9; sleep 5.7; exit 9 +par_testhalt now fail 70% true job 10 +par_testhalt now fail 70% true job 11 +par_testhalt now fail 70% true parallel: This job failed: +par_testhalt now fail 70% true echo job 10; sleep 6.3; exit 10 +par_testhalt now fail 70% true job 12 +par_testhalt now fail 70% true job 13 +par_testhalt now fail 70% true job 14 +par_testhalt now fail 70% true job 15 +par_testhalt now fail 70% true job 16 +par_testhalt now fail 70% true job 17 +par_testhalt now fail 70% true job 18 +par_testhalt now fail 70% true job 19 +par_testhalt now fail 70% true job 20 +par_testhalt now fail 70% true 50 +par_testhalt now fail 70% false ### testhalt --halt now,fail=70% +par_testhalt now fail 70% false job 1 +par_testhalt now fail 70% false job 2 +par_testhalt now fail 70% false job 3 +par_testhalt now fail 70% false job 4 +par_testhalt now fail 70% false job 5 +par_testhalt now fail 70% false job 6 +par_testhalt now fail 70% false job 7 +par_testhalt now fail 70% false job 8 +par_testhalt now fail 70% false job 9 +par_testhalt now fail 70% false job 10 +par_testhalt now fail 70% false job 11 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 11; sleep 3.9; exit 1 +par_testhalt now fail 70% false job 12 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 12; sleep 4.5; exit 2 +par_testhalt now fail 70% false job 13 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 13; sleep 5.1; exit 3 +par_testhalt now fail 70% false job 14 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 14; sleep 5.7; exit 4 +par_testhalt now fail 70% false job 15 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 15; sleep 6.3; exit 5 +par_testhalt now fail 70% false job 16 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 16; sleep 6.9; exit 6 +par_testhalt now fail 70% false job 17 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 17; sleep 7.5; exit 7 +par_testhalt now fail 70% false job 18 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 18; sleep 8.1; exit 8 +par_testhalt now fail 70% false job 19 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 19; sleep 8.7; exit 9 +par_testhalt now fail 70% false job 20 +par_testhalt now fail 70% false parallel: This job failed: +par_testhalt now fail 70% false echo job 20; sleep 9.3; exit 10 +par_testhalt now fail 70% false 50 +par_testhalt now success 0 true ### testhalt --halt now,success=0 +par_testhalt now success 0 true job 1 +par_testhalt now success 0 true job 2 +par_testhalt now success 0 true job 3 +par_testhalt now success 0 true job 4 +par_testhalt now success 0 true job 5 +par_testhalt now success 0 true job 6 +par_testhalt now success 0 true job 7 +par_testhalt now success 0 true job 8 +par_testhalt now success 0 true job 9 +par_testhalt now success 0 true parallel: This job succeeded: +par_testhalt now success 0 true echo job 11; sleep 3.6; exit 0 +par_testhalt now success 0 true 0 +par_testhalt now success 0 false ### testhalt --halt now,success=0 +par_testhalt now success 0 false job 1 +par_testhalt now success 0 false parallel: This job succeeded: +par_testhalt now success 0 false echo job 1; sleep 0.6; exit 0 +par_testhalt now success 0 false 0 +par_testhalt now success 1 true ### testhalt --halt now,success=1 +par_testhalt now success 1 true job 1 +par_testhalt now success 1 true job 2 +par_testhalt now success 1 true job 3 +par_testhalt now success 1 true job 4 +par_testhalt now success 1 true job 5 +par_testhalt now success 1 true job 6 +par_testhalt now success 1 true job 7 +par_testhalt now success 1 true job 8 +par_testhalt now success 1 true job 9 +par_testhalt now success 1 true parallel: This job succeeded: +par_testhalt now success 1 true echo job 11; sleep 3.6; exit 0 +par_testhalt now success 1 true 0 +par_testhalt now success 1 false ### testhalt --halt now,success=1 +par_testhalt now success 1 false job 1 +par_testhalt now success 1 false parallel: This job succeeded: +par_testhalt now success 1 false echo job 1; sleep 0.6; exit 0 +par_testhalt now success 1 false 0 +par_testhalt now success 2 true ### testhalt --halt now,success=2 +par_testhalt now success 2 true job 1 +par_testhalt now success 2 true job 2 +par_testhalt now success 2 true job 3 +par_testhalt now success 2 true job 4 +par_testhalt now success 2 true job 5 +par_testhalt now success 2 true job 6 +par_testhalt now success 2 true job 7 +par_testhalt now success 2 true job 8 +par_testhalt now success 2 true job 9 +par_testhalt now success 2 true parallel: This job succeeded: +par_testhalt now success 2 true echo job 11; sleep 3.6; exit 0 +par_testhalt now success 2 true job 10 +par_testhalt now success 2 true job 11 +par_testhalt now success 2 true job 12 +par_testhalt now success 2 true parallel: This job succeeded: +par_testhalt now success 2 true echo job 12; sleep 3.9; exit 0 +par_testhalt now success 2 true 0 +par_testhalt now success 2 false ### testhalt --halt now,success=2 +par_testhalt now success 2 false job 1 +par_testhalt now success 2 false parallel: This job succeeded: +par_testhalt now success 2 false echo job 1; sleep 0.6; exit 0 +par_testhalt now success 2 false job 2 +par_testhalt now success 2 false parallel: This job succeeded: +par_testhalt now success 2 false echo job 2; sleep 0.9; exit 0 +par_testhalt now success 2 false 0 +par_testhalt now success 30% true ### testhalt --halt now,success=30% +par_testhalt now success 30% true job 1 +par_testhalt now success 30% true job 2 +par_testhalt now success 30% true job 3 +par_testhalt now success 30% true job 4 +par_testhalt now success 30% true job 5 +par_testhalt now success 30% true job 6 +par_testhalt now success 30% true job 7 +par_testhalt now success 30% true job 8 +par_testhalt now success 30% true job 9 +par_testhalt now success 30% true parallel: This job succeeded: +par_testhalt now success 30% true echo job 11; sleep 3.6; exit 0 +par_testhalt now success 30% true job 10 +par_testhalt now success 30% true job 11 +par_testhalt now success 30% true job 12 +par_testhalt now success 30% true parallel: This job succeeded: +par_testhalt now success 30% true echo job 12; sleep 3.9; exit 0 +par_testhalt now success 30% true job 13 +par_testhalt now success 30% true parallel: This job succeeded: +par_testhalt now success 30% true echo job 13; sleep 4.2; exit 0 +par_testhalt now success 30% true job 14 +par_testhalt now success 30% true parallel: This job succeeded: +par_testhalt now success 30% true echo job 14; sleep 4.5; exit 0 +par_testhalt now success 30% true job 15 +par_testhalt now success 30% true parallel: This job succeeded: +par_testhalt now success 30% true echo job 15; sleep 4.8; exit 0 +par_testhalt now success 30% true job 16 +par_testhalt now success 30% true parallel: This job succeeded: +par_testhalt now success 30% true echo job 16; sleep 5.1; exit 0 +par_testhalt now success 30% true 0 +par_testhalt now success 30% false ### testhalt --halt now,success=30% +par_testhalt now success 30% false job 1 +par_testhalt now success 30% false parallel: This job succeeded: +par_testhalt now success 30% false echo job 1; sleep 0.6; exit 0 +par_testhalt now success 30% false job 2 +par_testhalt now success 30% false parallel: This job succeeded: +par_testhalt now success 30% false echo job 2; sleep 0.9; exit 0 +par_testhalt now success 30% false job 3 +par_testhalt now success 30% false parallel: This job succeeded: +par_testhalt now success 30% false echo job 3; sleep 1.2; exit 0 +par_testhalt now success 30% false job 4 +par_testhalt now success 30% false parallel: This job succeeded: +par_testhalt now success 30% false echo job 4; sleep 1.5; exit 0 +par_testhalt now success 30% false job 5 +par_testhalt now success 30% false parallel: This job succeeded: +par_testhalt now success 30% false echo job 5; sleep 1.8; exit 0 +par_testhalt now success 30% false job 6 +par_testhalt now success 30% false parallel: This job succeeded: +par_testhalt now success 30% false echo job 6; sleep 2.1; exit 0 +par_testhalt now success 30% false 0 +par_testhalt now success 70% true ### testhalt --halt now,success=70% +par_testhalt now success 70% true job 1 +par_testhalt now success 70% true job 2 +par_testhalt now success 70% true job 3 +par_testhalt now success 70% true job 4 +par_testhalt now success 70% true job 5 +par_testhalt now success 70% true job 6 +par_testhalt now success 70% true job 7 +par_testhalt now success 70% true job 8 +par_testhalt now success 70% true job 9 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 11; sleep 3.6; exit 0 +par_testhalt now success 70% true job 10 +par_testhalt now success 70% true job 11 +par_testhalt now success 70% true job 12 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 12; sleep 3.9; exit 0 +par_testhalt now success 70% true job 13 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 13; sleep 4.2; exit 0 +par_testhalt now success 70% true job 14 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 14; sleep 4.5; exit 0 +par_testhalt now success 70% true job 15 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 15; sleep 4.8; exit 0 +par_testhalt now success 70% true job 16 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 16; sleep 5.1; exit 0 +par_testhalt now success 70% true job 17 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 17; sleep 5.4; exit 0 +par_testhalt now success 70% true job 18 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 18; sleep 5.7; exit 0 +par_testhalt now success 70% true job 19 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 19; sleep 6; exit 0 +par_testhalt now success 70% true job 20 +par_testhalt now success 70% true parallel: This job succeeded: +par_testhalt now success 70% true echo job 20; sleep 6.3; exit 0 +par_testhalt now success 70% true 50 +par_testhalt now success 70% false ### testhalt --halt now,success=70% +par_testhalt now success 70% false job 1 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 1; sleep 0.6; exit 0 +par_testhalt now success 70% false job 2 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 2; sleep 0.9; exit 0 +par_testhalt now success 70% false job 3 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 3; sleep 1.2; exit 0 +par_testhalt now success 70% false job 4 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 4; sleep 1.5; exit 0 +par_testhalt now success 70% false job 5 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 5; sleep 1.8; exit 0 +par_testhalt now success 70% false job 6 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 6; sleep 2.1; exit 0 +par_testhalt now success 70% false job 7 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 7; sleep 2.4; exit 0 +par_testhalt now success 70% false job 8 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 8; sleep 2.7; exit 0 +par_testhalt now success 70% false job 9 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 9; sleep 3; exit 0 +par_testhalt now success 70% false job 10 +par_testhalt now success 70% false parallel: This job succeeded: +par_testhalt now success 70% false echo job 10; sleep 3.3; exit 0 +par_testhalt now success 70% false job 11 +par_testhalt now success 70% false job 12 +par_testhalt now success 70% false job 13 +par_testhalt now success 70% false job 14 +par_testhalt now success 70% false job 15 +par_testhalt now success 70% false job 16 +par_testhalt now success 70% false job 17 +par_testhalt now success 70% false job 18 +par_testhalt now success 70% false job 19 +par_testhalt now success 70% false job 20 +par_testhalt now success 70% false 50 +par_testhalt now done 0 true ### testhalt --halt now,done=0 +par_testhalt now done 0 true job 1 +par_testhalt now done 0 true parallel: This job finished: +par_testhalt now done 0 true echo job 1; sleep 0.9; exit 1 +par_testhalt now done 0 true 0 +par_testhalt now done 0 false ### testhalt --halt now,done=0 +par_testhalt now done 0 false job 1 +par_testhalt now done 0 false parallel: This job finished: +par_testhalt now done 0 false echo job 1; sleep 0.6; exit 0 +par_testhalt now done 0 false 0 +par_testhalt now done 1 true ### testhalt --halt now,done=1 +par_testhalt now done 1 true job 1 +par_testhalt now done 1 true parallel: This job finished: +par_testhalt now done 1 true echo job 1; sleep 0.9; exit 1 +par_testhalt now done 1 true 1 +par_testhalt now done 1 false ### testhalt --halt now,done=1 +par_testhalt now done 1 false job 1 +par_testhalt now done 1 false parallel: This job finished: +par_testhalt now done 1 false echo job 1; sleep 0.6; exit 0 +par_testhalt now done 1 false 0 +par_testhalt now done 2 true ### testhalt --halt now,done=2 +par_testhalt now done 2 true job 1 +par_testhalt now done 2 true parallel: This job finished: +par_testhalt now done 2 true echo job 1; sleep 0.9; exit 1 +par_testhalt now done 2 true job 2 +par_testhalt now done 2 true parallel: This job finished: +par_testhalt now done 2 true echo job 2; sleep 1.5; exit 2 +par_testhalt now done 2 true 2 +par_testhalt now done 2 false ### testhalt --halt now,done=2 +par_testhalt now done 2 false job 1 +par_testhalt now done 2 false parallel: This job finished: +par_testhalt now done 2 false echo job 1; sleep 0.6; exit 0 +par_testhalt now done 2 false job 2 +par_testhalt now done 2 false parallel: This job finished: +par_testhalt now done 2 false echo job 2; sleep 0.9; exit 0 +par_testhalt now done 2 false 101 +par_testhalt now done 30% true ### testhalt --halt now,done=30% +par_testhalt now done 30% true job 1 +par_testhalt now done 30% true parallel: This job finished: +par_testhalt now done 30% true echo job 1; sleep 0.9; exit 1 +par_testhalt now done 30% true job 2 +par_testhalt now done 30% true parallel: This job finished: +par_testhalt now done 30% true echo job 2; sleep 1.5; exit 2 +par_testhalt now done 30% true job 3 +par_testhalt now done 30% true parallel: This job finished: +par_testhalt now done 30% true echo job 3; sleep 2.1; exit 3 +par_testhalt now done 30% true job 4 +par_testhalt now done 30% true parallel: This job finished: +par_testhalt now done 30% true echo job 4; sleep 2.7; exit 4 +par_testhalt now done 30% true job 5 +par_testhalt now done 30% true parallel: This job finished: +par_testhalt now done 30% true echo job 5; sleep 3.3; exit 5 +par_testhalt now done 30% true job 6 +par_testhalt now done 30% true parallel: This job finished: +par_testhalt now done 30% true echo job 6; sleep 3.9; exit 6 +par_testhalt now done 30% true 30 +par_testhalt now done 30% false ### testhalt --halt now,done=30% +par_testhalt now done 30% false job 1 +par_testhalt now done 30% false parallel: This job finished: +par_testhalt now done 30% false echo job 1; sleep 0.6; exit 0 +par_testhalt now done 30% false job 2 +par_testhalt now done 30% false parallel: This job finished: +par_testhalt now done 30% false echo job 2; sleep 0.9; exit 0 +par_testhalt now done 30% false job 3 +par_testhalt now done 30% false parallel: This job finished: +par_testhalt now done 30% false echo job 3; sleep 1.2; exit 0 +par_testhalt now done 30% false job 4 +par_testhalt now done 30% false parallel: This job finished: +par_testhalt now done 30% false echo job 4; sleep 1.5; exit 0 +par_testhalt now done 30% false job 5 +par_testhalt now done 30% false parallel: This job finished: +par_testhalt now done 30% false echo job 5; sleep 1.8; exit 0 +par_testhalt now done 30% false job 6 +par_testhalt now done 30% false parallel: This job finished: +par_testhalt now done 30% false echo job 6; sleep 2.1; exit 0 +par_testhalt now done 30% false 0 +par_testhalt now done 70% true ### testhalt --halt now,done=70% +par_testhalt now done 70% true job 1 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 1; sleep 0.9; exit 1 +par_testhalt now done 70% true job 2 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 2; sleep 1.5; exit 2 +par_testhalt now done 70% true job 3 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 3; sleep 2.1; exit 3 +par_testhalt now done 70% true job 4 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 4; sleep 2.7; exit 4 +par_testhalt now done 70% true job 5 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 5; sleep 3.3; exit 5 +par_testhalt now done 70% true job 6 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 6; sleep 3.9; exit 6 +par_testhalt now done 70% true job 7 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 7; sleep 4.5; exit 7 +par_testhalt now done 70% true job 8 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 8; sleep 5.1; exit 8 +par_testhalt now done 70% true job 9 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 9; sleep 5.7; exit 9 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 11; sleep 3.6; exit 0 +par_testhalt now done 70% true job 10 +par_testhalt now done 70% true job 11 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 10; sleep 6.3; exit 10 +par_testhalt now done 70% true job 12 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 12; sleep 3.9; exit 0 +par_testhalt now done 70% true job 13 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 13; sleep 4.2; exit 0 +par_testhalt now done 70% true job 14 +par_testhalt now done 70% true parallel: This job finished: +par_testhalt now done 70% true echo job 14; sleep 4.5; exit 0 +par_testhalt now done 70% true 50 +par_testhalt now done 70% false ### testhalt --halt now,done=70% +par_testhalt now done 70% false job 1 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 1; sleep 0.6; exit 0 +par_testhalt now done 70% false job 2 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 2; sleep 0.9; exit 0 +par_testhalt now done 70% false job 3 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 3; sleep 1.2; exit 0 +par_testhalt now done 70% false job 4 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 4; sleep 1.5; exit 0 +par_testhalt now done 70% false job 5 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 5; sleep 1.8; exit 0 +par_testhalt now done 70% false job 6 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 6; sleep 2.1; exit 0 +par_testhalt now done 70% false job 7 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 7; sleep 2.4; exit 0 +par_testhalt now done 70% false job 8 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 8; sleep 2.7; exit 0 +par_testhalt now done 70% false job 9 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 9; sleep 3; exit 0 +par_testhalt now done 70% false job 10 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 10; sleep 3.3; exit 0 +par_testhalt now done 70% false job 11 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 11; sleep 3.9; exit 1 +par_testhalt now done 70% false job 12 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 12; sleep 4.5; exit 2 +par_testhalt now done 70% false job 13 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 13; sleep 5.1; exit 3 +par_testhalt now done 70% false job 14 +par_testhalt now done 70% false parallel: This job finished: +par_testhalt now done 70% false echo job 14; sleep 5.7; exit 4 +par_testhalt now done 70% false 20 +par_testhalt soon fail 0 true ### testhalt --halt soon,fail=0 +par_testhalt soon fail 0 true job 1 +par_testhalt soon fail 0 true parallel: This job failed: +par_testhalt soon fail 0 true echo job 1; sleep 0.9; exit 1 +par_testhalt soon fail 0 true job 2 +par_testhalt soon fail 0 true parallel: This job failed: +par_testhalt soon fail 0 true echo job 2; sleep 1.5; exit 2 +par_testhalt soon fail 0 true job 3 +par_testhalt soon fail 0 true parallel: This job failed: +par_testhalt soon fail 0 true echo job 3; sleep 2.1; exit 3 +par_testhalt soon fail 0 true job 4 +par_testhalt soon fail 0 true parallel: This job failed: +par_testhalt soon fail 0 true echo job 4; sleep 2.7; exit 4 +par_testhalt soon fail 0 true 0 +par_testhalt soon fail 0 false ### testhalt --halt soon,fail=0 +par_testhalt soon fail 0 false job 1 +par_testhalt soon fail 0 false job 2 +par_testhalt soon fail 0 false job 3 +par_testhalt soon fail 0 false job 4 +par_testhalt soon fail 0 false job 5 +par_testhalt soon fail 0 false job 6 +par_testhalt soon fail 0 false job 7 +par_testhalt soon fail 0 false job 8 +par_testhalt soon fail 0 false job 9 +par_testhalt soon fail 0 false job 10 +par_testhalt soon fail 0 false job 11 +par_testhalt soon fail 0 false parallel: This job failed: +par_testhalt soon fail 0 false echo job 11; sleep 3.9; exit 1 +par_testhalt soon fail 0 false job 12 +par_testhalt soon fail 0 false parallel: This job failed: +par_testhalt soon fail 0 false echo job 12; sleep 4.5; exit 2 +par_testhalt soon fail 0 false job 13 +par_testhalt soon fail 0 false parallel: This job failed: +par_testhalt soon fail 0 false echo job 13; sleep 5.1; exit 3 +par_testhalt soon fail 0 false job 14 +par_testhalt soon fail 0 false parallel: This job failed: +par_testhalt soon fail 0 false echo job 14; sleep 5.7; exit 4 +par_testhalt soon fail 0 false 0 +par_testhalt soon fail 1 true ### testhalt --halt soon,fail=1 +par_testhalt soon fail 1 true job 1 +par_testhalt soon fail 1 true parallel: This job failed: +par_testhalt soon fail 1 true echo job 1; sleep 0.9; exit 1 +par_testhalt soon fail 1 true job 2 +par_testhalt soon fail 1 true parallel: This job failed: +par_testhalt soon fail 1 true echo job 2; sleep 1.5; exit 2 +par_testhalt soon fail 1 true job 3 +par_testhalt soon fail 1 true parallel: This job failed: +par_testhalt soon fail 1 true echo job 3; sleep 2.1; exit 3 +par_testhalt soon fail 1 true job 4 +par_testhalt soon fail 1 true parallel: This job failed: +par_testhalt soon fail 1 true echo job 4; sleep 2.7; exit 4 +par_testhalt soon fail 1 true 1 +par_testhalt soon fail 1 false ### testhalt --halt soon,fail=1 +par_testhalt soon fail 1 false job 1 +par_testhalt soon fail 1 false job 2 +par_testhalt soon fail 1 false job 3 +par_testhalt soon fail 1 false job 4 +par_testhalt soon fail 1 false job 5 +par_testhalt soon fail 1 false job 6 +par_testhalt soon fail 1 false job 7 +par_testhalt soon fail 1 false job 8 +par_testhalt soon fail 1 false job 9 +par_testhalt soon fail 1 false job 10 +par_testhalt soon fail 1 false job 11 +par_testhalt soon fail 1 false parallel: This job failed: +par_testhalt soon fail 1 false echo job 11; sleep 3.9; exit 1 +par_testhalt soon fail 1 false job 12 +par_testhalt soon fail 1 false parallel: This job failed: +par_testhalt soon fail 1 false echo job 12; sleep 4.5; exit 2 +par_testhalt soon fail 1 false job 13 +par_testhalt soon fail 1 false parallel: This job failed: +par_testhalt soon fail 1 false echo job 13; sleep 5.1; exit 3 +par_testhalt soon fail 1 false job 14 +par_testhalt soon fail 1 false parallel: This job failed: +par_testhalt soon fail 1 false echo job 14; sleep 5.7; exit 4 +par_testhalt soon fail 1 false 1 +par_testhalt soon fail 2 true ### testhalt --halt soon,fail=2 +par_testhalt soon fail 2 true job 1 +par_testhalt soon fail 2 true parallel: This job failed: +par_testhalt soon fail 2 true echo job 1; sleep 0.9; exit 1 +par_testhalt soon fail 2 true job 2 +par_testhalt soon fail 2 true parallel: This job failed: +par_testhalt soon fail 2 true echo job 2; sleep 1.5; exit 2 +par_testhalt soon fail 2 true job 3 +par_testhalt soon fail 2 true parallel: This job failed: +par_testhalt soon fail 2 true echo job 3; sleep 2.1; exit 3 +par_testhalt soon fail 2 true job 4 +par_testhalt soon fail 2 true parallel: This job failed: +par_testhalt soon fail 2 true echo job 4; sleep 2.7; exit 4 +par_testhalt soon fail 2 true job 5 +par_testhalt soon fail 2 true parallel: This job failed: +par_testhalt soon fail 2 true echo job 5; sleep 3.3; exit 5 +par_testhalt soon fail 2 true 2 +par_testhalt soon fail 2 false ### testhalt --halt soon,fail=2 +par_testhalt soon fail 2 false job 1 +par_testhalt soon fail 2 false job 2 +par_testhalt soon fail 2 false job 3 +par_testhalt soon fail 2 false job 4 +par_testhalt soon fail 2 false job 5 +par_testhalt soon fail 2 false job 6 +par_testhalt soon fail 2 false job 7 +par_testhalt soon fail 2 false job 8 +par_testhalt soon fail 2 false job 9 +par_testhalt soon fail 2 false job 10 +par_testhalt soon fail 2 false job 11 +par_testhalt soon fail 2 false parallel: This job failed: +par_testhalt soon fail 2 false echo job 11; sleep 3.9; exit 1 +par_testhalt soon fail 2 false job 12 +par_testhalt soon fail 2 false parallel: This job failed: +par_testhalt soon fail 2 false echo job 12; sleep 4.5; exit 2 +par_testhalt soon fail 2 false job 13 +par_testhalt soon fail 2 false parallel: This job failed: +par_testhalt soon fail 2 false echo job 13; sleep 5.1; exit 3 +par_testhalt soon fail 2 false job 14 +par_testhalt soon fail 2 false parallel: This job failed: +par_testhalt soon fail 2 false echo job 14; sleep 5.7; exit 4 +par_testhalt soon fail 2 false job 15 +par_testhalt soon fail 2 false parallel: This job failed: +par_testhalt soon fail 2 false echo job 15; sleep 6.3; exit 5 +par_testhalt soon fail 2 false 2 +par_testhalt soon fail 30% true ### testhalt --halt soon,fail=30% +par_testhalt soon fail 30% true job 1 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 1; sleep 0.9; exit 1 +par_testhalt soon fail 30% true job 2 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 2; sleep 1.5; exit 2 +par_testhalt soon fail 30% true job 3 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 3; sleep 2.1; exit 3 +par_testhalt soon fail 30% true job 4 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 4; sleep 2.7; exit 4 +par_testhalt soon fail 30% true job 5 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 5; sleep 3.3; exit 5 +par_testhalt soon fail 30% true job 6 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 6; sleep 3.9; exit 6 +par_testhalt soon fail 30% true job 7 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 7; sleep 4.5; exit 7 +par_testhalt soon fail 30% true job 8 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 8; sleep 5.1; exit 8 +par_testhalt soon fail 30% true job 9 +par_testhalt soon fail 30% true parallel: This job failed: +par_testhalt soon fail 30% true echo job 9; sleep 5.7; exit 9 +par_testhalt soon fail 30% true 30 +par_testhalt soon fail 30% false ### testhalt --halt soon,fail=30% +par_testhalt soon fail 30% false job 1 +par_testhalt soon fail 30% false job 2 +par_testhalt soon fail 30% false job 3 +par_testhalt soon fail 30% false job 4 +par_testhalt soon fail 30% false job 5 +par_testhalt soon fail 30% false job 6 +par_testhalt soon fail 30% false job 7 +par_testhalt soon fail 30% false job 8 +par_testhalt soon fail 30% false job 9 +par_testhalt soon fail 30% false job 10 +par_testhalt soon fail 30% false job 11 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 11; sleep 3.9; exit 1 +par_testhalt soon fail 30% false job 12 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 12; sleep 4.5; exit 2 +par_testhalt soon fail 30% false job 13 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 13; sleep 5.1; exit 3 +par_testhalt soon fail 30% false job 14 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 14; sleep 5.7; exit 4 +par_testhalt soon fail 30% false job 15 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 15; sleep 6.3; exit 5 +par_testhalt soon fail 30% false job 16 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 16; sleep 6.9; exit 6 +par_testhalt soon fail 30% false job 17 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 17; sleep 7.5; exit 7 +par_testhalt soon fail 30% false job 18 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 18; sleep 8.1; exit 8 +par_testhalt soon fail 30% false job 19 +par_testhalt soon fail 30% false parallel: This job failed: +par_testhalt soon fail 30% false echo job 19; sleep 8.7; exit 9 +par_testhalt soon fail 30% false 30 +par_testhalt soon fail 70% true ### testhalt --halt soon,fail=70% +par_testhalt soon fail 70% true job 1 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 1; sleep 0.9; exit 1 +par_testhalt soon fail 70% true job 2 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 2; sleep 1.5; exit 2 +par_testhalt soon fail 70% true job 3 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 3; sleep 2.1; exit 3 +par_testhalt soon fail 70% true job 4 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 4; sleep 2.7; exit 4 +par_testhalt soon fail 70% true job 5 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 5; sleep 3.3; exit 5 +par_testhalt soon fail 70% true job 6 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 6; sleep 3.9; exit 6 +par_testhalt soon fail 70% true job 7 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 7; sleep 4.5; exit 7 +par_testhalt soon fail 70% true job 8 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 8; sleep 5.1; exit 8 +par_testhalt soon fail 70% true job 9 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 9; sleep 5.7; exit 9 +par_testhalt soon fail 70% true job 10 +par_testhalt soon fail 70% true job 11 +par_testhalt soon fail 70% true parallel: This job failed: +par_testhalt soon fail 70% true echo job 10; sleep 6.3; exit 10 +par_testhalt soon fail 70% true job 12 +par_testhalt soon fail 70% true job 13 +par_testhalt soon fail 70% true job 14 +par_testhalt soon fail 70% true job 15 +par_testhalt soon fail 70% true job 16 +par_testhalt soon fail 70% true job 17 +par_testhalt soon fail 70% true job 18 +par_testhalt soon fail 70% true job 19 +par_testhalt soon fail 70% true job 20 +par_testhalt soon fail 70% true 50 +par_testhalt soon fail 70% false ### testhalt --halt soon,fail=70% +par_testhalt soon fail 70% false job 1 +par_testhalt soon fail 70% false job 2 +par_testhalt soon fail 70% false job 3 +par_testhalt soon fail 70% false job 4 +par_testhalt soon fail 70% false job 5 +par_testhalt soon fail 70% false job 6 +par_testhalt soon fail 70% false job 7 +par_testhalt soon fail 70% false job 8 +par_testhalt soon fail 70% false job 9 +par_testhalt soon fail 70% false job 10 +par_testhalt soon fail 70% false job 11 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 11; sleep 3.9; exit 1 +par_testhalt soon fail 70% false job 12 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 12; sleep 4.5; exit 2 +par_testhalt soon fail 70% false job 13 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 13; sleep 5.1; exit 3 +par_testhalt soon fail 70% false job 14 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 14; sleep 5.7; exit 4 +par_testhalt soon fail 70% false job 15 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 15; sleep 6.3; exit 5 +par_testhalt soon fail 70% false job 16 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 16; sleep 6.9; exit 6 +par_testhalt soon fail 70% false job 17 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 17; sleep 7.5; exit 7 +par_testhalt soon fail 70% false job 18 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 18; sleep 8.1; exit 8 +par_testhalt soon fail 70% false job 19 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 19; sleep 8.7; exit 9 +par_testhalt soon fail 70% false job 20 +par_testhalt soon fail 70% false parallel: This job failed: +par_testhalt soon fail 70% false echo job 20; sleep 9.3; exit 10 +par_testhalt soon fail 70% false 50 +par_testhalt soon success 0 true ### testhalt --halt soon,success=0 +par_testhalt soon success 0 true job 1 +par_testhalt soon success 0 true job 2 +par_testhalt soon success 0 true job 3 +par_testhalt soon success 0 true job 4 +par_testhalt soon success 0 true job 5 +par_testhalt soon success 0 true job 6 +par_testhalt soon success 0 true job 7 +par_testhalt soon success 0 true job 8 +par_testhalt soon success 0 true job 9 +par_testhalt soon success 0 true parallel: This job succeeded: +par_testhalt soon success 0 true echo job 11; sleep 3.6; exit 0 +par_testhalt soon success 0 true job 10 +par_testhalt soon success 0 true job 11 +par_testhalt soon success 0 true job 12 +par_testhalt soon success 0 true parallel: This job succeeded: +par_testhalt soon success 0 true echo job 12; sleep 3.9; exit 0 +par_testhalt soon success 0 true job 13 +par_testhalt soon success 0 true parallel: This job succeeded: +par_testhalt soon success 0 true echo job 13; sleep 4.2; exit 0 +par_testhalt soon success 0 true 0 +par_testhalt soon success 0 false ### testhalt --halt soon,success=0 +par_testhalt soon success 0 false job 1 +par_testhalt soon success 0 false parallel: This job succeeded: +par_testhalt soon success 0 false echo job 1; sleep 0.6; exit 0 +par_testhalt soon success 0 false job 2 +par_testhalt soon success 0 false parallel: This job succeeded: +par_testhalt soon success 0 false echo job 2; sleep 0.9; exit 0 +par_testhalt soon success 0 false job 3 +par_testhalt soon success 0 false parallel: This job succeeded: +par_testhalt soon success 0 false echo job 3; sleep 1.2; exit 0 +par_testhalt soon success 0 false 0 +par_testhalt soon success 1 true ### testhalt --halt soon,success=1 +par_testhalt soon success 1 true job 1 +par_testhalt soon success 1 true job 2 +par_testhalt soon success 1 true job 3 +par_testhalt soon success 1 true job 4 +par_testhalt soon success 1 true job 5 +par_testhalt soon success 1 true job 6 +par_testhalt soon success 1 true job 7 +par_testhalt soon success 1 true job 8 +par_testhalt soon success 1 true job 9 +par_testhalt soon success 1 true parallel: This job succeeded: +par_testhalt soon success 1 true echo job 11; sleep 3.6; exit 0 +par_testhalt soon success 1 true job 10 +par_testhalt soon success 1 true job 11 +par_testhalt soon success 1 true job 12 +par_testhalt soon success 1 true parallel: This job succeeded: +par_testhalt soon success 1 true echo job 12; sleep 3.9; exit 0 +par_testhalt soon success 1 true job 13 +par_testhalt soon success 1 true parallel: This job succeeded: +par_testhalt soon success 1 true echo job 13; sleep 4.2; exit 0 +par_testhalt soon success 1 true 0 +par_testhalt soon success 1 false ### testhalt --halt soon,success=1 +par_testhalt soon success 1 false job 1 +par_testhalt soon success 1 false parallel: This job succeeded: +par_testhalt soon success 1 false echo job 1; sleep 0.6; exit 0 +par_testhalt soon success 1 false job 2 +par_testhalt soon success 1 false parallel: This job succeeded: +par_testhalt soon success 1 false echo job 2; sleep 0.9; exit 0 +par_testhalt soon success 1 false job 3 +par_testhalt soon success 1 false parallel: This job succeeded: +par_testhalt soon success 1 false echo job 3; sleep 1.2; exit 0 +par_testhalt soon success 1 false 0 +par_testhalt soon success 2 true ### testhalt --halt soon,success=2 +par_testhalt soon success 2 true job 1 +par_testhalt soon success 2 true job 2 +par_testhalt soon success 2 true job 3 +par_testhalt soon success 2 true job 4 +par_testhalt soon success 2 true job 5 +par_testhalt soon success 2 true job 6 +par_testhalt soon success 2 true job 7 +par_testhalt soon success 2 true job 8 +par_testhalt soon success 2 true job 9 +par_testhalt soon success 2 true parallel: This job succeeded: +par_testhalt soon success 2 true echo job 11; sleep 3.6; exit 0 +par_testhalt soon success 2 true job 10 +par_testhalt soon success 2 true job 11 +par_testhalt soon success 2 true job 12 +par_testhalt soon success 2 true parallel: This job succeeded: +par_testhalt soon success 2 true echo job 12; sleep 3.9; exit 0 +par_testhalt soon success 2 true job 13 +par_testhalt soon success 2 true parallel: This job succeeded: +par_testhalt soon success 2 true echo job 13; sleep 4.2; exit 0 +par_testhalt soon success 2 true job 14 +par_testhalt soon success 2 true parallel: This job succeeded: +par_testhalt soon success 2 true echo job 14; sleep 4.5; exit 0 +par_testhalt soon success 2 true job 15 +par_testhalt soon success 2 true parallel: This job succeeded: +par_testhalt soon success 2 true echo job 15; sleep 4.8; exit 0 +par_testhalt soon success 2 true 0 +par_testhalt soon success 2 false ### testhalt --halt soon,success=2 +par_testhalt soon success 2 false job 1 +par_testhalt soon success 2 false parallel: This job succeeded: +par_testhalt soon success 2 false echo job 1; sleep 0.6; exit 0 +par_testhalt soon success 2 false job 2 +par_testhalt soon success 2 false parallel: This job succeeded: +par_testhalt soon success 2 false echo job 2; sleep 0.9; exit 0 +par_testhalt soon success 2 false job 3 +par_testhalt soon success 2 false parallel: This job succeeded: +par_testhalt soon success 2 false echo job 3; sleep 1.2; exit 0 +par_testhalt soon success 2 false job 4 +par_testhalt soon success 2 false parallel: This job succeeded: +par_testhalt soon success 2 false echo job 4; sleep 1.5; exit 0 +par_testhalt soon success 2 false job 5 +par_testhalt soon success 2 false parallel: This job succeeded: +par_testhalt soon success 2 false echo job 5; sleep 1.8; exit 0 +par_testhalt soon success 2 false 0 +par_testhalt soon success 30% true ### testhalt --halt soon,success=30% +par_testhalt soon success 30% true job 1 +par_testhalt soon success 30% true job 2 +par_testhalt soon success 30% true job 3 +par_testhalt soon success 30% true job 4 +par_testhalt soon success 30% true job 5 +par_testhalt soon success 30% true job 6 +par_testhalt soon success 30% true job 7 +par_testhalt soon success 30% true job 8 +par_testhalt soon success 30% true job 9 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 11; sleep 3.6; exit 0 +par_testhalt soon success 30% true job 10 +par_testhalt soon success 30% true job 11 +par_testhalt soon success 30% true job 12 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 12; sleep 3.9; exit 0 +par_testhalt soon success 30% true job 13 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 13; sleep 4.2; exit 0 +par_testhalt soon success 30% true job 14 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 14; sleep 4.5; exit 0 +par_testhalt soon success 30% true job 15 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 15; sleep 4.8; exit 0 +par_testhalt soon success 30% true job 16 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 16; sleep 5.1; exit 0 +par_testhalt soon success 30% true job 17 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 17; sleep 5.4; exit 0 +par_testhalt soon success 30% true job 18 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 18; sleep 5.7; exit 0 +par_testhalt soon success 30% true job 19 +par_testhalt soon success 30% true parallel: This job succeeded: +par_testhalt soon success 30% true echo job 19; sleep 6; exit 0 +par_testhalt soon success 30% true 0 +par_testhalt soon success 30% false ### testhalt --halt soon,success=30% +par_testhalt soon success 30% false job 1 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 1; sleep 0.6; exit 0 +par_testhalt soon success 30% false job 2 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 2; sleep 0.9; exit 0 +par_testhalt soon success 30% false job 3 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 3; sleep 1.2; exit 0 +par_testhalt soon success 30% false job 4 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 4; sleep 1.5; exit 0 +par_testhalt soon success 30% false job 5 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 5; sleep 1.8; exit 0 +par_testhalt soon success 30% false job 6 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 6; sleep 2.1; exit 0 +par_testhalt soon success 30% false job 7 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 7; sleep 2.4; exit 0 +par_testhalt soon success 30% false job 8 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 8; sleep 2.7; exit 0 +par_testhalt soon success 30% false job 9 +par_testhalt soon success 30% false parallel: This job succeeded: +par_testhalt soon success 30% false echo job 9; sleep 3; exit 0 +par_testhalt soon success 30% false 0 +par_testhalt soon success 70% true ### testhalt --halt soon,success=70% +par_testhalt soon success 70% true job 1 +par_testhalt soon success 70% true job 2 +par_testhalt soon success 70% true job 3 +par_testhalt soon success 70% true job 4 +par_testhalt soon success 70% true job 5 +par_testhalt soon success 70% true job 6 +par_testhalt soon success 70% true job 7 +par_testhalt soon success 70% true job 8 +par_testhalt soon success 70% true job 9 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 11; sleep 3.6; exit 0 +par_testhalt soon success 70% true job 10 +par_testhalt soon success 70% true job 11 +par_testhalt soon success 70% true job 12 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 12; sleep 3.9; exit 0 +par_testhalt soon success 70% true job 13 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 13; sleep 4.2; exit 0 +par_testhalt soon success 70% true job 14 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 14; sleep 4.5; exit 0 +par_testhalt soon success 70% true job 15 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 15; sleep 4.8; exit 0 +par_testhalt soon success 70% true job 16 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 16; sleep 5.1; exit 0 +par_testhalt soon success 70% true job 17 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 17; sleep 5.4; exit 0 +par_testhalt soon success 70% true job 18 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 18; sleep 5.7; exit 0 +par_testhalt soon success 70% true job 19 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 19; sleep 6; exit 0 +par_testhalt soon success 70% true job 20 +par_testhalt soon success 70% true parallel: This job succeeded: +par_testhalt soon success 70% true echo job 20; sleep 6.3; exit 0 +par_testhalt soon success 70% true 50 +par_testhalt soon success 70% false ### testhalt --halt soon,success=70% +par_testhalt soon success 70% false job 1 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 1; sleep 0.6; exit 0 +par_testhalt soon success 70% false job 2 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 2; sleep 0.9; exit 0 +par_testhalt soon success 70% false job 3 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 3; sleep 1.2; exit 0 +par_testhalt soon success 70% false job 4 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 4; sleep 1.5; exit 0 +par_testhalt soon success 70% false job 5 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 5; sleep 1.8; exit 0 +par_testhalt soon success 70% false job 6 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 6; sleep 2.1; exit 0 +par_testhalt soon success 70% false job 7 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 7; sleep 2.4; exit 0 +par_testhalt soon success 70% false job 8 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 8; sleep 2.7; exit 0 +par_testhalt soon success 70% false job 9 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 9; sleep 3; exit 0 +par_testhalt soon success 70% false job 10 +par_testhalt soon success 70% false parallel: This job succeeded: +par_testhalt soon success 70% false echo job 10; sleep 3.3; exit 0 +par_testhalt soon success 70% false job 11 +par_testhalt soon success 70% false job 12 +par_testhalt soon success 70% false job 13 +par_testhalt soon success 70% false job 14 +par_testhalt soon success 70% false job 15 +par_testhalt soon success 70% false job 16 +par_testhalt soon success 70% false job 17 +par_testhalt soon success 70% false job 18 +par_testhalt soon success 70% false job 19 +par_testhalt soon success 70% false job 20 +par_testhalt soon success 70% false 50 +par_testhalt soon done 0 true ### testhalt --halt soon,done=0 +par_testhalt soon done 0 true job 1 +par_testhalt soon done 0 true parallel: This job finished: +par_testhalt soon done 0 true echo job 1; sleep 0.9; exit 1 +par_testhalt soon done 0 true job 2 +par_testhalt soon done 0 true parallel: This job finished: +par_testhalt soon done 0 true echo job 2; sleep 1.5; exit 2 +par_testhalt soon done 0 true job 3 +par_testhalt soon done 0 true parallel: This job finished: +par_testhalt soon done 0 true echo job 3; sleep 2.1; exit 3 +par_testhalt soon done 0 true job 4 +par_testhalt soon done 0 true parallel: This job finished: +par_testhalt soon done 0 true echo job 4; sleep 2.7; exit 4 +par_testhalt soon done 0 true 0 +par_testhalt soon done 0 false ### testhalt --halt soon,done=0 +par_testhalt soon done 0 false job 1 +par_testhalt soon done 0 false parallel: This job finished: +par_testhalt soon done 0 false echo job 1; sleep 0.6; exit 0 +par_testhalt soon done 0 false job 2 +par_testhalt soon done 0 false parallel: This job finished: +par_testhalt soon done 0 false echo job 2; sleep 0.9; exit 0 +par_testhalt soon done 0 false job 3 +par_testhalt soon done 0 false parallel: This job finished: +par_testhalt soon done 0 false echo job 3; sleep 1.2; exit 0 +par_testhalt soon done 0 false 0 +par_testhalt soon done 1 true ### testhalt --halt soon,done=1 +par_testhalt soon done 1 true job 1 +par_testhalt soon done 1 true parallel: This job finished: +par_testhalt soon done 1 true echo job 1; sleep 0.9; exit 1 +par_testhalt soon done 1 true job 2 +par_testhalt soon done 1 true parallel: This job finished: +par_testhalt soon done 1 true echo job 2; sleep 1.5; exit 2 +par_testhalt soon done 1 true job 3 +par_testhalt soon done 1 true parallel: This job finished: +par_testhalt soon done 1 true echo job 3; sleep 2.1; exit 3 +par_testhalt soon done 1 true job 4 +par_testhalt soon done 1 true parallel: This job finished: +par_testhalt soon done 1 true echo job 4; sleep 2.7; exit 4 +par_testhalt soon done 1 true 1 +par_testhalt soon done 1 false ### testhalt --halt soon,done=1 +par_testhalt soon done 1 false job 1 +par_testhalt soon done 1 false parallel: This job finished: +par_testhalt soon done 1 false echo job 1; sleep 0.6; exit 0 +par_testhalt soon done 1 false job 2 +par_testhalt soon done 1 false parallel: This job finished: +par_testhalt soon done 1 false echo job 2; sleep 0.9; exit 0 +par_testhalt soon done 1 false job 3 +par_testhalt soon done 1 false parallel: This job finished: +par_testhalt soon done 1 false echo job 3; sleep 1.2; exit 0 +par_testhalt soon done 1 false 0 +par_testhalt soon done 2 true ### testhalt --halt soon,done=2 +par_testhalt soon done 2 true job 1 +par_testhalt soon done 2 true parallel: This job finished: +par_testhalt soon done 2 true echo job 1; sleep 0.9; exit 1 +par_testhalt soon done 2 true job 2 +par_testhalt soon done 2 true parallel: This job finished: +par_testhalt soon done 2 true echo job 2; sleep 1.5; exit 2 +par_testhalt soon done 2 true job 3 +par_testhalt soon done 2 true parallel: This job finished: +par_testhalt soon done 2 true echo job 3; sleep 2.1; exit 3 +par_testhalt soon done 2 true job 4 +par_testhalt soon done 2 true parallel: This job finished: +par_testhalt soon done 2 true echo job 4; sleep 2.7; exit 4 +par_testhalt soon done 2 true job 5 +par_testhalt soon done 2 true parallel: This job finished: +par_testhalt soon done 2 true echo job 5; sleep 3.3; exit 5 +par_testhalt soon done 2 true 2 +par_testhalt soon done 2 false ### testhalt --halt soon,done=2 +par_testhalt soon done 2 false job 1 +par_testhalt soon done 2 false parallel: This job finished: +par_testhalt soon done 2 false echo job 1; sleep 0.6; exit 0 +par_testhalt soon done 2 false job 2 +par_testhalt soon done 2 false parallel: This job finished: +par_testhalt soon done 2 false echo job 2; sleep 0.9; exit 0 +par_testhalt soon done 2 false job 3 +par_testhalt soon done 2 false parallel: This job finished: +par_testhalt soon done 2 false echo job 3; sleep 1.2; exit 0 +par_testhalt soon done 2 false job 4 +par_testhalt soon done 2 false parallel: This job finished: +par_testhalt soon done 2 false echo job 4; sleep 1.5; exit 0 +par_testhalt soon done 2 false job 5 +par_testhalt soon done 2 false parallel: This job finished: +par_testhalt soon done 2 false echo job 5; sleep 1.8; exit 0 +par_testhalt soon done 2 false 101 +par_testhalt soon done 30% true ### testhalt --halt soon,done=30% +par_testhalt soon done 30% true job 1 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 1; sleep 0.9; exit 1 +par_testhalt soon done 30% true job 2 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 2; sleep 1.5; exit 2 +par_testhalt soon done 30% true job 3 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 3; sleep 2.1; exit 3 +par_testhalt soon done 30% true job 4 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 4; sleep 2.7; exit 4 +par_testhalt soon done 30% true job 5 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 5; sleep 3.3; exit 5 +par_testhalt soon done 30% true job 6 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 6; sleep 3.9; exit 6 +par_testhalt soon done 30% true job 7 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 7; sleep 4.5; exit 7 +par_testhalt soon done 30% true job 8 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 8; sleep 5.1; exit 8 +par_testhalt soon done 30% true job 9 +par_testhalt soon done 30% true parallel: This job finished: +par_testhalt soon done 30% true echo job 9; sleep 5.7; exit 9 +par_testhalt soon done 30% true 30 +par_testhalt soon done 30% false ### testhalt --halt soon,done=30% +par_testhalt soon done 30% false job 1 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 1; sleep 0.6; exit 0 +par_testhalt soon done 30% false job 2 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 2; sleep 0.9; exit 0 +par_testhalt soon done 30% false job 3 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 3; sleep 1.2; exit 0 +par_testhalt soon done 30% false job 4 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 4; sleep 1.5; exit 0 +par_testhalt soon done 30% false job 5 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 5; sleep 1.8; exit 0 +par_testhalt soon done 30% false job 6 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 6; sleep 2.1; exit 0 +par_testhalt soon done 30% false job 7 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 7; sleep 2.4; exit 0 +par_testhalt soon done 30% false job 8 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 8; sleep 2.7; exit 0 +par_testhalt soon done 30% false job 9 +par_testhalt soon done 30% false parallel: This job finished: +par_testhalt soon done 30% false echo job 9; sleep 3; exit 0 +par_testhalt soon done 30% false 0 +par_testhalt soon done 70% true ### testhalt --halt soon,done=70% +par_testhalt soon done 70% true job 1 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 1; sleep 0.9; exit 1 +par_testhalt soon done 70% true job 2 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 2; sleep 1.5; exit 2 +par_testhalt soon done 70% true job 3 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 3; sleep 2.1; exit 3 +par_testhalt soon done 70% true job 4 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 4; sleep 2.7; exit 4 +par_testhalt soon done 70% true job 5 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 5; sleep 3.3; exit 5 +par_testhalt soon done 70% true job 6 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 6; sleep 3.9; exit 6 +par_testhalt soon done 70% true job 7 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 7; sleep 4.5; exit 7 +par_testhalt soon done 70% true job 8 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 8; sleep 5.1; exit 8 +par_testhalt soon done 70% true job 9 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 9; sleep 5.7; exit 9 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 11; sleep 3.6; exit 0 +par_testhalt soon done 70% true job 10 +par_testhalt soon done 70% true job 11 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 10; sleep 6.3; exit 10 +par_testhalt soon done 70% true job 12 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 12; sleep 3.9; exit 0 +par_testhalt soon done 70% true job 13 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 13; sleep 4.2; exit 0 +par_testhalt soon done 70% true job 14 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 14; sleep 4.5; exit 0 +par_testhalt soon done 70% true job 15 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 15; sleep 4.8; exit 0 +par_testhalt soon done 70% true job 16 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 16; sleep 5.1; exit 0 +par_testhalt soon done 70% true job 17 +par_testhalt soon done 70% true parallel: This job finished: +par_testhalt soon done 70% true echo job 17; sleep 5.4; exit 0 +par_testhalt soon done 70% true 50 +par_testhalt soon done 70% false ### testhalt --halt soon,done=70% +par_testhalt soon done 70% false job 1 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 1; sleep 0.6; exit 0 +par_testhalt soon done 70% false job 2 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 2; sleep 0.9; exit 0 +par_testhalt soon done 70% false job 3 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 3; sleep 1.2; exit 0 +par_testhalt soon done 70% false job 4 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 4; sleep 1.5; exit 0 +par_testhalt soon done 70% false job 5 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 5; sleep 1.8; exit 0 +par_testhalt soon done 70% false job 6 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 6; sleep 2.1; exit 0 +par_testhalt soon done 70% false job 7 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 7; sleep 2.4; exit 0 +par_testhalt soon done 70% false job 8 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 8; sleep 2.7; exit 0 +par_testhalt soon done 70% false job 9 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 9; sleep 3; exit 0 +par_testhalt soon done 70% false job 10 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 10; sleep 3.3; exit 0 +par_testhalt soon done 70% false job 11 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 11; sleep 3.9; exit 1 +par_testhalt soon done 70% false job 12 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 12; sleep 4.5; exit 2 +par_testhalt soon done 70% false job 13 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 13; sleep 5.1; exit 3 +par_testhalt soon done 70% false job 14 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 14; sleep 5.7; exit 4 +par_testhalt soon done 70% false job 15 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 15; sleep 6.3; exit 5 +par_testhalt soon done 70% false job 16 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 16; sleep 6.9; exit 6 +par_testhalt soon done 70% false job 17 +par_testhalt soon done 70% false parallel: This job finished: +par_testhalt soon done 70% false echo job 17; sleep 7.5; exit 7 +par_testhalt soon done 70% false 20 +par_totaljob_repl {##} bug #45841: Replacement string for total no of jobs +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 1 +par_totaljob_repl 2 +par_totaljob_repl 3 +par_totaljob_repl 4 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 10 +par_totaljob_repl 1 2 +par_totaljob_repl 2 2 +par_totaljob_repl 1 3 +par_totaljob_repl 2 3 +par_totaljob_repl 3 3 +par_totaljob_repl 1 15 +par_totaljob_repl 2 14 +par_totaljob_repl 3 14 +par_totaljob_repl 4 14 +par_totaljob_repl 5 14 +par_totaljob_repl 6 14 +par_totaljob_repl 7 14 +par_totaljob_repl 8 14 +par_totaljob_repl 01/20:01 +par_totaljob_repl 02/20:02 +par_totaljob_repl 03/20:03 +par_totaljob_repl 04/20:04 +par_totaljob_repl 05/20:05 +par_totaljob_repl 06/20:06 +par_totaljob_repl 07/20:07 +par_totaljob_repl 08/20:08 +par_totaljob_repl 09/20:09 +par_totaljob_repl 10/20:10 +par_totaljob_repl 11/20:01 +par_totaljob_repl 12/20:02 +par_totaljob_repl 13/20:03 +par_totaljob_repl 14/20:04 +par_totaljob_repl 15/20:05 +par_totaljob_repl 16/20:06 +par_totaljob_repl 17/20:07 +par_totaljob_repl 18/20:08 +par_totaljob_repl 19/20:09 +par_totaljob_repl 20/20:10 diff --git a/testsuite/wanted-results/parallel-local-sql01 b/testsuite/wanted-results/parallel-local-sql01 index 8a3df37a..b7d8d84b 100644 --- a/testsuite/wanted-results/parallel-local-sql01 +++ b/testsuite/wanted-results/parallel-local-sql01 @@ -2,41 +2,24 @@ CSV do_dburl CSV CSV par_append p_wrapper par_append $CSV CSV par_append Exit=0 CSV par_append Exit=0 -CSV par_append sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_append -CSV par_append Usage: -CSV par_append sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_append sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_append -CSV par_append See 'man sql' for the options +CSV par_append IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_empty p_wrapper par_empty $CSV CSV par_empty Do nothing: TBL99999 does not exist because it is not created CSV par_empty Exit=0 CSV par_empty Exit=0 -CSV par_empty sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_empty -CSV par_empty Usage: -CSV par_empty sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_empty sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_empty -CSV par_empty See 'man sql' for the options +CSV par_empty IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_no_table p_wrapper par_no_table $CSV CSV par_no_table bug #50018: --dburl without table dies +CSV par_no_table should default to table USERNAME CSV par_no_table 255 CSV par_no_table 255 CSV par_no_table 255 CSV par_no_table Exit=0 CSV par_no_table Exit=0 -CSV par_no_table sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_no_table -CSV par_no_table Usage: -CSV par_no_table sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_no_table sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_no_table -CSV par_no_table See 'man sql' for the options -CSV par_no_table parallel: Error: The DBURL (csv:///%2Frun%2Fshm) must contain a table. -CSV par_no_table parallel: Error: The DBURL (csv:///%2Frun%2Fshm) must contain a table. -CSV par_no_table parallel: Error: The DBURL (csv:///%2Frun%2Fshm) must contain a table. +CSV par_no_table parallel: Error: tange is not a directory. +CSV par_no_table parallel: Error: tange is not a directory. +CSV par_no_table parallel: Error: tange is not a directory. +CSV par_no_table IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_shuf p_wrapper par_shuf $CSV CSV par_shuf 1 a CSV par_shuf 1 b @@ -65,13 +48,9 @@ CSV par_shuf 5 d CSV par_shuf 5 e CSV par_shuf Exit=0 CSV par_shuf Exit=0 -CSV par_shuf sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_shuf -CSV par_shuf Usage: -CSV par_shuf sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_shuf sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_shuf -CSV par_shuf See 'man sql' for the options +CSV par_shuf IsADirectoryError: [Errno 21] Is a directory: '/run/shm' +CSV par_shuf IsADirectoryError: [Errno 21] Is a directory: '/run/shm' +CSV par_shuf IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sql_joblog p_wrapper par_sql_joblog $CSV CSV par_sql_joblog ### should only give a single --joblog heading CSV par_sql_joblog ### --sqlmaster/--sqlworker @@ -180,111 +159,51 @@ CSV par_sql_joblog 24 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 d CSV par_sql_joblog 25 : 999.999 999.999 0 0 0 0 sleep .3;echo 5 e CSV par_sql_joblog Exit=0 CSV par_sql_joblog Exit=0 -CSV par_sql_joblog sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sql_joblog -CSV par_sql_joblog Usage: -CSV par_sql_joblog sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sql_joblog sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sql_joblog -CSV par_sql_joblog See 'man sql' for the options +CSV par_sql_joblog IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker p_wrapper par_sqlandworker $CSV CSV par_sqlandworker Exit=0 CSV par_sqlandworker Exit=0 -CSV par_sqlandworker sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker -CSV par_sqlandworker Usage: -CSV par_sqlandworker sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker -CSV par_sqlandworker See 'man sql' for the options +CSV par_sqlandworker IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $CSV CSV par_sqlandworker_compress_linebuffer_tag Exit=0 CSV par_sqlandworker_compress_linebuffer_tag Exit=0 -CSV par_sqlandworker_compress_linebuffer_tag sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_compress_linebuffer_tag -CSV par_sqlandworker_compress_linebuffer_tag Usage: -CSV par_sqlandworker_compress_linebuffer_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_compress_linebuffer_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_compress_linebuffer_tag -CSV par_sqlandworker_compress_linebuffer_tag See 'man sql' for the options +CSV par_sqlandworker_compress_linebuffer_tag IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $CSV CSV par_sqlandworker_linebuffer Exit=0 CSV par_sqlandworker_linebuffer Exit=0 -CSV par_sqlandworker_linebuffer sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_linebuffer -CSV par_sqlandworker_linebuffer Usage: -CSV par_sqlandworker_linebuffer sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_linebuffer sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_linebuffer -CSV par_sqlandworker_linebuffer See 'man sql' for the options +CSV par_sqlandworker_linebuffer IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $CSV CSV par_sqlandworker_linebuffer_tag Exit=0 CSV par_sqlandworker_linebuffer_tag Exit=0 -CSV par_sqlandworker_linebuffer_tag sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_linebuffer_tag -CSV par_sqlandworker_linebuffer_tag Usage: -CSV par_sqlandworker_linebuffer_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_linebuffer_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_linebuffer_tag -CSV par_sqlandworker_linebuffer_tag See 'man sql' for the options +CSV par_sqlandworker_linebuffer_tag IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_lo p_wrapper par_sqlandworker_lo $CSV CSV par_sqlandworker_lo Exit=0 CSV par_sqlandworker_lo Exit=0 -CSV par_sqlandworker_lo sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_lo -CSV par_sqlandworker_lo Usage: -CSV par_sqlandworker_lo sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_lo sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_lo -CSV par_sqlandworker_lo See 'man sql' for the options +CSV par_sqlandworker_lo IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_results p_wrapper par_sqlandworker_results $CSV CSV par_sqlandworker_results Exit=0 CSV par_sqlandworker_results Exit=0 -CSV par_sqlandworker_results sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_results -CSV par_sqlandworker_results Usage: -CSV par_sqlandworker_results sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_results sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_results -CSV par_sqlandworker_results See 'man sql' for the options +CSV par_sqlandworker_results IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_tag p_wrapper par_sqlandworker_tag $CSV CSV par_sqlandworker_tag Exit=0 CSV par_sqlandworker_tag Exit=0 -CSV par_sqlandworker_tag sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_tag -CSV par_sqlandworker_tag Usage: -CSV par_sqlandworker_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_tag sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_tag -CSV par_sqlandworker_tag See 'man sql' for the options +CSV par_sqlandworker_tag IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $CSV CSV par_sqlandworker_total_jobs Exit=0 CSV par_sqlandworker_total_jobs Exit=0 -CSV par_sqlandworker_total_jobs sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_total_jobs -CSV par_sqlandworker_total_jobs Usage: -CSV par_sqlandworker_total_jobs sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_total_jobs sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_total_jobs -CSV par_sqlandworker_total_jobs See 'man sql' for the options +CSV par_sqlandworker_total_jobs IsADirectoryError: [Errno 21] Is a directory: '/run/shm' CSV par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $CSV CSV par_sqlandworker_unbuffer Exit=0 CSV par_sqlandworker_unbuffer Exit=0 -CSV par_sqlandworker_unbuffer sql: Error: csv:///%2Frun%2Fshm is not a valid DBURL -CSV par_sqlandworker_unbuffer -CSV par_sqlandworker_unbuffer Usage: -CSV par_sqlandworker_unbuffer sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -CSV par_sqlandworker_unbuffer sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -CSV par_sqlandworker_unbuffer -CSV par_sqlandworker_unbuffer See 'man sql' for the options +CSV par_sqlandworker_unbuffer IsADirectoryError: [Errno 21] Is a directory: '/run/shm' INFLUX do_dburl INFLUX INFLUX par_append p_wrapper par_append $INFLUX INFLUX par_append Exit=255 INFLUX par_append Exit=0 INFLUX par_append ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_append parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_append parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_append parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_append parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_append parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_append parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_append error parsing query: only ORDER BY time supported at this time INFLUX par_empty p_wrapper par_empty $INFLUX INFLUX par_empty Do nothing: TBL99999 does not exist because it is not created @@ -294,33 +213,34 @@ INFLUX par_empty ERR: error parsing query: only ORDER BY time supported at this INFLUX par_empty error parsing query: only ORDER BY time supported at this time INFLUX par_no_table p_wrapper par_no_table $INFLUX INFLUX par_no_table bug #50018: --dburl without table dies +INFLUX par_no_table should default to table USERNAME INFLUX par_no_table 255 INFLUX par_no_table 255 INFLUX par_no_table 255 INFLUX par_no_table Exit=255 INFLUX par_no_table Exit=0 INFLUX par_no_table ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_no_table parallel: Error: influx:///parallel is not a valid DBURL -INFLUX par_no_table parallel: Error: influx:///parallel is not a valid DBURL -INFLUX par_no_table parallel: Error: influx:///parallel is not a valid DBURL -INFLUX par_no_table parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_no_table parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_no_table parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_no_table parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_no_table parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_no_table error parsing query: only ORDER BY time supported at this time INFLUX par_shuf p_wrapper par_shuf $INFLUX INFLUX par_shuf Exit=0 INFLUX par_shuf Exit=0 INFLUX par_shuf ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_shuf cat: '/tmp/parallel-bug49791-25d/1/*/*/*/stdout': No such file or directory INFLUX par_shuf error parsing query: only ORDER BY time supported at this time -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_shuf parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_shuf parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_shuf error parsing query: only ORDER BY time supported at this time INFLUX par_shuf error parsing query: only ORDER BY time supported at this time INFLUX par_sql_joblog p_wrapper par_sql_joblog $INFLUX @@ -332,72 +252,72 @@ INFLUX par_sql_joblog Seq Host Starttime JobRuntime Send Receive Exitval Signal INFLUX par_sql_joblog Exit=0 INFLUX par_sql_joblog Exit=0 INFLUX par_sql_joblog ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sql_joblog parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sql_joblog parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sql_joblog parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sql_joblog parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sql_joblog parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sql_joblog parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sql_joblog error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker p_wrapper par_sqlandworker $INFLUX INFLUX par_sqlandworker Exit=255 INFLUX par_sqlandworker Exit=0 INFLUX par_sqlandworker ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_compress_linebuffer_tag p_wrapper par_sqlandworker_compress_linebuffer_tag $INFLUX INFLUX par_sqlandworker_compress_linebuffer_tag Exit=255 INFLUX par_sqlandworker_compress_linebuffer_tag Exit=0 INFLUX par_sqlandworker_compress_linebuffer_tag ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_compress_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_compress_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_compress_linebuffer_tag parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_compress_linebuffer_tag parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_compress_linebuffer_tag error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_linebuffer p_wrapper par_sqlandworker_linebuffer $INFLUX INFLUX par_sqlandworker_linebuffer Exit=255 INFLUX par_sqlandworker_linebuffer Exit=0 INFLUX par_sqlandworker_linebuffer ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_linebuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_linebuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_linebuffer parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_linebuffer parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_linebuffer error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_linebuffer_tag p_wrapper par_sqlandworker_linebuffer_tag $INFLUX INFLUX par_sqlandworker_linebuffer_tag Exit=255 INFLUX par_sqlandworker_linebuffer_tag Exit=0 INFLUX par_sqlandworker_linebuffer_tag ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_linebuffer_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_linebuffer_tag parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_linebuffer_tag parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_linebuffer_tag error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_lo p_wrapper par_sqlandworker_lo $INFLUX INFLUX par_sqlandworker_lo Exit=255 INFLUX par_sqlandworker_lo Exit=0 INFLUX par_sqlandworker_lo ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_lo parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_lo parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_lo parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_lo parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_lo error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_results p_wrapper par_sqlandworker_results $INFLUX INFLUX par_sqlandworker_results Exit=255 INFLUX par_sqlandworker_results Exit=0 INFLUX par_sqlandworker_results ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_results parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_results parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_results parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_results parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_results error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_tag p_wrapper par_sqlandworker_tag $INFLUX INFLUX par_sqlandworker_tag Exit=255 INFLUX par_sqlandworker_tag Exit=0 INFLUX par_sqlandworker_tag ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_tag parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_tag parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_tag parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_tag error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_total_jobs p_wrapper par_sqlandworker_total_jobs $INFLUX INFLUX par_sqlandworker_total_jobs Exit=255 INFLUX par_sqlandworker_total_jobs Exit=0 INFLUX par_sqlandworker_total_jobs ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_total_jobs parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_total_jobs parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_total_jobs parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_total_jobs parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_total_jobs error parsing query: only ORDER BY time supported at this time INFLUX par_sqlandworker_unbuffer p_wrapper par_sqlandworker_unbuffer $INFLUX INFLUX par_sqlandworker_unbuffer Exit=255 INFLUX par_sqlandworker_unbuffer Exit=0 INFLUX par_sqlandworker_unbuffer ERR: error parsing query: only ORDER BY time supported at this time -INFLUX par_sqlandworker_unbuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL -INFLUX par_sqlandworker_unbuffer parallel: Error: influx:///parallel/TBL99999 is not a valid DBURL +INFLUX par_sqlandworker_unbuffer parallel: Error: influx not supported. Are you missing a perl DBD::influx module? +INFLUX par_sqlandworker_unbuffer parallel: Error: influx not supported. Are you missing a perl DBD::influx module? INFLUX par_sqlandworker_unbuffer error parsing query: only ORDER BY time supported at this time MYSQL do_dburl MYSQL MYSQL par_append p_wrapper par_append $MYSQL @@ -461,16 +381,16 @@ MYSQL par_empty Exit=0 MYSQL par_empty ERROR 1146 (42S02) at line 1: Table 'tange.TBL99999' doesn't exist MYSQL par_no_table p_wrapper par_no_table $MYSQL MYSQL par_no_table bug #50018: --dburl without table dies -MYSQL par_no_table 255 -MYSQL par_no_table 255 -MYSQL par_no_table 255 +MYSQL par_no_table should default to table USERNAME +MYSQL par_no_table OK +MYSQL par_no_table 0 +MYSQL par_no_table 0 +MYSQL par_no_table OK +MYSQL par_no_table 0 MYSQL par_no_table Exit=0 MYSQL par_no_table Exit=0 MYSQL par_no_table Host Command V1 V2 Stdout Stderr MYSQL par_no_table hostname true dummy dummy dummy dummy -MYSQL par_no_table parallel: Error: The DBURL (mysql://tange:tange@localhost/tange) must contain a table. -MYSQL par_no_table parallel: Error: The DBURL (mysql://tange:tange@localhost/tange) must contain a table. -MYSQL par_no_table parallel: Error: The DBURL (mysql://tange:tange@localhost/tange) must contain a table. MYSQL par_shuf p_wrapper par_shuf $MYSQL MYSQL par_shuf 1 a MYSQL par_shuf 1 b @@ -1037,18 +957,18 @@ PG par_empty LINE 1: select Host,Command,V1,V2,Stdout,Stderr from TBL99999 order PG par_empty ^ PG par_no_table p_wrapper par_no_table $PG PG par_no_table bug #50018: --dburl without table dies -PG par_no_table 255 -PG par_no_table 255 -PG par_no_table 255 +PG par_no_table should default to table USERNAME +PG par_no_table OK +PG par_no_table 0 +PG par_no_table 0 +PG par_no_table OK +PG par_no_table 0 PG par_no_table Exit=0 PG par_no_table Exit=0 PG par_no_table host| command | v1 | v2 | stdout | stderr PG par_no_table hostname| true dummy dummy | dummy | dummy | | PG par_no_table (1 row) PG par_no_table -PG par_no_table parallel: Error: The DBURL (pg://tange:tange@localhost/tange) must contain a table. -PG par_no_table parallel: Error: The DBURL (pg://tange:tange@localhost/tange) must contain a table. -PG par_no_table parallel: Error: The DBURL (pg://tange:tange@localhost/tange) must contain a table. PG par_shuf p_wrapper par_shuf $PG PG par_shuf 1 a PG par_shuf 1 b @@ -1858,6 +1778,7 @@ SQLITE par_empty Exit=0 SQLITE par_empty Parse error near line 1: no such table: TBL99999 SQLITE par_no_table p_wrapper par_no_table $SQLITE SQLITE par_no_table bug #50018: --dburl without table dies +SQLITE par_no_table should default to table USERNAME SQLITE par_no_table 255 SQLITE par_no_table 255 SQLITE par_no_table 255 @@ -1865,9 +1786,9 @@ SQLITE par_no_table Exit=0 SQLITE par_no_table Exit=0 SQLITE par_no_table Host|Command|V1|V2|Stdout|Stderr SQLITE par_no_table hostname|true dummy dummy|dummy|dummy|| -SQLITE par_no_table parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table. -SQLITE par_no_table parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table. -SQLITE par_no_table parallel: Error: The DBURL (sqlite3:///%2Frun%2Fshm%2Fparallel.db) must contain a table. +SQLITE par_no_table parallel: Error: The table name (/run/shm/parallel.db) cannot contain / +SQLITE par_no_table parallel: Error: The table name (/run/shm/parallel.db) cannot contain / +SQLITE par_no_table parallel: Error: The table name (/run/shm/parallel.db) cannot contain / SQLITE par_shuf p_wrapper par_shuf $SQLITE SQLITE par_shuf 1 a SQLITE par_shuf 1 b diff --git a/testsuite/wanted-results/parallel-local-sql02 b/testsuite/wanted-results/parallel-local-sql02 index c2a0dd54..09bb1453 100644 --- a/testsuite/wanted-results/parallel-local-sql02 +++ b/testsuite/wanted-results/parallel-local-sql02 @@ -1,13 +1,7 @@ par_few_duplicate_run $CSV par_few_duplicate_run $CSV par_few_duplicate_run $CSV ### With many workers there will be some duplicates -par_few_duplicate_run $CSV sql: Error: csv:///%2Frun%2Fshm%2Fcsv is not a valid DBURL -par_few_duplicate_run $CSV -par_few_duplicate_run $CSV Usage: -par_few_duplicate_run $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [sqlcommand] -par_few_duplicate_run $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl < sql_command_file -par_few_duplicate_run $CSV -par_few_duplicate_run $CSV See 'man sql' for the options par_few_duplicate_run $CSV OK +par_few_duplicate_run $CSV IsADirectoryError: [Errno 21] Is a directory: '/run/shm/csv' par_few_duplicate_run $MYSQL par_few_duplicate_run $MYSQL par_few_duplicate_run $MYSQL ### With many workers there will be some duplicates par_few_duplicate_run $MYSQL OK diff --git a/testsuite/wanted-results/sql01 b/testsuite/wanted-results/sql01 index 2b9ca16c..186b42a9 100644 --- a/testsuite/wanted-results/sql01 +++ b/testsuite/wanted-results/sql01 @@ -13,8 +13,8 @@ par__noheaders def 3 par__noheaders abc 1 par__noheaders def 3 par__tablesize ### Test --table-size --tablesize -par__tablesize 94 -par__tablesize 94 +par__tablesize 96 +par__tablesize 96 par_dburl_user_password_host_port ### Test dburl with username password host port par_dburl_user_password_host_port Test dburl with username password host port par_dburl_user_password_host_port OK diff --git a/testsuite/wanted-results/sql02 b/testsuite/wanted-results/sql02 index 04b333e8..e11b82a6 100644 --- a/testsuite/wanted-results/sql02 +++ b/testsuite/wanted-results/sql02 @@ -3,7 +3,7 @@ par_influx empty input par_influx empty input par_influx empty input par_influx dbsize is not implemented for influx -par_influx Field separator not implemented for influx at /usr/local/bin/sql line 892. +par_influx Field separator not implemented for influx at /usr/local/bin/sql line 944. par_influx name: databases par_influx name par_influx ---- diff --git a/testsuite/wanted-results/sql03 b/testsuite/wanted-results/sql03 index 1a88e6fd..357d97e4 100644 --- a/testsuite/wanted-results/sql03 +++ b/testsuite/wanted-results/sql03 @@ -1,10 +1,5 @@ par_listproc ### Test --listproc -par_listproc -par_listproc CPU_TIME/100000 SQL_TEXT USERNAME -par_listproc --------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -par_listproc 1.99999 SELECT CPU_TIME/100000, SYS.V_$SQL.SQL_TEXT, USERNAME FROM SYS.V_$SQL, SYS.V_$SESSION WHERE SYS.V_$SQL.SQL_ID = SYS.V_$SESSION.SQL_ID(+) AND username IS NOT NULL ORDER BY CPU_TIME DESC SYSTEM -par_listproc -par_listproc Id User Host db Command Time State Info +par_listproc CPU_TIME/100000 SQL_TEXT USERNAME --------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- 1.99999 SELECT CPU_TIME/100000, SYS.V_$SQL.SQL_TEXT, USERNAME FROM SYS.V_$SQL, SYS.V_$SESSION WHERE SYS.V_$SQL.SQL_ID = SYS.V_$SESSION.SQL_ID(+) AND username IS NOT NULL ORDER BY CPU_TIME DESC SYSTEM Id User Host db Command Time State Info par_listproc XXX sqlunittest localhost sqlunittest Query 0 init show processlist par_multiarg_on_command_line ### Test oracle with multiple arguments on the command line par_multiarg_on_command_line @@ -37,11 +32,11 @@ par_showdatabases ### Test --show-databases par_showdatabases par_showdatabases TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG PREDICA ENC COMPRESS_FOR DEF_INME DEF_INME DEF_INMEMORY_DI DEF_INMEMORY_COMP DEF_INMEMORY_ SHARED DEF_INDE INDEX_COMPRES DEF_CELLMEMORY DEF_INMEMORY DEF_INMEMORY_SERVICE_NAME LOST_WR C par_showdatabases ------------------------------ ---------- -------------- ----------- ----------- ----------- ---------- ------------ ---------- --------- --------------------- --------- --- ---------- --------- ------ -------- ----------- --- ------- --- ------------------------------ -------- -------- --------------- ----------------- ------------- ------------- -------- ------------- ---------------- ------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------- - -par_showdatabases SYSTEM 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING YES LOCAL SYSTEM MANUAL DISABLED NOT APPLY YES HOST NO DISABLED SHARED DISABLED OFF N -par_showdatabases SYSAUX 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING YES LOCAL SYSTEM AUTO DISABLED NOT APPLY YES HOST NO DISABLED SHARED DISABLED OFF N -par_showdatabases UNDOTBS1 8192 65536 1 2147483645 2147483645 65536 ONLINE UNDO LOGGING NO LOCAL SYSTEM MANUAL DISABLED NOGUARANTEE YES HOST NO DISABLED SHARED DISABLED OFF N +par_showdatabases SYSTEM 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING YES LOCAL SYSTEM MANUAL DISABLED NOT APPLY NO HOST NO DISABLED SHARED DISABLED OFF N +par_showdatabases SYSAUX 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING YES LOCAL SYSTEM AUTO DISABLED NOT APPLY NO HOST NO DISABLED SHARED DISABLED OFF N +par_showdatabases UNDOTBS1 8192 65536 1 2147483645 2147483645 65536 ONLINE UNDO LOGGING NO LOCAL SYSTEM MANUAL DISABLED NOGUARANTEE NO HOST NO DISABLED SHARED DISABLED OFF N par_showdatabases TEMP 8192 1048576 1048576 1 2147483645 0 1048576 ONLINE TEMPORARY NOLOGGING NO LOCAL UNIFORM MANUAL DISABLED NOT APPLY NO HOST NO DISABLED SHARED DISABLED OFF N -par_showdatabases USERS 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM AUTO DISABLED NOT APPLY YES HOST NO DISABLED SHARED DISABLED OFF N +par_showdatabases USERS 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM AUTO DISABLED NOT APPLY NO HOST NO DISABLED SHARED DISABLED OFF N par_showdatabases par_showtables ### Test --show-tables par_showtables