Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / nlassert / repo / tests / Makefile.am
1 #
2 #    Copyright (c) 2020 Project nlassert Authors
3 #    Copyright (c) 2016-2017 Nest Labs, Inc.
4 #    All rights reserved.
5 #
6 #    This document is the property of Nest. It is considered
7 #    confidential and proprietary information.
8 #
9 #    This document may not be reproduced or transmitted in any form,
10 #    in whole or in part, without the express written permission of
11 #    Nest.
12 #
13 #    Description:
14 #      This file is the GNU automake template for the Nest Labs
15 #      static- and runtime-assertion library unit tests.
16 #
17
18 include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
19
20 #
21 # Local headers to build against and distribute but not to install
22 # since they are not part of the package.
23 #
24 noinst_HEADERS                                                = \
25     nlassert-test-config.h                                      \
26     $(NULL)
27
28 #
29 # Other files we do want to distribute with the package.
30 #
31 EXTRA_DIST                                                    = \
32     $(NULL)
33
34 if NLASSERT_BUILD_TESTS
35 # C preprocessor option flags that will apply to all compiled objects in this
36 # makefile.
37
38 AM_CPPFLAGS                                                   = \
39     $(ISYSTEM_CPPFLAGS)                                         \
40     -I$(top_srcdir)/include                                     \
41     $(NULL)
42
43 COMMON_CPPFLAGS                                               = \
44     $(AM_CPPFLAGS)                                              \
45     -DNL_ASSERT_TEST_WANT_ABORT=1                               \
46     $(NULL)
47
48 NONPRODUCTION_CPPFLAGS                                        = \
49     $(COMMON_CPPFLAGS)                                          \
50     -DNL_ASSERT_TEST_WANT_PRODUCTION=0                          \
51     $(NULL)
52
53 PRODUCTION_CPPFLAGS                                           = \
54     $(COMMON_CPPFLAGS)                                          \
55     -DNL_ASSERT_TEST_WANT_PRODUCTION=1                          \
56     $(NULL)
57
58 COMMON_SOURCES                                                = \
59     nlassert-test.c                                             \
60     $(NULL)
61
62 STATIC_SOURCES                                                = \
63     nlassert-static-test.c                                      \
64     $(NULL)
65
66 STATIC_CXX_SOURCES                                            = \
67     nlassert-static-test-cxx.cpp                                \
68     $(NULL)
69
70 # Test applications that should be run when the 'check' target is run.
71
72 check_PROGRAMS                                                = \
73     nlassert-static-test-nonproduction-success                  \
74     nlassert-static-test-nonproduction-failure                  \
75     nlassert-static-test-cxx-nonproduction-success              \
76     nlassert-static-test-cxx-nonproduction-failure              \
77     nlassert-test-nonproduction-defaults                        \
78     nlassert-test-nonproduction-abort                           \
79     nlassert-test-nonproduction-abort-backtrace                 \
80     nlassert-test-nonproduction-abort-log                       \
81     nlassert-test-nonproduction-abort-trap                      \
82     nlassert-test-nonproduction-abort-backtrace-log             \
83     nlassert-test-nonproduction-abort-backtrace-trap            \
84     nlassert-test-nonproduction-abort-log-trap                  \
85     nlassert-test-nonproduction-abort-backtrace-log-trap        \
86     nlassert-static-test-production-success                     \
87     nlassert-static-test-production-failure                     \
88     nlassert-static-test-cxx-production-success                 \
89     nlassert-static-test-cxx-production-failure                 \
90     nlassert-test-production-defaults                           \
91     nlassert-test-production-abort                              \
92     nlassert-test-production-abort-backtrace                    \
93     nlassert-test-production-abort-log                          \
94     nlassert-test-production-abort-trap                         \
95     nlassert-test-production-abort-backtrace-log                \
96     nlassert-test-production-abort-backtrace-trap               \
97     nlassert-test-production-abort-log-trap                     \
98     nlassert-test-production-abort-backtrace-log-trap           \
99     $(NULL)
100
101 # Test applications and scripts that should be built and run when the
102 # 'check' target is run.
103
104 TESTS                                                         = \
105     $(check_PROGRAMS)                                           \
106     $(NULL)
107
108 # The additional environment variables and their values that will be
109 # made available to all programs and scripts in TESTS.
110
111 TESTS_ENVIRONMENT                                             = \
112     $(NULL)
113
114 #
115 # Source, compiler, and linker options for test programs.
116 #
117 # This enumerates mnemonics for all possible combinations of assert
118 # "features" (backtracing, logging, and trapping).
119 #
120
121 static_success_CPPFLAGS                                       = \
122         -DNL_ASSERT_TEST_WANT_STATIC_SUCCESS=1                  \
123         $(NULL)
124
125 #
126 # NOTE: Change this to '0' from '1' if you want to demonstrate
127 #       compile-time failure of the assertion checks.
128 #
129
130 static_failure_CPPFLAGS                                       = \
131         -DNL_ASSERT_TEST_WANT_STATIC_SUCCESS=1                  \
132         $(NULL)
133
134 defaults_CPPFLAGS                                             = \
135         -DNL_ASSERT_TEST_WANT_DEFAULTS=1                        \
136         -DNL_ASSERT_TEST_WANT_BACKTRACE=0                       \
137         -DNL_ASSERT_TEST_WANT_LOG=0                             \
138         -DNL_ASSERT_TEST_WANT_TRAP=0                            \
139         $(NULL)
140
141 abort_CPPFLAGS                                                = \
142         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
143         -DNL_ASSERT_TEST_WANT_BACKTRACE=0                       \
144         -DNL_ASSERT_TEST_WANT_LOG=0                             \
145         -DNL_ASSERT_TEST_WANT_TRAP=0                            \
146         $(NULL)
147
148 abort_backtrace_CPPFLAGS                                      = \
149         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
150         -DNL_ASSERT_TEST_WANT_BACKTRACE=1                       \
151         -DNL_ASSERT_TEST_WANT_LOG=0                             \
152         -DNL_ASSERT_TEST_WANT_TRAP=0                            \
153         $(NULL)
154
155 abort_log_CPPFLAGS                                            = \
156         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
157         -DNL_ASSERT_TEST_WANT_BACKTRACE=0                       \
158         -DNL_ASSERT_TEST_WANT_LOG=1                             \
159         -DNL_ASSERT_TEST_WANT_TRAP=0                            \
160         $(NULL)
161
162 abort_trap_CPPFLAGS                                           = \
163         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
164         -DNL_ASSERT_TEST_WANT_BACKTRACE=0                       \
165         -DNL_ASSERT_TEST_WANT_LOG=0                             \
166         -DNL_ASSERT_TEST_WANT_TRAP=1                            \
167         $(NULL)
168
169 abort_backtrace_log_CPPFLAGS                                  = \
170         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
171         -DNL_ASSERT_TEST_WANT_BACKTRACE=1                       \
172         -DNL_ASSERT_TEST_WANT_LOG=1                             \
173         -DNL_ASSERT_TEST_WANT_TRAP=0                            \
174         $(NULL)
175
176 abort_backtrace_trap_CPPFLAGS                                 = \
177         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
178         -DNL_ASSERT_TEST_WANT_BACKTRACE=1                       \
179         -DNL_ASSERT_TEST_WANT_LOG=0                             \
180         -DNL_ASSERT_TEST_WANT_TRAP=1                            \
181         $(NULL)
182
183 abort_log_trap_CPPFLAGS                                       = \
184         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
185         -DNL_ASSERT_TEST_WANT_BACKTRACE=0                       \
186         -DNL_ASSERT_TEST_WANT_LOG=1                             \
187         -DNL_ASSERT_TEST_WANT_TRAP=1                            \
188         $(NULL)
189
190 abort_backtrace_log_trap_CPPFLAGS                             = \
191         -DNL_ASSERT_TEST_WANT_DEFAULTS=0                        \
192         -DNL_ASSERT_TEST_WANT_BACKTRACE=1                       \
193         -DNL_ASSERT_TEST_WANT_LOG=1                             \
194         -DNL_ASSERT_TEST_WANT_TRAP=1                            \
195         $(NULL)
196
197 #
198 # Test Program Proprocessor Flags
199 #
200
201 nlassert_static_test_nonproduction_success_CPPFLAGS           = $(NONPRODUCTION_CPPFLAGS) $(static_success_CPPFLAGS)
202 nlassert_static_test_nonproduction_failure_CPPFLAGS           = $(NONPRODUCTION_CPPFLAGS) $(static_failure_CPPFLAGS)
203 nlassert_static_test_cxx_nonproduction_success_CPPFLAGS       = $(NONPRODUCTION_CPPFLAGS) $(static_success_CPPFLAGS)
204 nlassert_static_test_cxx_nonproduction_failure_CPPFLAGS       = $(NONPRODUCTION_CPPFLAGS) $(static_failure_CPPFLAGS)
205
206 nlassert_test_nonproduction_defaults_CPPFLAGS                 = $(NONPRODUCTION_CPPFLAGS) $(defaults_CPPFLAGS)
207 nlassert_test_nonproduction_abort_CPPFLAGS                    = $(NONPRODUCTION_CPPFLAGS) $(abort_CPPFLAGS)
208 nlassert_test_nonproduction_abort_backtrace_CPPFLAGS          = $(NONPRODUCTION_CPPFLAGS) $(abort_backtrace_CPPFLAGS)
209 nlassert_test_nonproduction_abort_log_CPPFLAGS                = $(NONPRODUCTION_CPPFLAGS) $(abort_log_CPPFLAGS)
210 nlassert_test_nonproduction_abort_trap_CPPFLAGS               = $(NONPRODUCTION_CPPFLAGS) $(abort_trap_CPPFLAGS)
211 nlassert_test_nonproduction_abort_backtrace_log_CPPFLAGS      = $(NONPRODUCTION_CPPFLAGS) $(abort_backtrace_log_CPPFLAGS)
212 nlassert_test_nonproduction_abort_backtrace_trap_CPPFLAGS     = $(NONPRODUCTION_CPPFLAGS) $(abort_backtrace_trap_CPPFLAGS)
213 nlassert_test_nonproduction_abort_log_trap_CPPFLAGS           = $(NONPRODUCTION_CPPFLAGS) $(abort_log_trap_CPPFLAGS)
214 nlassert_test_nonproduction_abort_backtrace_log_trap_CPPFLAGS = $(NONPRODUCTION_CPPFLAGS) $(abort_backtrace_log_trap_CPPFLAGS)
215
216 nlassert_static_test_production_success_CPPFLAGS              = $(PRODUCTION_CPPFLAGS) $(static_success_CPPFLAGS)
217 nlassert_static_test_production_failure_CPPFLAGS              = $(PRODUCTION_CPPFLAGS) $(static_failure_CPPFLAGS)
218 nlassert_static_test_cxx_production_success_CPPFLAGS          = $(PRODUCTION_CPPFLAGS) $(static_success_CPPFLAGS)
219 nlassert_static_test_cxx_production_failure_CPPFLAGS          = $(PRODUCTION_CPPFLAGS) $(static_failure_CPPFLAGS)
220
221 nlassert_test_production_defaults_CPPFLAGS                    = $(PRODUCTION_CPPFLAGS)    $(defaults_CPPFLAGS)                
222 nlassert_test_production_abort_CPPFLAGS                       = $(PRODUCTION_CPPFLAGS)    $(abort_CPPFLAGS)                   
223 nlassert_test_production_abort_backtrace_CPPFLAGS             = $(PRODUCTION_CPPFLAGS)    $(abort_backtrace_CPPFLAGS)         
224 nlassert_test_production_abort_log_CPPFLAGS                   = $(PRODUCTION_CPPFLAGS)    $(abort_log_CPPFLAGS)               
225 nlassert_test_production_abort_trap_CPPFLAGS                  = $(PRODUCTION_CPPFLAGS)    $(abort_trap_CPPFLAGS)              
226 nlassert_test_production_abort_backtrace_log_CPPFLAGS         = $(PRODUCTION_CPPFLAGS)    $(abort_backtrace_log_CPPFLAGS)     
227 nlassert_test_production_abort_backtrace_trap_CPPFLAGS        = $(PRODUCTION_CPPFLAGS)    $(abort_backtrace_trap_CPPFLAGS)    
228 nlassert_test_production_abort_log_trap_CPPFLAGS              = $(PRODUCTION_CPPFLAGS)    $(abort_log_trap_CPPFLAGS)          
229 nlassert_test_production_abort_backtrace_log_trap_CPPFLAGS    = $(PRODUCTION_CPPFLAGS)    $(abort_backtrace_log_trap_CPPFLAGS)
230
231 #
232 # Test Program Source Code
233 #
234
235 nlassert_static_test_nonproduction_success_SOURCES            = $(STATIC_SOURCES)
236 nlassert_static_test_nonproduction_failure_SOURCES            = $(STATIC_SOURCES)
237
238 nlassert_static_test_cxx_nonproduction_success_SOURCES        = $(STATIC_CXX_SOURCES)
239 nlassert_static_test_cxx_nonproduction_failure_SOURCES        = $(STATIC_CXX_SOURCES)
240
241 nlassert_test_nonproduction_defaults_SOURCES                  = $(COMMON_SOURCES)
242 nlassert_test_nonproduction_abort_SOURCES                     = $(COMMON_SOURCES)
243 nlassert_test_nonproduction_abort_backtrace_SOURCES           = $(COMMON_SOURCES)
244 nlassert_test_nonproduction_abort_log_SOURCES                 = $(COMMON_SOURCES)
245 nlassert_test_nonproduction_abort_trap_SOURCES                = $(COMMON_SOURCES)
246 nlassert_test_nonproduction_abort_backtrace_log_SOURCES       = $(COMMON_SOURCES)
247 nlassert_test_nonproduction_abort_backtrace_trap_SOURCES      = $(COMMON_SOURCES)
248 nlassert_test_nonproduction_abort_log_trap_SOURCES            = $(COMMON_SOURCES)
249 nlassert_test_nonproduction_abort_backtrace_log_trap_SOURCES  = $(COMMON_SOURCES)
250
251 nlassert_static_test_production_success_SOURCES               = $(STATIC_SOURCES)
252 nlassert_static_test_production_failure_SOURCES               = $(STATIC_SOURCES)
253
254 nlassert_static_test_cxx_production_success_SOURCES           = $(STATIC_CXX_SOURCES)
255 nlassert_static_test_cxx_production_failure_SOURCES           = $(STATIC_CXX_SOURCES)
256
257 nlassert_test_production_defaults_SOURCES                     = $(COMMON_SOURCES)
258 nlassert_test_production_abort_SOURCES                        = $(COMMON_SOURCES)
259 nlassert_test_production_abort_backtrace_SOURCES              = $(COMMON_SOURCES)
260 nlassert_test_production_abort_log_SOURCES                    = $(COMMON_SOURCES)
261 nlassert_test_production_abort_trap_SOURCES                   = $(COMMON_SOURCES)
262 nlassert_test_production_abort_backtrace_log_SOURCES          = $(COMMON_SOURCES)
263 nlassert_test_production_abort_backtrace_trap_SOURCES         = $(COMMON_SOURCES)
264 nlassert_test_production_abort_log_trap_SOURCES               = $(COMMON_SOURCES)
265 nlassert_test_production_abort_backtrace_log_trap_SOURCES     = $(COMMON_SOURCES)
266
267 #
268 # Foreign make dependencies
269 #
270
271 NLFOREIGN_SUBDIR_DEPENDENCIES                         = \
272    $(NLUNIT_TEST_FOREIGN_SUBDIR_DEPENDENCY)             \
273    $(NULL)
274
275 if NLASSERT_BUILD_COVERAGE
276 CLEANFILES                                                    = $(wildcard *.gcda *.gcno)
277
278 if NLASSERT_BUILD_COVERAGE_REPORTS
279 # The bundle should positively be qualified with the absolute build
280 # path. Otherwise, VPATH will get auto-prefixed to it if there is
281 # already such a directory in the non-colocated source tree.
282
283 NLASSERT_COVERAGE_BUNDLE                                      = ${abs_builddir}/${PACKAGE}${NL_COVERAGE_BUNDLE_SUFFIX}
284 NLASSERT_COVERAGE_INFO                                        = ${NLASSERT_COVERAGE_BUNDLE}/${PACKAGE}${NL_COVERAGE_INFO_SUFFIX}
285
286 $(NLASSERT_COVERAGE_BUNDLE):
287         $(call create-directory)
288
289 $(NLASSERT_COVERAGE_INFO): check-local | $(NLASSERT_COVERAGE_BUNDLE)
290         $(call generate-coverage-report,${top_builddir})
291
292 coverage-local: $(NLASSERT_COVERAGE_INFO)
293
294 clean-local: clean-local-coverage
295
296 .PHONY: clean-local-coverage
297 clean-local-coverage:
298         -$(AM_V_at)rm -rf $(NLASSERT_COVERAGE_BUNDLE)
299 endif # NLASSERT_BUILD_COVERAGE_REPORTS
300 endif # NLASSERT_BUILD_COVERAGE
301 endif # NLASSERT_BUILD_TESTS
302
303 include $(abs_top_nlbuild_autotools_dir)/automake/post.am