Blame tests/p_iputils/tracepath_test.sh
Branch: 7b96b981d7c90ea8c492be89108fad8c850c59c6
Christoph Galuschka
fe4cd3
#!/bin/sh
Christoph Galuschka
fe4cd3
# Author : Christoph Galuschka <christoph .galuschka @chello .at >
Christoph Galuschka
fe4cd3
Christoph Galuschka
fe4cd3
TEST =tracepath
Christoph Galuschka
fe4cd3
Christoph Galuschka
fe4cd3
# Testing availability of network
Christoph Galuschka
fe4cd3
if [ $SKIP_QA_HARNESS -eq 1 ]; then
Christoph Galuschka
67e17b
HOST="wiki.centos.org"
Christoph Galuschka
fe4cd3
else
Christoph Galuschka
fe4cd3
HOST="repo.centos.qa"
Christoph Galuschka
fe4cd3
fi
Christoph Galuschka
fe4cd3
Christoph Galuschka
67e17b
t_Log "Running $0 - running ${TEST} to ${HOST} "
Christoph Galuschka
fe4cd3
Christoph Galuschka
67e17b
IP =$(host ${HOST} )
Christoph Galuschka
dea7b2
FILE =/var/tmp/tracepath_result
Christoph Galuschka
6a95e1
ret_val =1
Christoph Galuschka
06f0c0
Christoph Galuschka
06f0c0
defgw =$(ip route list | grep default | cut -d' ' -f3)
Christoph Galuschka
67e17b
Christoph Galuschka
06f0c0
if [[ $IP =~ .*address\ ([0-9.]*) ]]
Christoph Galuschka
fe4cd3
then
Christoph Galuschka
dea7b2
tracepath -n ${HOST} > ${FILE}
Christoph Galuschka
dea7b2
COUNT=$(grep -c ${BASH_REMATCH[1 ]} ${FILE})
Christoph Galuschka
dea7b2
TTL=$(grep -c 'Too many hops' ${FILE})
Christoph Galuschka
06f0c0
GW=$(grep -c ${defgw} ${FILE})
Christoph Galuschka
6a95e1
if ([ $COUNT = 1 ] || [ $COUNT = 2 ])
Christoph Galuschka
06f0c0
then
Christoph Galuschka
67e17b
t_Log "${TEST} reached ${HOST} "
Christoph Galuschka
67e17b
ret_val=0
Christoph Galuschka
6a95e1
elif ([ $COUNT = 0 ] && [ $TTL = 1 ])
Christoph Galuschka
06f0c0
then
Christoph Galuschka
dea7b2
t_Log "${TEST} didn't reach ${HOST} because of too many hops. This is treated as SUCCESS."
Christoph Galuschka
5ca0de
ret_val=0
Christoph Galuschka
06f0c0
elif ([ $COUNT = 0 ] && [ $GW -gt 0 ])
Christoph Galuschka
06f0c0
then
Christoph Galuschka
06f0c0
t_Log "${TEST} didn't reach ${HOST} (maybe because of ACLs on the network), but at least the Default Gateway ${defgw} was reached. Treating as SUCCESS."
Christoph Galuschka
06f0c0
ret_val=0
Christoph Galuschka
6a95e1
else
Christoph Galuschka
6a95e1
t_Log "${TEST} didn't return anything we expect - FAILING"
Christoph Galuschka
6a95e1
ret_val=1
Christoph Galuschka
fe4cd3
fi
Christoph Galuschka
fe4cd3
fi
Christoph Galuschka
fe4cd3
Christoph Galuschka
da2882
/bin/rm ${FILE}
Christoph Galuschka
2b9efa
t_CheckExitStatus $ret_val