diff --git a/src/optional/python/README b/src/optional/python/README index 7dbc3632..3eadb681 100644 --- a/src/optional/python/README +++ b/src/optional/python/README @@ -7,13 +7,14 @@ DataFrame object. See `help(gnuparallel.load)` for details. Installation: # python setup.py install + # aptitude install python-pandas Sample usage: 1. Generate some results files by running parallel from the command line: - # mkdir outdir - # parallel --results outdir/ echo {arg1} {arg2} ::: arg1 1 2 ::: arg2 three four + # mkdir out + # parallel --header : --results out/pfx echo {arg1} {arg2} ::: arg1 1 2 ::: arg2 three four 2. Load the results using the gnuparallel Python package: @@ -23,18 +24,15 @@ Sample usage: Type "help", "copyright", "credits" or "license" for more information. >>> import gnuparallel >>> help(gnuparallel.load) - >>> myresults = gnuparallel.load('outdir') - >>> myresults - 1 2 _prefix _stream resfile - 0 2 four NaN stdout outdir/stdout\t1\t2\t2\tfour - 1 2 three NaN stdout outdir/stdout\t1\t2\t2\tthree - 2 2 arg2 NaN stdout outdir/stdout\t1\t2\t2\targ2 - 3 1 four NaN stdout outdir/stdout\t1\t1\t2\tfour - 4 1 three NaN stdout outdir/stdout\t1\t1\t2\tthree - 5 1 arg2 NaN stdout outdir/stdout\t1\t1\t2\targ2 - 6 arg1 four NaN stdout outdir/stdout\t1\targ1\t2\tfour - 7 arg1 three NaN stdout outdir/stdout\t1\targ1\t2\tthree - 8 arg1 arg2 NaN stdout outdir/stdout\t1\targ1\t2\targ2 + >>> my_df = gnuparallel.load('out') + >>> my_df + _prefix _stream arg1 arg2 resfile + 0 pfx stdout 1 three out/pfxstdout arg1 1 arg2 three + 1 pfx stdout 1 four out/pfxstdout arg1 1 arg2 four + 2 pfx stdout 2 three out/pfxstdout arg1 2 arg2 three + 3 pfx stdout 2 four out/pfxstdout arg1 2 arg2 four + >>> my_df.tail(1) + 3 pfx stdout 2 four out/pfxstdout arg1 2 arg2 four See documentation for the pandas project (http://pandas.pydata.org/) for instructions on how to access and manipulate the loaded results. diff --git a/src/parallel b/src/parallel index 2997f0f2..d2965949 100755 --- a/src/parallel +++ b/src/parallel @@ -606,7 +606,7 @@ sub get_options_from_array { sub parse_options { # Returns: N/A # Defaults: - $Global::version = 20121015; + $Global::version = 20121021; $Global::progname = 'parallel'; $Global::infinity = 2**31; $Global::debug = 0; diff --git a/testsuite/tests-to-run/parallel-local2.sh b/testsuite/tests-to-run/parallel-local2.sh index f8ef0882..225b3d74 100644 --- a/testsuite/tests-to-run/parallel-local2.sh +++ b/testsuite/tests-to-run/parallel-local2.sh @@ -70,8 +70,8 @@ stdout parallel -S localhost --env TWOSPACES --env THREESPACES echo 'a"$TWOSPACE stdout parallel -S localhost --env TWOSPACES,THREESPACES echo 'a"$TWOSPACES"b' 'a"$THREESPACES"b' ::: 2a echo '### Test --env all chars except \n - single and double - no output is good' -perl -e 'for(1..9,9,11..255) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo,1/csh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11 +perl -e 'for(1..9,9,11..159,159,161..255) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo,1/csh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11 echo '### Test --env all chars except \n - single and double --onall - no output is good' -perl -e 'for(1..9,9,11..255) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo,1/csh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11 +perl -e 'for(1..9,9,11..159,159,161..255) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo,1/csh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11 diff --git a/testsuite/tests-to-run/parallel-local20.sh b/testsuite/tests-to-run/parallel-local20.sh index 335f4cc9..dadc5c30 100644 --- a/testsuite/tests-to-run/parallel-local20.sh +++ b/testsuite/tests-to-run/parallel-local20.sh @@ -35,4 +35,4 @@ 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 --controlmaster --sshlogin localhost echo OK{} +seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{} diff --git a/testsuite/tests-to-run/parallel-virtualbox1.sh b/testsuite/tests-to-run/parallel-virtualbox1.sh new file mode 100644 index 00000000..11dd35b6 --- /dev/null +++ b/testsuite/tests-to-run/parallel-virtualbox1.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "### These tests requires VirtualBox running with the following images" +echo "tange@redhat9" +echo "tange@centos3" +echo "tange@centos5" + +echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error" +cp `which parallel` /tmp/parallel +stdout parallel --argsep == --basefile /tmp/parallel --tag --nonall -S redhat9.tange.dk,centos3.tange.dk,centos5.tange.dk /tmp/parallel echo ::: OK_if_no_perl_warnings | sort diff --git a/testsuite/tests-to-run/sql01.sh b/testsuite/tests-to-run/sql01.sh index feadf198..bc7c4318 100755 --- a/testsuite/tests-to-run/sql01.sh +++ b/testsuite/tests-to-run/sql01.sh @@ -1,15 +1,19 @@ #!/bin/bash +MYSQL_ADMIN_DBURL=mysql://tange:tange@ + # Setup -sql mysql://root@ "drop user 'sqlunittest'@'localhost'" -sql mysql://root@ DROP DATABASE sqlunittest; -sql mysql://root@ CREATE DATABASE sqlunittest; -sql mysql://root@ "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" -sql mysql://root@ "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" +sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'" +sql $MYSQL_ADMIN_DBURL DROP DATABASE sqlunittest; +sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest; +sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" +sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" + +MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@ echo '### Test of #! -Y with file as input' cat >/tmp/shebang </tmp/shebang </tmp/unittest.sql <> ~/.sql/aliases perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases sql :sqlunittest "SELECT 'Yes it does' as 'Test if .sql/aliases works';" @@ -71,7 +76,7 @@ sql --passthrough -H :sqlunittest 'select * from unittest' echo echo "### Test --html"; -sql --html mysql:///tange 'select * from unittest' +sql --html $MYSQL_TEST_DBURL/sqlunittest 'select * from unittest' echo echo "### Test --show-processlist|proclist|listproc"; diff --git a/testsuite/tests-to-run/sql03.sh b/testsuite/tests-to-run/sql03.sh index a14fb6ac..85d4fc8a 100644 --- a/testsuite/tests-to-run/sql03.sh +++ b/testsuite/tests-to-run/sql03.sh @@ -1,17 +1,21 @@ #!/bin/bash +MYSQL_ADMIN_DBURL=mysql://tange:tange@ + # Setup -sql mysql://root@ "drop user 'sqlunittest'@'localhost'" -sql mysql://root@ DROP DATABASE sqlunittest; -sql mysql://root@ CREATE DATABASE sqlunittest; -sql mysql://root@ "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" -sql mysql://root@ "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" +sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'" +sql $MYSQL_ADMIN_DBURL DROP DATABASE sqlunittest; +sql $MYSQL_ADMIN_DBURL CREATE DATABASE sqlunittest; +sql $MYSQL_ADMIN_DBURL "CREATE USER 'sqlunittest'@'localhost' IDENTIFIED BY 'CB5A1FFFA5A';" +sql $MYSQL_ADMIN_DBURL "GRANT ALL PRIVILEGES ON sqlunittest.* TO 'sqlunittest'@'localhost';" + +MYSQL_TEST_DBURL=mysql://sqlunittest:CB5A1FFFA5A@ echo '### Test reading sql from url command line' -echo | sql "mysql:///tange?SELECT 'Yes it works' as 'Test reading SQL from command line';" +echo | sql "$MYSQL_TEST_DBURL/?SELECT 'Yes it works' as 'Test reading SQL from command line';" echo '### Test reading sql from url command line %-quoting' -echo | sql "mysql:///tange?SELECT 'Yes it%20works' as 'Test%20%-quoting%20SQL from command line';" +echo | sql "$MYSQL_TEST_DBURL/?SELECT 'Yes it%20works' as 'Test%20%-quoting%20SQL from command line';" echo "### Test .sql/aliases with url on commandline" echo :sqlunittest mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest >> ~/.sql/aliases diff --git a/testsuite/tests-to-run/test35.sh b/testsuite/tests-to-run/test35.sh index 4ffa9b89..214bf573 100755 --- a/testsuite/tests-to-run/test35.sh +++ b/testsuite/tests-to-run/test35.sh @@ -11,35 +11,35 @@ echo '### Test --wd newtempdir/newdir/tmp/ with space dirs' ssh $SERVER2 rm -rf newtempdir stdout parallel -k --wd newtempdir/newdir/tmp/ --basefile 1-col.txt --trc {}.6 -S .. -v echo ">"{}.6 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg' # A few rmdir errors are OK as we have multiple files in the same dirs -find . -name '*.6' +find . -name '*.6' | sort echo '### Test --wd /tmp/newtempdir/newdir/tmp/ with space dirs' ssh $SERVER2 rm -rf /tmp/newtempdir stdout parallel -k --wd /tmp/newtempdir/newdir/tmp/ --basefile 1-col.txt --trc {}.7 -S .. -v echo ">"{}.7 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg' # A few rmdir errors are OK as we have multiple files in the same dirs -find . -name '*.7' +find . -name '*.7' | sort echo '### Test --workdir ...' parallel -k --workdir ... --basefile 1-col.txt --trc {}.1 -S .. echo ">"{}.1 ::: 2-col.txt -find . -name '*.1' +find . -name '*.1' | sort echo '### Test --wd ...' parallel -k --wd ... --basefile 1-col.txt --trc {}.2 -S .. -v echo ">"{}.2 ::: 2-col.txt -find . -name '*.2' +find . -name '*.2' | sort echo '### Test --wd ... with space dirs' stdout parallel -k --wd ... --basefile 1-col.txt --trc {}.3 -S .. -v echo ">"{}.3 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg' # A few rmdir errors are OK as we have multiple files in the same dirs -find . -name '*.3' +find . -name '*.3' | sort echo '### Test --wd tmpdir' parallel -k --wd tmpdir --basefile 1-col.txt --trc {}.4 -S .. -v echo ">"{}.4 ::: 2-col.txt -find . -name '*.4' +find . -name '*.4' | sort echo '### Test --wd /tmp/ with space dirs' stdout parallel -k --wd /tmp/ --basefile 1-col.txt --trc {}.5 -S .. -v echo ">"{}.5 ::: './ ab/c"d/ef g' ' ab/c"d/efg' ./b/bar ./b/foo "./ ab /c' d/ ef\"g" ./2-col.txt './a b/cd / ef/efg' # A few rmdir errors are OK as we have multiple files in the same dirs -find . -name '*.5' +find . -name '*.5' | sort cd .. rm -rf tmp diff --git a/testsuite/tests-to-run/test45.sh b/testsuite/tests-to-run/test45.sh index 575d8469..58895ad6 100644 --- a/testsuite/tests-to-run/test45.sh +++ b/testsuite/tests-to-run/test45.sh @@ -59,7 +59,7 @@ echo '### Test --resume --joblog followed by --resume --joblog'; rm -f /tmp/joblog2; echo '### Test --header'; - printf "a\tb\n1.2\t3/4.5" | parallel --header "\n" echo {b} {a} {b.} {b/} {b//} {b/.}; + printf "a\tb\n1.2\t3/4.5" | parallel --colsep "\t" --header "\n" echo {b} {a} {b.} {b/} {b//} {b/.}; echo '### 64-bit wierdness - this did not complete on a 64-bit machine'; seq 1 2 | parallel -j1 'seq 1 1 | parallel true' diff --git a/testsuite/wanted-results/parallel-local2 b/testsuite/wanted-results/parallel-local2 index 6e51855d..24088d8e 100644 --- a/testsuite/wanted-results/parallel-local2 +++ b/testsuite/wanted-results/parallel-local2 @@ -54,4 +54,8 @@ a 2 spaces b 1 a 2 spaces b a > My brother's 12" records < b 2 a 2 spaces b a > My brother's 12" records < b 2a ### Test --env all chars except \n - single and double - no output is good + 3 92\\ \92V2=\\ \92 + 1 92\ \92V2=\ \92 ### Test --env all chars except \n - single and double --onall - no output is good + 3 92\\ \92V2=\\ \92 + 1 92\ \92V2=\ \92 diff --git a/testsuite/wanted-results/parallel-virtualbox1 b/testsuite/wanted-results/parallel-virtualbox1 new file mode 100644 index 00000000..92a69902 --- /dev/null +++ b/testsuite/wanted-results/parallel-virtualbox1 @@ -0,0 +1,8 @@ +### These tests requires VirtualBox running with the following images +tange@redhat9 +tange@centos3 +tange@centos5 +### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error +centos3.tange.dk OK_if_no_perl_warnings +centos5.tange.dk OK_if_no_perl_warnings +redhat9.tange.dk OK_if_no_perl_warnings diff --git a/testsuite/wanted-results/sql03 b/testsuite/wanted-results/sql03 index b1e1bdae..e405d2c9 100644 --- a/testsuite/wanted-results/sql03 +++ b/testsuite/wanted-results/sql03 @@ -51,13 +51,13 @@ Error: sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command] ### Test oracle with multiple arguments on the command line -'ARG2' ------------- +'ARG +---- arg2 -'ARG3' ------------- +'ARG +---- arg3 ### Test oracle with \n arguments on the command line diff --git a/testsuite/wanted-results/test15 b/testsuite/wanted-results/test15 index 7a449f41..e3330615 100644 --- a/testsuite/wanted-results/test15 +++ b/testsuite/wanted-results/test15 @@ -655,7 +655,7 @@ args on cmdline /usr/bin/nice -n1 /bin/bash -c PAR=a\ bash\ -c\ \"echo\ \ \\\$PAR\ b\" a b ### Test --nice remote -ssh one-server 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' /usr/bin/nice\ -n1\ /bin/bash\ -c\ PAR=a\\\ bash\\\ -c\\\ \\\"echo\\\ \\\ \\\\\\\$PAR\\\ b\\\"; +ssh one-server 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' /usr/bin/nice\ -n1\ /bin/bash\ -c\ PAR=a\\\ bash\\\ -c\\\ \\\"echo\\\ \\\ \\\\\\\$PAR\\\ b\\\"; a b ### Test distribute arguments at EOF to 2 jobslots 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 diff --git a/testsuite/wanted-results/test18 b/testsuite/wanted-results/test18 index 6c35d87e..e310b759 100644 --- a/testsuite/wanted-results/test18 +++ b/testsuite/wanted-results/test18 @@ -78,7 +78,7 @@ parallel: Warning: --cleanup ignored as there are no remote --sshlogin. 9 10 ### Check forced number of CPUs being respected -alpha +hk vm1 vm1 vm1 @@ -88,16 +88,16 @@ vm1 vm1 vm1 vm1 -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha -alpha +hk +hk +hk +hk +hk +hk +hk +hk +hk +hk ### Check more than 9 simultaneous sshlogins 1 2 diff --git a/testsuite/wanted-results/test19 b/testsuite/wanted-results/test19 index f94517d8..cdede582 100644 --- a/testsuite/wanted-results/test19 +++ b/testsuite/wanted-results/test19 @@ -76,7 +76,7 @@ ls: cannot access tmp/parallel.file*: No such file or directory OK Input for ssh -l parallel parallel-server1 rsync --server -lDrRze.iLsf . . -parallel@parallel-server1 eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ 2\; setenv PARALLEL_PID 00000 || echo PARALLEL_SEQ=2\;export PARALLEL_SEQ\;PARALLEL_PID=00000\;export PARALLEL_PID` ; cat tmp/parallel.file.' +parallel@parallel-server1 eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ 2\; setenv PARALLEL_PID 00000 || echo PARALLEL_SEQ=2\;export PARALLEL_SEQ\; PARALLEL_PID=00000\;export PARALLEL_PID` ; cat tmp/parallel.file.' 'newline2 > tmp/parallel.file.' 'newline2.out;cat tmp/parallel.file.' 'newline2 > tmp/parallel.file.' @@ -88,7 +88,7 @@ parallel@parallel-server1 eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && parallel@parallel-server1 rm -f ./tmp/parallel.file.' 'newline2; rmdir 2>/dev/null ./tmp -l parallel parallel-server2 rsync --server -lDrRze.iLsf . . -parallel@parallel-server2 eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ 1\; setenv PARALLEL_PID 00000 || echo PARALLEL_SEQ=1\;export PARALLEL_SEQ\;PARALLEL_PID=00000\;export PARALLEL_PID` ; cat tmp/parallel.file.' +parallel@parallel-server2 eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ 1\; setenv PARALLEL_PID 00000 || echo PARALLEL_SEQ=1\;export PARALLEL_SEQ\; PARALLEL_PID=00000\;export PARALLEL_PID` ; cat tmp/parallel.file.' 'newline1 > tmp/parallel.file.' 'newline1.out;cat tmp/parallel.file.' 'newline1 > tmp/parallel.file.' diff --git a/testsuite/wanted-results/test21 b/testsuite/wanted-results/test21 index 89984472..d5e8b51b 100644 --- a/testsuite/wanted-results/test21 +++ b/testsuite/wanted-results/test21 @@ -1,21 +1,21 @@ ### Test $PARALLEL - single line 1 -ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; +ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; 1 -ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; +ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; 2 ### Test $PARALLEL - multi line -ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; +ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; 1 -ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; +ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; 2 ### Test ~/.parallel/config - single line -ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; +ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; 1 -ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; +ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; 2 ### Test ~/.parallel/config - multi line -ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; +ssh -l parallel parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 1; 1 -ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; +ssh parallel\@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ 2; 2 diff --git a/testsuite/wanted-results/test30 b/testsuite/wanted-results/test30 index d4d52c22..cd7dcd7d 100644 --- a/testsuite/wanted-results/test30 +++ b/testsuite/wanted-results/test30 @@ -4,14 +4,14 @@ Computers / CPU cores / Max jobs to run 1:local / 2 / 1 - + 0 ### Test of --progress 16 ### Test of --progress with no jobs Computers / CPU cores / Max jobs to run 1:local / 2 / 1 - + 0 ### bug #34422: parallel -X --eta crashes with div by zero 1 2 @@ -19,7 +19,7 @@ Computers / CPU cores / Max jobs to run 1:local / 2 / 1 Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete - local:1/0/100%/0.0s + local:1/0/100%/0.0s ETA: 0s 0left 0.00avg local:0/1/100%/1.0s ### --timeout --onall on remote machines: 2*slept 1, 2 jobs failed slept 1 slept 1 diff --git a/testsuite/wanted-results/test32 b/testsuite/wanted-results/test32 index b90da7fa..bf42e7fb 100644 --- a/testsuite/wanted-results/test32 +++ b/testsuite/wanted-results/test32 @@ -1,9 +1,9 @@ ### Test of --retries - it should run 13 jobs in total -12 +13 ### Test of --retries - it should run 25 jobs in total -24 +25 ### Test of --retries - it should run 49 jobs in total -48 +49 ### Bug with --retries 8 8 diff --git a/testsuite/wanted-results/test35 b/testsuite/wanted-results/test35 index d9b3469b..90d636b3 100644 --- a/testsuite/wanted-results/test35 +++ b/testsuite/wanted-results/test35 @@ -6,13 +6,13 @@ echo >./b/foo.6 echo >./\ ab\ /c\'\ d/\ ef\"g.6 echo >./2-col.txt.6 echo >./a\ b/cd\ /\ ef/efg.6 +./ ab /c' d/ ef"g.6 ./ ab/c"d/ef g.6 ./ ab/c"d/efg.6 -./b/foo.6 -./b/bar.6 -./ ab /c' d/ ef"g.6 -./a b/cd / ef/efg.6 ./2-col.txt.6 +./a b/cd / ef/efg.6 +./b/bar.6 +./b/foo.6 ### Test --wd /tmp/newtempdir/newdir/tmp/ with space dirs echo >./\ ab/c\"d/ef\ g.7 echo >\ ab/c\"d/efg.7 @@ -21,13 +21,13 @@ echo >./b/foo.7 echo >./\ ab\ /c\'\ d/\ ef\"g.7 echo >./2-col.txt.7 echo >./a\ b/cd\ /\ ef/efg.7 -./ ab/c"d/efg.7 +./ ab /c' d/ ef"g.7 ./ ab/c"d/ef g.7 +./ ab/c"d/efg.7 ./2-col.txt.7 +./a b/cd / ef/efg.7 ./b/bar.7 ./b/foo.7 -./ ab /c' d/ ef"g.7 -./a b/cd / ef/efg.7 ### Test --workdir ... ./2-col.txt.1 ### Test --wd ... @@ -41,13 +41,13 @@ echo >./b/foo.3 echo >./\ ab\ /c\'\ d/\ ef\"g.3 echo >./2-col.txt.3 echo >./a\ b/cd\ /\ ef/efg.3 +./ ab /c' d/ ef"g.3 ./ ab/c"d/ef g.3 ./ ab/c"d/efg.3 -./b/bar.3 -./b/foo.3 -./ ab /c' d/ ef"g.3 ./2-col.txt.3 ./a b/cd / ef/efg.3 +./b/bar.3 +./b/foo.3 ### Test --wd tmpdir echo >2-col.txt.4 ./2-col.txt.4 @@ -59,10 +59,10 @@ echo >./b/foo.5 echo >./\ ab\ /c\'\ d/\ ef\"g.5 echo >./2-col.txt.5 echo >./a\ b/cd\ /\ ef/efg.5 -./2-col.txt.5 +./ ab /c' d/ ef"g.5 ./ ab/c"d/ef g.5 ./ ab/c"d/efg.5 -./b/foo.5 -./b/bar.5 -./ ab /c' d/ ef"g.5 +./2-col.txt.5 ./a b/cd / ef/efg.5 +./b/bar.5 +./b/foo.5 diff --git a/testsuite/wanted-results/test37 b/testsuite/wanted-results/test37 index 1b10abc2..f6b54fa6 100644 --- a/testsuite/wanted-results/test37 +++ b/testsuite/wanted-results/test37 @@ -42,7 +42,7 @@ echo /dev/fd/62 /dev/fd/62 echo foo foo -ssh parallel@parallel-server3 ssh parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' perl\ -pe\ \"\\\$a=1\;\ print\ \\\$a\"\ \<\(echo\ foo\); +ssh parallel@parallel-server3 ssh parallel-server2 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' perl\ -pe\ \"\\\$a=1\;\ print\ \\\$a\"\ \<\(echo\ foo\); 1foo ### Test quoting of $ in command from profile file perl -pe '$a=1; print $a' <(echo foo) diff --git a/testsuite/wanted-results/test61 b/testsuite/wanted-results/test61 index 877ab3be..91901577 100644 --- a/testsuite/wanted-results/test61 +++ b/testsuite/wanted-results/test61 @@ -1,11 +1,11 @@ ### Test --return of weirdly named file -ssh parallel@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \>aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b;_EXIT_status=$?; rsync -rlDzR -essh parallel@parallel-server3:././aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b ./; exit $_EXIT_status; +ssh parallel@parallel-server3 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \>aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b;_EXIT_status=$?; rsync -rlDzR -essh parallel@parallel-server3:././aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b ./; exit $_EXIT_status; ### Test if remote login shell is csh -ssh csh@localhost 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \$PARALLEL_PID\ \$PARALLEL_SEQ\ a\|\ wc\ -w; +ssh csh@localhost 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \$PARALLEL_PID\ \$PARALLEL_SEQ\ a\|\ wc\ -w; 3 -ssh csh@localhost 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \$PARALLEL_PID\ \$PARALLEL_SEQ\ b\|\ wc\ -w; +ssh csh@localhost 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \$PARALLEL_PID\ \$PARALLEL_SEQ\ b\|\ wc\ -w; 3 -ssh csh@localhost 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\;PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \$PARALLEL_PID\ \$PARALLEL_SEQ\ c\|\ wc\ -w; +ssh csh@localhost 'eval `echo $SHELL | grep -E "/(t)?csh" > /dev/null && echo setenv PARALLEL_SEQ '$PARALLEL_SEQ'\; setenv PARALLEL_PID '$PARALLEL_PID' || echo PARALLEL_SEQ='$PARALLEL_SEQ'\;export PARALLEL_SEQ\; PARALLEL_PID='$PARALLEL_PID'\;export PARALLEL_PID` ;' echo\ \$PARALLEL_PID\ \$PARALLEL_SEQ\ c\|\ wc\ -w; 3 ### Test {} multiple times in different commands echo 1 2 3 4 5 6 7 8 9 10 ; echo 1 2 3 4 5 6 7 8 9 10