implemented decmatch (artf724241)
[deliverable/titan.core.git] / regression_test / Makefile
1 ##############################################################################
2 # Copyright (c) 2000-2016 Ericsson Telecom AB
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 # Contributors:
9 #
10 # Balasko, Jeno
11 # Baranyi, Botond
12 # Beres, Szabolcs
13 # Czerman, Oliver
14 # Delic, Adam
15 # Dimitrov, Peter
16 # Forstner, Matyas
17 # Godar, Marton
18 # Hanko, Matyas
19 # Koppany, Csaba
20 # Kovacs, Ferenc
21 # Lovassy, Arpad
22 # Ormandi, Matyas
23 # Raduly, Csaba
24 # Szabados, Kristof
25 # Szabo, Bence Janos
26 # Szabo, Janos Zoltan – initial implementation
27 # Szalai, Gabor
28 # Tatarka, Gabor
29 # Zalanyi, Balazs Andor
30 #
31 ##############################################################################
32 # Settings for the regression test
33
34 TOPDIR := $(CURDIR)
35 include $(TOPDIR)/Makefile.regression
36
37 DIRS := intOper boolOper floatOper bitstrOper octetstrOper charOper charstrOper \
38 verdictOper recordOper recofOper setOper setofOper setofMatch unionOper \
39 enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBitstr \
40 templateHexstr templateOctetstr templateChar templateCharstr templateUnicharstr \
41 templateRec templateRecof templateSet templateSetof templateUnion templateEnum modifiedTemplate \
42 basicStatem configOper commMessage commProcedure lostTimer controlTimer \
43 BER BER_x682 ASN1 predefFunction ERC preCompilerFlags functionReference \
44 nonMandatoryPar logFiles logger_control namedActualParameters \
45 assignmentNotation omitdef anytype RAW implicitMsgEncoding pattern_quadruples \
46 macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \
47 XML ipv6 implicitOmit testcase_defparam transparent HQ16404 cfgFile \
48 all_from lazyEval tryCatch text2ttcn json junitlogger ttcn2json profiler templateOmit \
49 customEncoding makefilegen uidChars checkstate hostid
50
51 ifdef DYN
52 DIRS += loggerplugin
53 endif
54
55 ifdef RT2
56 DIRS += typeCompat negativeTest
57 endif
58
59 # List of fake targets:
60 .PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) coverage compileonly
61
62 # Export all variables to the sub-directories.
63 #export
64
65 all dep clean distclean:
66 $(MAKE) -C compileonly $@
67 for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
68 $(RM) report.txt
69
70 run:
71 for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
72
73
74 # It is assumed, that the TITAN sources are available in `..'. Please note,
75 # that if TITAN was compiled with coverage enabled, only this target will
76 # work properly.
77 coverage:
78 $(LCOV_DIR)/bin/lcov -d .. -z
79 make report LCOV=1
80 $(LCOV_DIR)/bin/lcov -d .. -c -o regtest_coverage.info
81 $(LCOV_DIR)/bin/genhtml -o regtest_coverage -t "TITAN Regression Test Coverage" regtest_coverage.info
82
83 compileonly $(DIRS) $(addsuffix /, $(DIRS)):
84 $(MAKE) -C $@
85
86 # Build in parallel
87 parallel build-par: compileonly $(DIRS)
88
89 # To generate a report:
90 # First, build everything (incl. compileonly); possibly in parallel.
91 # Then, run the runnable tests in sequence (avoids garbled output).
92 report.txt: parallel
93 bash -c 'set -o pipefail; $(MAKE) run 2>&1 | tee report.txt'
94
95 report: report.txt
96 @echo "----------------------------------"
97 @echo "List of tests not 100% successful:"
98 @echo "----------------------------------"
99 @perl vcheck.pl report.txt
100
101 testclean:
102 $(MAKE) -C .. $@
103
104 rclean:
105 $(MAKE) clean 'DIRS=$(filter-out $(TESTDIRS), $(DIRS))'
106
107 prereq:
108 ./prereq.pl ${MAKELEVEL}
109
110 $(TOPDIR)/Makefile.personal:
111 ln -s $(TOPDIR)/../$(@F) $(TOPDIR)/
112
113 unexport DIRS
114
115 include Makefile.regression
116 export PLATFORM
This page took 0.032591 seconds and 6 git commands to generate.