Use path based SHELL in Makefiles. It was suggested that this is a better solution for make for cases when there is no /usr/bin/env. See: https://github.com/purpleidea/mgmt/pull/694#discussion_r1015596204
36 lines
812 B
Bash
Executable File
36 lines
812 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
. "$(dirname "$0")/../util.sh"
|
|
|
|
set -o errexit
|
|
set -o pipefail
|
|
|
|
if ! ifconfig lo | grep 'inet6 ::1' >/dev/null; then
|
|
echo "No IPv6, skipping test"
|
|
exit 0
|
|
fi
|
|
|
|
if in_env github; then
|
|
# TODO: consider debugging this
|
|
echo "This is failing in github, skipping test!"
|
|
exit
|
|
fi
|
|
|
|
tmpdir="$($mktemp --tmpdir -d tmp.XXX)"
|
|
|
|
# run empty graph listing only to IPv6 addresses
|
|
$TIMEOUT "$MGMT" run --client-urls "http://[::1]:2379" --server-urls "http://[::1]:2380" --tmp-prefix empty &
|
|
pid=$!
|
|
|
|
# kill server on error/exit
|
|
trap 'pkill -9 mgmt' EXIT
|
|
|
|
# give mgmt a little time to startup
|
|
sleep 10s
|
|
|
|
# mgmt configured for ipv6 only should not listen on any IPv4 ports
|
|
lsof -Pn -p "$pid" -a -i | grep '127.0.0.1' && false
|
|
|
|
# instead it should listen on IPv6
|
|
lsof -Pn -p "$pid" -a -i | grep '::1' || false
|