From 929538a087d616bf04503bd9144f1e0e58e8f1cf Mon Sep 17 00:00:00 2001 From: Honggang Li Date: Jul 27 2021 04:37:31 +0000 Subject: Add gating test Resolves: rhbz#1858570 Signed-off-by: Honggang Li --- diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..9d4695d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100755 index 0000000..11017ab --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# when running this in 1minutetip the PATH must be specified to execute +# in the local directory. +echo "Setting path to local directory" +PATH=$PATH:$(pwd) + +# simple sanity test +sanity.sh +exit $? diff --git a/tests/sanity.sh b/tests/sanity.sh new file mode 100755 index 0000000..69d1cea --- /dev/null +++ b/tests/sanity.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# +# This is a simple sanity test to satisfy the RHEL8.1 onboard gating +# requirement. + +ret=0 +cx2="ConnectX VPI PCIe 2.0" +cx3="[ConnectX-3]" +device_list=$(lspci | grep 'Mellanox' | grep -v 'Virtual' | grep -v 'DMA controller' | awk '{print $1}') + +# Skip loop if device list is empty +[[ -z "${dev// }" ]] || for dev in "$device_list"; do + # View Device Info + + lspci -vvv -s "$dev" + dev_name=$(lspci -s "$dev") + + # Test Mstflint Tools + + mstflint -d "$dev" q + let ret=$ret+$? + + # mstconfig does not support < 4th Gen devices (e.g. ConnectX-2) + if [[ "$dev_name" != *"$cx2"* ]]; then + mstconfig -d "${dev}" q + let ret=$ret+$? + fi + + mstvpd "$dev" 2>/dev/null + let ret=$ret+$? + + mstregdump "$dev" >/dev/null + let ret=$ret+$? + + # mstfwmanager/mstfwreset do not support ConnectX-2 or ConnectX-3 + if [[ "$dev_name" != *"$cx2"* && "$dev_name" != *"$cx3"* ]]; then + mstfwmanager -d "$dev" --query + let ret=$ret+$? + + mstfwreset -d "$dev" q + let ret=$ret+$? + fi +done + +# end test - it is possible no Mellanox devices were available at all to test, +# in which case we automatically mark the test PASS (exit 0) +exit $ret diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..724d05a --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + tests: + - simple: + dir: . + run: ./run_tests.sh + required_packages: + - pciutils + - mstflint