aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajagopal Venkat <rajagopal.venkat@linaro.org>2012-07-02 19:38:40 +0530
committerhongbo.zhang <hongbo.zhang@linaro.com>2012-11-28 17:10:56 +0800
commita206193ee42984daa5b6badd2e39d8f49d8ba17b (patch)
tree6cdc25936bb74f726500920c99dbaff9e53195ad
parent120624474f0e6da80add1bb8a79f038e3532f545 (diff)
pm-qa: run sanity check before running test cases
run sanity test for each functionality if present. If functionality enabled, then run all respective test cases. This patch also adds sanity checks for cpuidle and sched_mc. Signed-off-by: Rajagopal Venkat <rajagopal.venkat@linaro.org>
-rw-r--r--Test.mk17
-rwxr-xr-xcpuidle/cpuidle_sanity.sh35
-rw-r--r--cpuidle/cpuidle_sanity.txt1
-rwxr-xr-xsched_mc/sched_sanity.sh35
-rw-r--r--sched_mc/sched_sanity.txt1
5 files changed, 86 insertions, 3 deletions
diff --git a/Test.mk b/Test.mk
index 1d69d7a..76f79b5 100644
--- a/Test.mk
+++ b/Test.mk
@@ -21,15 +21,22 @@
# Daniel Lezcano <daniel.lezcano@linaro.org> (IBM Corporation)
# - initial API and implementation
#
-
-TST=$(wildcard *.sh)
+SNT=$(wildcard *sanity.sh)
+TST=$(wildcard *[^(sanity)].sh)
LOG=$(TST:.sh=.log)
CFLAGS?=-g -Wall -pthread
CC?=gcc
SRC=$(wildcard *.c)
EXEC=$(SRC:%.c=%)
-check: uncheck $(EXEC) $(LOG)
+check: run_tests
+
+SANITY_STATUS:= $(shell if test $(SNT) && test -f $(SNT); then \
+ ./$(SNT); if test "$$?" -eq 0; then echo 0; else \
+ echo 1; fi; else echo 1; fi)
+
+ifeq "$(SANITY_STATUS)" "1"
+run_tests: uncheck $(EXEC) $(LOG)
%.log: %.sh
@echo "###"
@@ -38,6 +45,10 @@ check: uncheck $(EXEC) $(LOG)
@echo -n "### "; grep "URL :" ./$< | awk '/http/{print $$NF}'
@echo "###"
@./$< 2> $@
+else
+run_tests: $(SNT)
+ @cat $(<:.sh=.txt)
+endif
clean:
rm -f *.o $(EXEC)
diff --git a/cpuidle/cpuidle_sanity.sh b/cpuidle/cpuidle_sanity.sh
new file mode 100755
index 0000000..a8336fa
--- /dev/null
+++ b/cpuidle/cpuidle_sanity.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# PM-QA validation test suite for the power management on Linux
+#
+# Copyright (C) 2011, Linaro Limited.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributors:
+# Rajagopal Venkat <rajagopal.venkat@linaro.org>
+# - initial API and implementation
+#
+
+source ../include/functions.sh
+
+check_cpuidle_sysfs_entry() {
+
+ local dirpath=$CPU_PATH/cpuidle
+
+ test -d $dirpath && return 1 || return 0
+}
+
+check_cpuidle_sysfs_entry
diff --git a/cpuidle/cpuidle_sanity.txt b/cpuidle/cpuidle_sanity.txt
new file mode 100644
index 0000000..03d3f7c
--- /dev/null
+++ b/cpuidle/cpuidle_sanity.txt
@@ -0,0 +1 @@
+cpuidle is not enabled. Skipping all cpudile tests...
diff --git a/sched_mc/sched_sanity.sh b/sched_mc/sched_sanity.sh
new file mode 100755
index 0000000..1b1b58b
--- /dev/null
+++ b/sched_mc/sched_sanity.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# PM-QA validation test suite for the power management on Linux
+#
+# Copyright (C) 2011, Linaro Limited.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributors:
+# Daniel Lezcano <daniel.lezcano@linaro.org> (IBM Corporation)
+# - initial API and implementation
+#
+
+source ../include/functions.sh
+
+check_sched_mc_sysfs_entry() {
+
+ local filepath=$CPU_PATH/sched_mc_power_savings
+
+ test -f $filepath && return 1 || return 0
+}
+
+check_sched_mc_sysfs_entry
diff --git a/sched_mc/sched_sanity.txt b/sched_mc/sched_sanity.txt
new file mode 100644
index 0000000..c79c23e
--- /dev/null
+++ b/sched_mc/sched_sanity.txt
@@ -0,0 +1 @@
+sched_mc is not enabled. Skipping all sched_mc tests...