Commit | Line | Data |
---|---|---|
970ed795 | 1 | ############################################################################### |
3abe9331 | 2 | # Copyright (c) 2000-2015 Ericsson Telecom AB |
970ed795 EL |
3 | # All rights reserved. This program and the accompanying materials |
4 | # are made available under the terms of the Eclipse Public License v1.0 | |
5 | # which accompanies this distribution, and is available at | |
6 | # http://www.eclipse.org/legal/epl-v10.html | |
7 | ############################################################################### | |
8 | # Settings for the regression test | |
9 | ||
10 | TOPDIR := $(CURDIR) | |
11 | include $(TOPDIR)/Makefile.regression | |
12 | ||
13 | DIRS := intOper boolOper floatOper bitstrOper octetstrOper charOper charstrOper \ | |
14 | verdictOper recordOper recofOper setOper setofOper setofMatch unionOper \ | |
15 | enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBitstr \ | |
16 | templateOctetstr templateChar templateCharstr templateRec templateRecof \ | |
17 | templateSet templateSetof templateUnion templateEnum modifiedTemplate \ | |
18 | basicStatem configOper commMessage commProcedure lostTimer controlTimer \ | |
19 | BER BER_x682 ASN1 predefFunction ERC preCompilerFlags functionReference \ | |
20 | nonMandatoryPar logFiles logger_control namedActualParameters \ | |
21 | assignmentNotation omitdef anytype RAW implicitMsgEncoding pattern_quadruples \ | |
22 | macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \ | |
23 | XML ipv6 implicitOmit testcase_defparam transparent HQ16404 cfgFile \ | |
3f84031e | 24 | all_from lazyEval tryCatch text2ttcn json junitlogger ttcn2json profiler templateOmit \ |
25 | customEncoding makefilegen logger | |
970ed795 EL |
26 | |
27 | ifdef DYN | |
28 | DIRS += loggerplugin | |
29 | endif | |
30 | ||
31 | ifdef RT2 | |
32 | DIRS += typeCompat negativeTest | |
33 | endif | |
34 | ||
35 | # List of fake targets: | |
36 | .PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) coverage compileonly | |
37 | ||
38 | # Export all variables to the sub-directories. | |
39 | #export | |
40 | ||
41 | all dep clean distclean: | |
42 | $(MAKE) -C compileonly $@ | |
43 | for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done | |
44 | $(RM) report.txt | |
45 | ||
46 | run: | |
47 | for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done | |
48 | ||
49 | ||
50 | # It is assumed, that the TITAN sources are available in `..'. Please note, | |
51 | # that if TITAN was compiled with coverage enabled, only this target will | |
52 | # work properly. | |
53 | coverage: | |
54 | $(LCOV_DIR)/bin/lcov -d .. -z | |
55 | make report LCOV=1 | |
56 | $(LCOV_DIR)/bin/lcov -d .. -c -o regtest_coverage.info | |
57 | $(LCOV_DIR)/bin/genhtml -o regtest_coverage -t "TITAN Regression Test Coverage" regtest_coverage.info | |
58 | ||
59 | compileonly $(DIRS) $(addsuffix /, $(DIRS)): | |
60 | $(MAKE) -C $@ | |
61 | ||
62 | # Build in parallel | |
63 | parallel build-par: compileonly $(DIRS) | |
64 | ||
65 | # To generate a report: | |
66 | # First, build everything (incl. compileonly); possibly in parallel. | |
67 | # Then, run the runnable tests in sequence (avoids garbled output). | |
68 | report.txt: parallel | |
69 | bash -c 'set -o pipefail; $(MAKE) run 2>&1 | tee report.txt' | |
70 | ||
71 | report: report.txt | |
72 | @echo "----------------------------------" | |
73 | @echo "List of tests not 100% successful:" | |
74 | @echo "----------------------------------" | |
75 | @perl vcheck.pl report.txt | |
76 | ||
77 | testclean: | |
78 | $(MAKE) -C .. $@ | |
79 | ||
80 | rclean: | |
81 | $(MAKE) clean 'DIRS=$(filter-out $(TESTDIRS), $(DIRS))' | |
82 | ||
83 | prereq: | |
84 | ./prereq.pl ${MAKELEVEL} | |
85 | ||
86 | $(TOPDIR)/Makefile.personal: | |
87 | ln -s $(TOPDIR)/../$(@F) $(TOPDIR)/ | |
88 | ||
89 | unexport DIRS | |
90 | ||
91 | include Makefile.regression | |
92 | export PLATFORM |