summaryrefslogtreecommitdiffstats
path: root/profiles/runtest.sh
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/runtest.sh')
-rwxr-xr-xprofiles/runtest.sh102
1 files changed, 102 insertions, 0 deletions
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