[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/qa

Damjan Jovanovic damjan at apache.org
Wed Oct 14 19:08:54 PDT 2015


 writerfilter/qa/cppunittests/doctok/export.map     |   27 --
 writerfilter/qa/cppunittests/doctok/makefile.mk    |   55 ++--
 writerfilter/qa/cppunittests/doctok/testdoctok.cxx |  279 +++++++++------------
 3 files changed, 169 insertions(+), 192 deletions(-)

New commits:
commit 5f42875966b8a33d42a9df4c29cf8b9334aaeff3
Author: Damjan Jovanovic <damjan at apache.org>
Date:   Thu Oct 15 01:13:18 2015 +0000

    #i125003# migrate writerfilter/qa/cppunittests/doctok from cppunit to Google Test. Fails to
    
    bootstrap UNO but isn't run during the build.

diff --git a/writerfilter/qa/cppunittests/doctok/export.map b/writerfilter/qa/cppunittests/doctok/export.map
deleted file mode 100644
index d4e60c3..0000000
--- a/writerfilter/qa/cppunittests/doctok/export.map
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-###############################################################
-UDK_3_0_0 {
-    global:
-        registerAllTestFunction;
-
-    local:
-        *;
-};
diff --git a/writerfilter/qa/cppunittests/doctok/makefile.mk b/writerfilter/qa/cppunittests/doctok/makefile.mk
index e6829ac..8739539 100644
--- a/writerfilter/qa/cppunittests/doctok/makefile.mk
+++ b/writerfilter/qa/cppunittests/doctok/makefile.mk
@@ -31,37 +31,56 @@ ENABLE_EXCEPTIONS=TRUE
 
 .INCLUDE :  settings.mk
 
-CFLAGSCXX += $(CPPUNIT_CFLAGS)
+.IF "$(ENABLE_UNIT_TESTS)" != "YES"
+all:
+    @echo unit tests are disabled. Nothing to do.
+
+.ELSE
 
 # BEGIN ----------------------------------------------------------------
 # auto generated Target:doctok by codegen.pl
-SHL1OBJS=  \
+APP1OBJS=  \
        $(SLO)$/testdoctok.obj
 
-SHL1TARGET= testdoctok
-SHL1STDLIBS=\
-   $(SALLIB) \
+APP1TARGET= testdoctok
+
+.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" || "$(GUI)"=="OS2"
+RESOURCEMODELLIB=-lresourcemodel
+.ELIF "$(GUI)"=="WNT"
+.IF "$(COM)"=="GCC"
+RESOURCEMODELLIB=-lresourcemodel
+.ELSE
+RESOURCEMODELLIB=$(LB)$/iresourcemodel.lib
+.ENDIF
+.ENDIF
+
+APP1STDLIBS=\
+    $(SALLIB) \
     $(UCBHELPERLIB) \
     $(CPPUHELPERLIB) \
     $(CPPULIB) \
-     $(TESTSHL2LIB)    \
-   $(CPPUNITLIB)
+    $(RESOURCEMODELLIB) \
+    $(GTESTLIB)
 
-SHL1LIBS=\
-    $(SLB)$/doctok.lib
-SHL1DEPS= \
-    $(SHL1LIBS)
+.IF "$(GUI)"=="WNT"
+APP1STDLIBS+=   $(LB)$/doctok.lib
+.ELIF "$(GUI)"=="UNX" && "$(GUIBASE)"!="aqua"
+APP1STDLIBS+=$(LB)$/libdoctok.so
+.ELIF "$(GUI)"=="UNX" && "$(GUIBASE)"=="aqua"
+APP1STDLIBS+=$(LB)$/libdoctok.dylib
+.ENDIF
 
-SHL1IMPLIB= i$(SHL1TARGET)
-# SHL1DEF=    $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME    =$(SHL1TARGET)
-# DEF1EXPORTFILE= export.exp
-SHL1VERSIONMAP= export.map
+APP1LIBS=\
+    $(SLB)$/doctok.lib
+APP1DEPS= \
+    $(APP1LIBS)
+APP1RPATH = NONE
+APP1TEST = enabled
 # auto generated Target:doctok
 # END ------------------------------------------------------------------
 
 # --- Targets ------------------------------------------------------
 
 .INCLUDE :  target.mk
-.INCLUDE : _cppunit.mk
+
+.ENDIF # "$(ENABLE_UNIT_TESTS)" != "YES"
diff --git a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
index 2ffb249..9591ff0 100644
--- a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
+++ b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
@@ -21,7 +21,7 @@
 
 // autogenerated file with codegen.pl
 
-#include <testshl/simpleheader.hxx>
+#include "gtest/gtest.h"
 
 #include <osl/process.h>
 #include <ucbhelper/contentbroker.hxx>
@@ -33,7 +33,7 @@
 #include <com/sun/star/uno/Any.hxx>
 #include <com/sun/star/container/XNameContainer.hpp>
 
-#include <doctok/exceptions.hxx>
+#include <resourcemodel/exceptions.hxx>
 #include <doctok/WW8Document.hxx>
 #include <resourcemodel/WW8ResourceModel.hxx>
 
@@ -43,207 +43,192 @@ namespace testdoctok
 {
     using namespace ::std;
     using namespace ::com::sun::star;
-    using namespace doctok;
+    using namespace ::writerfilter::doctok;
 
     uno::Reference<io::XInputStream> xStream;
     uno::Reference<uno::XComponentContext> xContext;
     WW8Document::Pointer_t pDocument;
     uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > xSimpleFileAccess;
 
-    class test : public CppUnit::TestFixture
+    class test : public ::testing::Test
     {
 
     public:
         // initialise your test code values here.
-        void setUp()
+        void SetUp()
         {
         }
 
-        void tearDown()
+        void TearDown()
         {
         }
+    }; // class test
 
-        void testInitUno()
-        {
-            bool bResult = false;
+    TEST_F(test, testInitUno)
+    {
+        bool bResult = false;
 
-            // initialise UCB-Broker
-            uno::Reference<uno::XComponentContext>
-                xComponentContext
-                (::cppu::defaultBootstrap_InitialComponentContext());
-            OSL_ASSERT( xComponentContext.is() );
+        // initialise UCB-Broker
+        uno::Reference<uno::XComponentContext>
+            xComponentContext
+            (::cppu::defaultBootstrap_InitialComponentContext());
+        OSL_ASSERT( xComponentContext.is() );
 
-            xContext = xComponentContext;
+        xContext = xComponentContext;
 
-            uno::Reference<lang::XMultiComponentFactory>
-                xFactory(xComponentContext->getServiceManager() );
-            OSL_ASSERT(xFactory.is());
+        uno::Reference<lang::XMultiComponentFactory>
+            xFactory(xComponentContext->getServiceManager() );
+        OSL_ASSERT(xFactory.is());
 
-            uno::Sequence<uno::Any> aUcbInitSequence(2);
-            aUcbInitSequence[0] <<=
-                rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local"));
-            aUcbInitSequence[1] <<=
-                rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office"));
+        uno::Sequence<uno::Any> aUcbInitSequence(2);
+        aUcbInitSequence[0] <<=
+            rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local"));
+        aUcbInitSequence[1] <<=
+            rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office"));
 
-            uno::Reference<lang::XMultiServiceFactory>
-                xServiceFactory(xFactory, uno::UNO_QUERY);
-            OSL_ASSERT( xServiceFactory.is() );
+        uno::Reference<lang::XMultiServiceFactory>
+            xServiceFactory(xFactory, uno::UNO_QUERY);
+        OSL_ASSERT( xServiceFactory.is() );
 
-            if (xServiceFactory.is())
+        if (xServiceFactory.is())
+        {
+            sal_Bool bRet =
+                ::ucbhelper::ContentBroker::initialize(xServiceFactory,
+                                                 aUcbInitSequence);
+
+            OSL_ASSERT(bRet);
+            if (bRet)
             {
-                sal_Bool bRet =
-                    ::ucb::ContentBroker::initialize(xServiceFactory,
-                                                     aUcbInitSequence);
+                uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess >
+                    xNameContainer(xFactory->createInstanceWithContext
+                                   (::rtl::OUString::createFromAscii
+                                    ("com.sun.star.ucb.SimpleFileAccess" ),
+                                    xComponentContext), uno::UNO_QUERY );
 
-                OSL_ASSERT(bRet);
-                if (bRet)
+                if (xNameContainer.is())
                 {
-                    uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess >
-                        xNameContainer(xFactory->createInstanceWithContext
-                                       (::rtl::OUString::createFromAscii
-                                        ("com.sun.star.ucb.SimpleFileAccess" ),
-                                        xComponentContext), uno::UNO_QUERY );
-
-                    if (xNameContainer.is())
-                    {
-                        xSimpleFileAccess = xNameContainer;
-
-                        bResult = true;
-                    }
+                    xSimpleFileAccess = xNameContainer;
+
+                    bResult = true;
                 }
             }
-
-            CPPUNIT_ASSERT_MESSAGE("UNO initialization failed",
-                                   bResult);
         }
 
-        // insert your test code here.
-        void testOpenFile()
+        ASSERT_TRUE(bResult) << "UNO initialization failed";
+    }
+
+    // insert your test code here.
+    TEST_F(test, testOpenFile)
+    {
+        try
         {
-            try
+            rtl_uString *dir=NULL;
+            osl_getProcessWorkingDir(&dir);
+            rtl_uString *fname=NULL;
+            //rtl_uString_newFromAscii(&fname, "/OpenDocument-v1.doc");
+            rtl_uString_newFromAscii(&fname, "/test.doc");
+            //rtl_uString_newFromAscii(&fname, "/numbers.doc");
+            rtl_uString *absfile=NULL;
+            rtl_uString_newConcat(&absfile, dir, fname);
+
+            rtl::OUString sInputFileURL( absfile );
+
+            for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++n)
             {
-                rtl_uString *dir=NULL;
-                osl_getProcessWorkingDir(&dir);
-                rtl_uString *fname=NULL;
-                //rtl_uString_newFromAscii(&fname, "/OpenDocument-v1.doc");
-                rtl_uString_newFromAscii(&fname, "/test.doc");
-                //rtl_uString_newFromAscii(&fname, "/numbers.doc");
-                rtl_uString *absfile=NULL;
-                rtl_uString_newConcat(&absfile, dir, fname);
-
-                rtl::OUString sInputFileURL( absfile );
-
-                for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++n)
-                {
-                    sal_uChar nC = sInputFileURL[n];
+                sal_uChar nC = sInputFileURL[n];
 
-                    if (nC < 0xff && isprint(nC))
-                        clog << static_cast<char>(nC);
-                    else
-                        clog << ".";
-                }
+                if (nC < 0xff && isprint(nC))
+                    clog << static_cast<char>(nC);
+                else
+                    clog << ".";
+            }
 
-                clog << endl;
+            clog << endl;
 
-                xStream = xSimpleFileAccess->openFileRead(sInputFileURL);
+            xStream = xSimpleFileAccess->openFileRead(sInputFileURL);
 
-                WW8Stream::Pointer_t pStream =
-                    WW8DocumentFactory::createStream(xContext, xStream);
+            WW8Stream::Pointer_t pStream =
+                WW8DocumentFactory::createStream(xContext, xStream);
 
-                pDocument = WW8DocumentFactory::createDocument(pStream);
-            }
-            catch (doctok::Exception e)
-            {
-                clog << "Exception!!" << endl;
-            }
+            pDocument = WW8Document::Pointer_t(WW8DocumentFactory::createDocument(pStream));
+        }
+        catch (::writerfilter::Exception e)
+        {
+            clog << "Exception!!" << endl;
+        }
 
-            CPPUNIT_ASSERT_MESSAGE("creating document failed",
-                                   pDocument != NULL);
+        ASSERT_TRUE(pDocument != NULL) << "creating document failed";
 
 #if 1
-        }
+    }
 
-        void testTraversal()
-        {
+    TEST_F(test, testTraversal)
+    {
 #endif
-            sal_uInt32 nResult = 0;
-
-            try
-            {
-                WW8DocumentIterator::Pointer_t pIt = pDocument->begin();
-                WW8DocumentIterator::Pointer_t pItEnd = pDocument->end();
+        sal_uInt32 nResult = 0;
 
-                while (! pIt->equal(*pItEnd))
-                {
-                    pIt->dump(clog);
-
-                    clog << endl;
+        try
+        {
+            WW8DocumentIterator::Pointer_t pIt = pDocument->begin();
+            WW8DocumentIterator::Pointer_t pItEnd = pDocument->end();
 
-                    WW8PropertySet::Pointer_t pAttrs = pIt->getProperties();
+            while (! pIt->equal(*pItEnd))
+            {
+                pIt->dump(clog);
 
-                    if (pAttrs != NULL)
-                    {
-                        pAttrs->dump(clog);
-                    }
+                clog << endl;
 
-                    pIt->getText().dump(clog);
-                    ++(*pIt);
-                    ++nResult;
-                }
-            }
-            catch (doctok::Exception e)
-            {
-                clog << "Exception!!" << endl;
+// Doesn't compile:
+//                WW8PropertySet::Pointer_t pAttrs = pIt->getProperties();
+//
+//                if (pAttrs != NULL)
+//                {
+//                    pAttrs->dump(clog);
+//                }
+
+                pIt->getText().dump(clog);
+                ++(*pIt);
+                ++nResult;
             }
+        }
+        catch (::writerfilter::Exception e)
+        {
+            clog << "Exception!!" << endl;
+        }
 
-            char sBuffer[256];
-            snprintf(sBuffer, 255, "%d", nResult);
-            clog << "Iterator steps:" << sBuffer << endl;
+        char sBuffer[256];
+        snprintf(sBuffer, 255, "%d", nResult);
+        clog << "Iterator steps:" << sBuffer << endl;
 
-            CPPUNIT_ASSERT_MESSAGE("traversing document failed",
-                                   nResult > 0);
-        }
+        ASSERT_TRUE(nResult > 0) << "traversing document failed";
+    }
 
-        void testEvents()
+    TEST_F(test, testEvents)
+    {
+        try
         {
-            try
-            {
-                Stream::Pointer_t pStream = doctok::createStreamHandler();
+            ::writerfilter::Stream::Pointer_t pStream = ::writerfilter::createStreamHandler();
 
-                pDocument->resolve(*pStream);
-            }
-            catch (doctok::Exception e)
-            {
-                clog << "Exception!!" << endl;
-            }
+            pDocument->resolve(*pStream);
         }
-
-        void testEnd()
+        catch (::writerfilter::Exception e)
         {
-            ::ucb::ContentBroker::deinitialize();
+            clog << "Exception!!" << endl;
         }
+    }
 
-        // Change the following lines only, if you add, remove or rename
-        // member functions of the current class,
-        // because these macros are need by auto register mechanism.
-
-        CPPUNIT_TEST_SUITE(test);
-        CPPUNIT_TEST(testInitUno);
-        CPPUNIT_TEST(testOpenFile);
-        //CPPUNIT_TEST(testTraversal);
-        CPPUNIT_TEST(testEvents);
-        CPPUNIT_TEST(testEnd);
-        CPPUNIT_TEST_SUITE_END();
-    }; // class test
-
-    // -----------------------------------------------------------------------------
-    CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(testdoctok::test, "doctok");
-} // namespace doctok
+    TEST_F(test, testEnd)
+    {
+        ::ucbhelper::ContentBroker::deinitialize();
+    }
 
 
-// -----------------------------------------------------------------------------
+} // namespace doctok
 
-// this macro creates an empty function, which will called by the RegisterAllFunctions()
-// to let the user the possibility to also register some functions by hand.
-NOADDITIONAL;
 
+int main(int argc, char **argv)
+{
+    osl_setCommandArgs(argc, argv);
+    ::testing::InitGoogleTest(&argc, argv);
+    return RUN_ALL_TESTS();
+}


More information about the Libreoffice-commits mailing list