Sync with 5.4.2
[deliverable/titan.core.git] / regression_test / Makefile
CommitLineData
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
10TOPDIR := $(CURDIR)
11include $(TOPDIR)/Makefile.regression
12
13DIRS := intOper boolOper floatOper bitstrOper octetstrOper charOper charstrOper \
14verdictOper recordOper recofOper setOper setofOper setofMatch unionOper \
15enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBitstr \
16templateOctetstr templateChar templateCharstr templateRec templateRecof \
17templateSet templateSetof templateUnion templateEnum modifiedTemplate \
18basicStatem configOper commMessage commProcedure lostTimer controlTimer \
19BER BER_x682 ASN1 predefFunction ERC preCompilerFlags functionReference \
20nonMandatoryPar logFiles logger_control namedActualParameters \
21assignmentNotation omitdef anytype RAW implicitMsgEncoding pattern_quadruples \
22macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \
23XML ipv6 implicitOmit testcase_defparam transparent HQ16404 cfgFile \
3f84031e 24all_from lazyEval tryCatch text2ttcn json junitlogger ttcn2json profiler templateOmit \
25customEncoding makefilegen logger
970ed795
EL
26
27ifdef DYN
28DIRS += loggerplugin
29endif
30
31ifdef RT2
32DIRS += typeCompat negativeTest
33endif
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
41all dep clean distclean:
42 $(MAKE) -C compileonly $@
43 for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
44 $(RM) report.txt
45
46run:
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.
53coverage:
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
59compileonly $(DIRS) $(addsuffix /, $(DIRS)):
60 $(MAKE) -C $@
61
62# Build in parallel
63parallel 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).
68report.txt: parallel
69 bash -c 'set -o pipefail; $(MAKE) run 2>&1 | tee report.txt'
70
71report: report.txt
72 @echo "----------------------------------"
73 @echo "List of tests not 100% successful:"
74 @echo "----------------------------------"
75 @perl vcheck.pl report.txt
76
77testclean:
78 $(MAKE) -C .. $@
79
80rclean:
81 $(MAKE) clean 'DIRS=$(filter-out $(TESTDIRS), $(DIRS))'
82
83prereq:
84 ./prereq.pl ${MAKELEVEL}
85
86$(TOPDIR)/Makefile.personal:
87 ln -s $(TOPDIR)/../$(@F) $(TOPDIR)/
88
89unexport DIRS
90
91include Makefile.regression
92export PLATFORM
This page took 0.027252 seconds and 5 git commands to generate.