summaryrefslogtreecommitdiff
path: root/solenv/gbuild
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-01-13 20:51:34 +0100
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2012-02-08 18:13:45 +0100
commit590c2400f168faa6eccf793b478d681dcdb73ca7 (patch)
tree173ace1c48a26444f78d139ed9f6708ca73fa812 /solenv/gbuild
parent9b979c8bf13593175391efcab461a146d6f1331e (diff)
first try to add slowcheck build target
Diffstat (limited to 'solenv/gbuild')
-rw-r--r--solenv/gbuild/Module.mk43
-rw-r--r--solenv/gbuild/TargetLocations.mk1
-rw-r--r--solenv/gbuild/extensions/post_DisableIosUnitchecks.mk1
-rw-r--r--solenv/gbuild/extensions/post_SpeedUpTargets.mk1
-rw-r--r--solenv/gbuild/gbuild.help.txt1
5 files changed, 42 insertions, 5 deletions
diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk
index 24cc1e587f1f..f99c4cbf8d22 100644
--- a/solenv/gbuild/Module.mk
+++ b/solenv/gbuild/Module.mk
@@ -34,10 +34,12 @@
# excluding tests recursive Modules
# Module/unitcheck run unit tests all unit tests
# recursive Module/checks
+# Module/slowcheck run all slow unit tests
# Module/subsequentcheck run system tests all system tests
# recursive Module/subsequentchecks
# build (global) build the product top-level Module
# unitcheck (global) run unit tests top-level Module/unitcheck
+# slowcheck (global) run slow unit tests top-level Module/slowcheck
# subsequentcheck (global) run system tests top-level Module/subsequentcheck
# all (global) default goal build unitcheck
@@ -48,6 +50,7 @@ gb_Module_ALLMODULES :=
gb_Module_MODULELOCATIONS :=
gb_Module_TARGETSTACK :=
gb_Module_CHECKTARGETSTACK :=
+gb_Module_SLOWCHECKTARGETSTACK :=
gb_Module_SUBSEQUENTCHECKTARGETSTACK :=
gb_Module_CLEANTARGETSTACK :=
@@ -56,7 +59,7 @@ $(call gb_Module_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),MOD,5)
$(call gb_Output_announce_title,module $* cleared.)
-$(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_Module_get_target,$*) $(call gb_Module_get_check_target,$*) $(call gb_Module_get_subsequentcheck_target,$*))
+ rm -f $(call gb_Module_get_target,$*) $(call gb_Module_get_check_target,$*) $(call gb_Module_get_slowcheck_target,$*) $(call gb_Module_get_subsequentcheck_target,$*))
$(call gb_Module_get_check_target,%) :
$(call gb_Output_announce,$*,$(true),CHK,5)
@@ -65,6 +68,13 @@ $(call gb_Module_get_check_target,%) :
mkdir -p $(dir $@) && \
touch $@)
+$(call gb_Module_get_slowcheck_target,%) :
+ $(call gb_Output_announce,$*,$(true),SCHK,5)
+ $(call gb_Output_announce_title,module $* slowchecks done.)
+ -$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ touch $@)
+
$(call gb_Module_get_subsequentcheck_target,%) :
$(call gb_Output_announce,$*,$(true),SCK,5)
$(call gb_Output_announce_title,module $* subsequentchecks done.)
@@ -79,7 +89,7 @@ $(call gb_Module_get_target,%) :
mkdir -p $(dir $@) && \
touch $@)
-.PHONY : build all clean unitcheck subsequentcheck dev-install
+.PHONY : build all clean unitcheck slowcheck subsequentcheck dev-install
.DEFAULT_GOAL := all
ifeq ($(strip $(gb_PARTIALBUILD)),)
@@ -119,7 +129,7 @@ gb_Module_DEVINSTALLHINT=
debugrun :| build
endif
-all : build unitcheck
+all : build unitcheck slowcheck
$(info $(gb_Module_BUILDHINT))
build :
@@ -134,6 +144,11 @@ unitcheck :
$(call gb_Output_announce_title,all unittests checked.)
$(call gb_Output_announce_bell)
+slowcheck :
+ $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),SCHK,6)
+ $(call gb_Output_announce_title,all slowtests checked.)
+ $(call gb_Output_announce_bell)
+
# removing the dependency on build for now until we can make a full build with gbuild
#subsequentcheck : all
subsequentcheck :
@@ -147,7 +162,7 @@ clean :
$(call gb_Output_announce_title,all cleared.)
$(call gb_Output_announce_bell)
-check : unitcheck
+check : unitcheck slowcheck
$(call gb_Output_announce_title,all tests checked.)
$(call gb_Output_announce_bell)
@@ -164,6 +179,7 @@ gb_Module_ALLMODULES += $(1)
gb_Module_MODULELOCATIONS += $(1):$(dir $(realpath $(lastword $(MAKEFILE_LIST))))
gb_Module_TARGETSTACK := $(call gb_Module_get_target,$(1)) $(gb_Module_TARGETSTACK)
gb_Module_CHECKTARGETSTACK := $(call gb_Module_get_check_target,$(1)) $(gb_Module_CHECKTARGETSTACK)
+gb_Module_SLOWCHECKTARGETSTACK := $(call gb_Module_get_slowcheck_target,$(1)) $(gb_Module_SLOWCHECKTARGETSTACK)
gb_Module_SUBSEQUENTCHECKTARGETSTACK := $(call gb_Module_get_subsequentcheck_target,$(1)) $(gb_Module_SUBSEQUENTCHECKTARGETSTACK)
gb_Module_CLEANTARGETSTACK := $(call gb_Module_get_clean_target,$(1)) $(gb_Module_CLEANTARGETSTACK)
@@ -218,6 +234,14 @@ $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET)
endef
+define gb_Module_add_slowcheck_target
+$(call gb_Module__read_targetfile,$(1),$(2),slowcheck target)
+
+$(call gb_Module_get_slowcheck_target,$(1)) : $$(gb_Module_CURRENTTARGET)
+$(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET)
+
+endef
+
define gb_Module_add_subsequentcheck_target
$(call gb_Module__read_targetfile,$(1),$(2),subsequentcheck target)
@@ -230,10 +254,12 @@ define gb_Module_add_moduledir
include $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))/$(2)/Module_$(2).mk
$(call gb_Module_get_target,$(1)) : $$(firstword $$(gb_Module_TARGETSTACK))
$(call gb_Module_get_check_target,$(1)) : $$(firstword $$(gb_Module_CHECKTARGETSTACK))
+$(call gb_Module_get_slowcheck_target,$(1)) : $$(firstword $$(gb_Module_SLOWCHECKTARGETSTACK))
$(call gb_Module_get_subsequentcheck_target,$(1)) : $$(firstword $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK))
$(call gb_Module_get_clean_target,$(1)) : $$(firstword $$(gb_Module_CLEANTARGETSTACK))
gb_Module_TARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_TARGETSTACK)),$$(gb_Module_TARGETSTACK))
gb_Module_CHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_CHECKTARGETSTACK)),$$(gb_Module_CHECKTARGETSTACK))
+gb_Module_SLOWCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SLOWCHECKTARGETSTACK)),$$(gb_Module_SLOWCHECKTARGETSTACK))
gb_Module_SUBSEQUENTCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK))
gb_Module_CLEANTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_CLEANTARGETSTACK)),$$(gb_Module_CLEANTARGETSTACK))
@@ -249,6 +275,11 @@ $(foreach target,$(2),$(call gb_Module_add_check_target,$(1),$(target)))
endef
+define gb_Module_add_slowcheck_targets
+$(foreach target,$(2),$(call gb_Module_add_slowcheck_target,$(1),$(target)))
+
+endef
+
define gb_Module_add_subsequentcheck_targets
$(foreach target,$(2),$(call gb_Module_add_subsequentcheck_target,$(1),$(target)))
@@ -267,6 +298,7 @@ include $(1)
build : $$(firstword $$(gb_Module_TARGETSTACK))
unitcheck : $$(firstword $$(gb_Module_CHECKTARGETSTACK))
+slowcheck : $$(firstword $$(gb_Module_SLOWCHECKTARGETSTACK))
subsequentcheck : $$(firstword $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK))
clean : $$(firstword $$(gb_Module_CLEANTARGETSTACK))
@@ -276,10 +308,11 @@ endif
gb_Module_TARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_TARGETSTACK)),$$(gb_Module_TARGETSTACK))
gb_Module_CHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_CHECKTARGETSTACK)),$$(gb_Module_CHECKTARGETSTACK))
+gb_Module_SLOWCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SLOWCHECKTARGETSTACK)),$$(gb_Module_SLOWCHECKTARGETSTACK))
gb_Module_SUBSEQUENTCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK))
gb_Module_CLEANTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_CLEANTARGETSTACK)),$$(gb_Module_CLEANTARGETSTACK))
-ifneq ($$(and $$(gb_Module_TARGETSTACK),$$(gb_Module_CHECKTARGETSTACK),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)),)
+ifneq ($$(and $$(gb_Module_TARGETSTACK),$$(gb_Module_CHECKTARGETSTACK),$$(gb_Module_SLOWCHECKTARGETSTACK),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)),)
$$(eval $$(call gb_Output_error,Corrupted module target stack!3))
endif
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 4dabdacb2972..e6e89f7097ef 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -99,6 +99,7 @@ gb_LinkTarget_get_headers_target = $(WORKDIR)/Headers/$(1)
gb_LinkTarget_get_target = $(WORKDIR)/LinkTarget/$(1)
gb_LinkTarget_get_objects_list = $(WORKDIR)/LinkTarget/$(1).objectlist
gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1)
+gb_Module_get_slowcheck_target = $(WORKDIR)/Module/slowcheck/$(1)
gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1)
gb_Module_get_target = $(WORKDIR)/Module/$(1)
gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
diff --git a/solenv/gbuild/extensions/post_DisableIosUnitchecks.mk b/solenv/gbuild/extensions/post_DisableIosUnitchecks.mk
index 01914a19342d..53eb67d563bf 100644
--- a/solenv/gbuild/extensions/post_DisableIosUnitchecks.mk
+++ b/solenv/gbuild/extensions/post_DisableIosUnitchecks.mk
@@ -28,6 +28,7 @@
# disable check target on IOS
ifeq ($(OS),IOS)
gb_Module_add_check_target=
+gb_Module_add_slowcheck_target=
endif
diff --git a/solenv/gbuild/extensions/post_SpeedUpTargets.mk b/solenv/gbuild/extensions/post_SpeedUpTargets.mk
index cdc5c2bec492..a4cc23f4d62f 100644
--- a/solenv/gbuild/extensions/post_SpeedUpTargets.mk
+++ b/solenv/gbuild/extensions/post_SpeedUpTargets.mk
@@ -45,6 +45,7 @@ endif
ifneq ($(strip $(gb_SpeedUpTargets_WRAPPEDBUILD)),)
gb_Module_add_target=
gb_Module_add_check_target=
+gb_Module_add_slowcheck_target=
gb_Module_add_subsequentcheck_target=
gb_Module_add_moduledir=
gb_FULLDEPS=
diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt
index d93285fa1bc6..3e170754f384 100644
--- a/solenv/gbuild/gbuild.help.txt
+++ b/solenv/gbuild/gbuild.help.txt
@@ -30,6 +30,7 @@ AVAILABLE TARGETS
all build product and run unit tests (default goal)
build build product
unitcheck run unit tests
+ slowcheck run slow unit tests
subsequentcheck run system tests (requires full installation)
check run unit tests and if in toplevel subsequentcheck
clean remove all generated files