diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-03-05 22:21:57 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-03-12 15:35:35 +0000 |
commit | ddaf31f183fe3f2fbf76c1b87eb5a943dc6d833f (patch) | |
tree | b01578b77ea9725ad409aac76dacb54a01dba3c2 /smoketest | |
parent | 08b6643eda69c1d4fc8a0b1277ffdd65834d5f46 (diff) |
liblibo: install test library by itself and install it.
Also fix debugging with threads, find fundamentalrc correctly,
make it headless, finally loads a document then exits.
Change-Id: I2017075bf3b3c7198bde53b9fe85585089e5ab6c
Diffstat (limited to 'smoketest')
-rw-r--r-- | smoketest/CppunitTest_liblibreoffice.mk | 33 | ||||
-rw-r--r-- | smoketest/Executable_libtest.mk | 47 | ||||
-rw-r--r-- | smoketest/Module_smoketest.mk | 4 | ||||
-rw-r--r-- | smoketest/libtest.cxx | 74 |
4 files changed, 73 insertions, 85 deletions
diff --git a/smoketest/CppunitTest_liblibreoffice.mk b/smoketest/CppunitTest_liblibreoffice.mk deleted file mode 100644 index e784a3ab2b6d..000000000000 --- a/smoketest/CppunitTest_liblibreoffice.mk +++ /dev/null @@ -1,33 +0,0 @@ -# -*- 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,liblibreoffice)) - -$(eval $(call gb_CppunitTest_abort_on_assertion,liblibreoffice)) - -$(eval $(call gb_CppunitTest_add_exception_objects,liblibreoffice,\ - smoketest/libtest \ -)) - -$(eval $(call gb_CppunitTest_use_libraries,liblibreoffice,\ - libreoffice \ -)) - -ifeq ($(OS),MACOSX) -liblibreoffice_SOFFICE_INST := $(DEVINSTALLDIR)/opt/LibreOffice.app/Contents/MacOS -else -liblibreoffice_SOFFICE_INST := $(DEVINSTALLDIR)/opt/program -endif - -$(eval $(call gb_CppunitTest_add_arguments,liblibreoffice,\ - -env:arg-soffice=$(liblibreoffice_SOFFICE_INST) \ - -env:arg-testarg.smoketest.doc=$(OUTDIR)/bin/smoketestdoc.sxw \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/smoketest/Executable_libtest.mk b/smoketest/Executable_libtest.mk new file mode 100644 index 000000000000..59ba80be4910 --- /dev/null +++ b/smoketest/Executable_libtest.mk @@ -0,0 +1,47 @@ +# -*- 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_Executable_Executable,libtest)) + +$(eval $(call gb_Executable_set_include,libtest,\ + $$(INCLUDE) \ + -I$(SRCDIR)/desktop/inc \ +)) + +$(eval $(call gb_Executable_use_libraries,libtest,\ + libreoffice \ + $(gb_UWINAPI) \ +)) + +$(eval $(call gb_Executable_add_libs,libtest,\ + -pthread \ +)) + +$(eval $(call gb_Executable_add_exception_objects,libtest,\ + smoketest/libtest \ +)) + +ifeq ($(OS),MACOSX) +liblibreoffice_SOFFICE_INST := $(DEVINSTALLDIR)/opt/LibreOffice.app/Contents/MacOS +else +liblibreoffice_SOFFICE_INST := $(DEVINSTALLDIR)/opt/program +endif +liblibreoffice_OWN_LD_PATH_DIR := $(liblibreoffice_SOFFICE_INST)/libolib +liblibreoffice_OWN_LD_SO := $(liblibreoffice_OWN_LD_PATH_DIR)/$(call gb_Library_get_linktargetname,libreoffice) + +$(liblibreoffice_OWN_LD_SO) : $(call gb_Library_get_target,libreoffice) + mkdir -p $(liblibreoffice_OWN_LD_PATH_DIR)/Library + cp -a $(call gb_Library_get_target,libreoffice) $(liblibreoffice_OWN_LD_SO) + +run_libtest: $(liblibreoffice_OWN_LD_SO) + $(gb_Helper_LIBRARY_PATH_VAR)=$${$(gb_Helper_LIBRARY_PATH_VAR):+$$$(gb_Helper_LIBRARY_PATH_VAR):}":$(liblibreoffice_OWN_LD_PATH_DIR)/Library" \ + $(call gb_LinkTarget_get_target,Executable/libtest) \ + $(liblibreoffice_SOFFICE_INST) $(OUTDIR)/bin/smoketestdoc.sxw \ + +# vim: set noet sw=4 ts=4: diff --git a/smoketest/Module_smoketest.mk b/smoketest/Module_smoketest.mk index 9a2aa72f9fc3..31efcce58af5 100644 --- a/smoketest/Module_smoketest.mk +++ b/smoketest/Module_smoketest.mk @@ -42,9 +42,11 @@ $(eval $(call gb_Module_add_targets,smoketest,\ )) endif +ifeq ($(OS),LINUX) $(eval $(call gb_Module_add_check_targets,smoketest,\ - CppunitTest_liblibreoffice \ + Executable_libtest \ )) +endif $(eval $(call gb_Module_add_subsequentcheck_targets,smoketest,\ CppunitTest_smoketest \ diff --git a/smoketest/libtest.cxx b/smoketest/libtest.cxx index 4e452a704a43..f3d207fef39b 100644 --- a/smoketest/libtest.cxx +++ b/smoketest/libtest.cxx @@ -7,60 +7,32 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -// yuck / FIXME ... -#include "../desktop/inc/liblibreoffice.hxx" - +#include <stdio.h> #include <assert.h> +#include <liblibreoffice.hxx> -#include <sal/types.h> -#include <rtl/ustring.hxx> -#include <rtl/bootstrap.hxx> -#include "cppunit/TestAssert.h" -#include "cppunit/TestFixture.h" -#include "cppunit/extensions/HelperMacros.h" -#include "cppunit/plugin/TestPlugIn.h" - -class Test: public CppUnit::TestFixture { -public: - virtual void setUp(); - virtual void tearDown(); - -private: - CPPUNIT_TEST_SUITE(Test); - CPPUNIT_TEST(test); - CPPUNIT_TEST_SUITE_END(); - - void test(); -}; - -void Test::setUp() -{ -} -void Test::tearDown() -{ -} - -void Test::test() +int main (int argc, char **argv) { - rtl::OUString aArgSoffice; - rtl::Bootstrap::get( rtl::OUString( "arg-soffice" ), aArgSoffice ); - OString aInstall = OUStringToOString( aArgSoffice, RTL_TEXTENCODING_UTF8 ); - fprintf( stderr, "liblibreoffice test: '%s'\n", aInstall.getStr() ); - LibLibreOffice *pOffice = lo_init( aInstall.getStr() ); - CPPUNIT_ASSERT( pOffice != NULL ); - - bool bInited = pOffice->initialize( aInstall.getStr() ); - CPPUNIT_ASSERT( bInited ); - - rtl::OUString aArgDoc; - rtl::Bootstrap::get( rtl::OUString( "arg-testarg.smoketest.doc" ), aArgDoc ); - OString aDoc = OUStringToOString ( aArgDoc, RTL_TEXTENCODING_UTF8 ); - fprintf ( stderr, "liblibreoffice doc arg: '%s'\n", aDoc.getStr() ); - pOffice->documentLoad ( aDoc.getStr() ); + if( argc < 2 ) + return -1; + LibLibreOffice *pOffice = lo_init( argv[1] ); + if( !pOffice ) + return -1; + // This separate init is lame I think. + if( !pOffice->initialize( argv[1] ) ) + { + fprintf( stderr, "failed to initialize\n" ); + return -1; + } + fprintf( stderr, "start to load document '%s'\n", argv[2] ); + LODocument *pDocument = pOffice->documentLoad( argv[2] ); + if( !pDocument ) + { + fprintf( stderr, "failed to load document '%s'\n", argv[2] ); + return -1; + } + fprintf( stderr, "all tests passed." ); + return 0; } -CPPUNIT_TEST_SUITE_REGISTRATION(Test); - -CPPUNIT_PLUGIN_IMPLEMENT(); - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |