From 2c641b47d0a0156544f3c3f5cc99dda20de4741b Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Fri, 28 Dec 2012 21:30:30 +0100 Subject: [PATCH] testsuite: reorg. --- testsuite/tests-to-run/parallel-local1.sh | 138 +++++++++++-- testsuite/tests-to-run/parallel-local11.sh | 18 +- testsuite/tests-to-run/parallel-local129.sh | 64 ------ testsuite/tests-to-run/parallel-local20.sh | 6 - testsuite/tests-to-run/parallel-local21.sh | 24 +-- testsuite/tests-to-run/parallel-local4.sh | 14 +- testsuite/tests-to-run/parallel-local7.sh | 30 --- testsuite/tests-to-run/parallel-local9.sh | 30 +-- testsuite/wanted-results/parallel-local1 | 208 ++++++++++++++++++++ testsuite/wanted-results/parallel-local11 | 11 +- testsuite/wanted-results/parallel-local129 | 71 ------- testsuite/wanted-results/parallel-local20 | 5 - testsuite/wanted-results/parallel-local21 | 18 +- testsuite/wanted-results/parallel-local4 | 47 +---- testsuite/wanted-results/parallel-local7 | 111 ----------- testsuite/wanted-results/parallel-local9 | 7 +- 16 files changed, 409 insertions(+), 393 deletions(-) diff --git a/testsuite/tests-to-run/parallel-local1.sh b/testsuite/tests-to-run/parallel-local1.sh index 7326971e..0f31c773 100644 --- a/testsuite/tests-to-run/parallel-local1.sh +++ b/testsuite/tests-to-run/parallel-local1.sh @@ -2,44 +2,146 @@ cat <<'EOF' | parallel -j0 -k echo "### Test --basenamereplace" -parallel -j1 -k -X --basenamereplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b -parallel -k --basenamereplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X --basenamereplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -k --basenamereplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test --bnr" -parallel -j1 -k -X --bnr FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b -parallel -k --bnr FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X --bnr FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -k --bnr FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test --extensionreplace" -parallel -j1 -k -X --extensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b -parallel -k --extensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X --extensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -k --extensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test --er" -parallel -j1 -k -X --er FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b -parallel -k --er FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X --er FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -k --er FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test --basenameextensionreplace" -parallel -j1 -k -X --basenameextensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b -parallel -k --basenameextensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X --basenameextensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -k --basenameextensionreplace FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test --bner" -parallel -j1 -k -X --bner FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b -parallel -k --bner FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X --bner FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -k --bner FOO echo FOO ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test {/}" -parallel -j1 -k -X echo {/} ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X echo {/} ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test {/.}" -parallel -j1 -k -X echo {/.} ::: /a/b.c a/b.c b.c /a/b a/b b + parallel -j1 -k -X echo {/.} ::: /a/b.c a/b.c b.c /a/b a/b b echo "### Test {#/.}" -parallel -j1 -k -X echo {2/.} ::: /a/number1.c a/number2.c number3.c /a/number4 a/number5 number6 + parallel -j1 -k -X echo {2/.} ::: /a/number1.c a/number2.c number3.c /a/number4 a/number5 number6 echo "### Test {#/}" -parallel -j1 -k -X echo {2/} ::: /a/number1.c a/number2.c number3.c /a/number4 a/number5 number6 + parallel -j1 -k -X echo {2/} ::: /a/number1.c a/number2.c number3.c /a/number4 a/number5 number6 echo "### Test {#.}" -parallel -j1 -k -X echo {2.} ::: /a/number1.c a/number2.c number3.c /a/number4 a/number5 number6 + parallel -j1 -k -X echo {2.} ::: /a/number1.c a/number2.c number3.c /a/number4 a/number5 number6 echo "### bug #34241: --pipe should not spawn unneeded processes" -echo | parallel -r -j2 -N1 --pipe md5sum -c && echo OK + echo | parallel -r -j2 -N1 --pipe md5sum -c && echo OK + +echo '### Test of quoting of > bug' + echo '>/dev/null' | parallel echo + +echo '### Test of quoting of > bug if line continuation' + (echo '> '; echo '> '; echo '>') | parallel --max-lines 3 echo + +echo '### Test of --trim illegal' + stdout parallel --trim fj ::: echo + +echo '### Test of eof string on :::' + parallel -k -E ole echo ::: foo ole bar + +echo '### Test of ignore-empty string on :::' + parallel -k -r echo ::: foo '' ole bar + +echo '### Test of trailing space continuation' + (echo foo; echo '';echo 'ole ';echo bar;echo quux) | xargs -r -L2 echo + (echo foo; echo '';echo 'ole ';echo bar;echo quux) | parallel -kr -L2 echo + parallel -kr -L2 echo ::: foo '' 'ole ' bar quux + +echo '### Test of trailing space continuation with -E eof' + (echo foo; echo '';echo 'ole ';echo bar;echo quux) | xargs -r -L2 -E bar echo + (echo foo; echo '';echo 'ole ';echo bar;echo quux) | parallel -kr -L2 -E bar echo + parallel -kr -L2 -E bar echo ::: foo '' 'ole ' bar quux + +echo '### Test of --colsep' + echo 'a%c%b' | parallel --colsep % echo {1} {3} {2} + (echo 'a%c%b'; echo a%c%b%d) | parallel -k --colsep % echo {1} {3} {2} {4} + (echo a%c%b; echo d%f%e) | parallel -k --colsep % echo {1} {3} {2} + parallel -k --colsep % echo {1} {3} {2} ::: a%c%b d%f%e + parallel -k --colsep % echo {1} {3} {2} ::: a%c%b + parallel -k --colsep % echo {1} {3} {2} {4} ::: a%c%b a%c%b%d + +echo '### Test of tab as colsep' + printf 'def\tabc\njkl\tghi' | parallel -k --colsep '\t' echo {2} {1} + parallel -k -a <(printf 'def\tabc\njkl\tghi') --colsep '\t' echo {2} {1} + +echo '### Test of multiple -a plus colsep' + parallel --xapply -k -a <(printf 'def\njkl\n') -a <(printf 'abc\tghi\nmno\tpqr') --colsep '\t' echo {2} {1} + +echo '### Test of multiple -a no colsep' + parallel --xapply -k -a <(printf 'ghi\npqr\n') -a <(printf 'abc\tdef\njkl\tmno') echo {2} {1} + +echo '### Test of quoting after colsplit' + parallel --colsep % echo {2} {1} ::: '>/dev/null%>/tmp/null' + +echo '### Test of --colsep as regexp' + (echo 'a%c%%b'; echo a%c%b%d) | parallel -k --colsep %+ echo {1} {3} {2} {4} + parallel -k --colsep %+ echo {1} {3} {2} {4} ::: a%c%%b a%c%b%d + (echo 'a% c %%b'; echo a%c% b %d) | parallel -k --colsep %+ echo {1} {3} {2} {4} + (echo 'a% c %%b'; echo a%c% b %d) | parallel -k --colsep %+ echo '"{1}_{3}_{2}_{4}"' + +echo '### Test of -C' + (echo 'a% c %%b'; echo a%c% b %d) | parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' + +echo '### Test of --trim n' + (echo 'a% c %%b'; echo a%c% b %d) | parallel -k --trim n --colsep %+ echo '"{1}_{3}_{2}_{4}"' + parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d' + +echo '### Test of bug: If input is empty string' + (echo ; echo abcbdbebf;echo abc) | parallel -k --colsep b -v echo {1}{2} + +echo '### Test bug #34241: --pipe should not spawn unneeded processes' + seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o + +echo '### Test :::: mixed with :::' +echo '### Test :::: < ::: :::' + parallel -k echo {1} {2} {3} :::: <(seq 6 7) ::: 4 5 ::: 1 2 3 + +echo '### Test :::: < < :::: <' + parallel -k echo {1} {2} {3} :::: <(seq 6 7) <(seq 4 5) :::: <(seq 1 3) + +echo '### Test -a :::: < :::: <' + parallel -k -a <(seq 6 7) echo {1} {2} {3} :::: <(seq 4 5) :::: <(seq 1 3) + +echo '### Test -a -a :::' + parallel -k -a <(seq 6 7) -a <(seq 4 5) echo {1} {2} {3} ::: 1 2 3 + +echo '### Test -a - -a :::' + seq 6 7 | parallel -k -a - -a <(seq 4 5) echo {1} {2} {3} ::: 1 2 3 + +echo '### Test :::: < - :::' + seq 4 5 | parallel -k echo {1} {2} {3} :::: <(seq 6 7) - ::: 1 2 3 + +echo '### Test -E' + seq 1 100 | parallel -k -E 5 echo :::: - ::: 2 3 4 5 6 7 8 9 10 :::: <(seq 3 11) + +echo '### Test -E one empty' + seq 1 100 | parallel -k -E 3 echo :::: - ::: 2 3 4 5 6 7 8 9 10 :::: <(seq 3 11) + +echo '### Test -E 2 empty' + seq 1 100 | parallel -k -E 3 echo :::: - ::: 3 4 5 6 7 8 9 10 :::: <(seq 3 11) + +echo '### Test -E all empty' + seq 3 100 | parallel -k -E 3 echo :::: - ::: 3 4 5 6 7 8 9 10 :::: <(seq 3 11) + +echo '### Test {#}' + seq 1 10 | parallel -k echo {#} + +echo '### Test --seqreplace and line too long' + seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc EOF diff --git a/testsuite/tests-to-run/parallel-local11.sh b/testsuite/tests-to-run/parallel-local11.sh index 22a4d356..1844eeca 100755 --- a/testsuite/tests-to-run/parallel-local11.sh +++ b/testsuite/tests-to-run/parallel-local11.sh @@ -1,9 +1,18 @@ #!/bin/bash -# Simple jobs taking 100s that can be run in parallel -cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -L1 -echo "### Test Force outside the file handle limit, 2009-02-17 Gave fork error"; - (echo echo Start; seq 1 20000 | perl -pe 's/^/true /'; echo echo end) | parallel -uj 0 +# Simple jobs that never fails +# Each should be taking 100s and be possible to run in parallel +# I.e.: No race conditions, no logins +cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -j4 -k -L1 +echo '### Test if we can deal with output > 4 GB' + echo | niceload --io 10 parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum +# echo | parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum + +echo "### Test Force outside the file handle limit, 2009-02-17 Gave fork error" + (echo echo Start; seq 1 20000 | perl -pe 's/^/true /'; echo echo end) | stdout parallel -uj 0 | grep -v 'processes took|adjusting' + +echo '### Test of --retries on unreachable host' + seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo echo '### Test race condition on 8 CPU (my laptop)'; seq 1 5000000 > /tmp/parallel_test; @@ -44,5 +53,6 @@ echo '### Test last dying print --halt-on-error'; echo '### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834'; seq 1 3 | parallel -j1 "sleep 2; echo {}" | parallel -kj2 echo + EOF diff --git a/testsuite/tests-to-run/parallel-local129.sh b/testsuite/tests-to-run/parallel-local129.sh index cdebbf95..05a7907c 100644 --- a/testsuite/tests-to-run/parallel-local129.sh +++ b/testsuite/tests-to-run/parallel-local129.sh @@ -1,66 +1,2 @@ #!/bin/bash -echo '### Test of quoting of > bug' -echo '>/dev/null' | parallel echo - -echo '### Test of quoting of > bug if line continuation' -(echo '> '; echo '> '; echo '>') | parallel --max-lines 3 echo - -echo '### Test of --trim illegal' -stdout parallel --trim fj ::: echo - -echo '### Test of eof string on :::' -parallel -k -E ole echo ::: foo ole bar - -echo '### Test of ignore-empty string on :::' -parallel -k -r echo ::: foo '' ole bar - -echo '### Test of trailing space continuation' -(echo foo; echo '';echo 'ole ';echo bar;echo quux) | xargs -r -L2 echo -(echo foo; echo '';echo 'ole ';echo bar;echo quux) | parallel -kr -L2 echo -parallel -kr -L2 echo ::: foo '' 'ole ' bar quux -echo '### Test of trailing space continuation with -E eof' -(echo foo; echo '';echo 'ole ';echo bar;echo quux) | xargs -r -L2 -E bar echo -(echo foo; echo '';echo 'ole ';echo bar;echo quux) | parallel -kr -L2 -E bar echo -parallel -kr -L2 -E bar echo ::: foo '' 'ole ' bar quux - -echo '### Test of --colsep' -echo 'a%c%b' | parallel --colsep % echo {1} {3} {2} -(echo 'a%c%b'; echo a%c%b%d) | parallel -k --colsep % echo {1} {3} {2} {4} -(echo a%c%b; echo d%f%e) | parallel -k --colsep % echo {1} {3} {2} -parallel -k --colsep % echo {1} {3} {2} ::: a%c%b d%f%e - -parallel -k --colsep % echo {1} {3} {2} ::: a%c%b - -parallel -k --colsep % echo {1} {3} {2} {4} ::: a%c%b a%c%b%d - -echo '### Test of tab as colsep' -printf 'def\tabc\njkl\tghi' | parallel -k --colsep '\t' echo {2} {1} -parallel -k -a <(printf 'def\tabc\njkl\tghi') --colsep '\t' echo {2} {1} - -echo '### Test of multiple -a plus colsep' -parallel --xapply -k -a <(printf 'def\njkl\n') -a <(printf 'abc\tghi\nmno\tpqr') --colsep '\t' echo {2} {1} - -echo '### Test of multiple -a no colsep' -parallel --xapply -k -a <(printf 'ghi\npqr\n') -a <(printf 'abc\tdef\njkl\tmno') echo {2} {1} - -echo '### Test of quoting after colsplit' -parallel --colsep % echo {2} {1} ::: '>/dev/null%>/tmp/null' - -echo '### Test of --colsep as regexp' -(echo 'a%c%%b'; echo a%c%b%d) | parallel -k --colsep %+ echo {1} {3} {2} {4} - -parallel -k --colsep %+ echo {1} {3} {2} {4} ::: a%c%%b a%c%b%d - - -(echo 'a% c %%b'; echo a%c% b %d) | parallel -k --colsep %+ echo {1} {3} {2} {4} - -(echo 'a% c %%b'; echo a%c% b %d) | parallel -k --colsep %+ echo '"{1}_{3}_{2}_{4}"' -echo '### Test of -C' -(echo 'a% c %%b'; echo a%c% b %d) | parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' -echo '### Test of --trim n' -(echo 'a% c %%b'; echo a%c% b %d) | parallel -k --trim n --colsep %+ echo '"{1}_{3}_{2}_{4}"' -parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d' - -echo '### Test of bug: If input is empty string' -(echo ; echo abcbdbebf;echo abc) | parallel -k --colsep b -v echo {1}{2} diff --git a/testsuite/tests-to-run/parallel-local20.sh b/testsuite/tests-to-run/parallel-local20.sh index dadc5c30..5f5e971b 100644 --- a/testsuite/tests-to-run/parallel-local20.sh +++ b/testsuite/tests-to-run/parallel-local20.sh @@ -30,9 +30,3 @@ EOF chmod 755 '/tmp/she "' seq 1 3 >/tmp/123 '/tmp/she "' - -echo '### bug #36595: silent loss of input with --pipe and --sshlogin' -seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc - -echo 'bug #36707: --controlmaster eats jobs' -seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{} diff --git a/testsuite/tests-to-run/parallel-local21.sh b/testsuite/tests-to-run/parallel-local21.sh index 42b7a2df..39a4dfef 100644 --- a/testsuite/tests-to-run/parallel-local21.sh +++ b/testsuite/tests-to-run/parallel-local21.sh @@ -12,11 +12,11 @@ EOF chmod 755 /tmp/basic--shebang-wrap /tmp/basic--shebang-wrap arg1 arg2 -echo "### Same as" +echo "### Test basic --shebang-wrap Same as" parallel /usr/bin/perl /tmp/basic--shebang-wrap ::: arg1 arg2 -echo "### stdin" +echo "### Test basic --shebang-wrap stdin" (echo arg1; echo arg2) | /tmp/basic--shebang-wrap -echo "### Same as" +echo "### Test basic --shebang-wrap Same as" (echo arg1; echo arg2) | parallel /usr/bin/perl /tmp/basic--shebang-wrap rm /tmp/basic--shebang-wrap @@ -30,18 +30,18 @@ EOF chmod 755 /tmp/with-parser--shebang-wrap /tmp/with-parser--shebang-wrap /tmp/in12 /tmp/in45 -echo "### Same as" +echo "### Test --shebang-wrap with parser options Same as" parallel -k /usr/bin/perl -p /tmp/with-parser--shebang-wrap ::: /tmp/in12 /tmp/in45 -echo "### stdin" +echo "### Test --shebang-wrap with parser options stdin" (echo /tmp/in12; echo /tmp/in45) | /tmp/with-parser--shebang-wrap -echo "### Same as" +echo "### Test --shebang-wrap with parser options Same as" (echo /tmp/in12; echo /tmp/in45) | parallel -k /usr/bin/perl /tmp/with-parser--shebang-wrap rm /tmp/with-parser--shebang-wrap echo "### Test --shebang-wrap --pipe with parser options" cat < /tmp/pipe--shebang-wrap -#!/usr/local/bin/parallel --shebang-wrap --pipe /usr/bin/perl -p +#!/usr/local/bin/parallel --shebang-wrap -k --pipe /usr/bin/perl -p print "Shebang from perl with args @ARGV\n"; EOF @@ -51,12 +51,12 @@ echo Suboptimal /tmp/pipe--shebang-wrap :::: /tmp/in12 /tmp/in45 echo Optimal /tmp/pipe--shebang-wrap /tmp/in12 /tmp/in45 -echo "### Same as" -parallel --pipe /usr/bin/perl\ -p /tmp/pipe--shebang-wrap :::: /tmp/in12 /tmp/in45 -echo "### stdin" +echo "### Test --shebang-wrap --pipe with parser options Same as" +parallel -k --pipe /usr/bin/perl\ -p /tmp/pipe--shebang-wrap :::: /tmp/in12 /tmp/in45 +echo "### Test --shebang-wrap --pipe with parser options stdin" cat /tmp/in12 /tmp/in45 | /tmp/pipe--shebang-wrap -echo "### Same as" -cat /tmp/in12 /tmp/in45 | parallel --pipe /usr/bin/perl\ -p /tmp/pipe--shebang-wrap +echo "### Test --shebang-wrap --pipe with parser options Same as" +cat /tmp/in12 /tmp/in45 | parallel -k --pipe /usr/bin/perl\ -p /tmp/pipe--shebang-wrap rm /tmp/pipe--shebang-wrap rm /tmp/in12 diff --git a/testsuite/tests-to-run/parallel-local4.sh b/testsuite/tests-to-run/parallel-local4.sh index 38c7c05b..8a6e6816 100644 --- a/testsuite/tests-to-run/parallel-local4.sh +++ b/testsuite/tests-to-run/parallel-local4.sh @@ -1,15 +1,9 @@ #!/bin/bash cat <<'EOF' | parallel -j0 -vk -echo '### Test if we can deal with output > 4 GB' -echo | niceload --io 9 -H parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum +echo '### bug #36595: silent loss of input with --pipe and --sshlogin' + seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc -echo '### Test {#}' -seq 1 10 | parallel -k echo {#} - -echo '### Test --seqreplace and line too long' -seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc - -echo '### Test of --retries on unreachable host' -seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo +echo 'bug #36707: --controlmaster eats jobs' + seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{} EOF diff --git a/testsuite/tests-to-run/parallel-local7.sh b/testsuite/tests-to-run/parallel-local7.sh index a0e3d67b..05a7907c 100644 --- a/testsuite/tests-to-run/parallel-local7.sh +++ b/testsuite/tests-to-run/parallel-local7.sh @@ -1,32 +1,2 @@ #!/bin/bash -echo '### Test :::: mixed with :::' -echo '### Test :::: < ::: :::' -parallel -k echo {1} {2} {3} :::: <(seq 6 7) ::: 4 5 ::: 1 2 3 - -echo '### Test :::: < < :::: <' -parallel -k echo {1} {2} {3} :::: <(seq 6 7) <(seq 4 5) :::: <(seq 1 3) - -echo '### Test -a :::: < :::: <' -parallel -k -a <(seq 6 7) echo {1} {2} {3} :::: <(seq 4 5) :::: <(seq 1 3) - -echo '### Test -a -a :::' -parallel -k -a <(seq 6 7) -a <(seq 4 5) echo {1} {2} {3} ::: 1 2 3 - -echo '### Test -a - -a :::' -seq 6 7 | parallel -k -a - -a <(seq 4 5) echo {1} {2} {3} ::: 1 2 3 - -echo '### Test :::: < - :::' -seq 4 5 | parallel -k echo {1} {2} {3} :::: <(seq 6 7) - ::: 1 2 3 - -echo '### Test -E' -seq 1 100 | parallel -k -E 5 echo :::: - ::: 2 3 4 5 6 7 8 9 10 :::: <(seq 3 11) - -echo '### Test -E one empty' -seq 1 100 | parallel -k -E 3 echo :::: - ::: 2 3 4 5 6 7 8 9 10 :::: <(seq 3 11) - -echo '### Test -E 2 empty' -seq 1 100 | parallel -k -E 3 echo :::: - ::: 3 4 5 6 7 8 9 10 :::: <(seq 3 11) - -echo '### Test -E all empty' -seq 3 100 | parallel -k -E 3 echo :::: - ::: 3 4 5 6 7 8 9 10 :::: <(seq 3 11) diff --git a/testsuite/tests-to-run/parallel-local9.sh b/testsuite/tests-to-run/parallel-local9.sh index a62a1792..030c28e6 100644 --- a/testsuite/tests-to-run/parallel-local9.sh +++ b/testsuite/tests-to-run/parallel-local9.sh @@ -83,19 +83,23 @@ echo '### Test bug https://savannah.gnu.org/bugs/index.php?33352' # read(STDIN) to take a long time - thus being interrupted by a dead # child. -perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | md5sum -nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | - $PAR cat | md5sum -nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | - $PAR --recend '' cat | md5sum -nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | - $PAR --recend '' --files cat | parallel -Xj1 cat {} ';' rm {} | md5sum -nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | - $PAR --recend '' --files cat | parallel -Xj1 cat {} ';' rm {} | md5sum -nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | - $PAR --recend '' --files --tmpdir /dev/shm cat | parallel -Xj1 cat {} ';' rm {} | md5sum -nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | - $PAR --recend '' --files --halt-on-error 2 cat | parallel -Xj1 cat {} ';' rm {} | md5sum +echo "# md5sum - directly" + perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | md5sum +echo "# parallel | md5sum" + nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | + $PAR cat | md5sum +echo "# --recend ''" + nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | + $PAR --recend '' cat | md5sum +echo "# --recend '' --files" + nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | + $PAR --recend '' --files cat | parallel -Xj1 cat {} ';' rm {} | md5sum +echo "# --recend '' --files --tmpdir" + nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | + $PAR --recend '' --files --tmpdir /dev/shm cat | parallel -Xj1 cat {} ';' rm {} | md5sum +echo "# --recend '' --files --halt-on-error" + nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | + $PAR --recend '' --files --halt-on-error 2 cat | parallel -Xj1 cat {} ';' rm {} | md5sum echo '### Test of -j filename - non-existent file'; nice stdout parallel -j no_such_file echo ::: 1 diff --git a/testsuite/wanted-results/parallel-local1 b/testsuite/wanted-results/parallel-local1 index 9df3548f..367c186c 100644 --- a/testsuite/wanted-results/parallel-local1 +++ b/testsuite/wanted-results/parallel-local1 @@ -57,3 +57,211 @@ number2.c ### Test {#.} a/number2 ### bug #34241: --pipe should not spawn unneeded processes +### Test of quoting of > bug +>/dev/null +### Test of quoting of > bug if line continuation +> > > +### Test of --trim illegal +parallel: Error: --trim must be one of: r l rl lr. +### Test of eof string on ::: +foo +### Test of ignore-empty string on ::: +foo +ole +bar +### Test of trailing space continuation +foo ole bar +quux +foo ole bar +quux +foo ole bar +quux +### Test of trailing space continuation with -E eof +foo ole +foo ole +foo ole +### Test of --colsep +a b c +a b c {4} +a b c d +a b c +d e f +a b c +d e f +a b c +a b c {4} +a b c d +### Test of tab as colsep +abc def +ghi jkl +abc def +ghi jkl +### Test of multiple -a plus colsep +abc def +mno jkl +### Test of multiple -a no colsep +abc def ghi +jkl mno pqr +### Test of quoting after colsplit +>/tmp/null >/dev/null +### Test of --colsep as regexp +a b c {4} +a b c d +a b c {4} +a b c d +a b c {4} +a b c d +a_b_c_{4} +a_b_c_d +### Test of -C +a_b_c_{4} +a_b_c_d +### Test of --trim n +a_b_\ c\ _{4} +a_\ b\ _c_d +a_b_c_{4} +a_b_c_d +### Test of bug: If input is empty string +echo {2} +{2} +echo ac +ac +echo ac +ac +### Test bug #34241: --pipe should not spawn unneeded processes +1 +2 +3 +o +### Test :::: mixed with ::: +### Test :::: < ::: ::: +6 4 1 +6 4 2 +6 4 3 +6 5 1 +6 5 2 +6 5 3 +7 4 1 +7 4 2 +7 4 3 +7 5 1 +7 5 2 +7 5 3 +### Test :::: < < :::: < +6 4 1 +6 4 2 +6 4 3 +6 5 1 +6 5 2 +6 5 3 +7 4 1 +7 4 2 +7 4 3 +7 5 1 +7 5 2 +7 5 3 +### Test -a :::: < :::: < +6 4 1 +6 4 2 +6 4 3 +6 5 1 +6 5 2 +6 5 3 +7 4 1 +7 4 2 +7 4 3 +7 5 1 +7 5 2 +7 5 3 +### Test -a -a ::: +6 4 1 +6 4 2 +6 4 3 +6 5 1 +6 5 2 +6 5 3 +7 4 1 +7 4 2 +7 4 3 +7 5 1 +7 5 2 +7 5 3 +### Test -a - -a ::: +6 4 1 +6 4 2 +6 4 3 +6 5 1 +6 5 2 +6 5 3 +7 4 1 +7 4 2 +7 4 3 +7 5 1 +7 5 2 +7 5 3 +### Test :::: < - ::: +6 4 1 +6 4 2 +6 4 3 +6 5 1 +6 5 2 +6 5 3 +7 4 1 +7 4 2 +7 4 3 +7 5 1 +7 5 2 +7 5 3 +### Test -E +1 2 3 +1 2 4 +1 3 3 +1 3 4 +1 4 3 +1 4 4 +2 2 3 +2 2 4 +2 3 3 +2 3 4 +2 4 3 +2 4 4 +3 2 3 +3 2 4 +3 3 3 +3 3 4 +3 4 3 +3 4 4 +4 2 3 +4 2 4 +4 3 3 +4 3 4 +4 4 3 +4 4 4 +### Test -E one empty +1 2 +2 2 +### Test -E 2 empty +1 +2 +### Test -E all empty +### Test {#} +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +### Test --seqreplace and line too long + 1 1 130001 + 1 1 130001 + 1 1 130001 + 1 1 130001 + 1 1 130001 + 1 1 130001 + 1 1 130001 + 1 1 130001 +parallel: Command line too long (260009 >= 131071) at number 9: 10... diff --git a/testsuite/wanted-results/parallel-local11 b/testsuite/wanted-results/parallel-local11 index 35864de4..fbacaa44 100644 --- a/testsuite/wanted-results/parallel-local11 +++ b/testsuite/wanted-results/parallel-local11 @@ -1,7 +1,16 @@ -parallel: Warning: Only enough filehandles to run 507 jobs in parallel. Raising ulimit -n may help. +### Test if we can deal with output > 4 GB +46a318993dfc8e2afd71ff2bc6f605f1 - ### Test Force outside the file handle limit, 2009-02-17 Gave fork error +parallel: Warning: Only enough filehandles to run 507 jobs in parallel. Raising ulimit -n may help. Start end +### Test of --retries on unreachable host +ssh: connect to host 4.3.2.1 port 22: Connection timed out +parallel: Warning: Could not figure out number of cpus on 4.3.2.1 (). Using 1. +echo 1 +1 +echo 2 +2 ### Test race condition on 8 CPU (my laptop) 1 2 diff --git a/testsuite/wanted-results/parallel-local129 b/testsuite/wanted-results/parallel-local129 index 7aedab1c..e69de29b 100644 --- a/testsuite/wanted-results/parallel-local129 +++ b/testsuite/wanted-results/parallel-local129 @@ -1,71 +0,0 @@ -### Test of quoting of > bug ->/dev/null -### Test of quoting of > bug if line continuation -> > > -### Test of --trim illegal -parallel: Error: --trim must be one of: r l rl lr. -### Test of eof string on ::: -foo -### Test of ignore-empty string on ::: -foo -ole -bar -### Test of trailing space continuation -foo ole bar -quux -foo ole bar -quux -foo ole bar -quux -### Test of trailing space continuation with -E eof -foo ole -foo ole -foo ole -### Test of --colsep -a b c -a b c {4} -a b c d -a b c -d e f -a b c -d e f -a b c -a b c {4} -a b c d -### Test of tab as colsep -abc def -ghi jkl -abc def -ghi jkl -### Test of multiple -a plus colsep -abc def -mno jkl -### Test of multiple -a no colsep -abc def ghi -jkl mno pqr -### Test of quoting after colsplit ->/tmp/null >/dev/null -### Test of --colsep as regexp -a b c {4} -a b c d -a b c {4} -a b c d -a b c {4} -a b c d -a_b_c_{4} -a_b_c_d -### Test of -C -a_b_c_{4} -a_b_c_d -### Test of --trim n -a_b_\ c\ _{4} -a_\ b\ _c_d -a_b_c_{4} -a_b_c_d -### Test of bug: If input is empty string -echo {2} -{2} -echo ac -ac -echo ac -ac diff --git a/testsuite/wanted-results/parallel-local20 b/testsuite/wanted-results/parallel-local20 index c3a48fd9..469f298b 100644 --- a/testsuite/wanted-results/parallel-local20 +++ b/testsuite/wanted-results/parallel-local20 @@ -10,8 +10,3 @@ C A 1 B 2 C 3 -### bug #36595: silent loss of input with --pipe and --sshlogin - 1 10000 48894 -bug #36707: --controlmaster eats jobs -OK1 -OK2 diff --git a/testsuite/wanted-results/parallel-local21 b/testsuite/wanted-results/parallel-local21 index 0e8e4d63..a798a740 100644 --- a/testsuite/wanted-results/parallel-local21 +++ b/testsuite/wanted-results/parallel-local21 @@ -1,13 +1,13 @@ ### Test basic --shebang-wrap Shebang from perl with args arg1 Shebang from perl with args arg2 -### Same as +### Test basic --shebang-wrap Same as Shebang from perl with args arg1 Shebang from perl with args arg2 -### stdin +### Test basic --shebang-wrap stdin Shebang from perl with args arg1 Shebang from perl with args arg2 -### Same as +### Test basic --shebang-wrap Same as Shebang from perl with args arg1 Shebang from perl with args arg2 ### Test --shebang-wrap with parser options @@ -19,7 +19,7 @@ Shebang from perl with args 4 Shebang from perl with args 5 -### Same as +### Test --shebang-wrap with parser options Same as Shebang from perl with args 1 Shebang from perl with args @@ -28,7 +28,7 @@ Shebang from perl with args 4 Shebang from perl with args 5 -### stdin +### Test --shebang-wrap with parser options stdin Shebang from perl with args 1 Shebang from perl with args @@ -37,7 +37,7 @@ Shebang from perl with args 4 Shebang from perl with args 5 -### Same as +### Test --shebang-wrap with parser options Same as Shebang from perl with args 1 Shebang from perl with args @@ -65,7 +65,7 @@ Shebang from perl with args 4 Shebang from perl with args 5 -### Same as +### Test --shebang-wrap --pipe with parser options Same as Shebang from perl with args 1 Shebang from perl with args @@ -74,7 +74,7 @@ Shebang from perl with args 4 Shebang from perl with args 5 -### stdin +### Test --shebang-wrap --pipe with parser options stdin Shebang from perl with args 1 Shebang from perl with args @@ -83,7 +83,7 @@ Shebang from perl with args 4 Shebang from perl with args 5 -### Same as +### Test --shebang-wrap --pipe with parser options Same as Shebang from perl with args 1 Shebang from perl with args diff --git a/testsuite/wanted-results/parallel-local4 b/testsuite/wanted-results/parallel-local4 index 6c02a348..d0c0905c 100644 --- a/testsuite/wanted-results/parallel-local4 +++ b/testsuite/wanted-results/parallel-local4 @@ -1,38 +1,9 @@ -echo '### Test if we can deal with output > 4 GB' -### Test if we can deal with output > 4 GB -echo | niceload --io 9 -H parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum -46a318993dfc8e2afd71ff2bc6f605f1 - -echo '### Test {#}' -### Test {#} -seq 1 10 | parallel -k echo {#} -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -echo '### Test --seqreplace and line too long' -### Test --seqreplace and line too long -seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc - 1 1 130001 - 1 1 130001 - 1 1 130001 - 1 1 130001 - 1 1 130001 - 1 1 130001 - 1 1 130001 - 1 1 130001 -parallel: Command line too long (260009 >= 131071) at number 9: 10... -echo '### Test of --retries on unreachable host' -### Test of --retries on unreachable host -seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo -ssh: connect to host 4.3.2.1 port 22: Connection timed out -parallel: Warning: Could not figure out number of cpus on 4.3.2.1 (). Using 1. -echo 1 -1 -echo 2 -2 +echo '### bug #36595: silent loss of input with --pipe and --sshlogin' +### bug #36595: silent loss of input with --pipe and --sshlogin + seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc + 1 10000 48894 +echo 'bug #36707: --controlmaster eats jobs' +bug #36707: --controlmaster eats jobs + seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{} +OK1 +OK2 diff --git a/testsuite/wanted-results/parallel-local7 b/testsuite/wanted-results/parallel-local7 index 019f6aad..e69de29b 100644 --- a/testsuite/wanted-results/parallel-local7 +++ b/testsuite/wanted-results/parallel-local7 @@ -1,111 +0,0 @@ -### Test :::: mixed with ::: -### Test :::: < ::: ::: -6 4 1 -6 4 2 -6 4 3 -6 5 1 -6 5 2 -6 5 3 -7 4 1 -7 4 2 -7 4 3 -7 5 1 -7 5 2 -7 5 3 -### Test :::: < < :::: < -6 4 1 -6 4 2 -6 4 3 -6 5 1 -6 5 2 -6 5 3 -7 4 1 -7 4 2 -7 4 3 -7 5 1 -7 5 2 -7 5 3 -### Test -a :::: < :::: < -6 4 1 -6 4 2 -6 4 3 -6 5 1 -6 5 2 -6 5 3 -7 4 1 -7 4 2 -7 4 3 -7 5 1 -7 5 2 -7 5 3 -### Test -a -a ::: -6 4 1 -6 4 2 -6 4 3 -6 5 1 -6 5 2 -6 5 3 -7 4 1 -7 4 2 -7 4 3 -7 5 1 -7 5 2 -7 5 3 -### Test -a - -a ::: -6 4 1 -6 4 2 -6 4 3 -6 5 1 -6 5 2 -6 5 3 -7 4 1 -7 4 2 -7 4 3 -7 5 1 -7 5 2 -7 5 3 -### Test :::: < - ::: -6 4 1 -6 4 2 -6 4 3 -6 5 1 -6 5 2 -6 5 3 -7 4 1 -7 4 2 -7 4 3 -7 5 1 -7 5 2 -7 5 3 -### Test -E -1 2 3 -1 2 4 -1 3 3 -1 3 4 -1 4 3 -1 4 4 -2 2 3 -2 2 4 -2 3 3 -2 3 4 -2 4 3 -2 4 4 -3 2 3 -3 2 4 -3 3 3 -3 3 4 -3 4 3 -3 4 4 -4 2 3 -4 2 4 -4 3 3 -4 3 4 -4 4 3 -4 4 4 -### Test -E one empty -1 2 -2 2 -### Test -E 2 empty -1 -2 -### Test -E all empty diff --git a/testsuite/wanted-results/parallel-local9 b/testsuite/wanted-results/parallel-local9 index 78cbdaca..fa1b5417 100644 --- a/testsuite/wanted-results/parallel-local9 +++ b/testsuite/wanted-results/parallel-local9 @@ -50,12 +50,17 @@ a b stdout-a stdout-b a b ### Test bug https://savannah.gnu.org/bugs/index.php?33352 +# md5sum - directly 350eda13a37912d755c9d733d149bdaf - +# parallel | md5sum 350eda13a37912d755c9d733d149bdaf - +# --recend '' 350eda13a37912d755c9d733d149bdaf - +# --recend '' --files 350eda13a37912d755c9d733d149bdaf - +# --recend '' --files --tmpdir 350eda13a37912d755c9d733d149bdaf - -350eda13a37912d755c9d733d149bdaf - +# --recend '' --files --halt-on-error 350eda13a37912d755c9d733d149bdaf - ### Test of -j filename - non-existent file Usage: