diff options
author | Andrzej Hunt <andrzej.hunt@collabora.com> | 2014-07-21 19:34:09 +0200 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2014-09-29 11:11:29 +0100 |
commit | 864d33f0bb12d0c6bede665a2c88abcc387ec78d (patch) | |
tree | 7d3e09ba850f3ba9b9c73789557411b56558cd58 /libreofficekit | |
parent | 57081000d3e79b6cffc378b8a5c1a90ba5c69b15 (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.mk | 42 | ||||
-rw-r--r-- | libreofficekit/Module_libreofficekit.mk | 4 | ||||
-rw-r--r-- | libreofficekit/qa/lokconf_init/lokconf_init.cxx | 41 |
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: */ |