diff options
Diffstat (limited to 'cppuhelper/test/bootstrap')
-rw-r--r-- | cppuhelper/test/bootstrap/TestEnv.cxx | 130 | ||||
-rw-r--r-- | cppuhelper/test/bootstrap/TestEnv.def | 8 | ||||
-rw-r--r-- | cppuhelper/test/bootstrap/bootstrap.test.cxx | 323 | ||||
-rw-r--r-- | cppuhelper/test/bootstrap/makefile.mk | 61 |
4 files changed, 0 insertions, 522 deletions
diff --git a/cppuhelper/test/bootstrap/TestEnv.cxx b/cppuhelper/test/bootstrap/TestEnv.cxx deleted file mode 100644 index 90e4bb65b..000000000 --- a/cppuhelper/test/bootstrap/TestEnv.cxx +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_cppuhelper.hxx" - -#include "cppu/EnvDcp.hxx" - -#include "cppu/helper/purpenv/Environment.hxx" -#include "cppu/helper/purpenv/Mapping.hxx" - - - -#define LOG_LIFECYCLE_TestEnv -#ifdef LOG_LIFECYCLE_TestEnv -# include <iostream> -# define LOG_LIFECYCLE_TestEnv_emit(x) x - -#else -# define LOG_LIFECYCLE_TestEnv_emit(x) - -#endif - - -class SAL_DLLPRIVATE TestEnv : public cppu::Enterable -{ - int m_inCount; - - virtual ~TestEnv(); - -public: - explicit TestEnv(); - -protected: - virtual void v_enter(void); - virtual void v_leave(void); - - virtual void v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam); - virtual void v_callOut_v (uno_EnvCallee * pCallee, va_list * pParam); - - virtual int v_isValid (rtl::OUString * pReason); -}; - -TestEnv::TestEnv() - : m_inCount(0) -{ - LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::TestEnv(...)", this)); -} - -TestEnv::~TestEnv(void) -{ - LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::~TestEnv(void)", this)); -} - - -void TestEnv::v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam) -{ - ++ m_inCount; - pCallee(pParam); - -- m_inCount; -} - -void TestEnv::v_callOut_v(uno_EnvCallee * pCallee, va_list * pParam) -{ - -- m_inCount; - pCallee(pParam); - ++ m_inCount; -} - -void TestEnv::v_enter(void) -{ - ++ m_inCount; -} - -void TestEnv::v_leave(void) -{ - -- m_inCount; -} - -int TestEnv::v_isValid(rtl::OUString * pReason) -{ - int result = m_inCount & 1; - - if (result) - *pReason = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OK")); - - else - *pReason = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("not entered/invoked")); - - return result; -} - -extern "C" void SAL_CALL uno_initEnvironment(uno_Environment * pEnv) SAL_THROW_EXTERN_C() -{ - cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new TestEnv()); -} - -extern "C" void uno_ext_getMapping(uno_Mapping ** ppMapping, - uno_Environment * pFrom, - uno_Environment * pTo ) -{ - cppu::helper::purpenv::createMapping(ppMapping, pFrom, pTo); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/bootstrap/TestEnv.def b/cppuhelper/test/bootstrap/TestEnv.def deleted file mode 100644 index 1444d92c1..000000000 --- a/cppuhelper/test/bootstrap/TestEnv.def +++ /dev/null @@ -1,8 +0,0 @@ -HEAPSIZE 0 -EXPORTS - uno_initEnvironment - uno_ext_getMapping - - - - diff --git a/cppuhelper/test/bootstrap/bootstrap.test.cxx b/cppuhelper/test/bootstrap/bootstrap.test.cxx deleted file mode 100644 index 5aa09b704..000000000 --- a/cppuhelper/test/bootstrap/bootstrap.test.cxx +++ /dev/null @@ -1,323 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#include "sal/main.h" -#include "osl/file.hxx" - -#include "typelib/typedescription.hxx" - -#include "cppuhelper/bootstrap.hxx" -#include "cppuhelper/shlib.hxx" - -#include <com/sun/star/lang/XComponent.hpp> - -#include "uno/environment.hxx" -#include "cppu/EnvDcp.hxx" -#include "cppu/EnvGuards.hxx" - -#include <iostream> - - -#ifndef SAL_DLLPREFIX -# define SAL_DLLPREFIX "" -#endif - - -using namespace com::sun::star; - - -static rtl::OUString s_comment; - -static bool s_check_object_is_in(void * pObject) -{ - uno::Environment currentEnv(uno::Environment::getCurrent()); - - rtl_uString * pOId = NULL; - currentEnv.get()->pExtEnv->getObjectIdentifier(currentEnv.get()->pExtEnv, &pOId, pObject); - - - uno::TypeDescription typeDescription(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface"))); - - void * pRegisteredObject = NULL; - currentEnv.get()->pExtEnv->getRegisteredInterface(currentEnv.get()->pExtEnv, - &pRegisteredObject, - pOId, - (typelib_InterfaceTypeDescription *)typeDescription.get()); - - - if (pOId) rtl_uString_release(pOId); - - bool result = pRegisteredObject != NULL; - - if (result) - currentEnv.get()->pExtEnv->releaseInterface(currentEnv.get()->pExtEnv, pRegisteredObject); - - return result; -} - -static void s_test__loadSharedLibComponentFactory(rtl::OUString const & clientPurpose, - rtl::OUString const & servicePurpose) -{ - cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)) - + clientPurpose, NULL)); - if (clientPurpose.getLength() && !envGuard.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get purpose env: \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - - return; - } - - rtl::OString os_clientPurpose(rtl::OUStringToOString(clientPurpose, RTL_TEXTENCODING_ASCII_US)); - - uno::Reference<uno::XInterface> xItf( - cppu::loadSharedLibComponentFactory( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SAL_DLLPREFIX "TestComponent.uno" SAL_DLLEXTENSION)), -#ifdef WIN32 - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")), -#else - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("file://../lib/")), -#endif - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("impl.test.TestComponent")) + servicePurpose, - uno::Reference<lang::XMultiServiceFactory>(), - uno::Reference<registry::XRegistryKey>() - ) - ); - - if (!xItf.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot no object - FAILURE\n")); - return; - } - - if (!clientPurpose.equals(servicePurpose) && !s_check_object_is_in(xItf.get())) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't find object in current purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } - - if (!cppu::EnvDcp::getPurpose(uno::Environment::getCurrent().getTypeName()).equals(clientPurpose)) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tdid not enter client purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } -} - -static void s_test__loadSharedLibComponentFactory__free_free() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__free_free\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(), rtl::OUString()); -} - -static void s_test__loadSharedLibComponentFactory__free_purpose() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__free_purpose\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - -static void s_test__loadSharedLibComponentFactory__purpose_free() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__purpose_free\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv")), - rtl::OUString()); -} - -static void s_test__loadSharedLibComponentFactory__purpose_purpose() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__purpose_purpose\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv")), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - -static rtl::OUString s_getSDrive(void) -{ - rtl::OUString path;//(RTL_CONSTASCII_USTRINGPARAM("file://")); - - char const * tmp = getenv("SOLARVER"); - path += rtl::OUString(tmp, rtl_str_getLength(tmp), RTL_TEXTENCODING_ASCII_US); - path += rtl::OUString(SAL_PATHDELIMITER); - - tmp = getenv("INPATH"); - path += rtl::OUString(tmp, rtl_str_getLength(tmp), RTL_TEXTENCODING_ASCII_US); - path += rtl::OUString(SAL_PATHDELIMITER); -#ifdef WIN32 - path += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bin")); - -#else - path += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("lib")); -#endif - - tmp = getenv("UPDMINOREXT"); - if (tmp) - path += rtl::OUString(tmp, rtl_str_getLength(tmp), RTL_TEXTENCODING_ASCII_US); - - osl::FileBase::getFileURLFromSystemPath(path, path); - - return path; -} - -static void s_test__createSimpleRegistry(rtl::OUString const & clientPurpose) -{ - cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)) - + clientPurpose, NULL)); - if (clientPurpose.getLength() && !envGuard.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get purpose env: \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - - return; - } - - uno::Reference<registry::XSimpleRegistry> registry(cppu::createSimpleRegistry( - s_getSDrive())); - - if (!registry.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot no object - FAILURE\n")); - return; - } - - if (clientPurpose.getLength() != 0 && !s_check_object_is_in(registry.get())) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't find object in current purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } -} - -static void s_test__createSimpleRegistry__free(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__createSimpleRegistry__free\n")); - - s_test__createSimpleRegistry(rtl::OUString()); -} - -static void s_test__createSimpleRegistry__purpose(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__createSimpleRegistry__purpose\n")); - - s_test__createSimpleRegistry(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - - -static void s_test__bootstrap_InitialComponentContext(rtl::OUString const & clientPurpose) -{ - cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)) - + clientPurpose, NULL)); - if (clientPurpose.getLength() && !envGuard.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get purpose env: \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - - return; - } - - uno::Reference<uno::XComponentContext> xContext( - cppu::bootstrap_InitialComponentContext( - uno::Reference<registry::XSimpleRegistry>(), - s_getSDrive()) - ); - - if (!xContext.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot no object - FAILURE\n")); - return; - } - - if (clientPurpose.getLength() != 0 && !s_check_object_is_in(xContext.get())) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't find object in current purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } - - uno::Reference<lang::XComponent> xComponent(xContext, uno::UNO_QUERY_THROW); - xComponent->dispose(); -} - -static void s_test__bootstrap_InitialComponentContext__free(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__bootstrap_InitialComponentContext__free\n")); - - s_test__bootstrap_InitialComponentContext(rtl::OUString()); -} - -static void s_test__bootstrap_InitialComponentContext__purpose(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__bootstrap_InitialComponentContext__purpose\n")); - - s_test__bootstrap_InitialComponentContext(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - - -SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv) -{ - s_test__createSimpleRegistry__free(); - s_test__createSimpleRegistry__purpose(); - - s_test__loadSharedLibComponentFactory__free_free(); - s_test__loadSharedLibComponentFactory__free_purpose(); - s_test__loadSharedLibComponentFactory__purpose_free(); - s_test__loadSharedLibComponentFactory__purpose_purpose(); - - s_test__bootstrap_InitialComponentContext__free(); - s_test__bootstrap_InitialComponentContext__purpose(); - - int ret; - if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n")); - ret = 0; - } - else - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n")); - ret = -1; - } - - std::cerr - << argv[0] - << std::endl - << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr() - << std::endl; - - return ret; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/bootstrap/makefile.mk b/cppuhelper/test/bootstrap/makefile.mk deleted file mode 100644 index 59db7c00e..000000000 --- a/cppuhelper/test/bootstrap/makefile.mk +++ /dev/null @@ -1,61 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ := ..$/.. -PRJNAME := cppuhelper -TARGET := bootstrap.test - - -ENABLE_EXCEPTIONS := TRUE -NO_BSYMBOLIC := TRUE -USE_DEFFILE := TRUE - - -.INCLUDE : settings.mk - - -.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" -PURPENVHELPERLIB := -luno_purpenvhelper$(COMID) - -.ELSE -PURPENVHELPERLIB := $(LIBPRE) ipurpenvhelper$(UDK_MAJOR)$(COMID).lib - -.ENDIF - - -APP1TARGET := $(TARGET) -APP1OBJS := $(OBJ)$/bootstrap.test.obj -APP1STDLIBS := $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB) - -SHL1TARGET := testenv_uno_uno -SHL1IMPLIB := i$(SHL1TARGET) -SHL1OBJS := $(SLO)$/TestEnv.obj -SHL1STDLIBS := $(PURPENVHELPERLIB) $(SALHELPERLIB) $(SALLIB) -SHL1DEF := TestEnv.def - - -.INCLUDE : target.mk |