diff mbox

[v2] pm-qa: run sanity check before running test cases

Message ID 1341238120-3416-1-git-send-email-rajagopal.venkat@linaro.org
State New
Headers show

Commit Message

rajagopal.venkat@linaro.org July 2, 2012, 2:08 p.m. UTC
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>
---
 Test.mk                    |   17 ++++++++++++++---
 cpuidle/cpuidle_sanity.sh  |   35 +++++++++++++++++++++++++++++++++++
 cpuidle/cpuidle_sanity.txt |    1 +
 sched_mc/sched_sanity.sh   |   35 +++++++++++++++++++++++++++++++++++
 sched_mc/sched_sanity.txt  |    1 +
 5 files changed, 86 insertions(+), 3 deletions(-)
 create mode 100755 cpuidle/cpuidle_sanity.sh
 create mode 100644 cpuidle/cpuidle_sanity.txt
 create mode 100755 sched_mc/sched_sanity.sh
 create mode 100644 sched_mc/sched_sanity.txt
diff mbox

Patch

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...