blob: 3c12a9eb310565fcc59e9ab36174318a9aabeb84 [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)
zhanghongbo4416a522012-05-10 17:38:54 +080027CFLAGS?=-g -Wall -pthread
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020028CC?=gcc
Luis Machadode3edfe2019-01-11 15:52:49 -020029
30# All utils' source files.
31SRC=$(wildcard ../utils/*.c) $(wildcard ../cpuidle/*.c)
32
33# All executable files built from the utils' source files.
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020034EXEC=$(SRC:%.c=%)
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020035
Luis Machadode3edfe2019-01-11 15:52:49 -020036# Build the utils and run the tests.
37build_utils: $(EXEC)
Rajagopal Venkata2061932012-07-02 19:38:40 +053038
39SANITY_STATUS:= $(shell if test $(SNT) && test -f $(SNT); then \
Luis Machadoafefb462019-01-11 15:52:51 -020040 sudo ./$(SNT); if test "$$?" -eq 0; then echo 0; else \
Rajagopal Venkata2061932012-07-02 19:38:40 +053041 echo 1; fi; else echo 1; fi)
42
43ifeq "$(SANITY_STATUS)" "1"
44run_tests: uncheck $(EXEC) $(LOG)
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020045
46%.log: %.sh
47 @echo "###"
48 @echo "### $(<:.sh=):"
49 @echo -n "### "; cat $(<:.sh=.txt);
50 @echo -n "### "; grep "URL :" ./$< | awk '/http/{print $$NF}'
51 @echo "###"
Luis Machadoafefb462019-01-11 15:52:51 -020052 -@sudo ./$< 2> $@
Rajagopal Venkata2061932012-07-02 19:38:40 +053053else
Lisa Nguyend713d632014-08-20 17:26:04 -070054run_tests:
55 ./$(SNT)
56# @cat $(<:.sh=.txt)
Rajagopal Venkata2061932012-07-02 19:38:40 +053057endif
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020058
Luis Machadode3edfe2019-01-11 15:52:49 -020059# Target for building all the utils we need, from sources.
60$(EXEC): $(SRC)
61 $(CC) $(CFLAGS) $@.c -o $@
62
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020063clean:
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020064 rm -f *.o $(EXEC)
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020065
Luis Machadode3edfe2019-01-11 15:52:49 -020066check: build_utils run_tests
67
Daniel Lezcano3dd53ee2012-04-05 14:03:08 +020068uncheck:
Lisa Nguyenfc2af2f2014-07-21 16:47:08 -070069 -@$(shell test ! -z "$(LOG)" && rm -f $(LOG))
Daniel Lezcanobeaf7942011-09-22 16:19:39 +020070
71recheck: uncheck check