mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-24 15:07:55 +00:00
81 lines
2.8 KiB
Bash
81 lines
2.8 KiB
Bash
#!/bin/bash
|
|
|
|
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
|
|
#
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
start_centos3() {
|
|
stdout ping -w 1 -c 1 centos3 >/dev/null || (
|
|
# Vagrant does not set the IP addr
|
|
pwd=$(pwd)
|
|
# If not run in dir parallel/testsuite: set testsuitedir to path of testsuite
|
|
testsuitedir=${testsuitedir:-$pwd}
|
|
cd "$testsuitedir"
|
|
cd testsuite/vagrant/tange/centos3/ 2>/dev/null
|
|
cd vagrant/tange/centos3/ 2>/dev/null
|
|
cd ../vagrant/tange/centos3/ 2>/dev/null
|
|
vagrantssh() {
|
|
port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile)
|
|
w4it-for-port-open localhost $port
|
|
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \
|
|
-oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
|
|
-oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" |
|
|
# Ignore empty ^M line
|
|
grep ..
|
|
}
|
|
(
|
|
stdout vagrant up >/dev/null
|
|
vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3'
|
|
) &
|
|
)
|
|
}
|
|
start_centos3
|
|
|
|
stdout parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up)' ::: rhel8 centos3 |
|
|
grep -v 'default' | grep -v '==>' | grep -E '^$' &
|
|
|
|
wssh vagrant@rhel8 true
|
|
wssh vagrant@centos3 true
|
|
|
|
par_warning_on_centos3() {
|
|
echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error"
|
|
testone() {
|
|
sshlogin="$1"
|
|
program="$2"
|
|
basename="$3"
|
|
scp "$program" "$sshlogin":/tmp/"$basename"
|
|
stdout ssh "$sshlogin" perl /tmp/"$basename" echo \
|
|
::: Old_must_fail_New_must_be_OK
|
|
}
|
|
export -f testone
|
|
parallel --tag -k testone {1} {2} {2/} \
|
|
::: vagrant@centos3 vagrant@rhel8 \
|
|
::: /usr/local/bin/parallel-20120822 `which parallel`
|
|
}
|
|
|
|
export -f $(compgen -A function | grep par_)
|
|
compgen -A function | grep par_ | LC_ALL=C sort |
|
|
parallel --timeout 1000% -j6 --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1' |
|
|
perl -pe 's:/usr/bin:/bin:g;'
|
|
|
|
(
|
|
pwd=$(pwd)
|
|
# If not run in dir parallel/testsuite: set testsuitedir to path of testsuite
|
|
testsuitedir=${testsuitedir:-$pwd}
|
|
cd "$testsuitedir"
|
|
cd vagrant/tange/centos3/
|
|
stdout vagrant suspend |
|
|
grep -v '==> default: Saving VM state' |
|
|
grep -v 'An action .suspend. was attempted on the machine .default.,' |
|
|
grep -v 'but another process is already executing an action on the machine.' |
|
|
grep -v 'Vagrant locks each machine for access by only one process at a time.' |
|
|
grep -v 'Please wait until the other Vagrant process finishes modifying this' |
|
|
grep -v 'machine, then try again.' |
|
|
grep -v 'If you believe this message is in error, please check the process' |
|
|
grep -v 'listing for any "ruby" or "vagrant" processes and kill them. Then' |
|
|
grep -v 'try again.' |
|
|
grep -v 'A new version of Vagrant is available:' |
|
|
grep -v 'To upgrade visit: ' |
|
|
grep .
|
|
)
|