testsuite: parallelized a few tests.

This commit is contained in:
Ole Tange 2012-12-28 11:46:35 +01:00
parent d0ae4330ea
commit 3dc78c8715
13 changed files with 267 additions and 251 deletions

View file

@ -178,26 +178,8 @@ available for download at: http://ftp.gnu.org/gnu/parallel/
New in this release: New in this release:
* --shebang-wrap makes is possible to parallelize scripts by putting * Mahout: Parallelising the creation of DecisionTrees
parallel in the shebang line (the first #! line in scripts). http://www.markhneedham.com/blog/2012/12/27/mahout-parallelising-the-creation-of-decisiontrees/
* --delay puts in a delay after starting each job. Useful to avoid
raceconditions and thundering herd problems.
* --results now uses / as separator instead of TAB and thus creates
subdirs. Thanks to Drew Frank.
* parallel: OpenBSD CPU detection. Thanks to Michał Markowski.
* niceload --sensor allows for negative numbers to signify a lower
number means the limit is lower.
* niceload --prg suspend a named program that is already running.
* niceload multiple --pid suspend process ids that are already running.
* Convertir des images avec find et imagemagick
http://roger.b.over-blog.com/article-convertir-des-images-avec-find-et-imagemagick-113416637.html
* Bug fixes and man page updates. * Bug fixes and man page updates.

View file

@ -9,7 +9,7 @@ testdb: ../src/parallel tests-to-run/*sql* wanted-results/*sql* prereqdb
local: testlocal local: testlocal
true true
testlocal: ../src/parallel tests-to-run/*local* wanted-results/*local* prereqlocal testlocal: ../src/parallel tests-to-run/*local* wanted-results/*local* prereqlocal installparallel
time sh Start.sh local time sh Start.sh local
date date

View file

@ -6,14 +6,14 @@ export LANG=C
SHFILE=/tmp/unittest-parallel.sh SHFILE=/tmp/unittest-parallel.sh
# Run a failing test once # Run a failing test once
# ls -t tests-to-run/*${1}*.sh \ ls -t tests-to-run/*${1}*.sh \
# | perl -pe 's:(.*/(.*)).sh:bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2 || touch $1.sh:' \ | perl -pe 's:(.*/(.*)).sh:bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2 || touch $1.sh:' \
# >$SHFILE >$SHFILE
# Try a failing test thrice # Try a failing test thrice
ls -t tests-to-run/*${1}*.sh \ # ls -t tests-to-run/*${1}*.sh \
| perl -pe 's:(.*/(.*)).sh:bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2 >/dev/null || bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2 >/dev/null || bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2: ' \ # | perl -pe 's:(.*/(.*)).sh:bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2 >/dev/null || bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2 >/dev/null || bash $1.sh > actual-results/$2; diff -Naur wanted-results/$2 actual-results/$2: ' \
>$SHFILE # >$SHFILE
mkdir -p actual-results mkdir -p actual-results

View file

@ -78,6 +78,10 @@ echo "### Test --results --header : named - a/b swapped";
echo "### Test --results --header : piped"; echo "### Test --results --header : piped";
mkdir -p /tmp/parallel_results_test; mkdir -p /tmp/parallel_results_test;
(echo Col; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testF true; (echo Col; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testF true;
ls /tmp/parallel_results_test/testF/*/*/*; rm -rf /tmp/parallel_results_test/testF* find /tmp/parallel_results_test/testF/*/*/*; rm -rf /tmp/parallel_results_test/testF*
echo "### Test --results --header : piped - non-existing column header";
mkdir -p /tmp/parallel_results_test;
(printf "Col1\t\n"; printf "v1\tv2\tv3\n"; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testG true; find /tmp/parallel_results_test/testG/; rm -rf /tmp/parallel_results_test/testG*
EOF EOF

View file

@ -1,20 +1,12 @@
#!/bin/bash #!/bin/bash
echo '### Test --tollef' echo "### test global config - must run alone so the global config does not confuse others"
parallel -k --tollef echo -- 1 2 3 ::: a b c echo /etc/parallel/config | sudo parallel "mkdir -p /etc/parallel; echo --tollef > "
parallel -k echo -- 1 2 3 ::: a b c
echo '### Test --tollef --gnu' parallel -k --gnu echo ::: 1 2 3 -- a b c
parallel -k --tollef --gnu echo ::: 1 2 3 -- a b c echo --gnu > ~/.parallel/config
parallel -k echo ::: 1 2 3 -- a b c
echo '### Test --gnu' parallel -k --gnu echo ::: 1 2 3 -- a b c
parallel -k --gnu echo ::: 1 2 3 -- a b c sudo rm /etc/parallel/config
rm ~/.parallel/config
echo "### test global config" echo "<<< End test global config - must run alone so the global config does not confuse others"
echo /etc/parallel/config | sudo parallel "mkdir -p /etc/parallel; echo --tollef > "
parallel -k echo -- 1 2 3 ::: a b c
parallel -k --gnu echo ::: 1 2 3 -- a b c
echo --gnu > ~/.parallel/config
parallel -k echo ::: 1 2 3 -- a b c
parallel -k --gnu echo ::: 1 2 3 -- a b c
sudo rm /etc/parallel/config
rm ~/.parallel/config

View file

@ -1,28 +1,3 @@
#!/bin/bash #!/bin/bash
echo '### Test https://savannah.gnu.org/bugs/index.php?31716'
seq 1 5 | stdout parallel -k -l echo {} OK
seq 1 5 | stdout parallel -k -l 1 echo {} OK
echo '### -k -l -0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -l -0 echo {} OK
echo '### -k -0 -l'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -l echo {} OK
echo '### -k -0 -l 1'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -l 1 echo {} OK
echo '### -k -0 -l 0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -l 0 echo {} OK
echo '### -k -0 -L -0 - -0 is argument for -L'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -L -0 echo {} OK
echo '### -k -0 -L 0 - -L always takes arg'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -L 0 echo {} OK
echo '### -k -0 -L 0 - -L always takes arg'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -L 0 -0 echo {} OK
echo '### -k -e -0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -e -0 echo {} OK
echo '### -k -0 -e eof'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -e eof echo {} OK
echo '### -k -i -0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -i -0 echo {} OK
echo '### -k -0 -i repl'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -i repl echo repl OK

View file

@ -1,23 +1,2 @@
#!/bin/bash #!/bin/bash
echo '### Test {//}'
parallel -k echo {//} {} ::: a a/b a/b/c
parallel -k echo {//} {} ::: /a /a/b /a/b/c
parallel -k echo {//} {} ::: ./a ./a/b ./a/b/c
parallel -k echo {//} {} ::: a.jpg a/b.jpg a/b/c.jpg
parallel -k echo {//} {} ::: /a.jpg /a/b.jpg /a/b/c.jpg
parallel -k echo {//} {} ::: ./a.jpg ./a/b.jpg ./a/b/c.jpg
echo '### Test {1//}'
parallel -k echo {1//} {} ::: a a/b a/b/c
parallel -k echo {1//} {} ::: /a /a/b /a/b/c
parallel -k echo {1//} {} ::: ./a ./a/b ./a/b/c
parallel -k echo {1//} {} ::: a.jpg a/b.jpg a/b/c.jpg
parallel -k echo {1//} {} ::: /a.jpg /a/b.jpg /a/b/c.jpg
parallel -k echo {1//} {} ::: ./a.jpg ./a/b.jpg ./a/b/c.jpg
echo '### Test --dnr'
parallel --dnr II -k echo II {} ::: a a/b a/b/c
echo '### Test --dirnamereplace'
parallel --dirnamereplace II -k echo II {} ::: a a/b a/b/c

View file

@ -25,10 +25,10 @@ echo '### Test -k 1';
sleep 1 sleep 1
echo "### Computing length of command line" echo "### Computing length of command line"
seq 1 2 | parallel -k -N2 echo {1} {2} seq 1 2 | parallel -k -N2 echo {1} {2}
parallel --xapply -k -a <(seq 11 12) -a <(seq 1 3) echo parallel --xapply -k -a <(seq 11 12) -a <(seq 1 3) echo
parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d' parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
parallel -k -C %+ echo {4} ::: 'a% c %%b' parallel -k -C %+ echo {4} ::: 'a% c %%b'
echo "### test08"; echo "### test08";
cd input-files/test08; cd input-files/test08;
@ -39,9 +39,77 @@ seq 1 10 | parallel -j 2 echo | sort
seq 1 10 | parallel -j 3 echo | sort seq 1 10 | parallel -j 3 echo | sort
echo "bug #37694: Empty string argument skipped when using --quote" echo "bug #37694: Empty string argument skipped when using --quote"
parallel -q --nonall perl -le 'print scalar @ARGV' 'a' 'b' '' parallel -q --nonall perl -le 'print scalar @ARGV' 'a' 'b' ''
echo "bug #37956: --colsep does not default to '\t' as specified in the man page." echo "bug #37956: --colsep does not default to '\t' as specified in the man page."
printf "A\tB\n1\tone" | parallel --header : echo {B} {A} printf "A\tB\n1\tone" | parallel --header : echo {B} {A}
echo '### Test --tollef'
parallel -k --tollef echo -- 1 2 3 ::: a b c
echo '### Test --tollef --gnu'
parallel -k --tollef --gnu echo ::: 1 2 3 -- a b c
echo '### Test --gnu'
parallel -k --gnu echo ::: 1 2 3 -- a b c
echo '### Test {//}'
parallel -k echo {//} {} ::: a a/b a/b/c
parallel -k echo {//} {} ::: /a /a/b /a/b/c
parallel -k echo {//} {} ::: ./a ./a/b ./a/b/c
parallel -k echo {//} {} ::: a.jpg a/b.jpg a/b/c.jpg
parallel -k echo {//} {} ::: /a.jpg /a/b.jpg /a/b/c.jpg
parallel -k echo {//} {} ::: ./a.jpg ./a/b.jpg ./a/b/c.jpg
echo '### Test {1//}'
parallel -k echo {1//} {} ::: a a/b a/b/c
parallel -k echo {1//} {} ::: /a /a/b /a/b/c
parallel -k echo {1//} {} ::: ./a ./a/b ./a/b/c
parallel -k echo {1//} {} ::: a.jpg a/b.jpg a/b/c.jpg
parallel -k echo {1//} {} ::: /a.jpg /a/b.jpg /a/b/c.jpg
parallel -k echo {1//} {} ::: ./a.jpg ./a/b.jpg ./a/b/c.jpg
echo '### Test --dnr'
parallel --dnr II -k echo II {} ::: a a/b a/b/c
echo '### Test --dirnamereplace'
parallel --dirnamereplace II -k echo II {} ::: a a/b a/b/c
echo '### Test https://savannah.gnu.org/bugs/index.php?31716'
seq 1 5 | stdout parallel -k -l echo {} OK
seq 1 5 | stdout parallel -k -l 1 echo {} OK
echo '### -k -l -0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -l -0 echo {} OK
echo '### -k -0 -l'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -l echo {} OK
echo '### -k -0 -l 1'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -l 1 echo {} OK
echo '### -k -0 -l 0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -l 0 echo {} OK
echo '### -k -0 -L -0 - -0 is argument for -L'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -L -0 echo {} OK
echo '### -k -0 -L 0 - -L always takes arg'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -L 0 echo {} OK
echo '### -k -0 -L 0 - -L always takes arg'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -L 0 -0 echo {} OK
echo '### -k -e -0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -e -0 echo {} OK
echo '### -k -0 -e eof'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -e eof echo {} OK
echo '### -k -i -0'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -i -0 echo {} OK
echo '### -k -0 -i repl'
printf '1\0002\0003\0004\0005\000' | stdout parallel -k -0 -i repl echo repl OK
EOF EOF

View file

@ -118,8 +118,6 @@ FOO
200 200 1000 200 200 1000
FOO FOO
172 172 860 172 172 860
FOO
0 0 0
FOO FOO
bug #34958: --pipe with record size measured in lines bug #34958: --pipe with record size measured in lines
1 1
@ -201,5 +199,22 @@ II IIII
/tmp/parallel_results_test/testC/a/II/b/IIII/stderr /tmp/parallel_results_test/testC/a/II/b/IIII/stderr
/tmp/parallel_results_test/testC/a/II/b/IIII/stdout /tmp/parallel_results_test/testC/a/II/b/IIII/stdout
### Test --results --header : piped ### Test --results --header : piped
/tmp/parallel_results_test/testF/Col/backslash\\tab\tslash\_null\0eof/stderr /tmp/parallel_results_test/testF/Col/backslash\\tab/2
/tmp/parallel_results_test/testF/Col/backslash\\tab\tslash\_null\0eof/stdout /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof
/tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/stdout
/tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/stderr
### Test --results --header : piped - non-existing column header
/tmp/parallel_results_test/testG/
/tmp/parallel_results_test/testG/Col1
/tmp/parallel_results_test/testG/Col1/v1
/tmp/parallel_results_test/testG/Col1/v1/2
/tmp/parallel_results_test/testG/Col1/v1/2/v2
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/stdout
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/stderr
/tmp/parallel_results_test/testG/Col1/backslash\\tab
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/stdout
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/stderr

View file

@ -1,28 +1,4 @@
### Test --tollef ### test global config - must run alone so the global config does not confuse others
1
2
3
:::
a
b
c
### Test --tollef --gnu
1
2
3
--
a
b
c
### Test --gnu
1
2
3
--
a
b
c
### test global config
1 1
2 2
3 3
@ -51,3 +27,4 @@ c
a a
b b
c c
<<< End test global config - must run alone so the global config does not confuse others

View file

@ -1,77 +0,0 @@
### Test https://savannah.gnu.org/bugs/index.php?31716
1 OK
2 OK
3 OK
4 OK
5 OK
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -l -0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -l
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -l 1
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -l 0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -L -0 - -0 is argument for -L
OK
OK
OK
OK
OK
### -k -0 -L 0 - -L always takes arg
OK
OK
OK
OK
OK
### -k -0 -L 0 - -L always takes arg
OK
OK
OK
OK
OK
### -k -e -0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -e eof
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -i -0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -i repl
1 OK
2 OK
3 OK
4 OK
5 OK

View file

@ -1,46 +0,0 @@
### Test {//}
. a
a a/b
a/b a/b/c
/ /a
/a /a/b
/a/b /a/b/c
. ./a
./a ./a/b
./a/b ./a/b/c
. a.jpg
a a/b.jpg
a/b a/b/c.jpg
/ /a.jpg
/a /a/b.jpg
/a/b /a/b/c.jpg
. ./a.jpg
./a ./a/b.jpg
./a/b ./a/b/c.jpg
### Test {1//}
. a
a a/b
a/b a/b/c
/ /a
/a /a/b
/a/b /a/b/c
. ./a
./a ./a/b
./a/b ./a/b/c
. a.jpg
a a/b.jpg
a/b a/b/c.jpg
/ /a.jpg
/a /a/b.jpg
/a/b /a/b/c.jpg
. ./a.jpg
./a ./a/b.jpg
./a/b ./a/b/c.jpg
### Test --dnr
. a
a a/b
a/b a/b/c
### Test --dirnamereplace
. a
a a/b
a/b a/b/c

View file

@ -50,3 +50,150 @@ bug #37694: Empty string argument skipped when using --quote
3 3
bug #37956: --colsep does not default to '\t' as specified in the man page. bug #37956: --colsep does not default to '\t' as specified in the man page.
one 1 one 1
### Test --tollef
1
2
3
:::
a
b
c
### Test --tollef --gnu
1
2
3
--
a
b
c
### Test --gnu
1
2
3
--
a
b
c
### Test {//}
. a
a a/b
a/b a/b/c
/ /a
/a /a/b
/a/b /a/b/c
. ./a
./a ./a/b
./a/b ./a/b/c
. a.jpg
a a/b.jpg
a/b a/b/c.jpg
/ /a.jpg
/a /a/b.jpg
/a/b /a/b/c.jpg
. ./a.jpg
./a ./a/b.jpg
./a/b ./a/b/c.jpg
### Test {1//}
. a
a a/b
a/b a/b/c
/ /a
/a /a/b
/a/b /a/b/c
. ./a
./a ./a/b
./a/b ./a/b/c
. a.jpg
a a/b.jpg
a/b a/b/c.jpg
/ /a.jpg
/a /a/b.jpg
/a/b /a/b/c.jpg
. ./a.jpg
./a ./a/b.jpg
./a/b ./a/b/c.jpg
### Test --dnr
. a
a a/b
a/b a/b/c
### Test --dirnamereplace
. a
a a/b
a/b a/b/c
### Test https://savannah.gnu.org/bugs/index.php?31716
1 OK
2 OK
3 OK
4 OK
5 OK
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -l -0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -l
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -l 1
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -l 0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -L -0 - -0 is argument for -L
OK
OK
OK
OK
OK
### -k -0 -L 0 - -L always takes arg
OK
OK
OK
OK
OK
### -k -0 -L 0 - -L always takes arg
OK
OK
OK
OK
OK
### -k -e -0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -e eof
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -i -0
1 OK
2 OK
3 OK
4 OK
5 OK
### -k -0 -i repl
1 OK
2 OK
3 OK
4 OK
5 OK