[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 2 commits - sfx2/CppunitTest_sfx2_metadatable.mk sfx2/GoogleTest_sfx2_metadatable.mk sfx2/Module_sfx2.mk sfx2/qa solenv/gbuild

Damjan Jovanovic damjan at apache.org
Wed Sep 16 13:08:17 PDT 2015


 sfx2/CppunitTest_sfx2_metadatable.mk |   48 -------
 sfx2/GoogleTest_sfx2_metadatable.mk  |   47 +++++++
 sfx2/Module_sfx2.mk                  |    4 
 sfx2/qa/cppunit/makefile.mk          |   66 ----------
 sfx2/qa/cppunit/test_metadatable.cxx |  231 -----------------------------------
 sfx2/qa/cppunit/version.map          |   30 ----
 sfx2/qa/gtest/makefile.mk            |   66 ++++++++++
 sfx2/qa/gtest/test_metadatable.cxx   |  231 +++++++++++++++++++++++++++++++++++
 solenv/gbuild/GoogleTest.mk          |   96 ++++++++++++++
 solenv/gbuild/TargetLocations.mk     |    2 
 solenv/gbuild/gbuild.mk              |    1 
 solenv/gbuild/platform/freebsd.mk    |   11 +
 solenv/gbuild/platform/linux.mk      |   11 +
 solenv/gbuild/platform/macosx.mk     |   11 +
 solenv/gbuild/platform/os2.mk        |   10 +
 solenv/gbuild/platform/solaris.mk    |   11 +
 solenv/gbuild/platform/windows.mk    |   10 +
 solenv/gbuild/platform/winmingw.mk   |    9 +
 18 files changed, 511 insertions(+), 384 deletions(-)

New commits:
commit d77533d7315e254b931c9ce003fbdc13dbbbde92
Author: Damjan Jovanovic <damjan at apache.org>
Date:   Wed Sep 16 19:00:22 2015 +0000

    #i125003# migrate main/sfx2 to Google Test, using gbuild for the first time.

diff --git a/sfx2/CppunitTest_sfx2_metadatable.mk b/sfx2/GoogleTest_sfx2_metadatable.mk
old mode 100755
new mode 100644
similarity index 70%
rename from sfx2/CppunitTest_sfx2_metadatable.mk
rename to sfx2/GoogleTest_sfx2_metadatable.mk
index dc12b60..baa4dea
--- a/sfx2/CppunitTest_sfx2_metadatable.mk
+++ b/sfx2/GoogleTest_sfx2_metadatable.mk
@@ -21,28 +21,27 @@
 
 
 
-$(eval $(call gb_CppunitTest_CppunitTest,sfx2_metadatable))
+$(eval $(call gb_GoogleTest_GoogleTest,sfx2_metadatable))
 
-$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_metadatable, \
-    sfx2/qa/cppunit/test_metadatable \
+$(eval $(call gb_GoogleTest_add_exception_objects,sfx2_metadatable, \
+	sfx2/qa/gtest/test_metadatable \
 ))
 
-$(eval $(call gb_CppunitTest_add_linked_libs,sfx2_metadatable, \
+$(eval $(call gb_GoogleTest_add_linked_libs,sfx2_metadatable, \
     sal \
     sfx \
     stl \
     $(gb_STDLIBS) \
 ))
 
-$(eval $(call gb_CppunitTest_set_include,sfx2_metadatable,\
-    $$(INCLUDE) \
-    -I$(OUTDIR)/inc/offuh \
-    -I$(OUTDIR)/inc \
+$(eval $(call gb_GoogleTest_set_include,sfx2_metadatable,\
+	$$(INCLUDE) \
+	-I$(OUTDIR)/inc/offuh \
+	-I$(OUTDIR)/inc \
 ))
 
-$(eval $(call gb_CppunitTest_set_ldflags,sfx2_metadatable,\
+$(eval $(call gb_GoogleTest_set_ldflags,sfx2_metadatable,\
     $$(LDFLAGS) \
-    -lcppunit \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/sfx2/Module_sfx2.mk b/sfx2/Module_sfx2.mk
index b69c7ce..9e6e9b7 100755
--- a/sfx2/Module_sfx2.mk
+++ b/sfx2/Module_sfx2.mk
@@ -30,9 +30,9 @@ $(eval $(call gb_Module_add_targets,sfx2,\
     Package_sdi \
 ))
 
-ifeq ($(WITH_CPPUNIT),YES)
+ifeq ($(ENABLE_UNIT_TESTS),YES)
 $(eval $(call gb_Module_add_check_targets,sfx2,\
-    CppunitTest_sfx2_metadatable \
+    GoogleTest_sfx2_metadatable \
 ))
 endif
 
diff --git a/sfx2/qa/cppunit/version.map b/sfx2/qa/cppunit/version.map
deleted file mode 100644
index ec49c45..0000000
--- a/sfx2/qa/cppunit/version.map
+++ /dev/null
@@ -1,30 +0,0 @@
-#**************************************************************
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-#**************************************************************
-
-
-
-UDK_3_0_0 {
-    global:
-        cppunitTestPlugIn;
-
-    local:
-        *;
-};
diff --git a/sfx2/qa/cppunit/makefile.mk b/sfx2/qa/gtest/makefile.mk
similarity index 100%
rename from sfx2/qa/cppunit/makefile.mk
rename to sfx2/qa/gtest/makefile.mk
diff --git a/sfx2/qa/cppunit/test_metadatable.cxx b/sfx2/qa/gtest/test_metadatable.cxx
similarity index 100%
rename from sfx2/qa/cppunit/test_metadatable.cxx
rename to sfx2/qa/gtest/test_metadatable.cxx
commit 05a8a6da38c8ec1149313bbbc6602aacf10a926f
Author: Damjan Jovanovic <damjan at apache.org>
Date:   Wed Sep 16 18:51:51 2015 +0000

    #i125003# Provide gbuild integration for Google Test. Windows, Linux and FreeBSD have
    
    been tested, the other platforms are educated guesses.

diff --git a/solenv/gbuild/GoogleTest.mk b/solenv/gbuild/GoogleTest.mk
new file mode 100644
index 0000000..b8cf828
--- /dev/null
+++ b/solenv/gbuild/GoogleTest.mk
@@ -0,0 +1,96 @@
+#**************************************************************
+#  
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#  
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#  
+#**************************************************************
+
+
+
+
+# GoogleTest class
+
+# in non-product builds, ensure that tools-based assertions do not pop up as message box, but are routed to the shell
+DBGSV_ERROR_OUT := shell
+export DBGSV_ERROR_OUT
+
+# defined by platform
+#  gb_CppunitTest_TARGETTYPE
+#  gb_CppunitTest_get_filename
+gb_GoogleTest__get_linktargetname = GoogleTest/$(call gb_GoogleTest_get_filename,$(1))
+
+.PHONY : $(call gb_GoogleTest_get_clean_target,%)
+$(call gb_GoogleTest_get_clean_target,%) :
+	$(call gb_Helper_abbreviate_dirs,\
+		rm -f $(call gb_GoogleTest_get_target,$*) $(call gb_GoogleTest_get_target,$*).xml)
+
+.PHONY : $(call gb_GoogleTest_get_target,%)
+$(call gb_GoogleTest_get_target,%) :
+	$(call gb_Output_announce,$*,$(true),CUT,2)
+	$(subst gb_GoogleTest_GTESTPRECOMMAND,$(gb_GoogleTest_GTESTPRECOMMAND),\
+		$(call gb_Helper_abbreviate_dirs_native,\
+			mkdir -p $(dir $@) && \
+			gb_GoogleTest_GTESTPRECOMMAND $(call gb_LinkTarget_get_target,GoogleTest/$(call gb_GoogleTest_get_filename,$*)) \
+				--gtest_output="xml:$(call gb_GoogleTest_get_target,$*).xml"))
+
+define gb_GoogleTest_GoogleTest
+$(call gb_GoogleTest__GoogleTest_impl,$(1),$(call gb_GoogleTest__get_linktargetname,$(1)))
+
+endef
+
+define gb_GoogleTest__GoogleTest_impl
+$(call gb_LinkTarget_LinkTarget,$(2))
+$(call gb_LinkTarget_set_targettype,$(2),GoogleTest)
+$(call gb_LinkTarget_add_linked_libs,$(2),gtest)
+$(call gb_GoogleTest_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
+$(call gb_GoogleTest_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
+$(call gb_GoogleTest_GoogleTest_platform,$(1),$(2),$(call gb_LinkTarget_get_target,GoogleTest/$(call gb_GoogleTest_get_filename,$(1))))
+$$(eval $$(call gb_Module_register_target,$(call gb_GoogleTest_get_target,$(1)),$(call gb_GoogleTest_get_clean_target,$(1))))
+
+endef
+
+define gb_GoogleTest__forward_to_Linktarget
+gb_GoogleTest_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_GoogleTest__get_linktargetname,$$(1)),$$(2),$$(3))
+
+endef
+
+$(eval $(foreach method,\
+	add_cobject \
+	add_cobjects \
+	add_cxxobject \
+	add_cxxobjects \
+	add_objcxxobject \
+	add_objcxxobjects \
+	add_exception_objects \
+	add_noexception_objects \
+	set_cflags \
+	set_cxxflags \
+	set_objcxxflags \
+	set_defs \
+	set_include \
+	set_ldflags \
+	set_library_path_flags \
+	add_linked_libs \
+	add_linked_static_libs \
+	add_package_headers \
+	add_sdi_headers \
+	add_precompiled_header \
+,\
+	$(call gb_GoogleTest__forward_to_Linktarget,$(method))\
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 36c81ae..5ac6766 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -52,6 +52,7 @@ gb_CxxObject_get_target = $(WORKDIR)/CxxObject/$(1).o
 gb_GenCxxObject_get_target = $(WORKDIR)/GenCxxObject/$(1).o
 gb_Executable_get_external_headers_target = $(WORKDIR)/ExternalHeaders/Executable/$(1)
 gb_Executable_get_headers_target = $(WORKDIR)/Headers/Executable/$(1)
+gb_GoogleTest_get_target = $(WORKDIR)/GoogleTest/$(1).test
 gb_JavaClassSet_get_classdir = $(WORKDIR)/JavaClassSet/$(1)
 gb_JavaClassSet_get_repo_target = $(WORKDIR)/JavaClassSet/$(2)/$(1).done
 gb_JavaClassSet_get_target = $(WORKDIR)/JavaClassSet/$(1)/done
@@ -110,6 +111,7 @@ $(eval $(call gb_Helper_make_clean_targets,\
 	SdiTarget \
 	SrsTarget \
 	CppunitTest \
+	GoogleTest \
 	CustomTarget \
 ))
 
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 2bedf65..d7667cb 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -237,6 +237,7 @@ include $(foreach class, \
 	CustomTarget \
 	PrecompiledHeaders \
 	CppunitTest \
+	GoogleTest \
 	JavaClassSet \
 	JunitTest \
 	Module \
diff --git a/solenv/gbuild/platform/freebsd.mk b/solenv/gbuild/platform/freebsd.mk
index 088fcc57..881dee0 100644
--- a/solenv/gbuild/platform/freebsd.mk
+++ b/solenv/gbuild/platform/freebsd.mk
@@ -268,7 +268,7 @@ endef
 
 define gb_LinkTarget__command
 $(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
+$(if $(filter Library CppunitTest GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
 $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
 endef
 
@@ -380,6 +380,15 @@ $(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,
 endef
 
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH := -Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
+endef
+
 # CppunitTest class
 
 gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk
index 0a23a43..3f14e5d 100644
--- a/solenv/gbuild/platform/linux.mk
+++ b/solenv/gbuild/platform/linux.mk
@@ -245,7 +245,7 @@ endef
 
 define gb_LinkTarget__command
 $(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
+$(if $(filter Library CppunitTest GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
 $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
 endef
 
@@ -357,6 +357,15 @@ $(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,
 endef
 
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH := -Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
+endef
+
 # CppunitTest class
 
 gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index ac30fee..8e77566 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -300,7 +300,7 @@ endef
 
 define gb_LinkTarget__command
 $(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(2)))
+$(if $(filter Library CppunitTest GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(2)))
 $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
 endef
 
@@ -402,6 +402,15 @@ $(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Executable_get_layer,
 endef
 
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
+endef
+
 # CppunitTest class
 
 gb_CppunitTest_CPPTESTPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
diff --git a/solenv/gbuild/platform/os2.mk b/solenv/gbuild/platform/os2.mk
index 692f98a..8fdbd79 100644
--- a/solenv/gbuild/platform/os2.mk
+++ b/solenv/gbuild/platform/os2.mk
@@ -347,7 +347,7 @@ endef
 
 define gb_LinkTarget__command
 $(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
+$(if $(filter GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
 $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
 $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlinklibrary,$(1)))
 endef
@@ -507,6 +507,14 @@ define gb_Executable_Executable_platform
 
 endef
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+endef
+
 # CppunitTest class
 
 gb_CppunitTest_CPPTESTPRECOMMAND :=
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index e293cb9..26e451e 100644
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -221,7 +221,7 @@ endef
 
 define gb_LinkTarget__command
 $(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
+$(if $(filter Library CppunitTest GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
 $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
 endef
 
@@ -335,6 +335,15 @@ $(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,
 endef
 
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
+endef
+
 # CppunitTest class
 
 gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk
index b9dd25f..e497031 100644
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -420,7 +420,7 @@ $(call gb_Helper_abbreviate_dirs_native,\
 	$(gb_LINK) \
 		$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
 		$(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
-		$(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
+		$(if $(filter GoogleTest Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
 		$(LDFLAGS) \
 		@$${RESPONSEFILE} \
 		$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))) \
@@ -613,6 +613,14 @@ $(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_g
 
 endef
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+endef
+
 # CppunitTest class
 
 gb_CppunitTest_CPPTESTPRECOMMAND :=
diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk
index 0dd65bb..314f9cc 100644
--- a/solenv/gbuild/platform/winmingw.mk
+++ b/solenv/gbuild/platform/winmingw.mk
@@ -448,7 +448,7 @@ endef
 
 define gb_LinkTarget__command
 $(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
+$(if $(filter GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
 $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinklibrary,$(1),$(2)))
 $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlinklibrary,$(1)))
 endef
@@ -594,6 +594,13 @@ gb_Executable_TARGETTYPEFLAGS :=
 gb_Executable_get_rpath :=
 gb_Executable_Executable_platform =
 
+# GoogleTest class
+
+gb_GoogleTest_GTESTPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
+
+define gb_GoogleTest_GoogleTest_platform
+endef
 
 # CppunitTest class
 


More information about the Libreoffice-commits mailing list