Files
vppcfg/intest/intest.sh

50 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
## NOTE(pim):
## This integration test, while added to the public repository, is meant as an
## internal validation / regression / integration test suite to be run on Hippo
## and Rhino, two reference installs of VPP in IPng Networks. The config files
## here should not be used although they can be a source of config inspiration :)
## Run me:
# ./intest.sh -strict 2>&1 | tee intest.out
rm -f "intest.exec"
STRICT=0
[ $# -ge 1 -a "$1" = "-strict" ] && STRICT=1
for i in hippo[0-9]*.yaml; do
echo "Clearing: Moving to hippo-empty.yaml"
../vppcfg plan -s ../schema.yaml -c hippo-empty.yaml -o /tmp/vppcfg-exec-empty
[ -s /tmp/vppcfg-exec-empty ] && {
cat /tmp/vppcfg-exec-empty >> intest.exec
vppctl exec /tmp/vppcfg-exec-empty
}
for j in hippo[0-9]*.yaml; do
echo " - Moving to $i .. "
../vppcfg plan -s ../schema.yaml -c $i -o /tmp/vppcfg-exec_$i
[ -s /tmp/vppcfg-exec_$i ] && {
cat /tmp/vppcfg-exec_$i >> intest.exec
vppctl exec /tmp/vppcfg-exec_$i
}
echo " - Moving from $i to $j"
../vppcfg plan -s ../schema.yaml -c $j -o /tmp/vppcfg-exec_${i}_${j}
[ -s /tmp/vppcfg-exec_${i}_${j} ] && {
cat /tmp/vppcfg-exec_${i}_${j} >> intest.exec
vppctl exec /tmp/vppcfg-exec_${i}_${j}
}
echo " - Checking that from $j to $j is empty"
../vppcfg plan -s ../schema.yaml -c $j -o /tmp/vppcfg-exec_${j}_${j}_null
[ -s /tmp/vppcfg-exec_${j}_${j}_null ] && {
echo " - ERROR Transition is not empty"
cat /tmp/vppcfg-exec_${j}_${j}_null
[ $STRICT -ne 0 ] && exit 1
}
done
done
exit 0