1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
##############################################################################
# Copyright (c) 2000-2021 Ericsson Telecom AB
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
#
# Contributors:
#
# Balasko, Jeno
# Baranyi, Botond
# Beres, Szabolcs
# Czerman, Oliver
# Delic, Adam
# Dimitrov, Peter
# Forstner, Matyas
# Godar, Marton
# Hanko, Matyas
# Koppany, Csaba
# Kovacs, Ferenc
# Lovassy, Arpad
# Ormandi, Matyas
# Raduly, Csaba
# Szabados, Kristof
# Szabo, Bence Janos
# Szabo, Janos Zoltan – initial implementation
# Szalai, Gabor
# Tatarka, Gabor
# Zalanyi, Balazs Andor
#
##############################################################################
# Settings for the regression test
TOPDIR := $(CURDIR)
include $(TOPDIR)/Makefile.regression
DIRS := intOper boolOper floatOper bitstrOper octetstrOper charOper charstrOper \
verdictOper recordOper recofOper setOper setofOper setofMatch unionOper \
enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBitstr \
templateHexstr templateOctetstr templateChar templateCharstr templateUnicharstr \
templateRec templateRec_nolegacy templateRecof templateSet templateSetof templateUnion templateEnum modifiedTemplate \
basicStatem configOper commMessage commProcedure lostTimer controlTimer \
EncodeDecode ASN1 predefFunction ERC preCompilerFlags functionReference \
nonMandatoryPar logFiles logger_control namedActualParameters \
assignmentNotation omitdef anytype implicitMsgEncoding pattern_quadruples \
macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \
XML ipv6 implicitOmit testcase_defparam transparent HQ16404 cfgFile \
all_from lazyEval tryCatch text2ttcn ttcn2json profiler templateOmit \
customEncoding makefilegen uidChars checkstate hostid templateIstemplatekind \
selectUnion templateExclusiveRange any_from templatePatternRef indexWithRecofArray \
connectMapOperTest fuzzy portTranslation ischosen functionSubref done \
nondeterministicDefaultParam predefFunction2 realtime portTranslationCentralStorage \
locale oop references unicharstrToCharstr defaultAlternative map_param
ifdef DYN
DIRS += loggerplugin junitlogger
endif
ifdef RT2
DIRS += typeCompat negativeTest templateConcat
endif
ifeq (LTTNGUSTLOGGER, yes)
DIRS += LTTngUSTLogger
endif
# List of fake targets:
.PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) coverage compileonly
# Export all variables to the sub-directories.
#export
all dep clean distclean:
$(MAKE) -C compileonly $@
for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
$(RM) report.txt
$(RM) build.txt
run:
for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
# It is assumed, that the TITAN sources are available in `..'. Please note,
# that if TITAN was compiled with coverage enabled, only this target will
# work properly.
coverage:
$(LCOV_DIR)/bin/lcov -d .. -z
make report LCOV=1
$(LCOV_DIR)/bin/lcov -d .. -c -o regtest_coverage.info
$(LCOV_DIR)/bin/genhtml -o regtest_coverage -t "TITAN Regression Test Coverage" regtest_coverage.info
compileonly $(DIRS) $(addsuffix /, $(DIRS)):
ifeq ($(DEBUG), yes)
bash -c 'set -o pipefail; $(MAKE) -C $@ 2>&1 | tee current_build.txt'
@if [ -f build.txt ]; \
then cat build.txt current_build.txt > build_result.txt; rm current_build.txt; mv build_result.txt build.txt; \
else mv current_build.txt build.txt; fi
else
$(MAKE) -C $@
endif
# Build in parallel
parallel build-par: compileonly $(DIRS)
ifeq ($(DEBUG), yes)
@echo "--------------------------------------"
@echo "List of memory leaks during the build:"
@echo "--------------------------------------"
@perl vcheck.pl build.txt
endif
# To generate a report:
# First, build everything (incl. compileonly); possibly in parallel.
# Then, run the runnable tests in sequence (avoids garbled output).
report.txt: parallel
bash -c 'set -o pipefail; $(MAKE) run 2>&1 | tee report.txt'
report: report.txt
@echo "----------------------------------"
@echo "List of tests not 100% successful:"
@echo "----------------------------------"
@perl vcheck.pl report.txt
testclean:
$(MAKE) -C .. $@
rclean:
$(MAKE) clean 'DIRS=$(filter-out $(TESTDIRS), $(DIRS))'
prereq:
./prereq.pl ${MAKELEVEL}
$(TOPDIR)/Makefile.personal:
ln -s $(TOPDIR)/../$(@F) $(TOPDIR)/
unexport DIRS
include Makefile.regression
export PLATFORM
|