VirtualBox

Changeset 66016 in vbox


Ignore:
Timestamp:
Mar 9, 2017 3:58:42 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
113873
Message:

bugref:4567: Linux kernel driver maintenance: do test builds of kernel modules as test cases.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r65961 r66016  
    309309VBOX_WITH_ADDITIONS = 1
    310310# Build the optional ring-0 part of the additions for syntax checking.
    311 # (Except when cross-building on linux since we're using /usr/src/...)
    312 ifn1of ($(KBUILD_TARGET).$(KBUILD_HOST_ARCH).$(KBUILD_TARGET_ARCH), linux.x86.amd64 linux.amd64.x86)
     311# On linux we build this as a test case instead.
     312ifneq ($(KBUILD_TARGET), linux)
    313313 VBOX_WITH_ADDITION_DRIVERS = 1
    314314endif
     
    565565VBOX_WITH_INSTALLER = 1
    566566# The kernel driver/module and related runtime libraries.
    567 VBOX_WITH_VBOXDRV = 1
     567# On Linux we build this as a test case instead.
     568ifneq ($(KBUILD_TARGET), linux)
     569 VBOX_WITH_VBOXDRV = 1
     570endif
    568571# The main api.
    569572VBOX_WITH_MAIN = 1
     
    29282931ifdef VBOX_WITH_NO_GCC_WARNING_POLICY
    29292932 $(info build debug: VBOX_WITH_NO_GCC_WARNING_POLICY is enabled)
    2930 endif
    2931 
    2932 #
    2933 # We compile the kernel driver/module and related runtime libraries with C++.
    2934 # This does not work for g++-4.8 and recent Linux kernels.
    2935 #
    2936 ifeq ($(BUILD_TARGET),linux)
    2937  ifeq ($(int-div $(VBOX_GCC_VERSION_CXX),100), 408)
    2938   VBOX_WITH_VBOXDRV =
    2939   VBOX_WITH_ADDITION_DRIVERS =
    2940  endif
    29412933endif
    29422934
  • trunk/src/VBox/Additions/linux/Makefile.kmk

    r64718 r66016  
    2727 include $(PATH_SUB_CURRENT)/lightdm-greeter/Makefile.kmk
    2828endif
     29
     30#
     31# Build test for the Guest Additions kernel modules
     32#
     33
     34ifdef VBOX_WITH_TESTCASES
     35 ifndef VBOX_ONLY_SDK
     36  VBOX_LNX_ADD_TEST=$(PATH_TARGET)/tstguest_mod
     37  VBOX_LNX_ADD_TEST_TARGET=$(PATH_TARGET)/tstguest_mod.run
     38  VBOX_LNX_ADD_SOURCES=$(vboxguest-src_2_INST_TARGETS) $(vboxsf-mod_2_INST_TARGETS) $(vboxvideo_drm-mod_2_INST_TARGETS)
     39  TESTING += $(VBOX_LNX_ADD_TEST_TARGET)
     40  OTHERS += $(VBOX_LNX_ADD_TEST_TARGET)
     41  OTHER_CLEAN += $(VBOX_LNX_ADD_TEST)
     42$$(VBOX_LNX_ADD_TEST_TARGET): $$(VBOX_LNX_ADD_SOURCES)
     43        $(QUIET)$(call MSG_L1,Doing a test build of the guest kernel modules)
     44        $(QUIET)$(ASH) -c "rm -f $@"
     45        $(QUIET)$(ASH) -c "mkdir -p $(VBOX_LNX_ADD_TEST) && cp -r $(PATH_STAGE_BIN)/additions/src/* $(VBOX_LNX_ADD_TEST)"
     46        $(QUIET)$(ASH) -c "cd $(VBOX_LNX_ADD_TEST) && if ! make > build.log 2>&1; then echo Failed: check file $(VBOX_LNX_ADD_TEST)/build.log && false; fi"
     47        $(QUIET)$(APPEND) -t "$@" "done"
     48 endif
     49endif
     50
     51
    2952
    3053#
  • trunk/src/VBox/Installer/linux/Makefile.include.footer

    r61411 r66016  
    7171EXTRA_CFLAGS += $(MOD_CFLAGS) $(INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
    7272
     73.PHONY: $(MODULE)
    7374all: $(MODULE)
    7475
  • trunk/src/VBox/Installer/linux/Makefile.kmk

    r65995 r66016  
    2929ifneq ($(KBUILD_HOST),linux)
    3030 $(error "The Linux installer can only be built on Linux!")
     31endif
     32
     33#
     34# Build test for the host kernel modules
     35#
     36
     37ifdef VBOX_WITH_TESTCASES
     38 ifndef VBOX_ONLY_SDK
     39  VBOX_LNX_MOD_TEST=$(PATH_TARGET)/tsthost_mod
     40  VBOX_LNX_MOD_TEST_TARGET=$(PATH_TARGET)/tsthost_mod.run
     41  VBOX_LNX_MOD_SOURCES=$(vboxdrv-mod_2_INST_TARGETS) $(VBoxNetFlt-src_2_INST_TARGETS) $(VBoxNetFlt-src_2_INST_TARGETS) $(VBoxPci-src_2_INST_TARGETS)
     42  TESTING += $(VBOX_LNX_MOD_TEST_TARGET)
     43  OTHERS += $(VBOX_LNX_MOD_TEST_TARGET)
     44  OTHER_CLEAN += $(VBOX_LNX_MOD_TEST)
     45$$(VBOX_LNX_MOD_TEST_TARGET): $$(VBOX_LNX_MOD_SOURCES)
     46        $(QUIET)$(call MSG_L1,Doing a test build of the host kernel modules)
     47        $(QUIET)$(ASH) -c "rm -f $@"
     48        $(QUIET)$(ASH) -c "mkdir -p $(VBOX_LNX_MOD_TEST) && cp -r $(PATH_STAGE_BIN)/src/* $(VBOX_LNX_MOD_TEST)"
     49        $(QUIET)$(ASH) -c "cd $(VBOX_LNX_MOD_TEST) && if ! make > build.log 2>&1; then echo Failed: check file $(VBOX_LNX_MOD_TEST)/build.log && false; fi"
     50        $(QUIET)$(APPEND) -t "$@" "done"
     51 endif
    3152endif
    3253
Note: See TracChangeset for help on using the changeset viewer.

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