VirtualBox

source: vbox/trunk/src/VBox/Runtime/testcase/Makefile.kmk@ 102335

Last change on this file since 102335 was 102289, checked in by vboxsync, 13 months ago

IPRT: Implemented SHA-crypt 256 / 512 variants, along with testcases. Needed for password hashing in cloud-init-based Linux installers. bugref:10551

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 34.1 KB
Line 
1# $Id: Makefile.kmk 102289 2023-11-24 12:46:36Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT testcases.
4#
5
6#
7# Copyright (C) 2006-2023 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# The contents of this file may alternatively be used under the terms
26# of the Common Development and Distribution License Version 1.0
27# (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28# in the VirtualBox distribution, in which case the provisions of the
29# CDDL are applicable instead of those of the GPL.
30#
31# You may elect to license modified versions of this file under the
32# terms and conditions of either the GPL or the CDDL or both.
33#
34# SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35#
36
37SUB_DEPTH = ../../../..
38include $(KBUILD_PATH)/subheader.kmk
39
40ifdef VBOX_WITH_TESTCASES # The whole file
41
42 #
43 # Include the Validation Kit configuration to make use of build templates needed
44 # for testcases to be included on the Validation Kit .ISO.
45 #
46 ifdef VBOX_WITH_VALIDATIONKIT_UNITTESTS_PACKING
47 ifndef VBOX_VALIDATIONKIT_CONFIG_KMK_INCLUDED
48 include $(PATH_ROOT)/src/VBox/ValidationKit/Config.kmk
49 endif
50 endif
51
52
53 #
54 # Globals
55 #
56 # WARNING: Careful with this wrt to the other sub-makefiles this joins.
57 #
58 TEMPLATE = VBoxR3TstExe
59
60 # Defined by the parent makefile as well (for errmsgdata.h).
61 IPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
62
63
64 #
65 # Target lists
66 #
67 ifndef VBOX_ONLY_VALIDATIONKIT
68 PROGRAMS += \
69 tstRTArmv8 \
70 tstRTAssertCompile \
71 tstRTAvl \
72 tstRTBase64 \
73 tstRTBitOperations \
74 tstRTBigNum \
75 tstRTCidr \
76 tstRTCritSect \
77 tstRTCritSectRw \
78 tstRTCrPkix-1 \
79 tstRTCrX509-1 \
80 tstRTCType \
81 tstRTDigest \
82 tstRTDigest-2 \
83 tstDir \
84 tstDir-2 \
85 tstDir-3 \
86 tstRTDvm \
87 tstRTEnv \
88 tstRTErr-1 \
89 tstFile \
90 tstRTFileAio \
91 tstRTFileAppend-1 \
92 tstRTFileQuerySize-1 \
93 tstRTFileModeStringToFlags \
94 tstFileLock \
95 tstRTFileOpenEx-1 \
96 tstFork \
97 tstRTFsQueries \
98 tstRTFilesystem \
99 tstRTExprEval \
100 tstRTGetOpt \
101 tstRTGetOptArgv \
102 tstHandleTable \
103 tstRTHeapOffset \
104 tstRTHeapSimple \
105 tstRTInlineAsm \
106 tstIprtList \
107 tstIprtMiniList \
108 tstIprtMiniString \
109 tstLdr \
110 tstLdrLoad \
111 tstRTLocalIpc \
112 tstRTLdrVerifyPeImage \
113 tstRTList \
114 tstRTLockValidator \
115 tstLog \
116 tstRTMath \
117 tstRTMemEf \
118 tstRTMemCache \
119 tstRTMemPool \
120 tstRTMemWipe \
121 tstRTMemSafer \
122 tstMove \
123 tstRTMp-1 \
124 tstRTNetIPv4 \
125 tstRTNetIPv6 \
126 tstOnce \
127 tstRTPath \
128 tstRTPathGlob \
129 tstRTPathQueryInfo \
130 tstRTPipe \
131 tstRTPoll \
132 tstRTPrfIO \
133 tstRTProcCreateEx \
134 tstRTProcCreatePrf \
135 tstRTProcQueryUsername \
136 tstPrfRT \
137 tstRand \
138 tstRTReqPool \
139 tstRTSemEvent \
140 tstRTSemEventMulti \
141 tstSemMutex \
142 tstSemPingPong \
143 tstRTSemRW \
144 tstRTSemXRoads \
145 tstRTSg \
146 tstRTShaCrypt \
147 tstRTSort \
148 tstRTStrAlloc \
149 tstRTStrCache \
150 tstRTStrCatCopy \
151 tstRTStrFormat \
152 tstRTStrSplit \
153 tstRTStrSimplePattern \
154 tstStrToNum \
155 tstRTStrVersion \
156 tstRTSymlink \
157 tstRTSystemQueryDmi \
158 tstRTSystemQueryFirmware \
159 tstRTSystemQueryOsInfo \
160 tstRTTcp-1 \
161 tstRTTemp \
162 tstRTDirCreateUniqueNumbered \
163 tstTermCallbacks \
164 tstThread-1 \
165 tstRTThreadPoke \
166 tstRTThreadExecutionTime \
167 tstRTTime \
168 tstTime-2 \
169 tstTime-3 \
170 tstTime-4 \
171 tstTimer \
172 tstRTTimerLR \
173 tstRTTimeSpec \
174 tstRTTls-1 \
175 tstRTTraceLog \
176 tstRTUdp-1 \
177 tstUtf8 \
178 tstRTUuid \
179 tstRTCircBuf \
180 tstRTManifest \
181 tstRTUri \
182 tstVector \
183 tstRTVfs \
184 tstRTZip \
185 tstRTJson \
186 tstRTShMem
187
188 PROGRAMS.win += \
189 tstRTCritSectW32 \
190 tstRTProcWait \
191 tstFileAppendWin-1 \
192 tstRTNtPath-1 \
193 ntGetTimerResolution \
194 tstRTDarwinMachKernel
195
196 PROGRAMS.linux += \
197 tstRTProcWait \
198 tstRTProcIsRunningByName \
199 tstRTBitOperationsPIC3 \
200 tstRTInlineAsmPIC \
201 tstRTInlineAsmPIC3
202 PROGRAMS.solaris += \
203 tstRTCoreDump
204 PROGRAMS.darwin += \
205 tstDarwinSched \
206 tstRTDarwinMachKernel
207 ifdef VBOX_WITH_LIBCURL
208 PROGRAMS += \
209 tstRTHttp-1 \
210 tstRTCRest-1
211 endif
212
213 if1of ($(KBUILD_TARGET_ARCH), x86 amd64)
214 PROGRAMS += \
215 tstNoCrt-1
216 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.amd64) ## Build and test x86 too!
217 PROGRAMS += tstRTNoCrt-2
218 endif
219 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64)
220 PROGRAMS += tstRTNoCrt-3 tstRTNoCrt-3r tstRTNoCrt-4 tstRTNoCrt-5
221 endif
222 endif
223
224 if defined(VBOX_WITH_R0_MODULES)
225 PROGRAMS += \
226 tstLdr-2 \
227 tstLdr-3 \
228 tstLdr-4 \
229 tstTSC
230 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
231 PROGRAMS += \
232 tstRTR0MemUserKernelDriverHardened \
233 tstRTR0SemMutexDriverHardened \
234 tstRTR0TimerDriverHardened \
235 tstRTR0ThreadPreemptionDriverHardened \
236 tstRTR0ThreadDriverHardened
237 DLLS += \
238 tstRTR0MemUserKernelDriver \
239 tstRTR0SemMutexDriver \
240 tstRTR0TimerDriver \
241 tstRTR0ThreadPreemptionDriver \
242 tstRTR0ThreadDriver
243 else
244 PROGRAMS += \
245 tstRTR0MemUserKernelDriver \
246 tstRTR0SemMutexDriver \
247 tstRTR0TimerDriver \
248 tstRTR0ThreadPreemptionDriver \
249 tstRTR0ThreadDriver
250 endif
251 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
252 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
253 tstLdrObjR0
254 ifdef VBOX_WITH_RAW_MODE
255 SYSMODS += tstLdrObj
256 endif
257 endif
258 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
259 tstRTR0MemUserKernel \
260 tstRTR0SemMutex \
261 tstRTR0Timer \
262 tstRTR0ThreadPreemption \
263 tstRTR0Thread
264 if1of ($(KBUILD_TARGET), solaris darwin)
265 PROGRAMS += tstRTR0DbgKrnlInfoDriver
266 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += tstRTR0DbgKrnlInfo
267 endif # VBOX_SUPPORTED_HOST_ARCHS only
268
269 endif
270 if1of ($(VBOX_LDR_FMT)), lx pe)
271 LIBRARIES += \
272 tstLdr-4Imp
273 endif
274
275 endif # !VBOX_ONLY_VALIDATIONKIT
276
277
278 #
279 # Target configs in almost alphabetical order.
280 #
281 tstRTArmv8_TEMPLATE = VBoxR3TstExe
282 tstRTArmv8_SOURCES = tstRTArmv8.cpp
283
284 tstRTAssertCompile_TEMPLATE = VBoxR3TstExe
285 tstRTAssertCompile_INSTTYPE = none
286 tstRTAssertCompile_SOURCES = tstRTAssertCompile.cpp
287
288 tstRTAvl_TEMPLATE = VBoxR3TstExe
289 tstRTAvl_SOURCES = tstRTAvl.cpp
290
291 tstRTBase64_TEMPLATE = VBoxR3TstExe
292 tstRTBase64_SOURCES = tstRTBase64.cpp
293
294 tstRTBigNum_TEMPLATE = VBoxR3TstExe
295 tstRTBigNum_SOURCES = tstRTBigNum.cpp
296 tstRTBigNum_SDKS = VBoxOpenSsl
297 tstRTBigNum_CXXFLAGS.win = -bigobj
298
299 tstRTBitOperations_TEMPLATE = VBoxR3TstExe
300 tstRTBitOperations_SOURCES = tstRTBitOperations.cpp
301
302 tstRTBitOperationsPIC3_TEMPLATE = VBoxR3TstExe
303 tstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
304 tstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
305 tstRTBitOperationsPIC3_DEFS = PIC
306
307 tstRTCidr_TEMPLATE = VBoxR3TstExe
308 tstRTCidr_SOURCES = tstRTCidr.cpp
309
310 tstRTCritSect_TEMPLATE = VBoxR3TstExe
311 tstRTCritSect_SOURCES = tstRTCritSect.cpp
312
313 tstRTCritSectRw_TEMPLATE = VBoxR3TstExe
314 tstRTCritSectRw_SOURCES = tstRTCritSectRw.cpp
315
316 tstRTCritSectW32_TEMPLATE = VBoxR3TstExe
317 tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
318 tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
319
320 tstRTCrPkix-1_TEMPLATE = VBoxR3TstExe
321 tstRTCrPkix-1_SOURCES = tstRTCrPkix-1.cpp
322
323 ifndef VBOX_ONLY_VALIDATIONKIT
324 tstRTCrX509-1_TEMPLATE = VBoxR3TstExe
325 tstRTCrX509-1_SOURCES = tstRTCrX509-1.cpp
326 tstRTCrX509-1_INCS = $(tstRTCrX509-1_0_OUTDIR)
327 tstRTCrX509-1_CLEAN = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
328 tstRTCrX509-1_INTERMEDIATES = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
329 tstRTCrX509-1_VBOX_FILES := \
330 Pem_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4.pem \
331 Pem_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5.pem \
332 Pem_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1.pem \
333 Pem_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224.pem \
334 Pem_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256.pem \
335 Pem_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384.pem \
336 Pem_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512.pem \
337 Pem_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.pem \
338 \
339 Der_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4-cert.der \
340 Der_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5-cert.der \
341 Der_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1-cert.der \
342 Der_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224-cert.der \
343 Der_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256-cert.der \
344 Der_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384-cert.der \
345 Der_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512-cert.der \
346 Der_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.der \
347 $(NO_SUCH_VARIABLE)
348 $$(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h: \
349 $(foreach file,$(tstRTCrX509-1_VBOX_FILES),$(lastword $(subst =,$(SP) ,$(file)))) \
350 $(VBOX_BIN2C) \
351 | $$(dir $$@)
352 $(RM) -f -- "$@"
353 $(foreach file,$(tstRTCrX509-1_VBOX_FILES) \
354 , $(NLTAB)$(VBOX_BIN2C) -ascii --append \
355 "$(firstword $(subst =,$(SP) ,$(file)))" \
356 "$(lastword $(subst =,$(SP) ,$(file)))" \
357 "$@")
358 endif # !VBOX_ONLY_VALIDATIONKIT
359
360
361 tstRTCType_TEMPLATE = VBoxR3TstExe
362 tstRTCType_SOURCES = tstRTCType.cpp
363
364 ifdef VBOX_WITH_LIBCURL
365 tstRTCRest-1_TEMPLATE = VBoxR3TstExe
366 tstRTCRest-1_SOURCES = tstRTCRest-1.cpp
367 if ("$(KBUILD_TARGET)" == "solaris" && $(VBOX_GCC_VERSION_CXX) <= 70500)
368 tstRTCRest-1_DEFS = VBOX_SOLARIS_WITHOUT_XPG6_ENABLED
369 endif
370 endif
371
372 tstRTDigest_TEMPLATE = VBoxR3TstExe
373 tstRTDigest_SOURCES = tstRTDigest.cpp
374
375 tstRTDigest-2_TEMPLATE = VBoxR3TstExe
376 ifndef VBOX_WITH_ALT_HASH_CODE
377 tstRTDigest-2_DEFS = IPRT_WITHOUT_SHA512T224 IPRT_WITHOUT_SHA512T256
378 endif
379 tstRTDigest-2_SOURCES = tstRTDigest-2.cpp
380
381 ifdef VBOX_WITH_LIBCURL
382 tstRTHttp-1_TEMPLATE = VBoxR3TstExe
383 tstRTHttp-1_SOURCES = tstRTHttp-1.cpp
384 tstRTHttp-1_SDKS = VBoxLibCurl
385 endif
386
387 tstDir_TEMPLATE = VBoxR3TstExe
388 tstDir_SOURCES = tstDir.cpp
389
390 tstDir-2_TEMPLATE = VBoxR3TstExe
391 tstDir-2_SOURCES = tstDir-2.cpp
392
393 tstDir-3_TEMPLATE = VBoxR3TstExe
394 tstDir-3_SOURCES = tstDir-3.cpp
395
396 tstRTDvm_TEMPLATE = VBoxR3TstExe
397 tstRTDvm_SOURCES = tstRTDvm.cpp
398
399 tstRTEnv_TEMPLATE = VBoxR3TstExe
400 tstRTEnv_SOURCES = tstRTEnv.cpp
401
402 tstRTErr-1_TEMPLATE = VBoxR3TstExe
403 tstRTErr-1_SOURCES = tstRTErr-1.cpp
404
405 tstFile_TEMPLATE = VBoxR3TstExe
406 tstFile_SOURCES = tstFile.cpp
407
408 tstRTFileAio_SOURCES = VBoxR3TstExe
409 tstRTFileAio_SOURCES = tstRTFileAio.cpp
410
411 tstRTFileAppend-1_TEMPLATE = VBoxR3TstExe
412 tstRTFileAppend-1_SOURCES = tstRTFileAppend-1.cpp
413
414 tstRTFileQuerySize-1_TEMPLATE = VBoxR3TstExe
415 tstRTFileQuerySize-1_SOURCES = tstRTFileQuerySize-1.cpp
416
417 tstRTFileModeStringToFlags_TEMPLATE = VBoxR3TstExe
418 tstRTFileModeStringToFlags_SOURCES = tstRTFileModeStringToFlags.cpp
419
420 tstRTFileOpenEx-1_TEMPLATE = VBoxR3TstExe
421 tstRTFileOpenEx-1_SOURCES = tstRTFileOpenEx-1.cpp
422
423 tstFileAppendWin-1_TEMPLATE = VBoxR3TstExe
424 tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
425
426 tstFileLock_TEMPLATE = VBoxR3TstExe
427 tstFileLock_SOURCES = tstFileLock.cpp
428
429 tstFork_TEMPLATE = VBoxR3TstExe
430 tstFork_SOURCES = tstFork.cpp
431
432 tstRTFsQueries_TEMPLATE = VBoxR3TstExe
433 tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
434
435 tstRTFilesystem_TEMPLATE = VBoxR3TstExe
436 tstRTFilesystem_SOURCES = tstRTFilesystem.cpp
437
438 tstRTExprEval_TEMPLATE = VBoxR3TstExe
439 tstRTExprEval_SOURCES = tstRTExprEval.cpp
440
441 tstRTGetOpt_TEMPLATE = VBoxR3TstExe
442 tstRTGetOpt_SOURCES = tstRTGetOpt.cpp
443
444 tstRTGetOptArgv_TEMPLATE = VBoxR3TstExe
445 tstRTGetOptArgv_SOURCES = tstRTGetOptArgv.cpp
446
447 tstHandleTable_SOURCES = tstHandleTable.cpp
448
449 tstRTHeapOffset_TEMPLATE = VBoxR3TstExe
450 tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
451
452 tstRTHeapSimple_TEMPLATE = VBoxR3TstExe
453 tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
454
455 tstRTInlineAsm_TEMPLATE = VBoxR3TstExe
456 tstRTInlineAsm_SOURCES = tstRTInlineAsm.cpp
457
458 tstRTInlineAsmPIC_TEMPLATE = VBoxR3TstExe
459 tstRTInlineAsmPIC_SOURCES = tstRTInlineAsm.cpp
460 tstRTInlineAsmPIC_CXXFLAGS = -fPIC
461 tstRTInlineAsmPIC_DEFS = PIC
462
463 tstRTInlineAsmPIC3_TEMPLATE = VBoxR3TstExe
464 tstRTInlineAsmPIC3_SOURCES = tstRTInlineAsm.cpp
465 tstRTInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
466 tstRTInlineAsmPIC3_DEFS = PIC
467
468 tstIprtList_TEMPLATE = VBoxR3TstExe
469 tstIprtList_SOURCES = tstIprtList.cpp
470
471 tstIprtMiniList_TEMPLATE = VBoxR3TstExe
472 tstIprtMiniList_SOURCES = tstIprtMiniList.cpp
473
474 tstIprtMiniString_TEMPLATE = VBoxR3TstExe
475 tstIprtMiniString_SOURCES = tstIprtMiniString.cpp
476
477 tstLdr_TEMPLATE = VBoxR3TstExe
478 tstLdr_SOURCES = tstLdr.cpp
479
480 tstLdr-2_TEMPLATE = VBoxR3TstExe
481 tstLdr-2_SOURCES = tstLdr-2.cpp
482 tstLdr-2_DEFS = IN_DIS
483 tstLdr-2_LIBS = \
484 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
485
486 ifdef VBOX_WITH_RAW_MODE
487 tstLdrObj_TEMPLATE = VBoxRc
488 tstLdrObj_INST = $(INST_TESTCASE)
489 tstLdrObj_SYSSUFF = .gc
490 tstLdrObj_SOURCES = tstLdrObj.cpp
491 tstLdrObj_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY
492 ifeq ($(VBOX_LDR_FMT32),elf)
493 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
494 endif
495 tstLdrObj_LIBS = \
496 $(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \
497 $(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB)
498 if1of ($(VBOX_LDR_FMT32), lx pe)
499 tstLdrObj_LIBS += \
500 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
501 $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)
502 endif
503 endif # VBOX_WITH_RAW_MODE
504
505 tstLdr-3_TEMPLATE = VBoxR3TstExe
506 tstLdr-3_SOURCES = tstLdr-3.cpp
507 tstLdr-3_DEFS = IN_DIS
508 tstLdr-3_LIBS = \
509 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
510
511 tstLdr-4Imp_TEMPLATE = VBoxR0
512 ifeq ($(VBOX_LDR_FMT),lx)
513 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
514 else ifeq ($(VBOX_LDR_FMT),pe)
515 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
516 endif
517
518 tstLdrObjR0_TEMPLATE = VBoxR0
519 tstLdrObjR0_INST = $(INST_TESTCASE)
520 tstLdrObjR0_SYSSUFF = .r0
521 tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
522 tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
523 ifeq ($(VBOX_LDR_FMT32),elf)
524 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
525 endif
526 ifn1of ($(KBUILD_TARGET), win)
527 tstLdrObjR0_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds)
528 endif
529 tstLdrObjR0_LIBS = \
530 $(PATH_STAGE_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
531 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
532 $(VBOX_LIB_SUPR0)
533 if1of ($(VBOX_LDR_FMT), pe lx)
534 tstLdrObjR0_LIBS += \
535 $(TARGET_tstLdr-4Imp)
536 endif
537
538 tstLdr-4_TEMPLATE = VBoxR3TstExe
539 tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
540 tstLdr-4_DEFS = IN_DIS
541 tstLdr-4_LIBS = \
542 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
543
544 tstLdrLoad_TEMPLATE = VBoxR3TstExe
545 tstLdrLoad_SOURCES = tstLdrLoad.cpp
546
547 tstRTLdrVerifyPeImage_TEMPLATE = VBoxR3TstExe
548 tstRTLdrVerifyPeImage_SOURCES = tstRTLdrVerifyPeImage.cpp
549
550 tstRTList_TEMPLATE = VBoxR3TstExe
551 tstRTList_SOURCES = tstRTList.cpp
552
553 tstRTLocalIpc_TEMPLATE = VBoxR3TstExe
554 tstRTLocalIpc_SOURCES = tstRTLocalIpc.cpp
555
556 tstRTLockValidator_TEMPLATE = VBoxR3TstExe
557 tstRTLockValidator_SOURCES = tstRTLockValidator.cpp
558
559 ifndef VBOX_ONLY_VALIDATIONKIT
560 tstLog_TEMPLATE = VBoxR3TstExe
561 tstLog_SOURCES = tstLog.cpp
562 tstLog_INCS = $(tstLog_0_OUTDIR)
563 tstLog_INTERMEDIATES = $(tstLog_0_OUTDIR)/tstLogGroups.h
564 tstLog_CLEAN = $(tstLog_0_OUTDIR)/tstLogGroups.h
565 $$(tstLog_0_OUTDIR)/tstLogGroups.h: $(PATH_ROOT)/include/VBox/log.h
566 $(call MSG_GENERATE,,$@,$<)
567 $(QUIET)$(RM) -f -- "$@"
568 $(QUIET)$(SED) -n -e 's/^ *LOG_GROUP_\([A-Z0-9_]*\),.*$(DOLLAR)/{ LOG_GROUP_\1, "\1" },/p' --output "$@" "$<"
569 endif # !VBOX_ONLY_VALIDATIONKIT
570
571 tstRTMemEf_TEMPLATE = VBoxR3TstExe
572 tstRTMemEf_SOURCES = tstRTMemEf.cpp
573
574 tstRTMemCache_TEMPLATE = VBoxR3TstExe
575 tstRTMemCache_SOURCES = tstRTMemCache.cpp
576
577 tstRTMemPool_TEMPLATE = VBoxR3TstExe
578 tstRTMemPool_SOURCES = tstRTMemPool.cpp
579
580 tstRTMemWipe_TEMPLATE = VBoxR3TstExe
581 tstRTMemWipe_SOURCES = tstRTMemWipe.cpp
582
583 tstRTMemSafer_TEMPLATE = VBoxR3TstExe
584 tstRTMemSafer_SOURCES = tstRTMemSafer.cpp
585
586 tstMove_TEMPLATE = VBoxR3TstExe
587 tstMove_SOURCES = tstMove.cpp
588
589 tstRTMp-1_TEMPLATE = VBoxR3TstExe
590 tstRTMp-1_SOURCES = tstRTMp-1.cpp
591
592 tstRTNetIPv4_TEMPLATE = VBoxR3TstExe
593 tstRTNetIPv4_SOURCES = tstRTNetIPv4.cpp
594
595 tstRTNetIPv6_TEMPLATE = VBoxR3TstExe
596 tstRTNetIPv6_SOURCES = tstRTNetIPv6.cpp
597
598 tstNoCrt-1_TEMPLATE = VBoxR3TstExe
599 tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
600 tstNoCrt-1_SOURCES = \
601 tstNoCrt-1.cpp \
602 ../common/string/memcpy.asm \
603 ../common/string/mempcpy.asm \
604 ../common/string/memmove.asm \
605 ../common/string/memset.asm \
606 ../common/string/memchr.asm \
607 ../common/string/memcmp.asm \
608 ../common/string/strchr.asm \
609 ../common/string/strcmp.asm \
610 ../common/string/strcpy.asm \
611 ../common/string/strlen.asm \
612 ../common/string/wcslen.asm
613
614 tstRTNoCrt-2_TEMPLATE = VBoxR3TstExe
615 tstRTNoCrt-2_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
616 tstRTNoCrt-2_INCS = ../include
617 tstRTNoCrt-2_SDKS = VBoxSoftFloatR3Shared
618 tstRTNoCrt-2_SOURCES = \
619 tstRTNoCrt-2.cpp \
620 \
621 ../common/math/copysign.cpp \
622 ../common/math/copysignf.cpp \
623 ../common/math/copysignl.cpp \
624 ../common/math/fma.cpp \
625 ../common/math/fmaf.cpp \
626 ../common/math/fmax.cpp \
627 ../common/math/fmaxf.cpp \
628 ../common/math/fmaxl.cpp \
629 ../common/math/fmin.cpp \
630 ../common/math/fminf.cpp \
631 ../common/math/fminl.cpp \
632 ../common/math/isinf.cpp \
633 ../common/math/isnan.cpp \
634 ../common/math/isnanf.cpp \
635 ../common/math/llround.cpp \
636 ../common/math/llroundf.cpp \
637 ../common/math/lround.cpp \
638 ../common/math/lroundf.cpp \
639 ../common/math/nocrt-abs.cpp \
640 ../common/math/nocrt-labs.cpp \
641 ../common/math/nocrt-llabs.cpp \
642 ../common/math/round.cpp \
643 ../common/math/roundf.cpp \
644 ../common/math/frexp.cpp \
645 ../common/math/frexpf.cpp \
646 ../common/math/frexpl.cpp \
647 ../common/math/__fpclassifyd.cpp \
648 ../common/math/__fpclassifyf.cpp \
649 ../common/math/__fpclassifyl.cpp \
650 ../common/math/__isfinite.cpp \
651 ../common/math/__isfinitef.cpp \
652 ../common/math/__isfinitel.cpp \
653 ../common/math/__isinff.cpp \
654 ../common/math/__isinfl.cpp \
655 ../common/math/__isnanl.cpp \
656 ../common/math/__isnormal.cpp \
657 ../common/math/__isnormalf.cpp \
658 ../common/math/__isnormall.cpp \
659 ../common/math/__signbit.cpp \
660 ../common/math/__signbitf.cpp \
661 ../common/math/__signbitl.cpp
662
663 if1of ($(KBUILD_TARGET_ARCH), x86 amd64)
664 tstRTNoCrt-2_SOURCES.x86 += \
665 ../common/math/rtNoCrtHasSse.asm
666 tstRTNoCrt-2_SOURCES += \
667 ../common/math/atan.asm \
668 ../common/math/atan2.asm \
669 ../common/math/atan2f.asm \
670 ../common/math/atanf.asm \
671 ../common/math/ceil.asm \
672 ../common/math/ceilf.asm \
673 ../common/math/cos.asm \
674 ../common/math/cosf.asm \
675 ../common/math/cosl.asm \
676 ../common/math/exp.asm \
677 ../common/math/expf.asm \
678 ../common/math/exp2.asm \
679 ../common/math/exp2f.asm \
680 ../common/math/fabs.asm \
681 ../common/math/fabsf.asm \
682 ../common/math/fegetenv.asm \
683 ../common/math/fesetenv.asm \
684 ../common/math/feholdexcept.asm \
685 ../common/math/fegetround.asm \
686 ../common/math/fesetround.asm \
687 ../common/math/fegetx87precision.asm \
688 ../common/math/fesetx87precision.asm \
689 ../common/math/fegetexcept.asm \
690 ../common/math/feenableexcept.asm \
691 ../common/math/fedisableexcept.asm \
692 ../common/math/feclearexcept.asm \
693 ../common/math/fegetexceptflag.asm \
694 ../common/math/fesetexceptflag.asm \
695 ../common/math/fetestexcept.asm \
696 ../common/math/feraiseexcept.asm \
697 ../common/math/floor.asm \
698 ../common/math/floorf.asm \
699 ../common/math/fma-asm.asm \
700 ../common/math/fmaf-asm.asm \
701 ../common/math/ldexp.asm \
702 ../common/math/ldexpf.asm \
703 ../common/math/llrint.asm \
704 ../common/math/llrintf.asm \
705 ../common/math/log.asm \
706 ../common/math/logf.asm \
707 ../common/math/log2.asm \
708 ../common/math/log2f.asm \
709 ../common/math/lrint.asm \
710 ../common/math/lrintf.asm \
711 ../common/math/pow.asm \
712 ../common/math/powf.asm \
713 ../common/math/powcore.asm \
714 ../common/math/remainder.asm \
715 ../common/math/remainderf.asm \
716 ../common/math/rint.asm \
717 ../common/math/rintf.asm \
718 ../common/math/sin.asm \
719 ../common/math/sinf.asm \
720 ../common/math/sincore.asm \
721 ../common/math/sqrt.asm \
722 ../common/math/sqrtf.asm \
723 ../common/math/tan.asm \
724 ../common/math/tanf.asm \
725 ../common/math/trunc.asm \
726 ../common/math/truncf.asm
727 endif
728
729 #
730 # For testing no-CRT exception handling we need to use the static build,
731 # assuming ofc that VBOX_WITH_NOCRT_STATIC is in effect.
732 #
733 TEMPLATE_VBoxR3TstExeStatic := Testcase for the static (no-CRT) libraries.
734 TEMPLATE_VBoxR3TstExeStatic_EXTENDS := VBoxR3Static
735 TEMPLATE_VBoxR3TstExeStatic_INST = $(INST_TESTCASE)
736
737 tstRTNoCrt-3_TEMPLATE := VBoxR3TstExeStatic
738 tstRTNoCrt-3_SOURCES := tstRTNoCrt-3.cpp
739
740 tstRTNoCrt-3r_TEMPLATE := VBoxR3TstExe
741 tstRTNoCrt-3r_SOURCES := tstRTNoCrt-3.cpp
742
743 tstRTNoCrt-4_TEMPLATE := VBoxR3TstExe
744 tstRTNoCrt-4_SOURCES := tstRTNoCrt-4.cpp
745
746 tstRTNoCrt-5_TEMPLATE := VBoxR3TstExeStatic
747 if "$(KBUILD_TARGET_ARCH)" == "amd64" \
748 && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_VALIDATIONKIT) && !defined(VBOX_ONLY_DOCS) \
749 && !defined(VBOX_WITH_PARFAIT) # mirrors RuntimeR3-x86 cond
750 tstRTNoCrt-5_BLD_TRG_ARCH := x86
751 endif
752 tstRTNoCrt-5_SOURCES := tstRTNoCrt-5.cpp
753 tstRTNoCrt-5_SOURCES.win.x86 := \
754 ../common/compiler/vcc/x86-allshl.asm \
755 ../common/compiler/vcc/x86-allshr.asm \
756 ../common/compiler/vcc/x86-aullshr.asm \
757 ../common/compiler/vcc/x86-allmul.asm \
758 ../common/compiler/vcc/x86-aulldiv.asm \
759 ../common/compiler/vcc/x86-aullrem.asm \
760 ../common/compiler/vcc/x86-aulldvrm.asm \
761 ../common/compiler/vcc/x86-alldiv.asm \
762 ../common/compiler/vcc/x86-allrem.asm \
763 ../common/compiler/vcc/x86-alldvrm.asm \
764 ../common/compiler/vcc/RTVccUInt64Div.cpp
765
766 tstRTNtPath-1_TEMPLATE = VBoxR3TstExe
767 tstRTNtPath-1_SOURCES = tstRTNtPath-1.cpp
768
769 tstOnce_TEMPLATE = VBoxR3TstExe
770 tstOnce_SOURCES = tstOnce.cpp
771
772 tstRTPath_TEMPLATE = VBoxR3TstExe
773 tstRTPath_SOURCES = tstRTPath.cpp
774
775 tstRTPathFindCommon_TEMPLATE = VBoxR3TstExe
776 tstRTPathFindCommon_SOURCES = tstRTPathFindCommon.cpp
777
778 tstRTPathGlob_TEMPLATE = VBoxR3TstExe
779 tstRTPathGlob_SOURCES = tstRTPathGlob.cpp
780
781 tstRTPathQueryInfo_TEMPLATE = VBoxR3TstExe
782 tstRTPathQueryInfo_SOURCES = tstRTPathQueryInfo.cpp
783
784 tstRTPipe_TEMPLATE = VBoxR3TstExe
785 tstRTPipe_SOURCES = tstRTPipe.cpp
786
787 tstRTPoll_TEMPLATE = VBoxR3TstExe
788 tstRTPoll_SOURCES = tstRTPoll.cpp
789
790 tstPrfRT_TEMPLATE = VBoxR3TstExe
791 tstPrfRT_SOURCES = tstPrfRT.cpp
792 tstPrfRT_SOURCES.x86 = tstRTPrfA.asm
793 tstPrfRT_SOURCES.amd64 = tstRTPrfA.asm
794
795 tstRTPrfIO_TEMPLATE = VBoxR3TstExe
796 tstRTPrfIO_SOURCES = tstRTPrfIO.cpp
797
798 tstRTProcCreateEx_TEMPLATE = VBoxR3TstExe
799 tstRTProcCreateEx_SOURCES = tstRTProcCreateEx.cpp
800
801 tstRTProcCreatePrf_TEMPLATE = VBoxR3TstExe
802 tstRTProcCreatePrf_SOURCES = tstRTProcCreatePrf.cpp
803
804 tstRTProcQueryUsername_TEMPLATE = VBoxR3TstExe
805 tstRTProcQueryUsername_SOURCES = tstRTProcQueryUsername.cpp
806
807 tstRTProcWait_TEMPLATE = VBoxR3TstExe
808 tstRTProcWait_SOURCES = tstRTProcWait.cpp
809
810 tstRTProcIsRunningByName_TEMPLATE = VBoxR3TstExe
811 tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
812
813 tstRand_TEMPLATE = VBoxR3TstExe
814 tstRand_SOURCES = tstRand.cpp
815
816 tstRTReqPool_TEMPLATE = VBoxR3TstExe
817 tstRTReqPool_SOURCES = tstRTReqPool.cpp
818
819 tstSemMutex_TEMPLATE = VBoxR3TstExe
820 tstSemMutex_SOURCES = tstSemMutex.cpp
821
822 tstRTSemEvent_TEMPLATE = VBoxR3TstExe
823 tstRTSemEvent_SOURCES = tstRTSemEvent.cpp
824
825 tstRTSemEventMulti_TEMPLATE = VBoxR3TstExe
826 tstRTSemEventMulti_SOURCES = tstRTSemEventMulti.cpp
827
828 tstRTSemRW_TEMPLATE = VBoxR3TstExe
829 tstRTSemRW_SOURCES = tstRTSemRW.cpp
830
831 tstSemPingPong_TEMPLATE = VBoxR3TstExe
832 tstSemPingPong_SOURCES = tstSemPingPong.cpp
833
834 tstRTSemXRoads_TEMPLATE = VBoxR3TstExe
835 tstRTSemXRoads_SOURCES = tstRTSemXRoads.cpp
836
837 tstRTSg_TEMPLATE = VBoxR3TstExe
838 tstRTSg_SOURCES = tstRTSg.cpp
839
840 tstRTShaCrypt_TEMPLATE = VBoxR3TstExe
841 tstRTShaCrypt_SOURCES = tstRTShaCrypt.cpp
842
843 tstRTSort_TEMPLATE = VBoxR3TstExe
844 tstRTSort_SOURCES = tstRTSort.cpp
845
846 tstRTStrAlloc_TEMPLATE = VBoxR3TstExe
847 tstRTStrAlloc_SOURCES = tstRTStrAlloc.cpp
848
849 tstRTStrCache_TEMPLATE = VBoxR3TstExe
850 tstRTStrCache_SOURCES = tstRTStrCache.cpp
851
852 tstRTStrCatCopy_TEMPLATE = VBoxR3TstExe
853 tstRTStrCatCopy_SOURCES = tstRTStrCatCopy.cpp
854
855 tstRTStrFormat_TEMPLATE = VBoxR3TstExe
856 tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
857
858 tstRTStrSplit_TEMPLATE = VBoxR3TstExe
859 tstRTStrSplit_SOURCES = tstRTStrSplit.cpp
860
861 tstRTStrSimplePattern_TEMPLATE = VBoxR3TstExe
862 tstRTStrSimplePattern_SOURCES = tstRTStrSimplePattern.cpp
863
864 tstStrToNum_TEMPLATE = VBoxR3TstExe
865 tstStrToNum_SOURCES = tstStrToNum.cpp
866
867 tstRTStrVersion_TEMPLATE = VBoxR3TstExe
868 tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
869
870 tstRTSymlink_TEMPLATE = VBoxR3TstExe
871 tstRTSymlink_SOURCES = tstRTSymlink.cpp
872
873 tstRTSystemQueryDmi_TEMPLATE = VBoxR3TstExe
874 tstRTSystemQueryDmi_SOURCES = tstRTSystemQueryDmi.cpp
875
876 tstRTSystemQueryFirmware_TEMPLATE = VBoxR3TstExe
877 tstRTSystemQueryFirmware_SOURCES = tstRTSystemQueryFirmware.cpp
878
879 tstRTSystemQueryOsInfo_TEMPLATE = VBoxR3TstExe
880 tstRTSystemQueryOsInfo_SOURCES = tstRTSystemQueryOsInfo.cpp
881
882 tstRTTcp-1_TEMPLATE = VBoxR3TstExe
883 tstRTTcp-1_SOURCES = tstRTTcp-1.cpp
884
885 tstRTTemp_TEMPLATE = VBoxR3TstExe
886 tstRTTemp_SOURCES = tstRTTemp.cpp
887
888 tstRTDirCreateUniqueNumbered_TEMPLATE = VBoxR3TstExe
889 tstRTDirCreateUniqueNumbered_SOURCES = tstRTDirCreateUniqueNumbered.cpp
890
891 tstTermCallbacks_TEMPLATE = VBoxR3TstExe
892 tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
893
894 tstThread-1_TEMPLATE = VBoxR3TstExe
895 tstThread-1_SOURCES = tstThread-1.cpp
896
897 tstRTThreadPoke_TEMPLATE = VBoxR3TstExe
898 tstRTThreadPoke_SOURCES = tstRTThreadPoke.cpp
899
900 tstRTThreadExecutionTime_TEMPLATE = VBoxR3TstExe
901 tstRTThreadExecutionTime_SOURCES = tstRTThreadExecutionTime.cpp
902
903 tstRTTime_TEMPLATE = VBoxR3TstExe
904 tstRTTime_SOURCES = tstRTTime.cpp
905
906 tstRTTls-1_TEMPLATE = VBoxR3TstExe
907 tstRTTls-1_SOURCES = tstRTTls-1.cpp
908
909 tstRTTraceLog_TEMPLATE = VBoxR3TstExe
910 tstRTTraceLog_SOURCES = tstRTTraceLog.cpp
911
912 tstTime-2_TEMPLATE = VBoxR3TstExe
913 tstTime-2_SOURCES = tstTime-2.cpp
914
915 tstTime-3_TEMPLATE = VBoxR3TstExe
916 tstTime-3_SOURCES = tstTime-3.cpp
917
918 tstTime-4_TEMPLATE = VBoxR3TstExe
919 tstTime-4_SOURCES = tstTime-4.cpp
920
921 tstTimer_TEMPLATE = VBoxR3TstExe
922 tstTimer_SOURCES = tstTimer.cpp
923
924 tstRTTimerLR_TEMPLATE = VBoxR3TstExe
925 tstRTTimerLR_SOURCES = tstRTTimerLR.cpp
926
927 tstRTTimeSpec_TEMPLATE = VBoxR3TstExe
928 tstRTTimeSpec_SOURCES = tstRTTimeSpec.cpp
929
930 tstTSC_SOURCES = tstTSC.cpp
931 tstTSC_CXXFLAGS.linux += -O3
932
933 tstRTUuid_TEMPLATE = VBoxR3TstExe
934 tstRTUuid_SOURCES = tstRTUuid.cpp
935
936 tstRTUdp-1_TEMPLATE = VBoxR3TstExe
937 tstRTUdp-1_SOURCES = tstRTUdp-1.cpp
938
939 tstUtf8_TEMPLATE = VBoxR3TstExe
940 tstUtf8_SOURCES = tstUtf8.cpp
941
942 tstRTCircBuf_TEMPLATE = VBoxR3TstExe
943 tstRTCircBuf_SOURCES = tstRTCircBuf.cpp
944
945 tstRTManifest_TEMPLATE = VBoxR3TstExe
946 tstRTManifest_SOURCES = tstRTManifest.cpp
947
948 tstRTMath_TEMPLATE = VBoxR3TstExe
949 tstRTMath_SOURCES = \
950 tstRTMath.cpp \
951 ../common/math/gcc/udivmoddi4.c
952
953 tstRTUri_TEMPLATE = VBoxR3TstExe
954 tstRTUri_SOURCES = tstRTUri.cpp
955
956 tstRTVfs_TEMPLATE = VBoxR3TstExe
957 tstRTVfs_SOURCES = tstRTVfs.cpp
958
959 tstRTCoreDump_TEMPLACE = VBoxR3TstExe
960 tstRTCoreDump_SOURCES = tstRTCoreDump.cpp
961
962 tstVector_TEMPLATE = VBoxR3TstExe
963 tstVector_SOURCES = tstVector.cpp
964
965
966 tstRTZip_TEMPLATE = VBoxR3TstExe
967 tstRTZip_SOURCES = tstRTZip.cpp
968
969 tstRTJson_TEMPLATE = VBoxR3TstExe
970 tstRTJson_SOURCES = tstRTJson.cpp
971
972 tstRTShMem_TEMPLATE = VBoxR3TstExe
973 tstRTShMem_SOURCES = tstRTShMem.cpp
974
975 #
976 # Ring-0 testcases.
977 #
978
979 ## @todo create a template for compiling the ring-0 part.
980 tstRTR0DbgKrnlInfo_TEMPLATE = VBoxR0
981 tstRTR0DbgKrnlInfo_INST = $(INST_TESTCASE)
982 tstRTR0DbgKrnlInfo_DEFS = IN_RT_R0
983 tstRTR0DbgKrnlInfo_SYSSUFF = .r0
984 tstRTR0DbgKrnlInfo_SOURCES = tstRTR0DbgKrnlInfo.cpp
985 tstRTR0DbgKrnlInfo_LIBS = \
986 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
987 $(VBOX_LIB_SUPR0)
988 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
989 tstRTR0DbgKrnlInfoDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
990 tstRTR0DbgKrnlInfoDriverHardened_NAME = tstRTR0DbgKrnlInfoDriver
991 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
992 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0DbgKrnlInfoDriver"
993 else
994 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0DbgKrnlInfoDriver\"
995 endif
996 tstRTR0DbgKrnlInfoDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
997 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBoxR3HardenedTstDll
998 else
999 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBoxR3TstExe
1000 endif
1001 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBoxR3TstExe
1002 tstRTR0DbgKrnlInfoDriver_SOURCES = tstRTR0DbgKrnlInfoDriver.cpp
1003
1004
1005 tstRTR0MemUserKernel_TEMPLATE = VBoxR0
1006 tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
1007 tstRTR0MemUserKernel_DEFS = IN_RT_R0
1008 tstRTR0MemUserKernel_SYSSUFF = .r0
1009 tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
1010 tstRTR0MemUserKernel_LIBS = \
1011 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1012 $(VBOX_LIB_SUPR0)
1013 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1014 tstRTR0MemUserKernelDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1015 tstRTR0MemUserKernelDriverHardened_NAME = tstRTR0MemUserKernelDriver
1016 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1017 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0MemUserKernelDriver"
1018 else
1019 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0MemUserKernelDriver\"
1020 endif
1021 tstRTR0MemUserKernelDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1022 tstRTR0MemUserKernelDriver_TEMPLATE = VBoxR3HardenedTstDll
1023 else
1024 tstRTR0MemUserKernelDriver_TEMPLATE = VBoxR3TstExe
1025 endif
1026 tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
1027
1028
1029 tstRTR0SemMutex_TEMPLATE = VBoxR0
1030 tstRTR0SemMutex_INST = $(INST_TESTCASE)
1031 tstRTR0SemMutex_DEFS = IN_RT_R0
1032 tstRTR0SemMutex_SYSSUFF = .r0
1033 tstRTR0SemMutex_SOURCES = tstRTR0SemMutex.cpp
1034 tstRTR0SemMutex_LIBS = \
1035 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1036 $(VBOX_LIB_SUPR0)
1037 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1038 tstRTR0SemMutexDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1039 tstRTR0SemMutexDriverHardened_NAME = tstRTR0SemMutexDriver
1040 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1041 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0SemMutexDriver"
1042 else
1043 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0SemMutexDriver\"
1044 endif
1045 tstRTR0SemMutexDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1046 tstRTR0SemMutexDriver_TEMPLATE = VBoxR3HardenedTstDll
1047 else
1048 tstRTR0SemMutexDriver_TEMPLATE = VBoxR3TstExe
1049 endif
1050 tstRTR0SemMutexDriver_SOURCES = tstRTR0SemMutexDriver.cpp
1051
1052
1053 tstRTR0Thread_TEMPLATE = VBoxR0
1054 tstRTR0Thread_INST = $(INST_TESTCASE)
1055 tstRTR0Thread_DEFS = IN_RT_R0
1056 tstRTR0Thread_SYSSUFF = .r0
1057 tstRTR0Thread_SOURCES = tstRTR0Thread.cpp
1058 tstRTR0Thread_LIBS = \
1059 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1060 $(VBOX_LIB_SUPR0)
1061 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1062 tstRTR0ThreadDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1063 tstRTR0ThreadDriverHardened_NAME = tstRTR0ThreadDriver
1064 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1065 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadDriver"
1066 else
1067 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadDriver\"
1068 endif
1069 tstRTR0ThreadDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1070 tstRTR0ThreadDriver_TEMPLATE = VBoxR3HardenedTstDll
1071 else
1072 tstRTR0ThreadDriver_TEMPLATE = VBoxR3TstExe
1073 endif
1074 tstRTR0ThreadDriver_SOURCES = tstRTR0ThreadDriver.cpp
1075
1076
1077 tstRTR0Timer_TEMPLATE = VBoxR0
1078 tstRTR0Timer_INST = $(INST_TESTCASE)
1079 tstRTR0Timer_DEFS = IN_RT_R0
1080 tstRTR0Timer_SYSSUFF = .r0
1081 tstRTR0Timer_SOURCES = tstRTR0Timer.cpp
1082 tstRTR0Timer_LIBS = \
1083 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1084 $(VBOX_LIB_SUPR0)
1085 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1086 tstRTR0TimerDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1087 tstRTR0TimerDriverHardened_NAME = tstRTR0TimerDriver
1088 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1089 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0TimerDriver"
1090 else
1091 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0TimerDriver\"
1092 endif
1093 tstRTR0TimerDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1094 tstRTR0TimerDriver_TEMPLATE = VBoxR3HardenedTstDll
1095 else
1096 tstRTR0TimerDriver_TEMPLATE = VBoxR3TstExe
1097 endif
1098 tstRTR0TimerDriver_SOURCES = tstRTR0TimerDriver.cpp
1099
1100
1101 tstRTR0ThreadPreemption_TEMPLATE = VBoxR0
1102 tstRTR0ThreadPreemption_INST = $(INST_TESTCASE)
1103 tstRTR0ThreadPreemption_DEFS = IN_RT_R0
1104 tstRTR0ThreadPreemption_SYSSUFF = .r0
1105 tstRTR0ThreadPreemption_SOURCES = tstRTR0ThreadPreemption.cpp
1106 tstRTR0ThreadPreemption_LIBS = \
1107 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1108 $(VBOX_LIB_SUPR0)
1109 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1110 tstRTR0ThreadPreemptionDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1111 tstRTR0ThreadPreemptionDriverHardened_NAME = tstRTR0ThreadPreemptionDriver
1112 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1113 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadPreemptionDriver"
1114 else
1115 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadPreemptionDriver\"
1116 endif
1117 tstRTR0ThreadPreemptionDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1118 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBoxR3HardenedTstDll
1119 else
1120 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBoxR3TstExe
1121 endif
1122 tstRTR0ThreadPreemptionDriver_SOURCES = tstRTR0ThreadPreemptionDriver.cpp
1123
1124
1125 #
1126 # Odds and ends.
1127 #
1128
1129 tstDarwinSched_TEMPLATE = VBoxR3TstExe
1130 tstDarwinSched_SOURCES = tstDarwinSched.cpp
1131
1132 tstRTDarwinMachKernel_TEMPLATE = VBoxR3TstExe
1133 tstRTDarwinMachKernel_INCS = ../include
1134 tstRTDarwinMachKernel_SOURCES = \
1135 tstRTDarwinMachKernel.cpp \
1136 ../r0drv/darwin/dbgkrnlinfo-r0drv-darwin.cpp
1137
1138 ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
1139 ntGetTimerResolution_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBoxNtDll
1140
1141
1142 #
1143 # ValKit versions of selected tests.
1144 #
1145 ifdef VBOX_WITH_VALIDATIONKIT_UNITTESTS_PACKING
1146 define def_valkit_unittest_iprt
1147 PROGRAMS += $(unittest)-ValKit
1148 $(unittest)-ValKit_TEMPLATE := VBoxValidationKitR3TstExe
1149 $(unittest)-ValKit_EXTENDS := $(unittest)
1150 $(unittest)-ValKit_NAME := $(unittest)
1151 endef
1152 $(foreach unittest, $(VALKIT_UNITTESTS_WHITELIST_IPRT) $($(VALKIT_UNITTESTS_WHITELIST_IPRT).$(KBUILD_TARGET)) \
1153 ,$(evalcall2 def_valkit_unittest_iprt))
1154 endif
1155
1156endif # VBOX_WITH_TESTCASES
1157
1158include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette