summaryrefslogtreecommitdiffstats
path: root/profiles
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 /profiles
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 'profiles')
-rw-r--r--profiles/Makefile66
-rw-r--r--profiles/PURPOSE3
-rwxr-xr-xprofiles/runtest.sh102
3 files changed, 171 insertions, 0 deletions
diff --git a/profiles/Makefile b/profiles/Makefile
new file mode 100644
index 0000000..1bef674
--- /dev/null
+++ b/profiles/Makefile
@@ -0,0 +1,66 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/tuned/profiles
+# Description: Checks if profile changes are possible
+# Author: Branislav Blaskovic <bblaskov@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
+#
+# 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.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/tuned/profiles
+export TESTVERSION=1.0
+
+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: Branislav Blaskovic <bblaskov@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: Checks if profile changes are possible" >> $(METADATA)
+ @echo "Type: Sanity" >> $(METADATA)
+ @echo "TestTime: 20m" >> $(METADATA)
+ @echo "RunFor: tuned" >> $(METADATA)
+ @echo "Requires: tuned tuned-profiles-compat tuned-profiles-atomic tuned-profiles-sap tuned-profiles-sap-hana" >> $(METADATA)
+ @echo "RhtsRequires: library(tuned/basic)" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+ @echo "Bug: 1436590" >> $(METADATA)
+
+
+ rhts-lint $(METADATA)
diff --git a/profiles/PURPOSE b/profiles/PURPOSE
new file mode 100644
index 0000000..9631c9d
--- /dev/null
+++ b/profiles/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/tuned/profiles
+Description: Checks if profile changes are possible
+Author: Branislav Blaskovic <bblaskov@redhat.com>
diff --git a/profiles/runtest.sh b/profiles/runtest.sh
new file mode 100755
index 0000000..b001b7e
--- /dev/null
+++ b/profiles/runtest.sh
@@ -0,0 +1,102 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/tuned/profiles
+# Description: Checks if profile changes are possible
+# Author: Branislav Blaskovic <bblaskov@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
+#
+# 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.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include Beaker environment
+. /usr/bin/rhts-environment.sh
+. /usr/lib/beakerlib/beakerlib.sh
+
+PACKAGE="tuned"
+LOG_FILE="profile.log"
+
+rlJournalStart
+ rlPhaseStartSetup
+ rlAssertRpm $PACKAGE
+ rlImport "tuned/basic"
+
+ rlFileBackup "/etc/rsyslog.conf"
+ rlFileBackup --clean "/etc/tuned.conf.bckp"
+ rlFileBackup --clean "/etc/sysconfig/ktune.bckp"
+ rlFileBackup --clean "/etc/rc.d/"
+
+ tunedProfileBackup
+ rlServiceStart "tuned"
+
+ # Set active profile to some default one
+ if rlIsRHEL 6
+ then
+ rlRun "tuned-adm profile default"
+ else
+ rlRun "tuned-adm profile balanced"
+ fi
+
+ #rlRun "setenforce 0" 0 "!!! stop selinux !!!"
+ RHTS_OPTION_STRONGER_AVC=""
+ rlPhaseEnd
+
+ rlPhaseStartTest
+ rlRun "touch $LOG_FILE"
+ rlRun "ACTIVE=`tuned-adm active | grep "Current active profile:" | sed 's/Current active profile: //'`"
+
+ IFS_BAK=$IFS
+ IFS=$'\n'
+
+ # There can be comments in output of 'tuned-adm list', e.g. '- test-profile - comment'
+ for profile in `tuned-adm list | sed -n '/^-/ {s/- \+/ /g;s/\s\+\(\S\+\).*/\1/;p}'`
+ do
+ rlLog "====== $profile ======"
+ rlRun -s "tuned-adm profile \"$profile\" > start.stdout 2>start.stderr"
+
+ # Debug
+ rlRun "cat $rlRun_LOG"
+
+ rlAssertNotGrep "FAIL" "$rlRun_LOG"
+ rlAssertNotGrep "Invalid profile" "$rlRun_LOG"
+
+ # Add outputs to log file
+ rlRun "echo \"[ $profile ]\" >> $LOG_FILE"
+ rlRun "cat $rlRun_LOG >> $LOG_FILE"
+ sleep 10
+ done
+
+ IFS=$IFS_BAK
+ rlPhaseEnd
+
+ rlPhaseStartCleanup
+ unset RHTS_OPTION_STRONGER_AVC
+ #rlRun "setenforce 1" 0 "!!! run selinux !!!"
+
+ rlRun "test $ACTIVE = "off" && tuned-adm off || tuned-adm profile $ACTIVE"
+ tunedProfileRestore
+ rlFileRestore
+ rlServiceRestore "tuned"
+ rlServiceStop "ktune"
+ rlBundleLogs "$LOG_FILE"
+ rlPhaseEnd
+
+rlJournalPrintText
+rlJournalEnd