Makefile.in | 8 - RepositoryModule_host.mk | 2 solenv/gbuild/Module.mk | 41 ++++++ solenv/gbuild/Postprocess.mk | 1 solenv/gbuild/TargetLocations.mk | 1 solenv/gbuild/extensions/post_SpeedUpTargets.mk | 14 +- solenv/gbuild/gbuild.help.txt | 1 sw/CppunitTest_sw_odffeatures.mk | 60 ++++++++++ sw/Module_sw.mk | 5 sw/qa/extras/odfimport/data/feature_image_jpg.odt |binary sw/qa/extras/odfimport/data/feature_table.odt |binary sw/qa/extras/odfimport/data/feature_table_merged-cells.odt |binary sw/qa/extras/odfimport/data/feature_table_merged-cells_all.odt |binary sw/qa/extras/odfimport/data/feature_table_text.odt |binary sw/qa/extras/odfimport/data/feature_text.odt |binary sw/qa/extras/odfimport/data/feature_text_background-color.odt |binary sw/qa/extras/odfimport/data/feature_text_bold.odt |binary sw/qa/extras/odfimport/data/feature_text_italic.odt |binary sw/qa/extras/odfimport/odffeatures.cxx | 38 ++++++ 19 files changed, 158 insertions(+), 13 deletions(-)
New commits: commit 23118ce68a151232e542051d263d195b21d0d0e8 Author: Thorsten Behrens <thorsten.behr...@allotropia.de> AuthorDate: Sun Sep 11 12:21:22 2022 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sun Sep 11 21:32:07 2022 +0200 [COVER] add first set of ODF feature test files For providing coverage data of features in the LibreOffice code base, here's a set of files with orthogonal, high-level ODF features like bold & italic text, an image, a table in several variants etc. Use `make coverage` or `make sw.coverage` to generate coverage data for the entire code base, or subsets thereof. Change-Id: If27f720e8728788c421e16a3abbc1cf39521a2fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139765 Tested-by: Thorsten Behrens <thorsten.behr...@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de> diff --git a/Makefile.in b/Makefile.in index beae106e3ede..77df6b468c6d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -9,7 +9,7 @@ gb_Top_MODULE_CHECK_TARGETS := slowcheck unitcheck subsequentcheck perfcheck uicheck screenshot -.PHONY : check-if-root bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install docs download etags fetch get-submodules id install install-gdb-printers install-strip tags debugrun help showmodules translations packageinfo internal.clean $(gb_Top_MODULE_CHECK_TARGETS) +.PHONY : check-if-root bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install docs download etags fetch get-submodules id install install-gdb-printers install-strip tags debugrun help showmodules translations packageinfo coverage internal.clean $(gb_Top_MODULE_CHECK_TARGETS) MAKECMDGOALS?=build build_goal:=$(if $(filter build uicheck,$(MAKECMDGOALS)),build)\ @@ -83,13 +83,13 @@ PARALLELISM_OPTION := $(if $(filter-out 0,$(PARALLELISM)),-j $(PARALLELISM),) # Partial Build # define gb_Top_GbuildModuleRules -.PHONY: $(1) $(1).build $(1).all $(1).check $(1).clean $(1).showdeliverables $(foreach target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)) +.PHONY: $(1) $(1).build $(1).all $(1).check $(1).clean $(1).showdeliverables $(1).coverage $(foreach target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)) .PHONY: $(1).allbuild $(1).buildall $(1).allcheck $(1).checkall $(1): bootstrap fetch cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -$(1).build $(1).check $(foreach target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)): bootstrap fetch +$(1).build $(1).check $(1).coverage $(foreach target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)): bootstrap fetch cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) $$(patsubst $(1).%,%,$$@) $(1).clean $(1).showdeliverables: @@ -291,7 +291,7 @@ ifeq ($(OS),iOS) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios endif -build-non-l10n-only build-l10n-only check debugrun translations packageinfo $(gb_Top_MODULE_CHECK_TARGETS): build +build-non-l10n-only build-l10n-only check debugrun translations packageinfo coverage $(gb_Top_MODULE_CHECK_TARGETS): build help showmodules gbuildtojson: $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $@ diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk index 287bd12b8323..453416203bfb 100644 --- a/RepositoryModule_host.mk +++ b/RepositoryModule_host.mk @@ -221,7 +221,7 @@ endef # otherwise cyclic dependencies ruin everything. # do not serialize on a partial build as that may fail due to missing deps. # the default goal is build (see Module.mk) -ifeq (,$(filter-out build check unitcheck slowcheck screenshot subsequentcheck uicheck,$(MAKECMDGOALS))) +ifeq (,$(filter-out build check unitcheck slowcheck screenshot subsequentcheck uicheck coverage,$(MAKECMDGOALS))) $(eval $(call repositorymodule_serialize,\ scfilt \ $(call gb_Helper_optional,SCRIPTING,vbaobj) \ diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk index bb915f5034cb..347f1239e005 100644 --- a/solenv/gbuild/Module.mk +++ b/solenv/gbuild/Module.mk @@ -27,12 +27,14 @@ # recursive Module/checks # Module/slowcheck run all slow unit tests # Module/screenshot create all screenshots +# Module/coverage run all feature coverage tests # Module/subsequentcheck run system tests all system tests # Module/uicheck run uitests all uitests # 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 +# coverage (global) run feature coverage tests top-level Module/coverage # screenshot (global) create all screenshots top-level Module/screenshot # subsequentcheck (global) run system tests top-level Module/subsequentcheck # perfcheck (global) run performance unit tests top-level Module/perfcheck @@ -48,6 +50,7 @@ gb_Module_L10NTARGETSTACK := gb_Module_CHECKTARGETSTACK := gb_Module_SLOWCHECKTARGETSTACK := gb_Module_SCREENSHOTTARGETSTACK := +gb_Module_COVERAGETARGETSTACK := gb_Module_SUBSEQUENTCHECKTARGETSTACK := gb_Module_PERFCHECKTARGETSTACK := gb_Module_UICHECKTARGETSTACK := @@ -73,7 +76,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_nonl10n_target,$*) $(call gb_Module_get_l10n_target,$*) $(call gb_Module_get_check_target,$*) $(call gb_Module_get_slowcheck_target,$*) $(call gb_Module_get_screenshot_target,$*) $(call gb_Module_get_subsequentcheck_target,$*) $(call gb_Module_get_perfcheck_target,$*) $(call gb_Module_get_uicheck,$*)) + rm -f $(call gb_Module_get_target,$*) $(call gb_Module_get_nonl10n_target,$*) $(call gb_Module_get_l10n_target,$*) $(call gb_Module_get_check_target,$*) $(call gb_Module_get_slowcheck_target,$*) $(call gb_Module_get_screenshot_target,$*) $(call gb_Module_get_coverage_target,$*) $(call gb_Module_get_subsequentcheck_target,$*) $(call gb_Module_get_perfcheck_target,$*) $(call gb_Module_get_uicheck,$*)) $(call gb_Module_get_l10n_target,%) : $(call gb_Output_announce,$*,$(true),LOC,5) @@ -107,6 +110,14 @@ $(call gb_Module_get_screenshot_target,%) : mkdir -p $(dir $@) && \ touch $@) +$(call gb_Module_get_coverage_target,%) : + $(call gb_Output_announce,$*,$(true),SCR,5) + $(call gb_Trace_MakeMark,$*,SCR) + $(call gb_Output_announce_title,module $* coverage 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_Trace_MakeMark,$*,SCK) @@ -139,7 +150,7 @@ $(call gb_Module_get_target,%) : mkdir -p $(dir $@) && \ touch $@) -.PHONY : build build-l10n-only build-non-l10n-only unitcheck slowcheck screenshot subsequentcheck perfcheck uicheck clean check debugrun help showmodules translations +.PHONY : build build-l10n-only build-non-l10n-only coverage unitcheck slowcheck screenshot subsequentcheck perfcheck uicheck clean check debugrun help showmodules translations .DEFAULT_GOAL := build ifeq ($(gb_Side),build) @@ -186,6 +197,11 @@ screenshot : $(call gb_Output_announce_title,all screenshots checked.) $(call gb_Output_announce_bell) +coverage : + $(if $(gb_VERBOSE),$(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),COV,6)) + $(call gb_Output_announce_title,all coverage checked.) + $(call gb_Output_announce_bell) + # removing the dependency on build for now until we can make a full build with gbuild #subsequentcheck : build subsequentcheck : @@ -255,6 +271,7 @@ gb_Module_L10NTARGETSTACK := $(call gb_Module_get_l10n_target,$(1)) $(gb_Module_ 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_SCREENSHOTTARGETSTACK := $(call gb_Module_get_screenshot_target,$(1)) $(gb_Module_SCREENSHOTTARGETSTACK) +gb_Module_COVERAGETARGETSTACK := $(call gb_Module_get_coverage_target,$(1)) $(gb_Module_COVERAGETARGETSTACK) gb_Module_UICHECKTARGETSTACK := $(call gb_Module_get_uicheck_target,$(1)) $(gb_Module_UICHECKTARGETSTACK) gb_Module_SUBSEQUENTCHECKTARGETSTACK := $(call gb_Module_get_subsequentcheck_target,$(1)) $(gb_Module_SUBSEQUENTCHECKTARGETSTACK) gb_Module_PERFCHECKTARGETSTACK := $(call gb_Module_get_perfcheck_target,$(1)) $(gb_Module_PERFCHECKTARGETSTACK) @@ -269,6 +286,7 @@ $(if $(filter-out libreoffice instsetoo_native android ios,$(1)),\ $(call gb_Postprocess_get_target,AllModuleTests) : $(call gb_Module_get_check_target,$(1)) $(call gb_Postprocess_get_target,AllModuleSlowtests) : $(call gb_Module_get_slowcheck_target,$(1)) $(call gb_Postprocess_get_target,AllModuleScreenshots) : $(call gb_Module_get_screenshot_target,$(1)) +$(call gb_Postprocess_get_target,AllModuleCoverage) : $(call gb_Module_get_coverage_target,$(1)) $(call gb_Postprocess_get_target,AllModuleUITest) : $(call gb_Module_get_uicheck_target,$(1)) endef @@ -338,6 +356,14 @@ $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) endef +define gb_Module_add_coverage_target +$(call gb_Module__read_targetfile,$(1),$(2),coverage target) + +$(call gb_Module_get_coverage_target,$(1)) : $$(gb_Module_CURRENTTARGET) +$(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) + +endef + # has order dependency on AllModulesButInstsetNative to be able to run # subsequentcheck in the same make process on "make check" define gb_Module_add_subsequentcheck_target @@ -385,6 +411,7 @@ $(call gb_Module_get_l10n_target,$(1)) : $$(firstword $$(gb_Module_L10NTARGETSTA $(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_screenshot_target,$(1)) : $$(firstword $$(gb_Module_SCREENSHOTTARGETSTACK)) +$(call gb_Module_get_coverage_target,$(1)) : $$(firstword $$(gb_Module_COVERAGETARGETSTACK)) $(call gb_Module_get_subsequentcheck_target,$(1)) : $$(firstword $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)) $(call gb_Module_get_perfcheck_target,$(1)) : $$(firstword $$(gb_Module_PERFCHECKTARGETSTACK)) $(call gb_Module_get_uicheck_target,$(1)) : $$(firstword $$(gb_Module_UICHECKTARGETSTACK)) @@ -394,6 +421,7 @@ gb_Module_L10NTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_L10NTARGETSTACK 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_SCREENSHOTTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SCREENSHOTTARGETSTACK)),$$(gb_Module_SCREENSHOTTARGETSTACK)) +gb_Module_COVERAGETARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_COVERAGETARGETSTACK)),$$(gb_Module_COVERAGETARGETSTACK)) gb_Module_SUBSEQUENTCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)) gb_Module_PERFCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_PERFCHECKTARGETSTACK)),$$(gb_Module_PERFCHECKTARGETSTACK)) gb_Module_UICHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_UICHECKTARGETSTACK)),$$(gb_Module_UICHECKTARGETSTACK)) @@ -430,6 +458,11 @@ $(foreach target,$(2),$(call gb_Module_add_screenshot_target,$(1),$(target))) endef +define gb_Module_add_coverage_targets +$(foreach target,$(2),$(call gb_Module_add_coverage_target,$(1),$(target))) + +endef + define gb_Module_add_subsequentcheck_targets $(foreach target,$(2),$(call gb_Module_add_subsequentcheck_target,$(1),$(target))) @@ -460,6 +493,7 @@ include $(1) build : build-non-l10n-only build-l10n-only build-non-l10n-only : $$(firstword $$(gb_Module_TARGETSTACK)) build-l10n-only : $$(firstword $$(gb_Module_L10NTARGETSTACK)) +coverage : $$(firstword $$(gb_Module_COVERAGETARGETSTACK)) unitcheck : $$(firstword $$(gb_Module_CHECKTARGETSTACK)) slowcheck : $$(firstword $$(gb_Module_SLOWCHECKTARGETSTACK)) screenshot : $$(firstword $$(gb_Module_SCREENSHOTTARGETSTACK)) @@ -480,12 +514,13 @@ gb_Module_L10NTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_L10NTARGETSTACK 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_SCREENSHOTTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SCREENSHOTTARGETSTACK)),$$(gb_Module_SCREENSHOTTARGETSTACK)) +gb_Module_COVERAGETARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_COVERAGETARGETSTACK)),$$(gb_Module_COVERAGETARGETSTACK)) gb_Module_SUBSEQUENTCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)) gb_Module_UICHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_UICHECKTARGETSTACK)),$$(gb_Module_UICHECKTARGETSTACK)) gb_Module_PERFCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_PERFCHECKTARGETSTACK)),$$(gb_Module_PERFCHECKTARGETSTACK)) gb_Module_CLEANTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_CLEANTARGETSTACK)),$$(gb_Module_CLEANTARGETSTACK)) -ifneq ($$(and $$(gb_Module_TARGETSTACK),$$(gb_Module_CHECKTARGETSTACK),$$(gb_Module_SLOWCHECKTARGETSTACK),$$(gb_Module_SCREENSHOTTARGETSTACK),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK),$$(gb_Module_UICHECKTARGETSTACK),$$(gb_Module_PERFCHECKTARGETSTACK),$$(gb_Module_L10NTARGETSTACK)),) +ifneq ($$(and $$(gb_Module_TARGETSTACK),$$(gb_Module_CHECKTARGETSTACK),$$(gb_Module_SLOWCHECKTARGETSTACK),$$(gb_Module_COVERAGETARGETSTACK),$$(gb_Module_SCREENSHOTTARGETSTACK),$$(gb_Module_SUBSEQUENTCHECKTARGETSTACK),$$(gb_Module_UICHECKTARGETSTACK),$$(gb_Module_PERFCHECKTARGETSTACK),$$(gb_Module_L10NTARGETSTACK)),) $$(eval $$(call gb_Output_error,Corrupted module target stack!3)) endif diff --git a/solenv/gbuild/Postprocess.mk b/solenv/gbuild/Postprocess.mk index 2c1dfd2f454b..b56679e3b083 100644 --- a/solenv/gbuild/Postprocess.mk +++ b/solenv/gbuild/Postprocess.mk @@ -49,6 +49,7 @@ $(call gb_Postprocess_Postprocess,AllUIConfigs,All UI configuration files,$(WORK $(call gb_Postprocess_Postprocess,AllModuleTests,All modules' tests,$(WORKDIR)/Module/check/) $(call gb_Postprocess_Postprocess,AllModuleSlowtests,All modules' slowtests,$(WORKDIR)/Module/slowcheck/) $(call gb_Postprocess_Postprocess,AllModuleScreenshots,All modules' screenshots,$(WORKDIR)/Module/screenshot/) +$(call gb_Postprocess_Postprocess,AllModuleCoverage,All modules' coverage,$(WORKDIR)/Module/coverage/) $(call gb_Postprocess_Postprocess,AllModuleUITests,All modules' uitests,$(WORKDIR)/Module/uicheck/) endef diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk index 32d7eed72ec0..4f3814f2a5d2 100644 --- a/solenv/gbuild/TargetLocations.mk +++ b/solenv/gbuild/TargetLocations.mk @@ -142,6 +142,7 @@ gb_Module_get_l10n_target = $(WORKDIR)/Module/l10n/$(1) gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1) gb_Module_get_slowcheck_target = $(WORKDIR)/Module/slowcheck/$(1) gb_Module_get_screenshot_target = $(WORKDIR)/Module/screenshot/$(1) +gb_Module_get_coverage_target = $(WORKDIR)/Module/coverage/$(1) gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1) gb_Module_get_perfcheck_target = $(WORKDIR)/Module/perfcheck/$(1) gb_Module_get_uicheck_target = $(WORKDIR)/Module/uicheck/$(1) diff --git a/solenv/gbuild/extensions/post_SpeedUpTargets.mk b/solenv/gbuild/extensions/post_SpeedUpTargets.mk index 3db6355ab90d..44539cc5576d 100644 --- a/solenv/gbuild/extensions/post_SpeedUpTargets.mk +++ b/solenv/gbuild/extensions/post_SpeedUpTargets.mk @@ -9,21 +9,21 @@ ifneq ($(CROSS_COMPILING),) gb_Module_add_targets_for_build := -gb_Module_SKIPTARGETS := check slowcheck screenshot subsequentcheck uicheck +gb_Module_SKIPTARGETS := check coverage slowcheck screenshot subsequentcheck uicheck endif ifeq ($(gb_Side),build) -gb_Module_SKIPTARGETS := check slowcheck screenshot subsequentcheck uicheck +gb_Module_SKIPTARGETS := check coverage slowcheck screenshot subsequentcheck uicheck endif ifeq ($(MAKECMDGOALS),build) -gb_Module_SKIPTARGETS := check slowcheck screenshot subsequentcheck uicheck +gb_Module_SKIPTARGETS := check coverage slowcheck screenshot subsequentcheck uicheck endif ifeq (,$(filter perfcheck,$(MAKECMDGOALS))) gb_Module_SKIPTARGETS += perfcheck else -gb_Module_SKIPTARGETS += check slowcheck screenshot subsequentcheck uicheck +gb_Module_SKIPTARGETS += check coverage slowcheck screenshot subsequentcheck uicheck endif ifneq ($(strip $(MAKECMDGOALS)),) @@ -37,7 +37,7 @@ ifeq (T,$(if $(filter-out $(gb_SpeedUpTargets_LEVEL_1),$(MAKECMDGOALS)),,T)) gb_FULLDEPS := ifeq (T,$(if $(filter-out $(gb_SpeedUpTargets_LEVEL_2),$(MAKECMDGOALS)),,T)) -gb_Module_SKIPTARGETS += check slowcheck screenshot subsequentcheck uicheck +gb_Module_SKIPTARGETS += check coverage slowcheck screenshot subsequentcheck uicheck ifeq (T,$(if $(filter-out $(gb_SpeedUpTargets_LEVEL_3),$(MAKECMDGOALS)),,T)) gb_Module_SKIPTARGETS += build @@ -69,6 +69,10 @@ ifneq (,$(filter screenshot,$(gb_Module_SKIPTARGETS))) gb_Module_add_screenshot_target = endif +ifneq (,$(filter coverage,$(gb_Module_SKIPTARGETS))) +gb_Module_add_coverage_target = +endif + ifneq (,$(filter subsequentcheck,$(gb_Module_SKIPTARGETS))) gb_Module_add_subsequentcheck_target = endif diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt index acd16ed2e74e..c677541309f5 100644 --- a/solenv/gbuild/gbuild.help.txt +++ b/solenv/gbuild/gbuild.help.txt @@ -38,6 +38,7 @@ AVAILABLE TARGETS unitcheck run unit tests slowcheck run slow unit tests screenshot create all screenshots + coverage run coverage tests subsequentcheck run system tests (requires full installation) perfcheck run performance/callgrind unit tests uicheck run UI tests diff --git a/sw/CppunitTest_sw_odffeatures.mk b/sw/CppunitTest_sw_odffeatures.mk new file mode 100644 index 000000000000..f0f5cca0cbd1 --- /dev/null +++ b/sw/CppunitTest_sw_odffeatures.mk @@ -0,0 +1,60 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +#************************************************************************* +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +#************************************************************************* + +$(eval $(call gb_CppunitTest_CppunitTest,sw_odffeatures)) + +$(eval $(call gb_CppunitTest_use_common_precompiled_header,sw_odffeatures)) + +$(eval $(call gb_CppunitTest_add_exception_objects,sw_odffeatures, \ + sw/qa/extras/odfimport/odffeatures \ +)) + +$(eval $(call gb_CppunitTest_use_libraries,sw_odffeatures, \ + comphelper \ + cppu \ + cppuhelper \ + sal \ + sw \ + swqahelper \ + test \ + unotest \ + vcl \ + utl \ +)) + +$(eval $(call gb_CppunitTest_use_externals,sw_odffeatures,\ + boost_headers \ + libxml2 \ +)) + +$(eval $(call gb_CppunitTest_set_include,sw_odffeatures,\ + -I$(SRCDIR)/sw/inc \ + -I$(SRCDIR)/sw/qa/inc \ + $$(INCLUDE) \ +)) + +$(eval $(call gb_CppunitTest_use_api,sw_odffeatures,\ + udkapi \ + offapi \ +)) + +$(eval $(call gb_CppunitTest_use_ure,sw_odffeatures)) +$(eval $(call gb_CppunitTest_use_vcl,sw_odffeatures)) + +$(eval $(call gb_CppunitTest_use_rdb,sw_odffeatures,services)) + +$(eval $(call gb_CppunitTest_use_configuration,sw_odffeatures)) + +$(eval $(call gb_CppunitTest_add_arguments,sw_odffeatures, \ + -env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"$$$${$(gb_Helper_LIBRARY_PATH_VAR)+=$$$$$(gb_Helper_LIBRARY_PATH_VAR)}" \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/sw/Module_sw.mk b/sw/Module_sw.mk index 1aacc6a274ff..8b5a42e0ff14 100644 --- a/sw/Module_sw.mk +++ b/sw/Module_sw.mk @@ -188,6 +188,11 @@ $(eval $(call gb_Module_add_screenshot_targets,sw,\ CppunitTest_sw_dialogs_test_2 \ )) +# feature coverage +$(eval $(call gb_Module_add_coverage_targets,sw,\ + CppunitTest_sw_odffeatures \ +)) + $(eval $(call gb_Module_add_uicheck_targets,sw,\ $(call gb_Helper_optional,LIBRELOGO,UITest_librelogo) \ UITest_writer_tests \ diff --git a/sw/qa/extras/odfimport/data/feature_image_jpg.odt b/sw/qa/extras/odfimport/data/feature_image_jpg.odt new file mode 100644 index 000000000000..79294a27a7a6 Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_image_jpg.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_table.odt b/sw/qa/extras/odfimport/data/feature_table.odt new file mode 100644 index 000000000000..5c0bb843fe31 Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_table.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_table_merged-cells.odt b/sw/qa/extras/odfimport/data/feature_table_merged-cells.odt new file mode 100644 index 000000000000..ef1c99b7db4a Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_table_merged-cells.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_table_merged-cells_all.odt b/sw/qa/extras/odfimport/data/feature_table_merged-cells_all.odt new file mode 100644 index 000000000000..4608c4db5679 Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_table_merged-cells_all.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_table_text.odt b/sw/qa/extras/odfimport/data/feature_table_text.odt new file mode 100644 index 000000000000..ac7e4475fe0a Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_table_text.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_text.odt b/sw/qa/extras/odfimport/data/feature_text.odt new file mode 100644 index 000000000000..fa55c4c4522d Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_text.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_text_background-color.odt b/sw/qa/extras/odfimport/data/feature_text_background-color.odt new file mode 100644 index 000000000000..22dca8b136e4 Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_text_background-color.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_text_bold.odt b/sw/qa/extras/odfimport/data/feature_text_bold.odt new file mode 100644 index 000000000000..d899017328b1 Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_text_bold.odt differ diff --git a/sw/qa/extras/odfimport/data/feature_text_italic.odt b/sw/qa/extras/odfimport/data/feature_text_italic.odt new file mode 100644 index 000000000000..560da0922fe4 Binary files /dev/null and b/sw/qa/extras/odfimport/data/feature_text_italic.odt differ diff --git a/sw/qa/extras/odfimport/odffeatures.cxx b/sw/qa/extras/odfimport/odffeatures.cxx new file mode 100644 index 000000000000..1116cfc5a60b --- /dev/null +++ b/sw/qa/extras/odfimport/odffeatures.cxx @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <swmodeltestbase.hxx> + +#include <config_features.h> + +constexpr OUStringLiteral DATA_DIRECTORY = u"/sw/qa/extras/odfimport/data/"; + +class Test : public SwModelTestBase +{ +public: + Test() + : SwModelTestBase(DATA_DIRECTORY, "writer8") + { + } +}; + +CPPUNIT_TEST_FIXTURE(Test, testFeatureText) { load(mpTestDocumentPath, "feature_text.odt"); } + +CPPUNIT_TEST_FIXTURE(Test, testFeatureTextBold) +{ + load(mpTestDocumentPath, "feature_text_bold.odt"); +} + +CPPUNIT_TEST_FIXTURE(Test, testFeatureTextItalic) +{ + load(mpTestDocumentPath, "feature_text_italic.odt"); +} + +CPPUNIT_PLUGIN_IMPLEMENT(); +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */