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:
* --shebang-wrap makes is possible to parallelize scripts by putting
parallel in the shebang line (the first #! line in scripts).
* --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
* Mahout: Parallelising the creation of DecisionTrees
http://www.markhneedham.com/blog/2012/12/27/mahout-parallelising-the-creation-of-decisiontrees/
* 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
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
date

View file

@ -6,14 +6,14 @@ export LANG=C
SHFILE=/tmp/unittest-parallel.sh
# Run a failing test once
# 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:' \
# >$SHFILE
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:' \
>$SHFILE
# Try a failing test thrice
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: ' \
>$SHFILE
# 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: ' \
# >$SHFILE
mkdir -p actual-results

View file

@ -78,6 +78,10 @@ echo "### Test --results --header : named - a/b swapped";
echo "### Test --results --header : piped";
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;
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

View file

@ -1,15 +1,6 @@
#!/bin/bash
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 global config"
echo "### 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
@ -18,3 +9,4 @@ 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
echo "<<< End test global config - must run alone so the global config does not confuse others"

View file

@ -1,28 +1,3 @@
#!/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
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

@ -44,4 +44,72 @@ 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."
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

View file

@ -118,8 +118,6 @@ FOO
200 200 1000
FOO
172 172 860
FOO
0 0 0
FOO
bug #34958: --pipe with record size measured in lines
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/stdout
### Test --results --header : piped
/tmp/parallel_results_test/testF/Col/backslash\\tab\tslash\_null\0eof/stderr
/tmp/parallel_results_test/testF/Col/backslash\\tab\tslash\_null\0eof/stdout
/tmp/parallel_results_test/testF/Col/backslash\\tab/2
/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
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
### test global config - must run alone so the global config does not confuse others
1
2
3
@ -51,3 +27,4 @@ c
a
b
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
bug #37956: --colsep does not default to '\t' as specified in the man page.
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