summaryrefslogtreecommitdiffstats
path: root/check-system-settings
diff options
context:
space:
mode:
authorMike Gahagan <mgahagan@redhat.com>2017-10-04 15:15:53 -0400
committerMike Gahagan <mgahagan@redhat.com>2017-10-04 15:15:53 -0400
commita9f8ddc13d87f2ea7c5685c417a3e427f889d575 (patch)
treee7b566dcd8d4622bd0ae7e47ddf475cf1df4e24c /check-system-settings
downloadtuned-a9f8ddc13d87f2ea7c5685c417a3e427f889d575.tar.gz
tuned-a9f8ddc13d87f2ea7c5685c417a3e427f889d575.tar.xz
tuned-a9f8ddc13d87f2ea7c5685c417a3e427f889d575.zip
Initial checkin of tuned tests (need library/base to be ported before these will work)
Diffstat (limited to 'check-system-settings')
-rw-r--r--check-system-settings/Makefile64
-rw-r--r--check-system-settings/PURPOSE3
-rwxr-xr-xcheck-system-settings/runtest.sh90
3 files changed, 157 insertions, 0 deletions
diff --git a/check-system-settings/Makefile b/check-system-settings/Makefile
new file mode 100644
index 0000000..747037b
--- /dev/null
+++ b/check-system-settings/Makefile
@@ -0,0 +1,64 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/tuned/check-system-settings
+# Description: Verify command which checks whether current system settings correspond to the set profile.
+# Author: Tereza Cerna <tcerna@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2015 Red Hat, Inc.
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 2 of
+# the License, or (at your option) any later version.
+#
+# 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, see http://www.gnu.org/licenses/.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/tuned/check-system-settings
+export TESTVERSION=1.1
+
+BUILT_FILES=
+
+FILES=$(METADATA) runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ test -x runtest.sh || chmod a+x runtest.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Tereza Cerna <tcerna@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: Verify command which checks whether current system settings correspond to the set profile." >> $(METADATA)
+ @echo "Type: Sanity" >> $(METADATA)
+ @echo "TestTime: 10m" >> $(METADATA)
+ @echo "RunFor: tuned" >> $(METADATA)
+ @echo "Requires: tuned" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2+" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+ @echo "Bug: 1212836 1243807" >> $(METADATA)
+ @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/check-system-settings/PURPOSE b/check-system-settings/PURPOSE
new file mode 100644
index 0000000..6a46619
--- /dev/null
+++ b/check-system-settings/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/tuned/check-system-settings
+Description: Verify command which checks whether current system settings correspond to the set profile.
+Author: Tereza Cerna <tcerna@redhat.com>
diff --git a/check-system-settings/runtest.sh b/check-system-settings/runtest.sh
new file mode 100755
index 0000000..6662d42
--- /dev/null
+++ b/check-system-settings/runtest.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/tuned/check-system-settings
+# Description: Verify command which checks whether current system settings correspond to the set profile.
+# Author: Tereza Cerna <tcerna@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2015 Red Hat, Inc.
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 2 of
+# the License, or (at your option) any later version.
+#
+# 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, see http://www.gnu.org/licenses/.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include Beaker environment
+. /usr/bin/rhts-environment.sh || exit 1
+. /usr/share/beakerlib/beakerlib.sh || exit 1
+
+PACKAGE="tuned"
+red=`tput setaf 1; tput bold;`
+green=`tput setaf 2; tput bold;`
+reset=`tput sgr0`
+
+rlJournalStart
+ rlPhaseStartSetup
+ rlAssertRpm $PACKAGE
+ rlImport "tuned/basic"
+ rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
+ rlRun "pushd $TmpDir"
+ rlServiceStart "tuned"
+ tunedProfileBackup
+ rlPhaseEnd
+
+ rlPhaseStartTest "Verify all profiles."
+ modprobe nf_conntrack
+ cd /usr/lib/tuned
+ for PROFILE in `tuned-adm list | grep "\- " | awk '{ print $2 }'`
+ do
+ rlLog "${green}Actual profile: $PROFILE${reset}"
+ rlRun "tuned-adm profile $PROFILE"
+ sleep 5
+ rlRun "tuned-adm active | grep $PROFILE"
+ echo > /var/log/tuned/tuned.log;
+ rlRun "tuned-adm verify --ignore-missing" 0 "Current system setting corresponds with selected profile $PROFILE."
+ RESULT=$?
+ if [ $RESULT == 0 ]; then
+ echo "${green}---> Verification: PASS <---${reset}"
+ else
+ echo "${red}---> Verification: FAIL <--- ${reset}"
+ fi
+ echo "ERRORS in /var/log/tuned/tuned.log (This errors cannot be problem, only missing HW, etc.):"
+ tput setaf 1;
+ cat /var/log/tuned/tuned.log | grep ERROR
+ tput sgr0
+ echo
+ done
+ cd -
+ rlPhaseEnd
+
+ rlPhaseStartTest "Is error found by tuned-adm verify?"
+ rlRun "service tuned restart"
+ sleep 3
+ rlRun "tuned-adm profile virtual-guest"
+ rlRun "tuned-adm active"
+ rlRun "tuned-adm verify --ignore-missing" 0 "Current system setting corresponds with selected profile $profile."
+ rlRun "sysctl vm.swappiness=77"
+ rlRun "tuned-adm verify --ignore-missing" 1 "Current system setting doens't correspond with selected profile $profile."
+ rlPhaseEnd
+
+ rlPhaseStartCleanup
+ tunedProfileRestore
+ rlServiceRestore "tuned"
+ rlRun "popd"
+ rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
+ rlPhaseEnd
+rlJournalPrintText
+rlJournalEnd