iprutils/tests/basic-functionality-test/runtest.sh
DistroBaker 0c115219e5 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/iprutils.git#45139386c6cb5d1e45918e84cff29cd3734ba479
2020-12-16 21:20:32 +00:00

186 lines
9.7 KiB
Bash
Executable File

#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/which/Sanity/basic-functionality-test
# Description: tests basic functionality
# Author: Than Ngo <than@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PACKAGES="iprutils man-db coreutils rpm"
SERVICES="iprdump iprinit iprupdate"
# Include Beaker environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartSetup
for p in $PACKAGES ; do
rlAssertRpm $p
done
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
# test the sercives
rlPhaseStartTest "Services: iprdump, iprinit, iprupdate"
for s in $SERVICES ; do
rlServiceStart $s
rlRun "systemctl status -l $s"
rlServiceStop $s
done
rlPhaseEnd
rlPhaseStartTest "Smoke, sanity and function tests"
rlRun "VERSION=\$( rpm -q --qf '%{VERSION}' iprutils )"
rlRun -s "iprconfig --version" 0 "It ought show the version"
rlAssertGrep "iprconfig: $VERSION" $rlRun_LOG
rlRun "iprconfig -c show-config" 0 "Show ipr configuration"
rlRun "iprconfig -c show-alt-config" 0 "Show alternate ipr configuration information"
rlRun "iprconfig -c show-ioas" 0 "Show all ipr adapters"
rlRun "iprconfig -c show-arrays" 0 "Show all ipr arrays"
# rlRun "iprconfig -c show-battey-info" 0 "Show cache battery information for specified IOA"
# rlRun "iprconfig -c show-details sda" 0 "Show device details for specified device"
rlRun "iprconfig -c show-hot-spares" 0 "Show all configured hot spares"
rlRun "iprconfig -c show-af-disks" 0 "Show disks formatted for Advanced Function that are not configured in an array or as a hot spare"
rlRun "iprconfig -c show-all-af-disks" 0 "Show all disks formatted for Advanced Function"
rlRun "iprconfig -c show-jbod-disks" 0 "Show all disks formatted for JBOD Function"
rlRun "iprconfig -c show-slots" 0 "Show all disks slots available on the system"
# iprconfig -c status /dev/sda || echo FAILED $?
# iprconfig -c alt-status /dev/sda || echo FAILED $?
# iprconfig -c query-aid-ceate || echo FAILED $?
# iprconfig -c query-aid-delete || echo FAILED $?
# iprconfig -c query-hot-spae-ceate || echo FAILED $?
# iprconfig -c query-hot-spae-delete || echo FAILED $?
rlRun "iprconfig -c query-raid-consistency-check" 0 "Show all RAID arrays that are candidates for a RAID consistency check"
rlRun "iprconfig -c query-format-for-jbod" 0 "Show all disks that can be reformatted for JBOD function"
rlRun "iprconfig -c query-reclaim" 0 "Show all IOAs that may need a reclaim cache storage"
rlRun "iprconfig -c query-arrays-raid-include" 0 "Show all RAID arrays that can have disks included in them to increase their capacity"
# iprconfig -c query-devices-aid-include || echo FAILED $?
# iprconfig -c query-suppoted-aid-levels || echo FAILED $?
# iprconfig -c query-include-allowed || echo FAILED $?
# iprconfig -c query-max-devices-in-aay || echo FAILED $?
# iprconfig -c query-min-devices-in-aay || echo FAILED $?
# iprconfig -c quey-min-mult-in-aay || echo FAILED $?
# iprconfig -c quey-supp-stipe-sizes || echo FAILED $?
# iprconfig -c query-ecommended-stipe-size || echo FAILED $?
rlRun "iprconfig -c query-recovery-format" 0 "Show all disks that can be formatted for error recovery purposes"
rlRun "iprconfig -c query-raid-rebuild" 0 "Show all disks in RAID arrays that can be rebuilt"
rlRun "iprconfig -c query-format-for-raid" 0 "Show all disks that can be formatted such that they can be used in a RAID array or as a hot spare"
# iprconfig -c query-ucode-level || echo FAILED $?
# iprconfig -c ssd-report || echo FAILED $?
rlRun "iprconfig -c show-ucode-levels" 0 "Show the microcode level that is currently loaded for every device and adapter in the system"
# iprconfig -c query-format-timeout || echo FAILED $?
# iprconfig -c query-qdepth || echo FAILED $?
# iprconfig -c query-tcq-enable || echo FAILED $?
# iprconfig -c query-log-level || echo FAILED $?
rlRun "iprconfig -c query-add-device" 0 "Show all empty disk slots that can have a disk concurrently added"
rlRun "iprconfig -c query-remove-device" 0 "Show all disk slots which are either empty or have disks in them which can be concurrently removed from the running system"
# iprconfig -c query-initiator-id || echo FAILED $?
# iprconfig -c query-bus-speed || echo FAILED $?
# iprconfig -c query-bus-width || echo FAILED $?
rlRun "iprconfig -c query-path-status" 0 "Show the current dual path state for the SAS devices attached specified IOA"
# iprconfig -c query-path-details || echo FAILED $?
# iprconfig -c query-arrays-raid-migrate || echo FAILED $?
# iprconfig -c query-devices-raid-migrate || echo FAILED $?
# iprconfig -c query-raid-levels-raid-migrate || echo FAILED $?
# iprconfig -c query-stripe-sizes-raid-migrate || echo FAILED $?
# iprconfig -c query-devices-min-max-raid-migrate || echo FAILED $?
rlRun "iprconfig -c query-ioas-asymmetric-access" 0 "Show the IOAs that support asymmetric access"
rlRun "iprconfig -c query-arrays-asymmetric-access" 0 "Show the disk arrays that are candidates for setting their asymmetric access mode to Optimized or Non-Optimized"
# iprconfig -c query-ioa-asymmetric-access-mode || echo FAILED $?
# iprconfig -c query-aay-asymmetric-access-mode || echo FAILED $?
# iprconfig -c query-ioa-caching || echo FAILED $?
# iprconfig -c query-array-label || echo FAILED $?
# iprconfig -c query-array-rebuild-rate || echo FAILED $?
# iprconfig -c query-array-rebuild-verify || echo FAILED $?
# iprconfig -c query-array || echo FAILED $?
# iprconfig -c query-device || echo FAILED $?
# iprconfig -c query-location || echo FAILED $?
# iprconfig -c query-write-cache-policy || echo FAILED $?
# iprconfig -c raid-create || echo FAILED $?
# iprconfig -c raid-delete || echo FAILED $?
# iprconfig -c raid-include || echo FAILED $?
# iprconfig -c raid-migrate || echo FAILED $?
# iprconfig -c format-for-raid || echo FAILED $?
# iprconfig -c format-for-jbod || echo FAILED $?
# iprconfig -c recovey-format || echo FAILED $?
# iprconfig -c hot-spare-create || echo FAILED $?
# iprconfig -c hot-spare-delete || echo FAILED $?
# iprconfig -c disrupt-device || echo FAILED $?
# iprconfig -c reclaim-cache || echo FAILED $?
# iprconfig -c reclaim-unknown-cache || echo FAILED $?
# iprconfig -c raid-consistency-check || echo FAILED $?
# iprconfig -c raid-rebuild || echo FAILED $?
# iprconfig -c update-ucode || echo FAILED $?
rlRun "iprconfig -c update-all-ucodes" 0 "Update the microcode of every device with the latest version found in the system"
# iprconfig -c set-format-timeout || echo FAILED $?
# iprconfig -c set-qdepth || echo FAILED $?
# iprconfig -c set-tcq-enable || echo FAILED $?
# iprconfig -c set-log-level || echo FAILED $?
# iprconfig -c set-write-cache-policy || echo FAILED $?
# iprconfig -c identify-disk || echo FAILED $?
# iprconfig -c identify-slot || echo FAILED $?
# iprconfig -c remove-disk || echo FAILED $?
# iprconfig -c remove-slot || echo FAILED $?
# iprconfig -c add-slot || echo FAILED $?
# iprconfig -c set-initiator-id || echo FAILED $?
# iprconfig -c set-bus-speed || echo FAILED $?
# iprconfig -c set-bus-width || echo FAILED $?
# iprconfig -c primary || echo FAILED $?
# iprconfig -c secondary || echo FAILED $?
rlRun "iprconfig -c set-all-primary" 0 "Set all attached ipr adapters as the preferred primary adapter"
rlRun "iprconfig -c set-all-secondary" 0 "Set all attached ipr adapters to indicate they are not the preferred primary adapter"
# iprconfig -c query-ha-mode || echo FAILED $?
# iprconfig -c set-ha-mode || echo FAILED $?
# iprconfig -c set-aay-asymmetic-access-mode || echo FAILED $?
# iprconfig -c set-ioa-asymmetric-access-mode || echo FAILED $?
# iprconfig -c set-ioa-caching || echo FAILED $?
# iprconfig -c set-array-rebuild-verify || echo FAILED $?
# iprconfig -c set-array-rebuild-rate || echo FAILED $?
# iprconfig -c get-live-dump || echo FAILED $?
rlRun "iprconfig -c dump" 0 "Display detailed hardware and system information on standard output"
# should not segfault
rlRun -s "iprdump --version" 0 "Print iprdump version"
rlAssertGrep "iprdump: $VERSION" $rlRun_LOG
rlRun -s "iprinit --version" 0 "Print iprinit version"
rlAssertGrep "iprinit: $VERSION" $rlRun_LOG
# iprsos --version
rlRun -s "iprupdate --version" 0 "Print iprupdate version"
rlAssertGrep "iprupdate: $VERSION" $rlRun_LOG
# check man page
for m in iprconfig iprdbg iprdump iprinit iprsos iprupdate ; do
rlRun "man -P head $m" 0 "Show the $m man page"
done
# check for sane license and readme file
rlRun "head /usr/share/licenses/iputils/LICENSE" 0 "Check for license file"
rlRun "head /usr/share/doc/iputils/README" 0 "Check for README file"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -fr $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd