diff --git a/subscription-manager-rpmlintrc b/subscription-manager-rpmlintrc new file mode 100644 index 0000000..979a012 --- /dev/null +++ b/subscription-manager-rpmlintrc @@ -0,0 +1,6 @@ +# This seems ok to me +addFilter('invalid-url') + +# Ignore failing suse specific checks +setBadness("suse-dbus-unauthorized-service", 0) +setBadness("polkit-unauthorized-privilege", 0) diff --git a/tests/smoke/smoke.sh b/tests/smoke/smoke.sh new file mode 100755 index 0000000..e079638 --- /dev/null +++ b/tests/smoke/smoke.sh @@ -0,0 +1,63 @@ +#!/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" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..0160fec --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,21 @@ +--- +- hosts: localhost + tags: + - classic + - atomic + roles: + - role: standard-test-basic + tests: + - smoke: + dir: smoke + run: ./smoke.sh + +- hosts: localhost + tags: + - container + roles: + - role: standard-test-basic + tests: + - smoke: + dir: smoke + run: ./smoke.sh -c