parallel-hwdep1.sh: Move hardware dependent tests to hwdep.

This commit is contained in:
Ole Tange 2024-04-16 00:00:30 +02:00
parent 16d221d321
commit 0797a633fc
16 changed files with 359 additions and 320 deletions

View file

@ -7,6 +7,13 @@ SUBDIRS = src
test: test:
cd testsuite; make 1 cd testsuite; make 1
tortest:
torsocks ssh -t cn6kfd6pfck5kosywnuf33zvje2ifmelrz656rhzqjkpd77ib4sbzzad.onion 'cd privat/parallel/testsuite/ && make short && make long && make mem'
torsync:
torsocks rsync -Hazv --exclude authorized_keys --exclude .vagrant/ ./ cn6kfd6pfck5kosywnuf33zvje2ifmelrz656rhzqjkpd77ib4sbzzad.onion:privat/parallel/
torsocks ssh -t cn6kfd6pfck5kosywnuf33zvje2ifmelrz656rhzqjkpd77ib4sbzzad.onion 'cd privat/parallel/testsuite/ && make prereqlocal'
web: web:
cd src; make web cd src; make web
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel

View file

@ -776,6 +776,13 @@ uninstall-am:
test: test:
cd testsuite; make 1 cd testsuite; make 1
tortest:
torsocks ssh -t cn6kfd6pfck5kosywnuf33zvje2ifmelrz656rhzqjkpd77ib4sbzzad.onion 'cd privat/parallel/testsuite/ && make short && make long && make mem'
torsync:
torsocks rsync -Hazv --exclude authorized_keys --exclude .vagrant/ ./ cn6kfd6pfck5kosywnuf33zvje2ifmelrz656rhzqjkpd77ib4sbzzad.onion:privat/parallel/
torsocks ssh -t cn6kfd6pfck5kosywnuf33zvje2ifmelrz656rhzqjkpd77ib4sbzzad.onion 'cd privat/parallel/testsuite/ && make prereqlocal'
web: web:
cd src; make web cd src; make web
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel

View file

@ -273,7 +273,7 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20240122 ('Frederik X') released Subject: GNU Parallel 20240422 ('Børsen/Higgs/Iran') released
GNU Parallel 20240122 ('Frederik X') has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20240122 ('Frederik X') has been released. It is available for download at: lbry://@GnuParallel:4

View file

@ -110,7 +110,7 @@ prereqremote: installparallel startvm
ignore=bytes.of.data|ping.statistics|packets.transmitted|64.bytes.from|\ ignore=bytes.of.data|ping.statistics|packets.transmitted|64.bytes.from|\
min/avg/max/mdev|default|known.hosts|Host.*found min/avg/max/mdev|default|known.hosts|Host.*found
start=(stdout ping -w 1 -c 1 {} || \ start=(stdout ping -w 1 -c 1 {} && ssh vagrant@{} echo ssh {} works || \
(cd vagrant/*/{} 2>/dev/null && vagrant up ; \ (cd vagrant/*/{} 2>/dev/null && vagrant up ; \
echo {} | grep -q centos3 && \ echo {} | grep -q centos3 && \
(cat ../../authorized_keys | vagrant ssh -c "cat >>.ssh/authorized_keys"; \ (cat ../../authorized_keys | vagrant ssh -c "cat >>.ssh/authorized_keys"; \
@ -127,6 +127,8 @@ namedservers=centos8 freebsd13 freebsd14 rhel8 centos3
servers=parallel-server1 parallel-server2 parallel-server3 parallel-server4 ${namedservers} servers=parallel-server1 parallel-server2 parallel-server3 parallel-server4 ${namedservers}
startvm: startvm:
sort -u ~/.ssh/*.pub vagrant/authorized_keys > vagrant/authorized_keys.
mv vagrant/authorized_keys. vagrant/authorized_keys
parallel -j0 --tag -k '${start}' ::: ${servers} & parallel -j0 --tag -k '${start}' ::: ${servers} &
stopvm: stopvm:
parallel -j0 --tag -k '${stop}' ::: ${namedservers} || true parallel -j0 --tag -k '${stop}' ::: ${namedservers} || true

View file

@ -93,6 +93,7 @@ par_shellshock_bug() {
# We can safely ignore those. # We can safely ignore those.
export LC_ALL=C export LC_ALL=C
export TMPDIR=/tmp export TMPDIR=/tmp
unset DISPLAY
env_parallel --env par_shellshock_bug --env LC_ALL --env SSHLOGIN2 --env _ \ env_parallel --env par_shellshock_bug --env LC_ALL --env SSHLOGIN2 --env _ \
-vj9 -k --joblog /tmp/jl-`basename $0` --retries 3 \ -vj9 -k --joblog /tmp/jl-`basename $0` --retries 3 \
-S $SSHLOGIN1 --tag '{} 2>&1' \ -S $SSHLOGIN1 --tag '{} 2>&1' \

View file

@ -0,0 +1,253 @@
# SPDX-FileCopyrightText: 2021-2024 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# Jobs that depend on the hardware
# (e.g number of CPU threads, terminal type)
#actual-results/parallel-macos
par__environment_too_big_ash() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=53
len_var_remote=37
len_var_quote=31
len_var_quote_remote=21
len_fun=1
len_fun_remote=1
len_fun_quote=1
len_fun_quote_remote=1
. `which env_parallel.ash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in ash
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh ash@lo "$myscript"
}
par__environment_too_big_dash() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=53
len_var_remote=37
len_var_quote=31
len_var_quote_remote=21
len_fun=1
len_fun_remote=1
len_fun_quote=1
len_fun_quote_remote=1
. `which env_parallel.dash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in dash
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh dash@lo "$myscript"
}
par__environment_too_big_zsh() {
myscript=$(cat <<'_EOF'
echo 'bug #50815: env_parallel should warn if the environment is too big'
# Zsh's default env is often too big. Remove all _* functions.
print -l ${(k)functions}|grep ^_ | while read a; do unset -f "$a"; done
. `which env_parallel.zsh`;
len_var=16
len_var_remote=$len_var-15
len_var_quote=$len_var
len_var_quote_remote=$len_var-15
len_fun=18
len_fun_remote=$len_fun-10
len_fun_quote=$len_fun
len_fun_quote_remote=$len_fun-10
repeat_() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat_ x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat_ x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat_ \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat_ \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat_ x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat_ x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail
# Add 10 or 100. It differs a bit from system to system
bigvar=$(repeat_ x $len_var+20)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat_ x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat_ \" $len_var_quote+20)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat_ \" $len_var_quote_remote+20)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat_ x $len_fun+20)"'"; };'
env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(repeat_ x $len_fun_remote+20)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote+20)"'"; };'
env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; }
_EOF
)
ssh zsh@lo "$myscript"
}
par_progress() {
(
parallel --progress --use-sockets-instead-of-threads true ::: a b c
parallel --progress --use-cores-instead-of-threads true ::: a b c
parallel --progress --use-cpus-instead-of-cores true ::: a b c
) 2>&1 | perl -pe 's/.*\r//; s/\d.\ds/9.9s/'
}
par__sockets_cores_threads() {
echo '### Test --number-of-sockets/cores/threads'
unset PARALLEL_CPUINFO
unset PARALLEL_LSCPU
parallel --number-of-sockets
parallel --number-of-cores
parallel --number-of-threads
parallel --number-of-cpus
echo '### Test --use-sockets-instead-of-threads'
(seq 1 4 |
stdout parallel --use-sockets-instead-of-threads -j100% sleep) &&
echo sockets done &
(seq 1 4 | stdout parallel -j100% sleep) && echo threads done &
wait
echo 'Threads should complete first on machines with less than 8 sockets'
}
export -f $(compgen -A function | grep par_)
compgen -A function | G par_ "$@" | LC_ALL=C sort |
parallel --timeout 10000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'

View file

@ -564,24 +564,6 @@ par_retries_all_fail() {
parallel -k -j0 --retries 2 --timeout 0.1 'echo {}; sleep {}; false' 2>/dev/null parallel -k -j0 --retries 2 --timeout 0.1 'echo {}; sleep {}; false' 2>/dev/null
} }
par_sockets_cores_threads() {
echo '### Test --number-of-sockets/cores/threads'
unset PARALLEL_CPUINFO
unset PARALLEL_LSCPU
parallel --number-of-sockets
parallel --number-of-cores
parallel --number-of-threads
parallel --number-of-cpus
echo '### Test --use-sockets-instead-of-threads'
(seq 1 4 |
stdout parallel --use-sockets-instead-of-threads -j100% sleep) &&
echo sockets done &
(seq 1 4 | stdout parallel -j100% sleep) && echo threads done &
wait
echo 'Threads should complete first on machines with less than 8 sockets'
}
par_long_line_remote() { par_long_line_remote() {
echo '### Deal with long command lines on remote servers' echo '### Deal with long command lines on remote servers'
perl -e "print(((\"'\"x5000).\"\\n\")x6)" | perl -e "print(((\"'\"x5000).\"\\n\")x6)" |

View file

@ -8,14 +8,6 @@
# Each should be taking 1-3s and be possible to run in parallel # Each should be taking 1-3s and be possible to run in parallel
# I.e.: No race conditions, no logins # I.e.: No race conditions, no logins
par_progress() {
(
parallel --progress --use-sockets-instead-of-threads true ::: a b c
parallel --progress --use-cores-instead-of-threads true ::: a b c
parallel --progress --use-cpus-instead-of-cores true ::: a b c
) 2>&1 | perl -pe 's/.*\r//; s/\d.\ds/9.9s/'
}
par_citation_no_config_dir() { par_citation_no_config_dir() {
echo '### bug #64329: parallel --citation will loop forever unless the config dir exists' echo '### bug #64329: parallel --citation will loop forever unless the config dir exists'
t=$(mktemp -d) t=$(mktemp -d)

View file

@ -1648,73 +1648,7 @@ _EOF
} }
par_environment_too_big_ash() { par_environment_too_big_ash() {
myscript=$(cat <<'_EOF' echo moved to hwdep1.sh
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=53
len_var_remote=37
len_var_quote=31
len_var_quote_remote=21
len_fun=1
len_fun_remote=1
len_fun_quote=1
len_fun_quote_remote=1
. `which env_parallel.ash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in ash
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh ash@lo "$myscript"
} }
par_environment_too_big_bash() { par_environment_too_big_bash() {
@ -1793,73 +1727,7 @@ par_environment_too_big_csh() {
} }
par_environment_too_big_dash() { par_environment_too_big_dash() {
myscript=$(cat <<'_EOF' echo moved to hwdep1.sh
echo 'bug #50815: env_parallel should warn if the environment is too big'
len_var=53
len_var_remote=37
len_var_quote=31
len_var_quote_remote=21
len_fun=1
len_fun_remote=1
len_fun_quote=1
len_fun_quote_remote=1
. `which env_parallel.dash`;
repeat() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail - functions not supported in dash
bigvar=$(repeat x $len_var+10)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat \" $len_var_quote+10)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat \" $len_var_quote_remote+10)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat x $len_fun+10)"'"; };'
env_parallel echo ::: fail_bigfunc-not-supported
eval 'bigfunc() { a="'"$(repeat x $len_fun_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote+10)"'"; };'
env_parallel echo ::: fail_bigfunc_quote-not-supported
eval 'bigfunc() { a="'"$(repeat \" $len_fun_quote_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote-not-supported
bigfunc() { true; }
_EOF
)
ssh dash@lo "$myscript"
} }
par_environment_too_big_fish() { par_environment_too_big_fish() {
@ -2085,78 +1953,7 @@ par_environment_too_big_tcsh() {
} }
par_environment_too_big_zsh() { par_environment_too_big_zsh() {
myscript=$(cat <<'_EOF' echo moved to hwdep1.sh
echo 'bug #50815: env_parallel should warn if the environment is too big'
# Zsh's default env is often too big. Remove all _* functions.
print -l ${(k)functions}|grep ^_ | while read a; do unset -f "$a"; done
. `which env_parallel.zsh`;
len_var=16
len_var_remote=$len_var-15
len_var_quote=$len_var
len_var_quote_remote=$len_var-15
len_fun=18
len_fun_remote=$len_fun-10
len_fun_quote=$len_fun
len_fun_quote_remote=$len_fun-10
repeat_() {
# Repeat input string n*1000 times
perl -e 'print ((shift)x(eval "1000*(".shift.")"))' "$@"
}
bigvar=$(repeat_ x $len_var)
env_parallel echo ::: OK_bigvar
bigvar=$(repeat_ x $len_var_remote)
env_parallel -S lo echo ::: OK_bigvar_remote
bigvar=$(repeat_ \" $len_var_quote)
env_parallel echo ::: OK_bigvar_quote
bigvar=$(repeat_ \" $len_var_quote_remote)
env_parallel -S lo echo ::: OK_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat_ x $len_fun)"'"; };'
env_parallel echo ::: OK_bigfunc
eval 'bigfunc() { a="'"$(repeat_ x $len_fun_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote)"'"; };'
env_parallel echo ::: OK_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote_remote)"'"; };'
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
bigfunc() { true; }
echo Rest should fail
# Add 10 or 100. It differs a bit from system to system
bigvar=$(repeat_ x $len_var+20)
env_parallel echo ::: fail_bigvar
bigvar=$(repeat_ x $len_var_remote+10)
env_parallel -S lo echo ::: fail_bigvar_remote
bigvar=$(repeat_ \" $len_var_quote+20)
env_parallel echo ::: fail_bigvar_quote
bigvar=$(repeat_ \" $len_var_quote_remote+20)
env_parallel -S lo echo ::: fail_bigvar_quote_remote
bigvar=u
eval 'bigfunc() { a="'"$(repeat_ x $len_fun+20)"'"; };'
env_parallel echo ::: fail_bigfunc
eval 'bigfunc() { a="'"$(repeat_ x $len_fun_remote+20)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_remote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote+20)"'"; };'
env_parallel echo ::: fail_bigfunc_quote
eval 'bigfunc() { a="'"$(repeat_ \" $len_fun_quote_remote+10)"'"; };'
env_parallel -S lo echo ::: fail_bigfunc_quote_remote
bigfunc() { true; }
_EOF
)
ssh zsh@lo "$myscript"
} }
par_parset_ash() { par_parset_ash() {

View file

@ -192,10 +192,10 @@ par_no_route_to_host() {
export -f findhosts export -f findhosts
export -f filterhosts export -f filterhosts
# Run this in the background # Run this in the background
nice tmux new-session -d -s filterhosts$$-$RANDOM -c ' nice tmux new-session -d -s filterhosts$$-$RANDOM -c 'findhosts |
findhosts | filterhosts | filterhosts | filterhosts | filterhosts | filterhosts | filterhosts |
filterhosts | filterhosts | head > /tmp/filtered.$$ filterhosts | filterhosts | head > /tmp/filtered.$$
mv /tmp/filtered.$$ /tmp/filtered.hosts mv /tmp/filtered.$$ /tmp/filtered.hosts
' & ' &
) & ) &
( (

View file

@ -1,6 +1,10 @@
# -*- mode: ruby -*- # -*- mode: ruby -*-
# vi: set ft=ruby : # vi: set ft=ruby :
# SPDX-FileCopyrightText: 2023 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# All Vagrant configuration is done below. The "2" in Vagrant.configure # All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for # configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what # backwards compatibility). Please don't change it unless you know what

View file

@ -0,0 +1,73 @@
par__environment_too_big_ash bug #50815: env_parallel should warn if the environment is too big
par__environment_too_big_ash OK_bigvar
par__environment_too_big_ash OK_bigvar_remote
par__environment_too_big_ash OK_bigvar_quote
par__environment_too_big_ash OK_bigvar_quote_remote
par__environment_too_big_ash OK_bigfunc
par__environment_too_big_ash OK_bigfunc_remote
par__environment_too_big_ash OK_bigfunc_quote
par__environment_too_big_ash OK_bigfunc_quote_remote
par__environment_too_big_ash Rest should fail - functions not supported in ash
par__environment_too_big_ash parallel: Error: Command line too long (82690 >= 63997) at input 0: fail_bigvar_quote
par__environment_too_big_ash parallel: Error: Command line too long (83596 >= 63997) at input 0: fail_bigvar_quote_remote
par__environment_too_big_ash fail_bigfunc-not-supported
par__environment_too_big_ash fail_bigfunc_remote-not-supported
par__environment_too_big_ash fail_bigfunc_quote-not-supported
par__environment_too_big_dash bug #50815: env_parallel should warn if the environment is too big
par__environment_too_big_dash OK_bigvar
par__environment_too_big_dash OK_bigvar_remote
par__environment_too_big_dash OK_bigvar_quote
par__environment_too_big_dash OK_bigvar_quote_remote
par__environment_too_big_dash OK_bigfunc
par__environment_too_big_dash OK_bigfunc_remote
par__environment_too_big_dash OK_bigfunc_quote
par__environment_too_big_dash OK_bigfunc_quote_remote
par__environment_too_big_dash Rest should fail - functions not supported in dash
par__environment_too_big_dash parallel: Error: Command line too long (82695 >= 63997) at input 0: fail_bigvar_quote
par__environment_too_big_dash parallel: Error: Command line too long (83602 >= 63997) at input 0: fail_bigvar_quote_remote
par__environment_too_big_dash fail_bigfunc-not-supported
par__environment_too_big_dash fail_bigfunc_remote-not-supported
par__environment_too_big_dash fail_bigfunc_quote-not-supported
par__environment_too_big_zsh bug #50815: env_parallel should warn if the environment is too big
par__environment_too_big_zsh OK_bigvar
par__environment_too_big_zsh OK_bigvar_remote
par__environment_too_big_zsh OK_bigvar_quote
par__environment_too_big_zsh OK_bigvar_quote_remote
par__environment_too_big_zsh OK_bigfunc
par__environment_too_big_zsh OK_bigfunc_remote
par__environment_too_big_zsh OK_bigfunc_quote
par__environment_too_big_zsh OK_bigfunc_quote_remote
par__environment_too_big_zsh Rest should fail
par__environment_too_big_zsh parallel: Error: Command line too long (63879 >= 63011) at input 0: fail_bigvar
par__environment_too_big_zsh parallel: Error: Command line too long (63887 >= 63011) at input 0: fail_bigvar_quote
par__environment_too_big_zsh parallel: Error: Command line too long (65192 >= 63011) at input 0: fail_bigvar_quote_remote
par__environment_too_big_zsh parallel: Error: Command line too long (65882 >= 63011) at input 0: fail_bigfunc
par__environment_too_big_zsh parallel: Error: Command line too long (74518 >= 63011) at input 0: fail_bigfunc_remote
par__environment_too_big_zsh parallel: Error: Command line too long (65888 >= 63011) at input 0: fail_bigfunc_quote
par__sockets_cores_threads ### Test --number-of-sockets/cores/threads
par__sockets_cores_threads 1
par__sockets_cores_threads 4
par__sockets_cores_threads 8
par__sockets_cores_threads 4
par__sockets_cores_threads ### Test --use-sockets-instead-of-threads
par__sockets_cores_threads threads done
par__sockets_cores_threads sockets done
par__sockets_cores_threads Threads should complete first on machines with less than 8 sockets
par_progress
par_progress Computers / CPU sockets / Max jobs to run
par_progress 1:local / 1 / 1
par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s 
par_progress
par_progress Computers / CPU cores / Max jobs to run
par_progress 1:local / 4 / 4
par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s 
par_progress
par_progress Computers / CPU threads / Max jobs to run
par_progress 1:local / 8 / 8
par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s 

View file

@ -1156,15 +1156,6 @@ par_shellquote csh \\\\\\\\ "\
par_shellquote csh "\ \ \ par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ par_shellquote csh "\ \ \ par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh \\\\\\\\ "\
par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ par_shellquote tcsh "\ \ \ par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_sockets_cores_threads ### Test --number-of-sockets/cores/threads
par_sockets_cores_threads 1
par_sockets_cores_threads 2
par_sockets_cores_threads 4
par_sockets_cores_threads 2
par_sockets_cores_threads ### Test --use-sockets-instead-of-threads
par_sockets_cores_threads threads done
par_sockets_cores_threads sockets done
par_sockets_cores_threads Threads should complete first on machines with less than 8 sockets
par_tee_too_many_args ### Fail if there are more arguments than --jobs par_tee_too_many_args ### Fail if there are more arguments than --jobs
par_tee_too_many_args 1 1 par_tee_too_many_args 1 1
par_tee_too_many_args 1 10 par_tee_too_many_args 1 10

View file

@ -415,24 +415,6 @@ par_profiles_with_space /bin/bash=/bin/bash
par_profiles_with_space echo '/bin/bash=/bin/bash' par_profiles_with_space echo '/bin/bash=/bin/bash'
par_profiles_with_space /bin/bash=/bin/bash par_profiles_with_space /bin/bash=/bin/bash
par_profiles_with_space With script in $PARALLEL /bin/bash=/TMP par_profiles_with_space With script in $PARALLEL /bin/bash=/TMP
par_progress
par_progress Computers / CPU sockets / Max jobs to run
par_progress 1:local / 1 / 1
par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s 
par_progress
par_progress Computers / CPU cores / Max jobs to run
par_progress 1:local / 2 / 2
par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s 
par_progress
par_progress Computers / CPU threads / Max jobs to run
par_progress 1:local / 4 / 4
par_progress
par_progress Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
par_progress local:0/3/100%/9.9s 
par_pxz_complains bug #44250: pxz complains File format not recognized but decompresses anyway par_pxz_complains bug #44250: pxz complains File format not recognized but decompresses anyway
par_pxz_complains ls: cannot access '/OK-if-missing-file': No such file or directory par_pxz_complains ls: cannot access '/OK-if-missing-file': No such file or directory
par_pxz_complains can not seek in input: Illegal seek par_pxz_complains can not seek in input: Illegal seek

View file

@ -1737,24 +1737,7 @@ par_env_parallel_zsh bug #50435: Remote fifo broke in 20150522
par_env_parallel_zsh bug #52534: Tail of multiline alias is ignored par_env_parallel_zsh bug #52534: Tail of multiline alias is ignored
par_env_parallel_zsh data from stdin par_env_parallel_zsh data from stdin
par_env_parallel_zsh data from stdin par_env_parallel_zsh data from stdin
par_environment_too_big_ash bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_ash moved to hwdep1.sh
par_environment_too_big_ash OK_bigvar
par_environment_too_big_ash OK_bigvar_remote
par_environment_too_big_ash OK_bigvar_quote
par_environment_too_big_ash OK_bigvar_quote_remote
par_environment_too_big_ash OK_bigfunc
par_environment_too_big_ash OK_bigfunc_remote
par_environment_too_big_ash OK_bigfunc_quote
par_environment_too_big_ash OK_bigfunc_quote_remote
par_environment_too_big_ash Rest should fail - functions not supported in ash
par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_ash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_ash fail_bigfunc-not-supported
par_environment_too_big_ash fail_bigfunc_remote-not-supported
par_environment_too_big_ash fail_bigfunc_quote-not-supported
par_environment_too_big_ash fail_bigfunc_quote_remote-not-supported
par_environment_too_big_bash bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_bash bug #50815: env_parallel should warn if the environment is too big
par_environment_too_big_bash OK_bigvar par_environment_too_big_bash OK_bigvar
par_environment_too_big_bash OK_bigvar_remote par_environment_too_big_bash OK_bigvar_remote
@ -1774,24 +1757,7 @@ par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999)
par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote
par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote_remote par_environment_too_big_bash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote_remote
par_environment_too_big_csh Not implemented par_environment_too_big_csh Not implemented
par_environment_too_big_dash bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_dash moved to hwdep1.sh
par_environment_too_big_dash OK_bigvar
par_environment_too_big_dash OK_bigvar_remote
par_environment_too_big_dash OK_bigvar_quote
par_environment_too_big_dash OK_bigvar_quote_remote
par_environment_too_big_dash OK_bigfunc
par_environment_too_big_dash OK_bigfunc_remote
par_environment_too_big_dash OK_bigfunc_quote
par_environment_too_big_dash OK_bigfunc_quote_remote
par_environment_too_big_dash Rest should fail - functions not supported in dash
par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_dash parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_dash fail_bigfunc-not-supported
par_environment_too_big_dash fail_bigfunc_remote-not-supported
par_environment_too_big_dash fail_bigfunc_quote-not-supported
par_environment_too_big_dash fail_bigfunc_quote_remote-not-supported
par_environment_too_big_fish Not implemented par_environment_too_big_fish Not implemented
par_environment_too_big_ksh bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_ksh bug #50815: env_parallel should warn if the environment is too big
par_environment_too_big_ksh OK_bigvar par_environment_too_big_ksh OK_bigvar
@ -1848,24 +1814,7 @@ par_environment_too_big_sh fail_bigfunc_remote-not-supported
par_environment_too_big_sh fail_bigfunc_quote-not-supported par_environment_too_big_sh fail_bigfunc_quote-not-supported
par_environment_too_big_sh fail_bigfunc_quote_remote-not-supported par_environment_too_big_sh fail_bigfunc_quote_remote-not-supported
par_environment_too_big_tcsh Not implemented par_environment_too_big_tcsh Not implemented
par_environment_too_big_zsh bug #50815: env_parallel should warn if the environment is too big par_environment_too_big_zsh moved to hwdep1.sh
par_environment_too_big_zsh OK_bigvar
par_environment_too_big_zsh OK_bigvar_remote
par_environment_too_big_zsh OK_bigvar_quote
par_environment_too_big_zsh OK_bigvar_quote_remote
par_environment_too_big_zsh OK_bigfunc
par_environment_too_big_zsh OK_bigfunc_remote
par_environment_too_big_zsh OK_bigfunc_quote
par_environment_too_big_zsh OK_bigfunc_quote_remote
par_environment_too_big_zsh Rest should fail
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_remote
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigvar_quote_remote
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_remote
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote
par_environment_too_big_zsh parallel: Error: Command line too long (999 >= 999) at input 0: fail_bigfunc_quote_remote
par_funky_ash par_funky_ash
par_funky_ash ' ' par_funky_ash ' '
par_funky_ash ' par_funky_ash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7F>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ' par_funky_ash ' par_funky_ash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7F>ƒ„…†‡ˆ‰ŠŒ<E280B9>Ž<EFBFBD><C5BD>“”•˜™šœ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'

View file

@ -34,7 +34,6 @@ par_path_remote_csh StArT
par_path_remote_csh CSH Path before: /bin:/usr/bin with no parallel par_path_remote_csh CSH Path before: /bin:/usr/bin with no parallel
par_path_remote_csh parallel: Command not found. par_path_remote_csh parallel: Command not found.
par_path_remote_csh ^^^^^^^^ Not found is OK par_path_remote_csh ^^^^^^^^ Not found is OK
par_path_remote_csh parallel: Warning: Could not figure out number of cpus on lo (). Using 1.
par_path_remote_csh /bin:/usr/bin:/tmp OK par_path_remote_csh /bin:/usr/bin:/tmp OK
par_path_remote_csh Done par_path_remote_csh Done
par_retries_1 ### Test of --retries - it should run 13 jobs in total par_retries_1 ### Test of --retries - it should run 13 jobs in total