Add basic tier0 smoke tests

Copied from c9s.
This commit is contained in:
Pino Toscano 2024-06-12 13:54:43 +02:00
parent 74c34f42e9
commit 08f0717219
3 changed files with 89 additions and 0 deletions

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: rhsmci.brew-build.tier1.functional}

61
tests/smoke/smoke.sh Executable file
View File

@ -0,0 +1,61 @@
#!/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 repos
subscription-manager version"
if [[ "$IN_CONTAINER" == "true" ]]; then
TEST_CMD="smoke_container"
SMOKE_CMDS="subscription-manager config
subscription-manager facts
subscription-manager repos
subscription-manager version"
else
TEST_CMD="smoke"
fi
while read -r CMD; do
$TEST_CMD $CMD
done <<<"$SMOKE_CMDS"

21
tests/tests.yml Normal file
View File

@ -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