blob: 86e59ab1297d64a4ec11793213fa4f1e56550398 [file] [log] [blame]
Daniel Lezcanobeaf7942011-09-22 16:19:39 +02001#
Daniel Lezcano35fb1722011-10-03 13:56:11 +02002# PM-QA validation test suite for the power management on Linux
Daniel Lezcanobeaf7942011-09-22 16:19:39 +02003#
4# Copyright (C) 2011, Linaro Limited.
5#
6# This program is free software; you can redistribute it and/or
7# modify it under the terms of the GNU General Public License
8# as published by the Free Software Foundation; either version 2
9# of the License, or (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19#
20# Contributors:
21# Daniel Lezcano <daniel.lezcano@linaro.org> (IBM Corporation)
22# - initial API and implementation
Sanjay Singh Rawated3c40c2014-04-13 12:45:22 +053023
Rajagopal Venkata2061932012-07-02 19:38:40 +053024SNT=$(wildcard *sanity.sh)
Lisa Nguyen9ecf2a02015-01-29 13:04:27 -080025TST=$(sort $(wildcard *[!{sanity}].sh))
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020026LOG=$(TST:.sh=.log)
Luis Machadof7ad37f2019-01-11 15:52:52 -020027
28# Default flags passed to the compiler.
29CFLAGS?=-g -Wall
30
31# Required compiler flags to build the utils.
32FLAGS?=-pthread
33
34# Default compiler to build the utils.
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020035CC?=gcc
Luis Machadode3edfe2019-01-11 15:52:49 -020036
37# All utils' source files.
38SRC=$(wildcard ../utils/*.c) $(wildcard ../cpuidle/*.c)
39
40# All executable files built from the utils' source files.
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020041EXEC=$(SRC:%.c=%)
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020042
Luis Machadode3edfe2019-01-11 15:52:49 -020043# Build the utils and run the tests.
44build_utils: $(EXEC)
Rajagopal Venkata2061932012-07-02 19:38:40 +053045
46SANITY_STATUS:= $(shell if test $(SNT) && test -f $(SNT); then \
Luis Machadoafefb462019-01-11 15:52:51 -020047 sudo ./$(SNT); if test "$$?" -eq 0; then echo 0; else \
Rajagopal Venkata2061932012-07-02 19:38:40 +053048 echo 1; fi; else echo 1; fi)
49
50ifeq "$(SANITY_STATUS)" "1"
51run_tests: uncheck $(EXEC) $(LOG)
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020052
53%.log: %.sh
54 @echo "###"
55 @echo "### $(<:.sh=):"
56 @echo -n "### "; cat $(<:.sh=.txt);
57 @echo -n "### "; grep "URL :" ./$< | awk '/http/{print $$NF}'
58 @echo "###"
Luis Machadoafefb462019-01-11 15:52:51 -020059 -@sudo ./$< 2> $@
Rajagopal Venkata2061932012-07-02 19:38:40 +053060else
Lisa Nguyend713d632014-08-20 17:26:04 -070061run_tests:
62 ./$(SNT)
63# @cat $(<:.sh=.txt)
Rajagopal Venkata2061932012-07-02 19:38:40 +053064endif
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020065
Luis Machadode3edfe2019-01-11 15:52:49 -020066# Target for building all the utils we need, from sources.
67$(EXEC): $(SRC)
Luis Machadof7ad37f2019-01-11 15:52:52 -020068 $(CC) $(CFLAGS) $(FLAGS) $@.c -o $@
Luis Machadode3edfe2019-01-11 15:52:49 -020069
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020070clean:
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020071 rm -f *.o $(EXEC)
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020072
Luis Machadode3edfe2019-01-11 15:52:49 -020073check: build_utils run_tests
74
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020075uncheck:
Lisa Nguyenfc2af2f2014-07-21 16:47:08 -070076 -@$(shell test ! -z "$(LOG)" && rm -f $(LOG))
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020077
78recheck: uncheck check