subscription-manager/tests/smoke/smoke.sh

64 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
while getopts ":c" opt; do
case $opt in
c) IN_CONTAINER=true;;
*) IN_CONTAINER=false;;
esac
done
# takes in a command and makes sure that it returns success
# and that nothing is sent to stderr
function smoke {
echo -n "Smoke test: '$@': "
ERROR=$("$@" 2>&1> /dev/null)
RETVAL=$?
if [ -z "$ERROR" ] && [[ $RETVAL == 0 ]]; then
echo "PASS"
else
echo "FAIL"
echo "RETVAL: $RETVAL"
echo "STDERR: $ERROR"
exit 1
fi
}
function smoke_container {
echo -n "Smoke Container test: '$@': "
ERROR=$("$@" 2>&1> /dev/null)
RETVAL=$?
if [[ ! -z "$ERROR" ]] && [[ $RETVAL == 78 ]]; then
echo "PASS"
else
echo "FAIL"
echo "RETVAL: $RETVAL"
echo "STDERR: $ERROR"
exit 1
fi
}
SMOKE_CMDS="subscription-manager --help
subscription-manager config
subscription-manager facts
subscription-manager list
subscription-manager repos
subscription-manager version"
if [[ "$IN_CONTAINER" == "true" ]]; then
TEST_CMD="smoke_container"
SMOKE_CMDS="subscription-manager config
subscription-manager facts
subscription-manager list
subscription-manager repos
subscription-manager version"
else
TEST_CMD="smoke"
fi
while read -r CMD; do
$TEST_CMD $CMD
done <<<"$SMOKE_CMDS"