summaryrefslogtreecommitdiff
path: root/libreofficekit
diff options
context:
space:
mode:
authorAndrzej Hunt <andrzej.hunt@collabora.com>2014-07-21 19:34:09 +0200
committerMichael Meeks <michael.meeks@collabora.com>2014-09-29 11:11:29 +0100
commit864d33f0bb12d0c6bede665a2c88abcc387ec78d (patch)
tree7d3e09ba850f3ba9b9c73789557411b56558cd58 /libreofficekit
parent57081000d3e79b6cffc378b8a5c1a90ba5c69b15 (diff)
Implement lokconf_init.
This is a simple executable which can be used to ensure there is a pe-pared configuration for unit-tests to avoid the usually required re-start on the first run. Change-Id: I49b706e8daa93bc34db508a24615b63b9babddba
Diffstat (limited to 'libreofficekit')
-rw-r--r--libreofficekit/Executable_lokconf_init.mk42
-rw-r--r--libreofficekit/Module_libreofficekit.mk4
-rw-r--r--libreofficekit/qa/lokconf_init/lokconf_init.cxx41
3 files changed, 87 insertions, 0 deletions
diff --git a/libreofficekit/Executable_lokconf_init.mk b/libreofficekit/Executable_lokconf_init.mk
new file mode 100644
index 000000000000..3e25f13678e8
--- /dev/null
+++ b/libreofficekit/Executable_lokconf_init.mk
@@ -0,0 +1,42 @@
+# -*- 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,lokconf_init))
+
+$(eval $(call gb_Executable_set_include,lokconf_init,\
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Executable_use_libraries,lokconf_init, \
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Executable_use_static_libraries,lokconf_init,\
+ libreofficekit \
+))
+
+$(eval $(call gb_Executable_add_libs,lokconf_init,\
+ -lSM \
+ -lICE \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_libs,lokconf_init,\
+ -lm \
+ -ldl \
+ -lpthread \
+))
+endif
+
+$(eval $(call gb_Executable_add_exception_objects,lokconf_init,\
+ libreofficekit/qa/lokconf_init/lokconf_init \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk
index a5b9cb06348c..075cbdd906d2 100644
--- a/libreofficekit/Module_libreofficekit.mk
+++ b/libreofficekit/Module_libreofficekit.mk
@@ -11,6 +11,10 @@ $(eval $(call gb_Module_Module,libreofficekit))
ifeq ($(OS),LINUX)
+$(eval $(call gb_Module_add_targets,libreofficekit,\
+ Executable_lokconf_init \
+))
+
# $(eval $(call gb_Module_add_check_targets,libreofficekit,\
# CppunitTest_libreofficekit_tiledrendering \
# ))
diff --git a/libreofficekit/qa/lokconf_init/lokconf_init.cxx b/libreofficekit/qa/lokconf_init/lokconf_init.cxx
new file mode 100644
index 000000000000..96771597d1b4
--- /dev/null
+++ b/libreofficekit/qa/lokconf_init/lokconf_init.cxx
@@ -0,0 +1,41 @@
+/* -*- 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 <stdio.h>
+#include <string>
+#include <string.h>
+
+#include <sal/main.h>
+
+#include <LibreOfficeKit/LibreOfficeKit.h>
+
+using namespace std;
+
+// Using SAL_IMPLEMENT_MAIN means that we can directly use the same
+// arguments as would be provided to cppunittester, i.e. ensuring
+// that we're operating with the correct directories etc.
+SAL_IMPLEMENT_MAIN()
+{
+ string sPath( getenv("INSTDIR") );
+ sPath += "/program";
+
+ LibreOfficeKit* pOffice = lok_init( sPath.c_str() );
+
+ // As this is the first init, pOffice should be NULL.
+ // However there's no reason we shouldn't be able to operate
+ // even if it isn't the first init.
+ if ( pOffice )
+ {
+ pOffice->pClass->destroy( pOffice );
+ pOffice = 0;
+ }
+ return 0;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */