diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
commit | 16f504a9dca3fe3b70568f67b7d41241ae485288 (patch) | |
tree | c60f36ada0496ba928b7161059ba5ab1ab224f9d /src/VBox/Storage/testcase/Makefile.kmk | |
parent | Initial commit. (diff) | |
download | virtualbox-upstream.tar.xz virtualbox-upstream.zip |
Adding upstream version 7.0.6-dfsg.upstream/7.0.6-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Storage/testcase/Makefile.kmk')
-rw-r--r-- | src/VBox/Storage/testcase/Makefile.kmk | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/src/VBox/Storage/testcase/Makefile.kmk b/src/VBox/Storage/testcase/Makefile.kmk new file mode 100644 index 00000000..418bc73d --- /dev/null +++ b/src/VBox/Storage/testcase/Makefile.kmk @@ -0,0 +1,236 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-Makefile for the storage device & driver testcases. +# + +# +# Copyright (C) 2006-2022 Oracle and/or its affiliates. +# +# This file is part of VirtualBox base platform packages, as +# available from https://www.virtualbox.org. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation, in version 3 of the +# License. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <https://www.gnu.org/licenses>. +# +# SPDX-License-Identifier: GPL-3.0-only +# + +SUB_DEPTH = ../../../.. +include $(KBUILD_PATH)/subheader.kmk + +# +# Basic testcases for the VD code. +# +ifdef VBOX_WITH_TESTCASES + PROGRAMS += tstVD tstVD-2 tstVDSnap tstVDFill + + tstVD_TEMPLATE = VBOXR3TSTEXE + tstVD_SOURCES = tstVD.cpp + tstVD_LIBS = $(LIB_DDU) + + tstVD-2_TEMPLATE = VBOXR3TSTEXE + tstVD-2_SOURCES = tstVD-2.cpp + tstVD-2_LIBS = $(LIB_DDU) + + tstVDFill_TEMPLATE = VBOXR3TSTEXE + tstVDFill_SOURCES = tstVDFill.cpp + tstVDFill_LIBS = $(LIB_DDU) + + PROGRAMS += tstVDIo + + # + # VD I/O test scripts to built in -> .cpp + # + TSTVDIO_BUILTIN_TESTS_FILE = $(tstVDIo_0_OUTDIR)/BuiltinTests.cpp + TSTVDIO_BUILTIN_TESTS := \ + tstVDIo=tstVDIo.vd \ + tstVDResize=tstVDResize.vd \ + tstVDCompact=tstVDCompact.vd \ + tstVDCopy=tstVDCopy.vd \ + tstVDDiscard=tstVDDiscard.vd \ + tstVDShareable=tstVDShareable.vd + TSTVDIO_BUILTIN_TEST_NAMES := $(foreach test,$(TSTVDIO_BUILTIN_TESTS),$(firstword $(subst =,$(SPACE) ,$(test)))) + TSTVDIO_PATH_TESTS := $(PATH_SUB_CURRENT) + + # 1=name, 2=filter + TSTVDIO_GEN_TEST_MACRO = 'TSTVDIOTESTENTRY const g_a$(1)[] =' '{' \ + $(foreach testnm,$(filter $(2),$(TSTVDIO_BUILTIN_TEST_NAMES)), ' TSTVDIOTESTENTRY_GEN($(testnm), g_ab$(testnm)),') \ + '};' 'unsigned const g_c$(1) = RT_ELEMENTS(g_a$(1));' '' '' + + $$(TSTVDIO_BUILTIN_TESTS_FILE): $(MAKEFILE_CURRENT) \ + $(foreach test,$(TSTVDIO_BUILTIN_TESTS),$(TSTVDIO_PATH_TESTS)/$(lastword $(subst =,$(SPACE) ,$(test)))) \ + $(VBOX_BIN2C) \ + | $$(dir $$@) + $(QUIET)$(RM) -f -- $@ $@.vd + $(QUIET)$(APPEND) -n "$@" \ + '' \ + '#include "BuiltinTests.h"' \ + '' + $(foreach test,$(TSTVDIO_BUILTIN_TESTS), $(NLTAB)$(VBOX_BIN2C) -ascii --append --no-size \ + "$(firstword $(subst =,$(SP) ,$(test)))" \ + "$(TSTVDIO_PATH_TESTS)/$(lastword $(subst =,$(SP) ,$(test)))" \ + "$@") + +# Generate test lists. + $(QUIET)$(APPEND) -n "$@" '' \ + $(call TSTVDIO_GEN_TEST_MACRO,VDIoTests,%) \ + + tstVDIo_TEMPLATE = VBOXR3TSTEXE + tstVDIo_INCS := $(PATH_SUB_CURRENT) + + ifdef VBOX_TSTVDIO_WITH_LOG_REPLAY + tstVDIo_DEFS += VBOX_TSTVDIO_WITH_LOG_REPLAY + endif + + tstVDIo_SOURCES = \ + tstVDIo.cpp \ + VDIoBackend.cpp \ + VDIoBackendMem.cpp \ + VDMemDisk.cpp \ + VDIoRnd.cpp \ + VDScript.cpp \ + VDScriptAst.cpp \ + VDScriptChecker.cpp \ + VDScriptInterp.cpp \ + $(TSTVDIO_BUILTIN_TESTS_FILE) + tstVDIo_LIBS = \ + $(LIB_DDU) + tstVDIo_CLEAN = \ + $(TSTVDIO_BUILTIN_TESTS_FILE) + tstVDSnap_TEMPLATE = VBOXR3TSTEXE + tstVDSnap_LIBS = $(LIB_DDU) + tstVDSnap_SOURCES = tstVDSnap.cpp +endif + +if defined(VBOX_WITH_TESTCASES) || defined(VBOX_WITH_VBOX_IMG) + PROGRAMS += vbox-img + + # + # vbox-img - static because it might be used as a standalone tool. + # + ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), solaris.sparc32 solaris.sparc64) + vbox-img_TEMPLATE := VBOXR3EXE + vbox-img_DEFS := IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS + else + vbox-img_TEMPLATE := VBoxR3Static + vbox-img_DEFS := IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS + endif + vbox-img_INCS := \ + ../../Main/include + vbox-img_SOURCES := \ + vbox-img.cpp \ + ../VD.cpp \ + ../VDPlugin.cpp \ + ../VDVfs.cpp \ + ../VDI.cpp \ + ../VMDK.cpp \ + ../VHD.cpp \ + ../DMG.cpp \ + ../Parallels.cpp \ + ../ISCSI.cpp \ + ../RAW.cpp \ + ../QED.cpp \ + ../QCOW.cpp \ + ../VHDX.cpp \ + ../CUE.cpp \ + ../VISO.cpp \ + ../VCICache.cpp \ + ../VDIfVfs.cpp + vbox-img_SOURCES.win = \ + vbox-img.rc + ifeq ($(vbox-img_TEMPLATE),VBOXR3EXE) + vbox-img_LIBS = \ + $(LIB_RUNTIME) + ifeq ($(KBUILD_TARGET),freebsd) + vbox-img_LIBS += geom bsdxml sbuf + else ifeq ($(KBUILD_TARGET),solaris) + vbox-img_LIBS += kstat efi + endif + + else + vbox-img_LIBS = \ + $(VBOX_LIB_RUNTIME_STATIC) + if1of ($(KBUILD_TARGET),os2 win) + vbox-img_LIBS += \ + $(SDK_VBOX_LZF_STATIC_LIBS) \ + $(SDK_VBOX_ZLIB_STATIC_LIBS) + else + vbox-img_LIBS += \ + $(SDK_VBOX_LZF_LIBS) \ + $(SDK_VBOX_ZLIB_LIBS) + endif + ifeq ($(KBUILD_TARGET),linux) + ifdef SDK_VBOX_LIBXML2_LIBS + vbox-img_LIBS += xml2 + endif + else ifeq ($(KBUILD_TARGET),freebsd) + vbox-img_LIBS += iconv geom bsdxml sbuf + ifdef SDK_VBOX_LIBXML2_LIBS + vbox-img_LIBS += xml2 lzma + endif + else ifeq ($(KBUILD_TARGET),darwin) + vbox-img_LIBS += iconv + else ifeq ($(KBUILD_TARGET),win) + vbox-img_SDKS.win = VBOX_NTDLL + else ifeq ($(KBUILD_TARGET),solaris) + vbox-img_LIBS += kstat efi + ifdef SDK_VBOX_LIBXML2_LIBS + vbox-img_LIBS += xml2 + endif + endif + endif + +endif + +if defined(VBOX_WITH_TESTCASES) && defined(VBOX_WITH_PLUGIN_CRYPT) \ + && defined(VBOX_WITH_EXTPACK_PUEL) && defined(VBOX_WITH_EXTPACK_PUEL_BUILD) \ + && defined(VBOX_WITH_VDKEYSTOREMGR) + PROGRAMS += vdkeystoremgr + + # + # vdkeystoremgr - static because it might be used as a standalone tool. + # + vdkeystoremgr_TEMPLATE = VBoxR3Static + vdkeystoremgr_DEFS += IN_VBOXDDU IN_VBOXDDU_STATIC VBOX_HDD_NO_DYNAMIC_BACKENDS + vdkeystoremgr_SOURCES = \ + vdkeystoremgr.cpp \ + ../VDKeyStore.cpp + vdkeystoremgr_SOURCES.win = \ + vdkeystoremgr_SOURCES.rc + vdkeystoremgr_LIBS = \ + $(VBOX_LIB_RUNTIME_STATIC) \ + $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB) + if1of ($(KBUILD_TARGET),os2 win) + vdkeystoremgr_LIBS += \ + $(SDK_VBOX_LZF_STATIC_LIBS) \ + $(SDK_VBOX_ZLIB_STATIC_LIBS) + else + vdkeystoremgr_LIBS += \ + $(SDK_VBOX_LZF_LIBS) \ + $(SDK_VBOX_ZLIB_LIBS) + endif + ifeq ($(KBUILD_TARGET),linux) + ifdef SDK_VBOX_LIBXML2_LIBS + vdkeystoremgr_LIBS += xml2 + endif + else if1of ($(KBUILD_TARGET),darwin freebsd) + vdkeystoremgr_LIBS += iconv + else ifeq ($(KBUILD_TARGET),win) + vdkeystoremgr_SDKS.win = VBOX_NTDLL + else ifeq ($(KBUILD_TARGET),solaris) + vdkeystoremgr_LIBS += kstat + endif +endif + +include $(FILE_KBUILD_SUB_FOOTER) + |