From f0b40c126ca02279dce9c55326ec7232c4ff3ff7 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Wed, 23 Sep 2020 17:41:03 +0200 Subject: [PATCH] Released as 20200922 ('Ginsburg') --- NEWS | 12 +++ README | 24 ++--- configure | 20 ++-- configure.ac | 2 +- doc/haikus | 13 +-- doc/release_new_version | 15 +-- packager/obs/home:tange/parallel/.osc/_files | 12 +-- .../home:tange/parallel/.osc/parallel.spec | 2 +- src/niceload | 2 +- src/parallel | 22 ++-- src/parallel_design.pod | 4 + src/sql | 2 +- testsuite/Makefile | 14 +-- testsuite/Start.sh | 31 ++++-- testsuite/tests-to-run/parallel-freebsd.sh | 9 +- testsuite/tests-to-run/parallel-local-1s.sh | 37 +++++-- .../tests-to-run/parallel-local-sql02.sh | 1 + testsuite/tests-to-run/parallel-macos.sh | 4 +- testsuite/tests-to-run/parallel-tutorial.sh | 11 +- testsuite/wanted-results/parallel-freebsd | 2 +- testsuite/wanted-results/parallel-local-1s | 64 ++++++----- testsuite/wanted-results/parallel-local-mem | 100 +++++++++--------- testsuite/wanted-results/parallel-local-sql02 | 5 + testsuite/wanted-results/parallel-local164 | 2 - testsuite/wanted-results/parallel-local19 | 1 + testsuite/wanted-results/parallel-polarhome | 20 +++- testsuite/wanted-results/parallel-tutorial | 15 ++- testsuite/wanted-results/sql01 | 4 +- 28 files changed, 266 insertions(+), 184 deletions(-) diff --git a/NEWS b/NEWS index d17afdef..cef29a98 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,15 @@ +20200922 + +* New CPU detection for GNU/Linux. + +* Bug fixes and man page updates. + +News about GNU Parallel: + +* Aug 21, 2020 - More Unix tools + https://floki.blog/2020/08/more_unix_tools + + 20200822 New in this release: diff --git a/README b/README index 8b388589..006608ae 100644 --- a/README +++ b/README @@ -57,11 +57,11 @@ document. Full installation of GNU Parallel is as simple as: - wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2.sig - gpg parallel-20200822.tar.bz2.sig - bzip2 -dc parallel-20200822.tar.bz2 | tar xvf - - cd parallel-20200822 + wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2.sig + gpg parallel-20200922.tar.bz2.sig + bzip2 -dc parallel-20200922.tar.bz2 | tar xvf - + cd parallel-20200922 ./configure && make && sudo make install @@ -70,11 +70,11 @@ Full installation of GNU Parallel is as simple as: If you are not root you can add ~/bin to your path and install in ~/bin and ~/share: - wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2.sig - gpg parallel-20200822.tar.bz2.sig - bzip2 -dc parallel-20200822.tar.bz2 | tar xvf - - cd parallel-20200822 + wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2.sig + gpg parallel-20200922.tar.bz2.sig + bzip2 -dc parallel-20200922.tar.bz2 | tar xvf - + cd parallel-20200922 ./configure --prefix=$HOME && make && make install Or if your system lacks 'make' you can simply copy src/parallel @@ -122,8 +122,8 @@ will love you for it. When using programs that use GNU Parallel to process data for publication please cite: - Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut'). - Zenodo. https://doi.org/10.5281/zenodo.3996295 + Tange, O. (2020, September 22). GNU Parallel 20200922 ('Ginsburg'). + Zenodo. https://doi.org/10.5281/zenodo.4045386 Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ole Tange, http://ole.tange.dk and Free diff --git a/configure b/configure index 6be7ce1a..d2b0a2ed 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for parallel 20200822. +# Generated by GNU Autoconf 2.69 for parallel 20200922. # # Report bugs to . # @@ -579,8 +579,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20200822' -PACKAGE_STRING='parallel 20200822' +PACKAGE_VERSION='20200922' +PACKAGE_STRING='parallel 20200922' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures parallel 20200822 to adapt to many kinds of systems. +\`configure' configures parallel 20200922 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1281,7 +1281,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20200822:";; + short | recursive ) echo "Configuration of parallel 20200922:";; esac cat <<\_ACEOF @@ -1357,7 +1357,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20200822 +parallel configure 20200922 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20200822, which was +It was created by parallel $as_me 20200922, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2237,7 +2237,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20200822' + VERSION='20200922' cat >>confdefs.h <<_ACEOF @@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20200822, which was +This file was extended by parallel $as_me 20200922, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2942,7 +2942,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20200822 +parallel config.status 20200922 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index c9f4061f..65cbb407 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel], [20200822], [bug-parallel@gnu.org]) +AC_INIT([parallel], [20200922], [bug-parallel@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/doc/haikus b/doc/haikus index b4f06f29..aa3148fe 100644 --- a/doc/haikus +++ b/doc/haikus @@ -1,18 +1,12 @@ Quote of the month: - My favorite man page is that of GNU parallel. - -- Jeroen Janssens @jeroenhjanssens@twitter - - It's not a data migration party until GNU Parallel is involved... involved involved -- rrees @rrees@twitter - Great tool, gets jobs done fast. - Great tool, gets jobs done fast. - Great tool, gets jobs done fast. - -- Paul F. De La Cruz @pdelacruzcc@twitter + My favorite man page is that of GNU parallel. + -- Jeroen Janssens @jeroenhjanssens@twitter I get a weird sense of satisfaction every single time I see the lovely logo of #GNU Parallel (plus, what an underrated piece of @@ -78,6 +72,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html === Used === + My favorite man page is that of GNU parallel. + -- Jeroen Janssens @jeroenhjanssens@twitter + Gnu parallel is also awesome, fwiw. -- Rogan Dawes @RoganDawes@twitter diff --git a/doc/release_new_version b/doc/release_new_version index e4dcd346..3315afa3 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -192,27 +192,28 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -Subject: GNU Parallel 20200922 ('Ginsburg/Kenosha/Belarus/Lukashenko/California/Malmö') released <<[stable]>> +Subject: GNU Parallel 20200922 ('Ginsburg') released <<[stable]>> -GNU Parallel 20200922 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/ +GNU Parallel 20200922 ('Ginsburg') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/ <> Quote of the month: - <<>> + Great tool, gets jobs done fast. + Great tool, gets jobs done fast. + Great tool, gets jobs done fast. + -- Paul F. De La Cruz @pdelacruzcc@twitter New in this release: -* No new functionality +* New CPU detection for GNU/Linux. * Bug fixes and man page updates. News about GNU Parallel: -https://floki.blog/2020/08/more_unix_tools - -https://computeontario.ca/event/webinar-options-for-solving-jobs-with-many-tasks/ +* Aug 21, 2020 - More Unix tools https://floki.blog/2020/08/more_unix_tools Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html diff --git a/packager/obs/home:tange/parallel/.osc/_files b/packager/obs/home:tange/parallel/.osc/_files index daad57a5..d3ad9dcb 100644 --- a/packager/obs/home:tange/parallel/.osc/_files +++ b/packager/obs/home:tange/parallel/.osc/_files @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/packager/obs/home:tange/parallel/.osc/parallel.spec b/packager/obs/home:tange/parallel/.osc/parallel.spec index eb5a6db9..b24272f2 100644 --- a/packager/obs/home:tange/parallel/.osc/parallel.spec +++ b/packager/obs/home:tange/parallel/.osc/parallel.spec @@ -1,7 +1,7 @@ Summary: Shell tool for executing jobs in parallel Name: parallel -Version: 20200822 +Version: 20200922 Release: 1.3 License: GPL-3.0-or-later Group: Productivity/File utilities diff --git a/src/niceload b/src/niceload index ae3a1506..2215b4f8 100755 --- a/src/niceload +++ b/src/niceload @@ -23,7 +23,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20200823; +$Global::version = 20200922; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); if($opt::version) { diff --git a/src/parallel b/src/parallel index 80fb83d7..7fcebf84 100755 --- a/src/parallel +++ b/src/parallel @@ -2160,7 +2160,7 @@ sub check_invalid_option_combinations() { sub init_globals() { # Defaults: - $Global::version = 20200823; + $Global::version = 20200922; $Global::progname = 'parallel'; $::name = "GNU Parallel"; $Global::infinity = 2**31; @@ -4919,8 +4919,8 @@ sub usage() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - " Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').", - " Zenodo. https://doi.org/10.5281/zenodo.3996295", + " Tange, O. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').", + " Zenodo. https://doi.org/10.5281/zenodo.4045386", "", # Before changing this line, please read # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice @@ -4950,8 +4950,8 @@ sub citation_notice() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - " Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').", - " Zenodo. https://doi.org/10.5281/zenodo.3996295", + " Tange, O. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').", + " Zenodo. https://doi.org/10.5281/zenodo.4045386", "", # Before changing this line, please read # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and @@ -5064,20 +5064,20 @@ sub citation() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - "\@software{tange_2020_3996295,", + "\@software{tange_2020_4045386,", " author = {Tange, Ole},", - " title = {GNU Parallel 20200822 ('Beirut')},", - " month = Aug,", + " title = {GNU Parallel 20200922 ('Ginsburg')},", + " month = Sep,", " year = 2020,", " note = {{GNU Parallel is a general parallelizer to run", " multiple serial command line programs in parallel", " without changing them.}},", " publisher = {Zenodo},", - " doi = {10.5281/zenodo.3996295},", - " url = {https://doi.org/10.5281/zenodo.3996295}", + " doi = {10.5281/zenodo.4045386},", + " url = {https://doi.org/10.5281/zenodo.4045386}", "}", "", - "(Feel free to use \\nocite{tange_2020_3996295})", + "(Feel free to use \\nocite{tange_2020_4045386})", "", # Before changing this line, please read # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and diff --git a/src/parallel_design.pod b/src/parallel_design.pod index 9d31163f..2b09ff7b 100644 --- a/src/parallel_design.pod +++ b/src/parallel_design.pod @@ -652,9 +652,13 @@ exec'ing a Perl wrapper to monitor the parent pid and kill the child if the parent pid becomes 1, then Ctrl-C works and stderr is kept on stderr. +Ctrl-C does, however, kill the ssh connection, so any output from +a remote dying process is lost. + To be able to kill all (grand)*children a new process group is started. + =head3 --nice Bing the remote process is done by B. A diff --git a/src/sql b/src/sql index 80c5f112..044cff60 100755 --- a/src/sql +++ b/src/sql @@ -574,7 +574,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20200823; + $Global::version = 20200922; $Global::progname = 'sql'; # This must be done first as this may exec myself diff --git a/testsuite/Makefile b/testsuite/Makefile index 23c7e19d..43572e72 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -8,9 +8,9 @@ testsuite: 3 make stopvm ### Limited testsets - run once -# No 100s, mem, polarhome, tutorial +# No 100s, 300s, mem, polarhome, tutorial 1: ../src/parallel tests-to-run/* wanted-results/* prereqlocal startdb prereqremote - TRIES=1 time bash Start.sh '' '100s|mem|polarhome|tutorial' || true + TRIES=1 time bash Start.sh '' '00s|mem|polarhome|tutorial' || true touch ~/.parallel/will-cite make stopvm @@ -26,9 +26,9 @@ tutorial: ../src/parallel tests-to-run/*tutorial* wanted-results/*tutorial* prer touch ~/.parallel/will-cite make stopvm -# 100s -100s: ../src/parallel tests-to-run/*100s* wanted-results/*100s* prereqlocal - time bash Start.sh 100s NONE || true +# 100s and 300s +100s: ../src/parallel tests-to-run/*00s* wanted-results/*00s* prereqlocal + time bash Start.sh 00s NONE || true touch ~/.parallel/will-cite make stopvm @@ -88,10 +88,10 @@ prereqremote: installparallel startvm parallel -j0 --timeout 10 --tag ssh vagrant@parallel-server{} parallel --minversion 20121021 ::: 1 2 || (echo parallel on remote required for testsuite; /bin/true) startvm: - parallel 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8 + parallel --tag -k 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8 stopvm: - parallel 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 + parallel --tag -k 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 startdb: true should start Oracle in vagrant diff --git a/testsuite/Start.sh b/testsuite/Start.sh index b6404d6b..debaa4e6 100755 --- a/testsuite/Start.sh +++ b/testsuite/Start.sh @@ -46,18 +46,27 @@ run_test() { } export -f run_test -# Create a monitor script -echo forever "'echo; pstree -lp '"$$"'; pstree -l'" $$ >/tmp/monitor -chmod 755 /tmp/monitor -# Log rotate -mkdir -p log -seq 10 -1 1 | - parallel -j1 mv log/testsuite.log.{} log/testsuite.log.'{= $_++ =}' -mv testsuite.log log/testsuite.log.1 -date +create_monitor_script() { + # Create a monitor script + echo forever "'echo; pstree -lp '"$$"'; pstree -l'" $$ >/tmp/monitor + chmod 755 /tmp/monitor +} + +log_rotate() { + # Log rotate + mkdir -p log + seq 10 -1 1 | + parallel -j1 mv log/testsuite.log.{} log/testsuite.log.'{= $_++ =}' + mv testsuite.log log/testsuite.log.1 +} + +create_monitor_script +log_rotate + +printf "\033[48;5;78;38;5;0m `date` \033[00m\n" mkdir -p actual-results ls -t tests-to-run/*${1}*.sh | egrep -v "${2}" | - parallel --tty -tj1 run_test | tee testsuite.log + parallel --tty -tj1 run_test | tee testsuite.log # If testsuite.log contains @@ then there is a diff if grep -q '@@' testsuite.log ; then false @@ -66,4 +75,4 @@ else rm -rf src-passing-testsuite cp -a ../src src-passing-testsuite fi -date +printf "\033[48;5;208;38;5;0m `date` \033[00m\n" diff --git a/testsuite/tests-to-run/parallel-freebsd.sh b/testsuite/tests-to-run/parallel-freebsd.sh index 4552cbf7..7c9fe335 100644 --- a/testsuite/tests-to-run/parallel-freebsd.sh +++ b/testsuite/tests-to-run/parallel-freebsd.sh @@ -1,14 +1,10 @@ #!/bin/bash echo "### These tests requires VirtualBox running with the following images" -echo `whoami`"@freebsd7" - SERVER1=freebsd11 SSHUSER1=vagrant SSHLOGIN1=$SSHUSER1@$SERVER1 - -#VBoxManage startvm FreeBSD71 >/dev/null 2>&1 -#ping -c 1 freebsd7.tange.dk >/dev/null 2>&1 +echo $SSHUSER1@$SERVER1 ssh $SSHLOGIN1 touch .parallel/will-cite scp -q .*/src/{parallel,sem,sql,niceload,env_parallel*} $SSHLOGIN1:bin/ @@ -97,9 +93,8 @@ unset TMPDIR # we get 'shopt'-errors and 'declare'-errors. # We can safely ignore those. +export LC_ALL=C PARALLEL_SHELL=sh env_parallel --env _ -vj9 -k --joblog /tmp/jl-`basename $0` --retries 3 \ -S $SSHLOGIN1 --tag '{} 2>&1' \ ::: $(compgen -A function | grep par_ | sort) \ 2> >(grep -Ev 'shopt: not found|declare: not found') - -#VBoxManage controlvm FreeBSD71 savestate diff --git a/testsuite/tests-to-run/parallel-local-1s.sh b/testsuite/tests-to-run/parallel-local-1s.sh index 182940b4..825b7d26 100644 --- a/testsuite/tests-to-run/parallel-local-1s.sh +++ b/testsuite/tests-to-run/parallel-local-1s.sh @@ -596,18 +596,28 @@ par_test_cpu_detection_cpuinfo() { hOfZ08YsNAENX1FX ' | unpack } + cpu14() { + echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)' + echo ' + KLUv/QRonQYAwsolIjBpzABoi2gVcBKev0FN8WI7YcCuNoTmTbB1dAmqC8N6MAf9xOhcS6B+ + oOLc0Qb145avJCV9NqgRCTRE5ZAsLCJ3UOm9nwP6Pbd+2qihgkUvysD6XJ2vNKuvSDiO7aw/ + UJ2JJoBuk5QfQVrssW26Wen4rx+YManHlUC3TAuQBw/M+Gkv5FqfpKYfJIAxwZfHWZafaSUx + ExcgQEik8g6fj08zd4EHssVA93AJ8C7xnA3qlYxXshyLBYN1XHECyZgjRUkKjzkkLOUQtuV4 + YQqnBNP0ggo= + ' | unpack + } export -f $(compgen -A function | grep ^cpu) test_one() { - eval cpu$1 | head -n1 - export PARALLEL_CPUINFO="$(eval cpu$1 | tail -n +2)" + eval $1 | head -n1 + export PARALLEL_CPUINFO="$(eval $1 | tail -n +2)" echo $(parallel --number-of-sockets) \ $(parallel --number-of-cores) \ $(parallel --number-of-threads) \ $(parallel --number-of-cpus) } export -f test_one - compgen -A function | grep ^cpu | parallel -j0 -k test_one {#} + compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one } par_test_cpu_detection_lscpu() { @@ -721,7 +731,7 @@ par_test_cpu_detection_lscpu() { echo ' ' | unpack } - cpu11() { + Venter_cpu11() { echo '1-4-8-4 4-core/8 thread Lenovo T480' echo ' ' | unpack @@ -770,18 +780,31 @@ par_test_cpu_detection_lscpu() { UzgEXRjGXoiIssGUkUUTqd0xvoBOHpTCmkWxrpQel//TQhslTAKUqRruSw== ' | unpack } + cpu14() { + echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)' + echo ' + KLUv/QRo1QwABt5WJBCNWAGjFDHykUWSQEvNjTGJMp1z5pZCA7MA9TKhFAAAEwwAAlEASgBI + AI5SkwOF5Y6KYGPe2WtyYNBQJBYf+BmNhuHwhoUCGNfhAQwAd9Q+Bs8wd5RyC8W3mjtK4tpj + j0usy+2ECAubBNfgjoLaIyMEN7IUd5SM3atRcmcRX8r5ztvXxuyOSb/6vowv+117fpu/0PdF + LvGjI+Y4YiluI+sONYkVxjZ5ddqnVyLxYxEk3OFYFuWO2knrL0SZrsaiSTgYisUD3X0ZZ4Px + HQKCcNJzym+QOcJLougixzkdijF6eOVZuvZ8JmSzYdQ/d9aekPwE7xzTlvQn5Mt2X/b0+PTe + IS25h9M3i8n4kfg0azkT7tuIQfYuNyLyckyaskUczAUc09YSCL9ne7iC6V4JQWzCfTBqjj1M + sxpLoqEozR3V3F6M4sN67nlAmHsv+4TKkb8oD7Pdb5RJv9gYKBAixjTqEIhm1AHKWTCgrkEE + YstArr0BOSgXJ4Xmpu4j9PRpQcgRCckdf4fcSFol9GuGecuj5uBxngHakML8 + ' | unpack + } export -f $(compgen -A function | grep ^cpu) test_one() { - eval cpu$1 | head -n1 - export PARALLEL_LSCPU="$(eval cpu$1 | tail -n +2)" + eval $1 | head -n1 + export PARALLEL_LSCPU="$(eval $1 | tail -n +2)" echo $(parallel --number-of-sockets) \ $(parallel --number-of-cores) \ $(parallel --number-of-threads) \ $(parallel --number-of-cpus) } export -f test_one - compgen -A function | grep ^cpu | parallel -j0 -k test_one {#} + compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one } par_null_resume() { diff --git a/testsuite/tests-to-run/parallel-local-sql02.sh b/testsuite/tests-to-run/parallel-local-sql02.sh index c3d51abb..05c4d94b 100644 --- a/testsuite/tests-to-run/parallel-local-sql02.sh +++ b/testsuite/tests-to-run/parallel-local-sql02.sh @@ -23,6 +23,7 @@ par_few_duplicate_run() { parallel --sqlworker $DBURL & wait ) | wc -l) + sql "$1" "drop table $TABLE;" if [ $lines -gt 105 ] ; then echo Error: $lines are more than 5% duplicates else diff --git a/testsuite/tests-to-run/parallel-macos.sh b/testsuite/tests-to-run/parallel-macos.sh index 545644c7..84f49245 100644 --- a/testsuite/tests-to-run/parallel-macos.sh +++ b/testsuite/tests-to-run/parallel-macos.sh @@ -157,7 +157,9 @@ par_big_var_func_name() { } #macsshlogin=ota@mac -macsshlogin=macosx.p +#macsshlogin=macosx.p +macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p) + scp /usr/local/bin/parallel $macsshlogin:bin/ export LC_ALL=C diff --git a/testsuite/tests-to-run/parallel-tutorial.sh b/testsuite/tests-to-run/parallel-tutorial.sh index 3d234418..c32ace29 100644 --- a/testsuite/tests-to-run/parallel-tutorial.sh +++ b/testsuite/tests-to-run/parallel-tutorial.sh @@ -84,7 +84,16 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/ s{tried 1}{}; s/^\s*\n//; s/^Second done\n//; -' | + # Changed citation + s/Tange, O. .* GNU Parallel .*//; + s:https.//doi.org/10.5281/.*::; + s/.software.tange_.*//; + s/title.*= .*Parallel .*//; + s/month.*= .*//; + s/doi.*=.*//; + s/url.*= .*doi.org.*//; + s/.Feel free to use .nocite.*//; + ' | perl -ne '/GTK2_RC_FILES/ and next; /GTK_RC_FILES/ and next; print' | diff --git a/testsuite/wanted-results/parallel-freebsd b/testsuite/wanted-results/parallel-freebsd index 2930695b..d2e4dbfb 100644 --- a/testsuite/wanted-results/parallel-freebsd +++ b/testsuite/wanted-results/parallel-freebsd @@ -1,5 +1,5 @@ ### These tests requires VirtualBox running with the following images -tange@freebsd7 +vagrant@freebsd11 par_compress_pipe par_compress_pipe 2>&1 par_compress_pipe Test --compress --pipe par_compress_pipe 1000 1000 3893 diff --git a/testsuite/wanted-results/parallel-local-1s b/testsuite/wanted-results/parallel-local-1s index 067b55a6..ad37b1fc 100644 --- a/testsuite/wanted-results/parallel-local-1s +++ b/testsuite/wanted-results/parallel-local-1s @@ -714,30 +714,46 @@ par_test_XI_mI a7 b1 2 3 4 5 6 7 par_test_XI_mI a8 b1 2 3 4 5 6 7 8 par_test_XI_mI a9 b1 2 3 4 5 6 7 8 9 par_test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10 -par_test_cpu_detection 2-8-8-8 Xeon 8 core server in Germany -par_test_cpu_detection 2 8 8 8 -par_test_cpu_detection 1-4-8-4 Core i7-3632QM Acer laptop -par_test_cpu_detection 1 4 8 4 -par_test_cpu_detection 1-2-4-2 Core i5-2410M laptop firewall -par_test_cpu_detection 1 2 4 2 -par_test_cpu_detection 1-2-2-2 dual core laptop(?) -par_test_cpu_detection 1 2 2 2 -par_test_cpu_detection 2-24-48-24 24-core (maxwell?) -par_test_cpu_detection 2 24 48 24 -par_test_cpu_detection 1-2-2-2 HP Laptop Compaq 6530b -par_test_cpu_detection 1 2 2 2 -par_test_cpu_detection 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53) -par_test_cpu_detection 1 8 8 8 -par_test_cpu_detection 1-4-4-4 x96 quad-core Android TV-box -par_test_cpu_detection 1 4 4 4 -par_test_cpu_detection 1-6-6-6 Kramses 200 USD laptop 6-core -par_test_cpu_detection 1 6 6 6 -par_test_cpu_detection 4-48-48-48 Dell R815 4 CPU 48-core -par_test_cpu_detection 4 24 48 24 -par_test_cpu_detection 1-4-8-4 4-core/8 thread Lenovo T480 -par_test_cpu_detection 1 4 8 4 -par_test_cpu_detection 4-64-64-64 Dell R815 4 CPU 64-core -par_test_cpu_detection 4 32 64 32 +par_test_cpu_detection_cpuinfo 2-8-8-8 Xeon 8 core server in Germany +par_test_cpu_detection_cpuinfo 2 8 8 8 +par_test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core +par_test_cpu_detection_cpuinfo 4 24 48 24 +par_test_cpu_detection_cpuinfo 1-4-8-4 4-core/8 thread Lenovo T480 +par_test_cpu_detection_cpuinfo 1 4 8 4 +par_test_cpu_detection_cpuinfo 4-64-64-64 Dell R815 4 CPU 64-core +par_test_cpu_detection_cpuinfo 4 32 64 32 +par_test_cpu_detection_cpuinfo 1-2-2-2 AMD Neo N36L Dual-Core Processor +par_test_cpu_detection_cpuinfo 1 2 2 2 +par_test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop +par_test_cpu_detection_cpuinfo 1 4 8 4 +par_test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall +par_test_cpu_detection_cpuinfo 1 2 4 2 +par_test_cpu_detection_cpuinfo 1-2-2-2 AMD Opteron 244 dual core laptop(?) +par_test_cpu_detection_cpuinfo 1 2 2 2 +par_test_cpu_detection_cpuinfo 2-24-48-24 24-core (maxwell?) +par_test_cpu_detection_cpuinfo 2 24 48 24 +par_test_cpu_detection_cpuinfo 1-2-2-2 HP Laptop Compaq 6530b +par_test_cpu_detection_cpuinfo 1 2 2 2 +par_test_cpu_detection_cpuinfo 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53) +par_test_cpu_detection_cpuinfo 1 8 8 8 +par_test_cpu_detection_cpuinfo 1-4-4-4 x96 quad-core Android TV-box +par_test_cpu_detection_cpuinfo 1 4 4 4 +par_test_cpu_detection_cpuinfo 1-6-6-6 Kramses 200 USD laptop 6-core +par_test_cpu_detection_cpuinfo 1 6 6 6 +par_test_cpu_detection_lscpu 2-8-8-8 Xeon 8 core server in Germany +par_test_cpu_detection_lscpu 2 8 8 8 +par_test_cpu_detection_lscpu 4-64-64-64 Dell R815 4 CPU 64-core +par_test_cpu_detection_lscpu 4 8 8 8 +par_test_cpu_detection_lscpu 1-2-2-2 AMD Neo N36L Dual-Core Processor +par_test_cpu_detection_lscpu 1 2 2 2 +par_test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop +par_test_cpu_detection_lscpu 1 4 8 4 +par_test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall +par_test_cpu_detection_lscpu 1 2 4 2 +par_test_cpu_detection_lscpu 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53) +par_test_cpu_detection_lscpu 2 8 8 8 +par_test_cpu_detection_lscpu 1-4-4-4 x96 quad-core Android TV-box +par_test_cpu_detection_lscpu 1 4 4 4 par_test_gt_quoting ### Test of quoting of > bug par_test_gt_quoting >/dev/null par_test_gt_quoting ### Test of quoting of > bug if line continuation diff --git a/testsuite/wanted-results/parallel-local-mem b/testsuite/wanted-results/parallel-local-mem index 6f11868d..b6572bb3 100644 --- a/testsuite/wanted-results/parallel-local-mem +++ b/testsuite/wanted-results/parallel-local-mem @@ -1,9 +1,9 @@ make[1]: Entering directory '~/privat/parallel/testsuite' -parallel 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 -==> default: Saving VM state and suspending execution... -==> default: Saving VM state and suspending execution... -==> default: Saving VM state and suspending execution... -==> default: Saving VM state and suspending execution... +parallel --tag -k 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 +centos8 ==> default: Saving VM state and suspending execution... +freebsd11 ==> default: Saving VM state and suspending execution... +freebsd12 ==> default: Saving VM state and suspending execution... +rhel8 ==> default: Saving VM state and suspending execution... make[1]: Leaving directory '~/privat/parallel/testsuite' par_2gb_record_reading ### Trouble reading a record > 2 GB for certain versions of Perl (substr($a,0,2G+1)="fails") par_2gb_record_reading ### perl -e $buf=("x"x(2**31))."x"; substr($buf,0,2**31+1)=""; print length $buf @@ -36,49 +36,49 @@ par_2gb_records_N parallel: Warning: A record was longer than 1690000003. Increa par_2gb_records_N 8000000008 par_2gb_records_N 1000000000 make[1]: Entering directory '~/privat/parallel/testsuite' -parallel 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8 -Bringing machine 'default' up with 'virtualbox' provider... -==> default: Checking if box 'generic/rhel8' version '3.0.12' is up to date... -==> default: Resuming suspended VM... -==> default: Booting VM... -==> default: Waiting for machine to boot. This may take a few minutes... - default: SSH address: 127.0.0.1:2203 - default: SSH username: vagrant - default: SSH auth method: private key -==> default: Machine booted and ready! -==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` -==> default: flag to force provisioning. Provisioners marked to run always will still run. -Bringing machine 'default' up with 'virtualbox' provider... -==> default: Checking if box 'generic/freebsd12' version '3.0.12' is up to date... -==> default: Resuming suspended VM... -==> default: Booting VM... -==> default: Waiting for machine to boot. This may take a few minutes... - default: SSH address: 127.0.0.1:2205 - default: SSH username: vagrant - default: SSH auth method: private key -==> default: Machine booted and ready! -==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` -==> default: flag to force provisioning. Provisioners marked to run always will still run. -Bringing machine 'default' up with 'virtualbox' provider... -==> default: Checking if box 'generic/centos8' version '3.0.12' is up to date... -==> default: Resuming suspended VM... -==> default: Booting VM... -==> default: Waiting for machine to boot. This may take a few minutes... - default: SSH address: 127.0.0.1:2204 - default: SSH username: vagrant - default: SSH auth method: private key -==> default: Machine booted and ready! -==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` -==> default: flag to force provisioning. Provisioners marked to run always will still run. -Bringing machine 'default' up with 'virtualbox' provider... -==> default: Checking if box 'generic/freebsd11' version '3.0.12' is up to date... -==> default: Resuming suspended VM... -==> default: Booting VM... -==> default: Waiting for machine to boot. This may take a few minutes... - default: SSH address: 127.0.0.1:2206 - default: SSH username: vagrant - default: SSH auth method: private key -==> default: Machine booted and ready! -==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` -==> default: flag to force provisioning. Provisioners marked to run always will still run. +parallel --tag -k 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8 +centos8 Bringing machine 'default' up with 'virtualbox' provider... +centos8 ==> default: Checking if box 'generic/centos8' version '3.0.12' is up to date... +centos8 ==> default: Resuming suspended VM... +centos8 ==> default: Booting VM... +centos8 ==> default: Waiting for machine to boot. This may take a few minutes... +centos8 default: SSH address: 127.0.0.1:2204 +centos8 default: SSH username: vagrant +centos8 default: SSH auth method: private key +centos8 ==> default: Machine booted and ready! +centos8 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` +centos8 ==> default: flag to force provisioning. Provisioners marked to run always will still run. +freebsd11 Bringing machine 'default' up with 'virtualbox' provider... +freebsd11 ==> default: Checking if box 'generic/freebsd11' version '3.0.12' is up to date... +freebsd11 ==> default: Resuming suspended VM... +freebsd11 ==> default: Booting VM... +freebsd11 ==> default: Waiting for machine to boot. This may take a few minutes... +freebsd11 default: SSH address: 127.0.0.1:2206 +freebsd11 default: SSH username: vagrant +freebsd11 default: SSH auth method: private key +freebsd11 ==> default: Machine booted and ready! +freebsd11 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` +freebsd11 ==> default: flag to force provisioning. Provisioners marked to run always will still run. +freebsd12 Bringing machine 'default' up with 'virtualbox' provider... +freebsd12 ==> default: Checking if box 'generic/freebsd12' version '3.0.12' is up to date... +freebsd12 ==> default: Resuming suspended VM... +freebsd12 ==> default: Booting VM... +freebsd12 ==> default: Waiting for machine to boot. This may take a few minutes... +freebsd12 default: SSH address: 127.0.0.1:2205 +freebsd12 default: SSH username: vagrant +freebsd12 default: SSH auth method: private key +freebsd12 ==> default: Machine booted and ready! +freebsd12 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` +freebsd12 ==> default: flag to force provisioning. Provisioners marked to run always will still run. +rhel8 Bringing machine 'default' up with 'virtualbox' provider... +rhel8 ==> default: Checking if box 'generic/rhel8' version '3.0.12' is up to date... +rhel8 ==> default: Resuming suspended VM... +rhel8 ==> default: Booting VM... +rhel8 ==> default: Waiting for machine to boot. This may take a few minutes... +rhel8 default: SSH address: 127.0.0.1:2203 +rhel8 default: SSH username: vagrant +rhel8 default: SSH auth method: private key +rhel8 ==> default: Machine booted and ready! +rhel8 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` +rhel8 ==> default: flag to force provisioning. Provisioners marked to run always will still run. make[1]: Leaving directory '~/privat/parallel/testsuite' diff --git a/testsuite/wanted-results/parallel-local-sql02 b/testsuite/wanted-results/parallel-local-sql02 index 52b24c30..e33bf427 100644 --- a/testsuite/wanted-results/parallel-local-sql02 +++ b/testsuite/wanted-results/parallel-local-sql02 @@ -1,11 +1,16 @@ 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 Error: +par_few_duplicate_run $CSV csv:///%2Frun%2Fshm%2Fcsv is not a valid DBURL +par_few_duplicate_run $CSV +par_few_duplicate_run $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command] par_few_duplicate_run $CSV OK 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 par_few_duplicate_run $PG par_few_duplicate_run $PG par_few_duplicate_run $PG ### With many workers there will be some duplicates +par_few_duplicate_run $PG DROP TABLE par_few_duplicate_run $PG OK par_few_duplicate_run $SQLITE par_few_duplicate_run $SQLITE par_few_duplicate_run $SQLITE ### With many workers there will be some duplicates diff --git a/testsuite/wanted-results/parallel-local164 b/testsuite/wanted-results/parallel-local164 index 64191e7e..c5153220 100644 --- a/testsuite/wanted-results/parallel-local164 +++ b/testsuite/wanted-results/parallel-local164 @@ -304,8 +304,6 @@ parallel: Warning: Only enough file handles to run 2 jobs in parallel. parallel: Warning: Running 'parallel -j0 -N 2 --pipe parallel -j0' or parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf parallel: Warning: or /proc/sys/fs/file-max may help. -parallel: Warning: No more file handles. -parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help. echo 'bug #34241: --pipe should not spawn unneeded processes - part 2' bug #34241: --pipe should not spawn unneeded processes - part 2 seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par diff --git a/testsuite/wanted-results/parallel-local19 b/testsuite/wanted-results/parallel-local19 index 04563e15..7cebde20 100644 --- a/testsuite/wanted-results/parallel-local19 +++ b/testsuite/wanted-results/parallel-local19 @@ -108,6 +108,7 @@ a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6 echo '### Test -m with 10000 args'; seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -km echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1 ### Test -m with 10000 args c606aec1723ee5cc15f2a1b95d83d3cf - + 2 29996 186684 echo '### Test -X with 10000 args and 5 expansions' ### Test -X with 10000 args and 5 expansions seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.}{.}{} | wc -l diff --git a/testsuite/wanted-results/parallel-polarhome b/testsuite/wanted-results/parallel-polarhome index 6ecee29e..6156bc90 100644 --- a/testsuite/wanted-results/parallel-polarhome +++ b/testsuite/wanted-results/parallel-polarhome @@ -1,4 +1,4 @@ -MAXTIME=50 RETRIES=3 MAXPROC=100 MAXINNERPROC=3 +MAXTIME=50 RETRIES=3 MAXPROC=84 MAXINNERPROC=3 ### Filter out working servers 1d0 < openstep @@ -36,6 +36,7 @@ bin/parallel macosx copy macosx bin/parallel parallel bin/parallel redhat copy redhat bin/parallel parallel bin/parallel netbsd copy netbsd bin/parallel parallel bin/parallel openbsd copy openbsd bin/parallel parallel +bin/parallel debian copy debian bin/parallel parallel bin/parallel freebsd copy freebsd bin/parallel parallel bin/parallel hurd copy hurd bin/parallel parallel bin/parallel minix copy minix bin/parallel parallel @@ -61,6 +62,7 @@ bin/env_parallel macosx copy macosx bin/env_parallel env_parallel bin/env_parallel redhat copy redhat bin/env_parallel env_parallel bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel +bin/env_parallel debian copy debian bin/env_parallel env_parallel bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel bin/env_parallel hurd copy hurd bin/env_parallel env_parallel bin/env_parallel minix copy minix bin/env_parallel env_parallel @@ -86,6 +88,7 @@ bin/env_parallel.ash macosx copy macosx bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash redhat copy redhat bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash +bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash @@ -111,6 +114,7 @@ bin/env_parallel.bash macosx copy macosx bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash redhat copy redhat bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash +bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash @@ -136,6 +140,7 @@ bin/env_parallel.csh macosx copy macosx bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh redhat copy redhat bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh +bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh @@ -161,8 +166,6 @@ bin/env_parallel.dash macosx copy macosx bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash redhat copy redhat bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash -bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish @@ -186,6 +189,7 @@ bin/env_parallel.fish macosx copy macosx bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish redhat copy redhat bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish +bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish @@ -211,6 +215,7 @@ bin/env_parallel.ksh macosx copy macosx bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh redhat copy redhat bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh +bin/env_parallel.ksh debian copy debian bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh @@ -236,6 +241,7 @@ bin/env_parallel.mksh macosx copy macosx bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh redhat copy redhat bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh +bin/env_parallel.mksh debian copy debian bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh @@ -261,6 +267,7 @@ bin/env_parallel.pdksh macosx copy macosx bin/env_parallel.pdksh env_parallel.pd bin/env_parallel.pdksh redhat copy redhat bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh +bin/env_parallel.pdksh debian copy debian bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh @@ -286,6 +293,7 @@ bin/env_parallel.sh macosx copy macosx bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh redhat copy redhat bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh +bin/env_parallel.sh debian copy debian bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh @@ -311,6 +319,7 @@ bin/env_parallel.tcsh macosx copy macosx bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh redhat copy redhat bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh +bin/env_parallel.tcsh debian copy debian bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh @@ -336,6 +345,7 @@ bin/env_parallel.zsh macosx copy macosx bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh redhat copy redhat bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh +bin/env_parallel.zsh debian copy debian bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh @@ -361,6 +371,7 @@ bin/parcat macosx copy macosx bin/parcat parcat bin/parcat redhat copy redhat bin/parcat parcat bin/parcat netbsd copy netbsd bin/parcat parcat bin/parcat openbsd copy openbsd bin/parcat parcat +bin/parcat debian copy debian bin/parcat parcat bin/parcat freebsd copy freebsd bin/parcat parcat bin/parcat hurd copy hurd bin/parcat parcat bin/parcat minix copy minix bin/parcat parcat @@ -567,8 +578,7 @@ redhat OK readonly tmp scosysv Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable scosysv at ~/bin/parallel line 0000 scosysv OK readonly tmp -solaris Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable -solaris at ~/bin/parallel line 0000 +solaris Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000 solaris OK readonly tmp solaris-x86 Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000 solaris-x86 OK readonly tmp diff --git a/testsuite/wanted-results/parallel-tutorial b/testsuite/wanted-results/parallel-tutorial index 3589a3df..f4b99f41 100644 --- a/testsuite/wanted-results/parallel-tutorial +++ b/testsuite/wanted-results/parallel-tutorial @@ -1368,8 +1368,8 @@ See 'man parallel' for details Academic tradition requires you to cite works you base your article on. If you use programs that use GNU Parallel to process data for an article in a scientific publication, please cite: - Tange, O. (2020, June 22). GNU Parallel VERSION ('Floyd'). - Zenodo. https://doi.org/10.5281/zenodo.3903853 + + Zenodo. This helps funding further development; AND IT WON'T COST YOU A CENT. If you pay 10000 EUR you should feel free to use GNU Parallel without citing. parallel --version @@ -1390,19 +1390,18 @@ Your version is at least VERSION. Academic tradition requires you to cite works you base your article on. If you use programs that use GNU Parallel to process data for an article in a scientific publication, please cite: -@software{tange_2020_3903853, + author = {Tange, Ole}, - title = {GNU Parallel VERSION ('Floyd')}, - month = Jun, + year = 2020, note = {{GNU Parallel is a general parallelizer to run multiple serial command line programs in parallel without changing them.}}, publisher = {Zenodo}, - doi = {10.5281/zenodo.3903853}, - url = {https://doi.org/10.5281/zenodo.3903853} + + url = { } -(Feel free to use \nocite{tange_2020_3903853}) + This helps funding further development; AND IT WON'T COST YOU A CENT. If you pay 10000 EUR you should feel free to use GNU Parallel without citing. More about funding GNU Parallel and the citation notice: diff --git a/testsuite/wanted-results/sql01 b/testsuite/wanted-results/sql01 index 0f02cd40..ea1f3d06 100644 --- a/testsuite/wanted-results/sql01 +++ b/testsuite/wanted-results/sql01 @@ -42,8 +42,8 @@ def 3 2 6 48 2 6 48 ### Test --table-size --tablesize -83 -83 +81 +81 ### Test --debug dburl mysql://tange:tange@localhost:3306/tange databasedriver mysql user tange password tange host localhost port 3306 database tange query