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