summaryrefslogtreecommitdiff
path: root/smoketest
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-03-05 22:21:57 +0000
committerMichael Meeks <michael.meeks@suse.com>2013-03-12 15:35:35 +0000
commitddaf31f183fe3f2fbf76c1b87eb5a943dc6d833f (patch)
treeb01578b77ea9725ad409aac76dacb54a01dba3c2 /smoketest
parent08b6643eda69c1d4fc8a0b1277ffdd65834d5f46 (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.mk33
-rw-r--r--smoketest/Executable_libtest.mk47
-rw-r--r--smoketest/Module_smoketest.mk4
-rw-r--r--smoketest/libtest.cxx74
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: */