|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 IPDLTESTSRCS = $(filter Test%,$(CPPSRCS)) |
|
6 IPDLTESTS = $(IPDLTESTSRCS:.cpp=) |
|
7 |
|
8 EXTRA_PROTOCOLS = \ |
|
9 TestBridgeSub \ |
|
10 $(NULL) |
|
11 |
|
12 IPDLTESTHDRS = $(addprefix $(srcdir)/,$(addsuffix .h,$(IPDLTESTS))) |
|
13 |
|
14 TESTER_TEMPLATE := $(srcdir)/IPDLUnitTests.template.cpp |
|
15 GENTESTER := $(srcdir)/genIPDLUnitTests.py |
|
16 |
|
17 include $(topsrcdir)/config/rules.mk |
|
18 |
|
19 |
|
20 IPDLUNITTEST_BIN = $(DEPTH)/dist/bin/ipdlunittest$(BIN_SUFFIX) |
|
21 |
|
22 IPDLUnitTests.cpp : Makefile.in $(GENTESTER) $(TESTER_TEMPLATE) $(IPDLTESTHDRS) |
|
23 $(PYTHON) $(GENTESTER) $(TESTER_TEMPLATE) -t $(IPDLTESTS) -e $(EXTRA_PROTOCOLS) > $@ |
|
24 |
|
25 check-proc:: |
|
26 @$(EXIT_ON_ERROR) \ |
|
27 for test in $(IPDLTESTS); do \ |
|
28 $(RUN_TEST_PROGRAM) $(IPDLUNITTEST_BIN) $$test ; \ |
|
29 done |
|
30 |
|
31 check-thread:: |
|
32 @$(EXIT_ON_ERROR) \ |
|
33 for test in $(IPDLTESTS); do \ |
|
34 $(RUN_TEST_PROGRAM) $(IPDLUNITTEST_BIN) thread:$$test ; \ |
|
35 done |
|
36 |
|
37 check:: check-proc check-thread |
|
38 |
|
39 check-valgrind:: |
|
40 @$(EXIT_ON_ERROR) \ |
|
41 for test in $(IPDLTESTS); do \ |
|
42 $(RUN_TEST_PROGRAM) -g -d \ |
|
43 valgrind -a '--leak-check=full --trace-children=yes -q' \ |
|
44 $(IPDLUNITTEST_BIN) $$test ; \ |
|
45 done |