Commits

Ivo Hinkelmann  committed e1f0bec Merge

CWS-TOOLING: integrate CWS sb135

  • Participants
  • Parent commits 8c30fcd, f9a8800

Comments (0)

Files changed (40)

File basic/source/runtime/dllmgr.cxx

         return e;
     }
     std::vector< char > * blob = data.newBlob();
-    blob->insert(blob->begin(), str.getStr(), str.getStr() + str.getLength());
+    blob->insert(
+        blob->begin(), str.getStr(), str.getStr() + str.getLength() + 1);
     *buffer = address(*blob);
     data.unmarshalStrings.push_back(StringData(variable, *buffer, special));
     return ERRCODE_NONE;

File configure

File contents unchanged.

File cppuhelper/source/tdmgr.cxx

 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppuhelper.hxx"
+
+#include "sal/config.h"
+
+#include <vector>
+
 #include <sal/alloca.h>
 
 #include <osl/diagnose.h>
 #include <com/sun/star/reflection/XEnumTypeDescription.hpp>
 #include <com/sun/star/reflection/XIndirectTypeDescription.hpp>
 #include <com/sun/star/reflection/XInterfaceMemberTypeDescription.hpp>
-#include <com/sun/star/reflection/XInterfaceAttributeTypeDescription.hpp>
+#include <com/sun/star/reflection/XInterfaceAttributeTypeDescription2.hpp>
 #include <com/sun/star/reflection/XMethodParameter.hpp>
 #include <com/sun/star/reflection/XInterfaceMethodTypeDescription.hpp>
 #include <com/sun/star/reflection/XInterfaceTypeDescription2.hpp>
 }
 //==================================================================================================
 inline static typelib_TypeDescription * createCTD(
-	const Reference< XInterfaceAttributeTypeDescription > & xAttribute )
+	const Reference< XInterfaceAttributeTypeDescription2 > & xAttribute )
 {
 	typelib_TypeDescription * pRet = 0;
 	if (xAttribute.is())
 		OUString aMemberName( xAttribute->getName() );
 		Reference< XTypeDescription > xType( xAttribute->getType() );
 		OUString aMemberTypeName( xType->getName() );
-
-		typelib_typedescription_newInterfaceAttribute(
+        std::vector< rtl_uString * > getExc;
+        Sequence< Reference< XCompoundTypeDescription > > getExcs(
+            xAttribute->getGetExceptions() );
+        for (sal_Int32 i = 0; i != getExcs.getLength(); ++i)
+        {
+            OSL_ASSERT( getExcs[i].is() );
+            getExc.push_back( getExcs[i]->getName().pData );
+        }
+        std::vector< rtl_uString * > setExc;
+        Sequence< Reference< XCompoundTypeDescription > > setExcs(
+            xAttribute->getSetExceptions() );
+        for (sal_Int32 i = 0; i != setExcs.getLength(); ++i)
+        {
+            OSL_ASSERT( setExcs[i].is() );
+            setExc.push_back( setExcs[i]->getName().pData );
+        }
+		typelib_typedescription_newExtendedInterfaceAttribute(
 			(typelib_InterfaceAttributeTypeDescription **)&pRet,
 			xAttribute->getPosition(),
 			aMemberName.pData, // name
 			(typelib_TypeClass)xType->getTypeClass(),
 			aMemberTypeName.pData, // type name
-			xAttribute->isReadOnly() );
+			xAttribute->isReadOnly(),
+            getExc.size(), getExc.empty() ? 0 : &getExc[0],
+            setExc.size(), setExc.empty() ? 0 : &setExc[0] );
 	}
 	return pRet;
 }
 			pRet = createCTD( Reference< XInterfaceMethodTypeDescription >::query( xType ) );
 			break;
 		case TypeClass_INTERFACE_ATTRIBUTE:
-			pRet = createCTD( Reference< XInterfaceAttributeTypeDescription >::query( xType ) );
+			pRet = createCTD( Reference< XInterfaceAttributeTypeDescription2 >::query( xType ) );
 			break;
         default:
             break;

File framework/prj/build.lst

 fr framework : LIBXSLT:libxslt l10n svtools NULL
 fr framework\prj nmake - all fr_all NULL
+fr framework\qa\unoapi nmake - all fr_qa_unoapi NULL

File framework/qa/unoapi/makefile.mk

+#*************************************************************************
+# 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.
+#***********************************************************************/
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../..
+PRJNAME = framework
+TARGET = qa_unoapi
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = org/openoffice/framework/qa/unoapi
+JAVATESTFILES = Test.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END

File framework/source/layoutmanager/uielement.cxx

 
 UIElement& UIElement::operator= ( const UIElement& rUIElement )
 {
-    m_aType             = rUIElement.m_aType;
-    m_aName             = rUIElement.m_aName;
-    m_aUIName           = rUIElement.m_aUIName;
-    m_xUIElement        = rUIElement.m_xUIElement;
-    m_bFloating         = rUIElement.m_bFloating;
-    m_bVisible          = rUIElement.m_bVisible;
-    m_bUserActive       = rUIElement.m_bUserActive;
-    m_bCreateNewRowCol0 = rUIElement.m_bCreateNewRowCol0;
-    m_bDeactiveHide     = rUIElement.m_bDeactiveHide;
-    m_bMasterHide       = rUIElement.m_bMasterHide;
-    m_bContextSensitive = rUIElement.m_bContextSensitive;
-    m_bContextActive    = rUIElement.m_bContextActive;
-    m_bNoClose          = rUIElement.m_bNoClose;
-    m_bSoftClose        = rUIElement.m_bSoftClose;
-    m_bStateRead        = rUIElement.m_bStateRead;
-    m_nStyle            = rUIElement.m_nStyle;
-    m_aDockedData       = rUIElement.m_aDockedData;
-    m_aFloatingData     = rUIElement.m_aFloatingData;
+    if (&rUIElement != this)
+    {
+        m_aType             = rUIElement.m_aType;
+        m_aName             = rUIElement.m_aName;
+        m_aUIName           = rUIElement.m_aUIName;
+        m_xUIElement        = rUIElement.m_xUIElement;
+        m_bFloating         = rUIElement.m_bFloating;
+        m_bVisible          = rUIElement.m_bVisible;
+        m_bUserActive       = rUIElement.m_bUserActive;
+        m_bCreateNewRowCol0 = rUIElement.m_bCreateNewRowCol0;
+        m_bDeactiveHide     = rUIElement.m_bDeactiveHide;
+        m_bMasterHide       = rUIElement.m_bMasterHide;
+        m_bContextSensitive = rUIElement.m_bContextSensitive;
+        m_bContextActive    = rUIElement.m_bContextActive;
+        m_bNoClose          = rUIElement.m_bNoClose;
+        m_bSoftClose        = rUIElement.m_bSoftClose;
+        m_bStateRead        = rUIElement.m_bStateRead;
+        m_nStyle            = rUIElement.m_nStyle;
+        m_aDockedData       = rUIElement.m_aDockedData;
+        m_aFloatingData     = rUIElement.m_aFloatingData;
+    }
     return *this;
 }
 

File jurt/com/sun/star/lib/uno/protocols/urp/Cache.java

         if (e == null) {
             if (map.size() < maxSize) {
                 // There is still room for a new entry at the front:
-                e = new Entry(content, map.size(), last, null);
+                e = new Entry(content, map.size(), null, first);
                 if (first == null) {
                     last = e;
                 } else {

File jurt/prj/build.lst

 ju	jurt\source\pipe			nmake	-	all	ju_src_pipe NULL
 ju  jurt\source\pipe\wrapper nmake - w ju_src_pipe_wrapper NULL
 ju	jurt\util								nmake	-	all	ju_ut ju_brid_jrm ju_co_bfactr ju_con ju_con_sock ju_con_pipe ju_cssl_uno ju_env_java ju_prot_urp ju_servman ju_urlres ju_src_pipe ju_libutil ju_uno NULL
+ju jurt\test\com\sun\star\lib\uno\protocols\urp nmake - all ju_test_css_lib_uno_protocols_urp NULL

File jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java

 
 package com.sun.star.lib.uno.protocols.urp;
 
-import complexlib.ComplexTestCase;
+import org.junit.Test;
+import static org.junit.Assert.*;
 
-public final class Cache_Test extends ComplexTestCase {
-    public String[] getTestMethodNames() {
-        return new String[] { "test0", "test1", "test2", "test3" };
-    }
-
-    public void test0() {
+public final class Cache_Test {
+    @Test public void test0() {
         Cache c = new Cache(0);
         boolean[] f = new boolean[1];
         int i;
         i = c.add(f, "a");
-        assure("1", i == Cache.NOT_CACHED && !f[0]);
+        assertTrue(i == Cache.NOT_CACHED && !f[0]);
         i = c.add(f, "a");
-        assure("2", i == Cache.NOT_CACHED && !f[0]);
+        assertTrue(i == Cache.NOT_CACHED && !f[0]);
         i = c.add(f, "b");
-        assure("3", i == Cache.NOT_CACHED && !f[0]);
+        assertTrue(i == Cache.NOT_CACHED && !f[0]);
         i = c.add(f, "a");
-        assure("4", i == Cache.NOT_CACHED && !f[0]);
+        assertTrue(i == Cache.NOT_CACHED && !f[0]);
     }
 
-    public void test1() {
+    @Test public void test1() {
         Cache c = new Cache(1);
         boolean[] f = new boolean[1];
         int i;
         i = c.add(f, "a");
-        assure("1", i == 0 && !f[0]);
+        assertTrue(i == 0 && !f[0]);
         i = c.add(f, "a");
-        assure("2", i == 0 && f[0]);
+        assertTrue(i == 0 && f[0]);
         i = c.add(f, "b");
-        assure("3", i == 0 && !f[0]);
+        assertTrue(i == 0 && !f[0]);
         i = c.add(f, "b");
-        assure("4", i == 0 && f[0]);
+        assertTrue(i == 0 && f[0]);
         i = c.add(f, "a");
-        assure("5", i == 0 && !f[0]);
+        assertTrue(i == 0 && !f[0]);
     }
 
-    public void test2() {
+    @Test public void test2() {
         Cache c = new Cache(2);
         boolean[] f = new boolean[1];
         int i;
         i = c.add(f, "a");
-        assure("1", i == 0 && !f[0]);
+        assertTrue(i == 0 && !f[0]);
         i = c.add(f, "a");
-        assure("2", i == 0 && f[0]);
+        assertTrue(i == 0 && f[0]);
         i = c.add(f, "b");
-        assure("3", i == 1 && !f[0]);
+        assertTrue(i == 1 && !f[0]);
         i = c.add(f, "b");
-        assure("4", i == 1 && f[0]);
+        assertTrue(i == 1 && f[0]);
         i = c.add(f, "a");
-        assure("5", i == 0 && f[0]);
+        assertTrue(i == 0 && f[0]);
         i = c.add(f, "c");
-        assure("6", i == 1 && !f[0]);
+        assertTrue(i == 1 && !f[0]);
         i = c.add(f, "b");
-        assure("7", i == 0 && !f[0]);
+        assertTrue(i == 0 && !f[0]);
     }
 
-    public void test3() {
+    @Test public void test3() {
         Cache c = new Cache(3);
         boolean[] f = new boolean[1];
         int i;
         i = c.add(f, "a");
-        assure("1", i == 0 && !f[0]);
+        assertTrue(i == 0 && !f[0]);
         i = c.add(f, "a");
-        assure("3", i == 0 && f[0]);
+        assertTrue(i == 0 && f[0]);
         i = c.add(f, "b");
-        assure("5", i == 1 && !f[0]);
+        assertTrue(i == 1 && !f[0]);
         i = c.add(f, "a");
-        assure("3", i == 0 && f[0]);
+        assertTrue(i == 0 && f[0]);
         i = c.add(f, "c");
-        assure("7", i == 2 && !f[0]);
+        assertTrue(i == 2 && !f[0]);
         i = c.add(f, "d");
-        assure("9", i == 1 && !f[0]);
+        assertTrue(i == 1 && !f[0]);
         i = c.add(f, "d");
-        assure("11", i == 1 && f[0]);
+        assertTrue(i == 1 && f[0]);
+    }
+
+    @Test public void testNothingLostFromLruList() {
+        // Regardless in what order arbitrary values from 0, ..., 3 are inserted
+        // into a size-4 cache, afterwards adding -1, ..., -4 must return each
+        // possible index in the range from 0, ..., 3 exactly once (so their sum
+        // must be 6); this code systematically tests all such arbitrary ways up
+        // to length 8 (the code arguably violates recommendations for writing
+        // good tests, but actually helped track down an error in the Cache
+        // implementation):
+        int[] a = new int[8];
+        for (int i = 0; i < a.length; ++i) {
+            for (int j = 0; j < i; ++j) {
+                a[j] = 0;
+            }
+            for (;;) {
+                Cache c = new Cache(4);
+                for (int k = 0; k < i; ++k) {
+                    c.add(new boolean[1], a[k]);
+                }
+                assertEquals(
+                    6,
+                    (c.add(new boolean[1], -1) + c.add(new boolean[1], -2) +
+                     c.add(new boolean[1], -3) + c.add(new boolean[1], -4)));
+                int j = i - 1;
+                while (j >= 0 && a[j] == 3) {
+                    --j;
+                }
+                if (j < 0) {
+                    break;
+                }
+                ++a[j];
+                for (int k = j + 1; k < i; ++k) {
+                    a[k] = 0;
+                }
+            }
+        }
     }
 }

File jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java

 import com.sun.star.uno.Type;
 import com.sun.star.uno.TypeClass;
 import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
 import java.lang.reflect.Array;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
+import org.junit.Test;
+import static org.junit.Assert.*;
 
-public final class Marshaling_Test extends ComplexTestCase {
-    public String getTestObjectName() {
-        return getClass().getName();
-    }
-
-    public String[] getTestMethodNames() {
-        return new String[] { "test" };
-    }
-
-    public void test() throws Exception {
+public final class Marshaling_Test {
+    @Test public void test() throws Exception {
         short cacheSize = (short)256;
         TestBridge testBridge = new TestBridge();
         Marshal marshal = new Marshal(testBridge, cacheSize);
             if(op1 instanceof Any)
                 op1 = ((Any)op1).getObject();
 
-            assure("", compareObjects(op1, op2));
+            assertTrue(compareObjects(op1, op2));
         }
     }
 

File jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java

 import com.sun.star.uno.IBridge;
 import com.sun.star.uno.Type;
 import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PipedInputStream;
 import java.io.PipedOutputStream;
 import java.util.LinkedList;
+import org.junit.Test;
+import static org.junit.Assert.*;
 
-public final class Protocol_Test extends ComplexTestCase {
-    public String[] getTestMethodNames() {
-        return new String[] { "test" };
-    }
-
-    public void test() throws Exception {
+public final class Protocol_Test {
+    @Test public void test() throws Exception {
         IBridge iBridge = new TestBridge();
         PipedInputStream inA = new PipedInputStream();
         PipedOutputStream outA = new PipedOutputStream(inA);
             new Object[] { "hallo" });
         Message iMessage = iReceiver.readMessage();
         Object[] t_params = iMessage.getArguments();
-        assure("", "hallo".equals((String)t_params[0]));
+        assertEquals("hallo", (String)t_params[0]);
 
         // send a reply
         iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
         iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
         iSender.readMessage();
 
-        assure("", "testString".equals(((String [])params[0])[0]));
+        assertEquals("testString", ((String [])params[0])[0]);
     }
 
     public void testCallWithInOutParameter(
 
 
         Object[] t_params = iMessage.getArguments();
-        assure("", "inString".equals(((String [])t_params[0])[0]));
+        assertEquals("inString", ((String [])t_params[0])[0]);
 
         // provide reply
         ((String [])t_params[0])[0] = "outString";
         iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
         iSender.readMessage();
 
-        assure("", "outString".equals(((String [])params[0])[0]));
+        assertEquals("outString", ((String [])params[0])[0]);
     }
 
     public void testCallWithResult(
         Message iMessage = iSender.readMessage();
         Object result = iMessage.getResult();
 
-        assure("", "resultString".equals(result));
+        assertEquals("resultString", result);
     }
 
     public void testCallWhichRaisesException(
 
         Object result = iMessage.getResult();
 
-        assure("", result instanceof com.sun.star.uno.RuntimeException);
+        assertTrue(result instanceof com.sun.star.uno.RuntimeException);
     }
 
     public void testCallWithIn_Out_InOut_Paramters_and_result(
 
         Object[] t_params = iMessage.getArguments();
 
-        assure("", "hallo".equals((String)t_params[0]));
+        assertEquals("hallo", (String)t_params[0]);
 
-        assure("", "inOutString".equals(((String [])t_params[2])[0]));
+        assertEquals("inOutString", ((String [])t_params[2])[0]);
 
         ((String [])t_params[1])[0] = "outString";
         ((String [])t_params[2])[0] = "inOutString_res";
         iMessage = iSender.readMessage();
 
         Object result = iMessage.getResult();
-        assure("", "outString".equals(((String [])params[1])[0]));
+        assertEquals("outString", ((String [])params[1])[0]);
 
-        assure("", "inOutString_res".equals(((String [])params[2])[0]));
+        assertEquals("inOutString_res", ((String [])params[2])[0]);
 
-        assure("", "resultString".equals(result));
+        assertEquals("resultString", result);
     }
 
     public void testCallWhichReturnsAny(
             false, new ThreadId(new byte[] { 0, 1 }), Any.VOID);
         Message iMessage = iSender.readMessage();
         Object result = iMessage.getResult();
-        assure("", result instanceof Any
-               && (TypeDescription.getTypeDescription(((Any) result).getType()).
-                   getZClass() == void.class));
+        assertTrue(
+            result instanceof Any &&
+            ((TypeDescription.getTypeDescription(((Any) result).getType()).
+              getZClass()) ==
+             void.class));
 
         // send an ordinary request
         iSender.writeRequest(
             new Any(XInterface.class, null));
         iMessage = iSender.readMessage();
         result = iMessage.getResult();
-        assure("", result == null);
+        assertNull(result);
 
         // send an ordinary request
         iSender.writeRequest(
             false, new ThreadId(new byte[] { 0, 1 }), new Integer(501));
         iMessage = iSender.readMessage();
         result = iMessage.getResult();
-        assure("", result.equals(new Integer(501)));
+        assertEquals(501, result);
     }
 
     private static final class Endpoint {

File jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk

 # for a copy of the LGPLv3 License.
 #
 #*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
 PRJ := ..$/..$/..$/..$/..$/..$/..$/..
 PRJNAME := jurt
 TARGET := test_com_sun_star_lib_uno_protocols_urp
 
+.IF "$(OOO_JUNIT_JAR)" != ""
 PACKAGE := com$/sun$/star$/lib$/uno$/protocols$/urp
 JAVATESTFILES := \
     Cache_Test.java \
     TestObject.java
 JARFILES := ridl.jar
 IDLTESTFILES := interfaces.idl
+.END
 
 .INCLUDE: javaunittest.mk
+
+.END

File qadevOOo/prj/build.lst

 qa  qadevOOo\runner			                 nmake   -   all qa_make_package qa_runner_ant_build NULL
 
 qa qadevOOo\qa\unoapi nmake - all qa_qa_unoapi qa_make_package NULL
-qa qadevOOo\qa\complex\junitskeleton        nmake - all qa_complex_junitskel qa_make_package NULL

File sal/osl/all/makefile.mk

 			$(SLO)$/utility.obj\
 			$(SLO)$/filepath.obj\
 			$(SLO)$/debugbase.obj\
-            $(SLO)$/loadmodulerelative.obj
+            $(SLO)$/loadmodulerelative.obj \
+            $(SLO)/printtrace.obj
 
 #			$(SLO)$/readline.obj\
 
 			$(OBJ)$/utility.obj\
 			$(OBJ)$/filepath.obj\
 			$(OBJ)$/debugbase.obj\
-            $(OBJ)$/loadmodulerelative.obj
+            $(OBJ)$/loadmodulerelative.obj \
+            $(OBJ)/printtrace.obj
 
 #			$(OBJ)$/readline.obj\
 #.ENDIF

File sal/osl/all/printtrace.cxx

+/*************************************************************************
+*
+* 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 "precompiled_sal.hxx"
+
+#include "sal/config.h"
+
+#include <cstdarg>
+#include <cstdio>
+#include <cstring>
+
+#include <stdio.h> // snprintf, vsnprintf
+
+#include "osl/diagnose.h"
+#include "osl/thread.hxx"
+#include "rtl/string.h"
+#include "sal/types.h"
+
+#include "printtrace.h"
+
+void printTrace(unsigned long pid, char const * format, std::va_list arguments)
+{
+    char buf[1024];
+    int n1 = snprintf(
+        buf, sizeof buf, "Trace %lu/%" SAL_PRIuUINT32 ": \"", pid,
+        osl::Thread::getCurrentIdentifier());
+    OSL_ASSERT(
+        n1 >= 0 &&
+        (static_cast< unsigned int >(n1) <
+         sizeof buf - RTL_CONSTASCII_LENGTH("\"...\n")));
+    int n2 = sizeof buf - n1 - RTL_CONSTASCII_LENGTH("\"...\n");
+    int n3 = vsnprintf(buf + n1, n2, format, arguments);
+    if (n3 < 0) {
+        std::strcpy(buf + n1, "\"???\n");
+    } else if (n3 < n2) {
+        std::strcpy(buf + n1 + n3, "\"\n");
+    } else {
+        std::strcpy(buf + n1 + n2 - 1, "\"...\n");
+    }
+    std::fputs(buf, stderr);
+}

File sal/osl/inc/printtrace.h

+/*************************************************************************
+*
+* 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.
+*
+************************************************************************/
+
+#ifndef INCLUDED_SAL_OSL_INC_PRINTTRACE_H
+#define INCLUDED_SAL_OSL_INC_PRINTTRACE_H
+
+#include "sal/config.h"
+
+#include <stdarg.h>
+
+#if defined __cplusplus
+extern "C" {
+#endif
+
+/* called internally by osl_trace */
+void printTrace(unsigned long pid, char const * format, va_list arguments);
+
+#if defined __cplusplus
+}
+#endif
+
+#endif

File sal/osl/os2/diagnose.c

 #include <osl/diagnose.h>
 #include <osl/thread.h>
 
+#include "printtrace.h"
+
 BYTE oslTraceEnv[] = "OSL_TRACE_TO_FILE";
 
 typedef pfunc_osl_printDebugMessage oslDebugMessageFunc;
 /************************************************************************/
 /* osl_trace */
 /************************************************************************/
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace (
-	const sal_Char* lpszFormat, ...)
-{
-	va_list args;
-
-#if defined(OSL_PROFILING)
-    fprintf(stderr, "Time: %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
-    fprintf(stderr,"Thread: %6d :",osl_getThreadIdentifier(NULL));
-#else
-    fprintf(stderr, "Trace Message: ");
-#endif
-#endif
-
-	va_start(args, lpszFormat);
-	vfprintf(stderr, lpszFormat, args);
-	va_end(args);
-
-    fprintf(stderr,"\n");
-    fflush(stderr);
+void osl_trace(char const * pszFormat, ...) {
+    va_list args;
+    va_start(args, pszFormat);
+    printTrace(0, pszFormat, args); /* TODO: pid */
+    va_end(args);
 }
 
 /*----------------------------------------------------------------------------*/

File sal/osl/unx/diagnose.c

 #include "osl/diagnose.h"
 #include "system.h"
 
-
 #ifndef HAVE_DLFCN_H
 
 #if defined(LINUX) || defined(SOLARIS)
 #define INCLUDED_STDDEF_H
 #endif
 
+#include "printtrace.h"
+
 /************************************************************************/
 /* Internal data structures and functions */
 /************************************************************************/
 /************************************************************************/
 /* osl_trace */
 /************************************************************************/
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace (
-	const sal_Char* lpszFormat, ...)
-{
-	va_list args;
-
-#if defined(OSL_PROFILING)
-    fprintf(stderr, "Time: %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
-    fprintf(
-        stderr, "Thread: %6lu :",
-        SAL_INT_CAST(unsigned long, osl_getThreadIdentifier(NULL)));
-#else
-    fprintf(stderr, "Trace Message: ");
-#endif
-#endif
-
-	va_start(args, lpszFormat);
-	vfprintf(stderr, lpszFormat, args);
-	va_end(args);
-
-    fprintf(stderr,"\n");
-    fflush(stderr);
+void osl_trace(char const * pszFormat, ...) {
+    va_list args;
+    va_start(args, pszFormat);
+    printTrace((unsigned long) getpid(), pszFormat, args);
+    va_end(args);
 }
-
-/************************************************************************/
-

File sal/osl/w32/diagnose.c

 #include <osl/diagnose.h>
 #include <osl/thread.h>
 
+#include "printtrace.h"
+
 #define NO_DEBUG_CRT
 
 static pfunc_osl_printDebugMessage	_pPrintDebugMessage = NULL;
 	DebugBreak();
 }
 
-
-
-/* Uncomment this define to get profiling time output */
-/* #define OSL_PROFILING */
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...)
-{
-	va_list args;
-    int written = 0;
-
-	va_start(args, lpszFormat);
-
-#if defined(OSL_PROFILING)
-    fprintf(stderr, "time : %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
-    fprintf(stderr,"Thread: %6d :",osl_getThreadIdentifier(NULL));
-#else
-    fprintf(stderr,"Trace Message : ");
-#endif
-#endif
-
+void osl_trace(char const * pszFormat, ...) {
+    va_list args;
+    va_start(args, pszFormat);
     if ( IsDebuggerPresent() )
     {
         sal_Char	szMessage[512];
-        written = _vsnprintf( szMessage, sizeof(szMessage) - 2, lpszFormat, args );
+        int written = _vsnprintf(
+            szMessage, sizeof(szMessage) - 2, pszFormat, args );
         if ( written == -1 )
             written = sizeof(szMessage) - 2;
         szMessage[ written++ ] = '\n';
         szMessage[ written ] = 0;
         OutputDebugString( szMessage );
     }
-
-	vfprintf(stderr,lpszFormat, args);
-
-    fprintf(stderr,"\n");
-
-    fflush(stderr);
-     
-	va_end(args);
+    printTrace((unsigned long) _getpid(), pszFormat, args);
+    va_end(args);
 }
 
 sal_Bool SAL_CALL osl_assertFailedLine(const sal_Char* pszFileName, sal_Int32 nLine, const sal_Char* pszMessage)

File sd/source/ui/slidesorter/view/SlsTheme.cxx

 
 
 Theme::Theme (const ::boost::shared_ptr<controller::Properties>& rpProperties)
-    : maBackgroundColor(rpProperties->GetBackgroundColor().GetColor()),
+    : mbIsHighContrastMode(false),
+      maBackgroundColor(rpProperties->GetBackgroundColor().GetColor()),
       maPageBackgroundColor(COL_WHITE),
       maGradients(),
       maIcons(),

File sfx2/prj/build.lst

 sf      sfx2    :    l10n idl basic xmlscript framework readlicense_oo shell setup_native sax SYSTRAY_GTK:libegg LIBXML2:libxml2 LIBXSLT:libxslt NULL
 sf	sfx2									usr1	-	all	sf_mkout NULL
 sf	sfx2\prj								nmake	-	all	sf_prj NULL
-
+sf sfx2\qa\cppunit nmake - all sf_qa_cppunit NULL
+sf sfx2\qa\unoapi nmake - all sf_qa_unoapi NULL
 
 # fails on unxsoli4
 # sf      sfx2\qa\complex\standalonedocumentinfo  nmake   -       all     sf_qa_complex_standalonedocumentinfo sf_util NULL

File sfx2/qa/cppunit/makefile.mk

+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ=../..
+PRJNAME=sfx2
+TARGET=qa_cppunit
+
+ENABLE_EXCEPTIONS=TRUE
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE :  settings.mk
+
+#building with stlport, but cppunit was not built with stlport
+.IF "$(USE_SYSTEM_STL)"!="YES"
+.IF "$(SYSTEM_CPPUNIT)"=="YES"
+CFLAGSCXX+=-DADAPT_EXT_STL
+.ENDIF
+.ENDIF
+
+CFLAGSCXX += $(CPPUNIT_CFLAGS)
+DLLPRE = # no leading "lib" on .so files
+
+# --- Libs ---------------------------------------------------------
+
+SHL1OBJS=  \
+	$(SLO)/test_metadatable.obj \
+
+
+SHL1STDLIBS= \
+	 $(CPPUNITLIB) \
+	 $(SALLIB) \
+	 $(CPPULIB) \
+	 $(CPPUHELPERLIB) \
+	 $(VCLLIB) \
+	 $(SFXLIB) \
+
+
+SHL1TARGET= test_metadatable
+SHL1RPATH = NONE
+SHL1IMPLIB= i$(SHL1TARGET)
+# SHL1DEF= $(MISC)/$(SHL1TARGET).def
+DEF1NAME=$(SHL1TARGET)
+# DEF1EXPORTFILE= export.exp
+SHL1VERSIONMAP= version.map
+
+# --- All object files ---------------------------------------------
+
+SLOFILES= \
+	$(SHL1OBJS) \
+
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE :  target.mk
+.INCLUDE : _cppunit.mk
+
+.END

File sfx2/qa/unoapi/makefile.mk

+#*************************************************************************
+# 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.
+#***********************************************************************/
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../..
+PRJNAME = sfx2
+TARGET = qa_unoapi
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = org/openoffice/sfx2/qa/unoapi
+JAVATESTFILES = Test.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END

File solenv/inc/installationtest.mk

         -env:UNO_TYPES=$(my_file)$(SOLARBINDIR)/types.rdb \
         -env:arg-soffice=$(my_soffice) -env:arg-user=$(MISC)/$(TARGET)/user \
         $(my_cppenv) $(TEST_ARGUMENTS:^"-env:arg-testarg.") $(CPPTEST_LIBRARY)
-    $(RM) -r $(MISC)/$(TARGET)/user
+    # As a workaround for #i111400#, ignore failure of $(RM):
+    - $(RM) -r $(MISC)/$(TARGET)/user
 .IF "$(OS)" == "WNT" && "$(OOO_TEST_SOFFICE)" == ""
     $(RM) -r $(installationtest_instpath) $(MISC)/$(TARGET)/installation.flag
 cpptest : $(MISC)/$(TARGET)/installation.flag

File solenv/inc/javaunittest.mk

 # <platform>/class/, so that they are not accidentally included in jar files
 # packed from <platform>/class/ subdirectories.
 
-TESTS := $(subst,.java,.test $(JAVATESTFILES))
 JAVAFILES +:= $(JAVATESTFILES)
-JARFILES +:= OOoRunner.jar
+EXTRAJARFILES += $(OOO_JUNIT_JAR)
 
 .INCLUDE: settings.mk
 
 
 .INCLUDE: target.mk
 
-ALLTAR: $(TESTS)
-
-$(JAVAFILES): $(MISC)/$(TARGET).classdir.flag
+$(JAVATARGET) : $(MISC)/$(TARGET).classdir.flag
 
 $(MISC)/$(TARGET).classdir.flag:
     - $(MKDIR) $(CLASSDIR)
     $(TOUCH) $@
 
-.IF "$(TESTS)" != ""
-$(TESTS): $(JAVACLASSFILES)
-.ENDIF
+.IF "$(JAVATESTFILES)" != ""
+ALLTAR : test
+.END
 
-%.test .PHONY: %.java
-    $(JAVAI) $(JAVAIFLAGS) $(JAVACPS) $(CLASSPATH) org.openoffice.Runner \
-        -TestBase java_complex -NoOffice yes \
-        -o $(subst,/,. $(subst,.test, $(PACKAGE).$@))
+.IF "$(SOLAR_JAVA)" == "TRUE" && "$(OOO_JUNIT_JAR)" != ""
+test .PHONY : $(JAVATARGET)
+    $(JAVAI) $(JAVAIFLAGS) $(JAVACPS) \
+        '$(OOO_JUNIT_JAR)$(PATH_SEPERATOR)$(CLASSPATH)' \
+        org.junit.runner.JUnitCore \
+        $(foreach,i,$(JAVATESTFILES) $(subst,/,. $(PACKAGE)).$(i:s/.java//))
+.ELSE
+test .PHONY :
+    echo 'test needs SOLAR_JAVA=TRUE and OOO_JUNIT_JAR'
+.END
 
 .IF "$(IDLTESTFILES)" != ""
 

File svl/prj/build.lst

 sl	svl	:	l10n rsc offuh ucbhelper unotools cppu cppuhelper comphelper sal sot  LIBXSLT:libxslt NULL
 sl	svl								usr1	-	all	svl_mkout NULL
 sl	svl\prj	nmake	-	all	svl_prj NULL
+sl svl\qa\complex\passwordcontainer nmake - all svl_qa_complex_passwordcontainer NULL

File svl/qa/complex/passwordcontainer/makefile.mk

+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../../..
+PRJNAME = svl
+TARGET = qa_complex_passwordcontainer
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/passwordcontainer
+
+# here store only Files which contain a @Test
+JAVATESTFILES = \
+	PasswordContainerUnitTest.java
+
+
+# put here all other files
+JAVAFILES = $(JAVATESTFILES) \
+	PasswordContainerTest.java\
+	Test01.java\
+    Test02.java\
+    Test03.java\
+	TestHelper.java\
+	MasterPasswdHandler.java
+
+
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug  -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
+
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END
+
+
+# 
+# 
+# 
+# 
+# PRJ = ..$/..$/..
+# TARGET  = PasswordContainerUnitTest
+# PRJNAME=svl
+# PACKAGE = complex$/passwordcontainer
+# 
+# # --- Settings -----------------------------------------------------
+# .INCLUDE: settings.mk
+# 
+# 
+# #----- compile .java files -----------------------------------------
+# 
+# JARFILES        = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
+# 
+# JAVAFILES       =\
+# 				PasswordContainerUnitTest.java\
+# 				PasswordContainerTest.java\
+# 				TestHelper.java\
+# 				Test01.java\
+#                 Test02.java\
+#                 Test03.java\
+# 				MasterPasswdHandler.java
+# 
+# JAVACLASSFILES	= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+# 
+# #----- make a jar from compiled files ------------------------------
+# 
+# MAXLINELENGTH = 100000
+# 
+# JARCLASSDIRS    = $(PACKAGE)
+# JARTARGET       = $(TARGET).jar
+# JARCOMPRESS 	= TRUE
+# 
+# # --- Parameters for the test --------------------------------------
+# 
+# # start an office if the parameter is set for the makefile
+# .IF "$(OFFICE)" == ""
+# CT_APPEXECCOMMAND =
+# .ELSE
+# CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
+# .ENDIF
+# 
+# # test base is java complex
+# CT_TESTBASE = -TestBase java_complex
+# 
+# # test looks something like the.full.package.TestName
+# CT_TEST     = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+# 
+# # start the runner application
+# CT_APP      = org.openoffice.Runner
+# 
+# # --- Targets ------------------------------------------------------
+# 
+# .INCLUDE: target.mk
+# 
+# RUN: run
+# 
+# run:
+#     +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
+# 
+# 

File svtools/prj/build.lst

 st	svtools	:	l10n svl offuh toolkit ucbhelper unotools JPEG:jpeg cppu cppuhelper comphelper sal sot jvmfwk LIBXSLT:libxslt NULL
 st	svtools\prj					        nmake	-	all	st_prj NULL
-
+st svtools\qa\unoapi nmake - all st_qa_unoapi NULL

File svtools/qa/unoapi/makefile.mk

+#*************************************************************************
+# 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.
+#***********************************************************************/
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../..
+PRJNAME = svtools
+TARGET = qa_unoapi
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = org/openoffice/svtools/qa/unoapi
+JAVATESTFILES = Test.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END

File sw/prj/build.lst

 sw      sw      :    filter l10n connectivity OOo:writerperfect vbahelper svx stoc writerfilter LIBXSLT:libxslt NULL
 sw sw\prj nmake - all sw_prj   NULL
+sw sw\qa\complex\accessibility nmake - all sw_qa_complex_accessibility NULL
+sw sw\qa\complex\checkColor nmake - all sw_qa_complex_checkColor NULL
+sw sw\qa\unoapi nmake - all sw_qa_unoapi NULL

File sw/qa/complex/accessibility/makefile.mk

+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../../..
+PRJNAME = sw
+TARGET = qa_complex_accessibility
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/accessibility
+JAVATESTFILES = AccessibleRelationSet.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END

File sw/qa/complex/checkColor/makefile.mk

+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../../..
+PRJNAME = sw
+TARGET = qa_complex_checkColor
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/checkColor
+JAVATESTFILES = CheckChangeColor.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END

File sw/qa/unoapi/makefile.mk

+#*************************************************************************
+# 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.
+#***********************************************************************/
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
+PRJ = ../..
+PRJNAME = sw
+TARGET = qa_unoapi
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = org/openoffice/sw/qa/unoapi
+JAVATESTFILES = Test.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+
+ALLTAR : javatest
+
+.END

File testautomation/writer/required/includes/w_007_.inc

     Call wTypeKeys ("Dieser Text ist zur Aktualisierung")
     printlog " Insert / Indexes"
     InsertIndexes
+    sleep 1
 
     Kontext "Active"
     if ( Active.Exists( 2 ) ) then

File testtools/source/bridgetest/bridgetest.cxx

 	return sal_True;
 }
 
-static sal_Bool performQueryForUnknownType( const Reference< XBridgeTest > & xLBT )
-{
-    sal_Bool bRet = sal_True;
-    // use this when you want to test querying for unknown types
-    // currently (not supported by the java remote bridge )
-    {
-        // test queryInterface for an unknown type
-        typelib_TypeDescriptionReference *pTypeRef = 0;
-        OUString aName( RTL_CONSTASCII_USTRINGPARAM( "foo.MyInterface" ) );
-        typelib_typedescriptionreference_new(
-            &pTypeRef, typelib_TypeClass_INTERFACE,  aName.pData);
-        try
-        {
-            Any a = xLBT->queryInterface( Type( pTypeRef ) );
-            bRet = check( a == Any( ), "got an foo.MyInterface, but didn't expect to get one" );
-        }
-        catch( com::sun::star::uno::RuntimeException & )
-        {
-            fprintf(
-                stderr,
-                "tried to query for an interface reference of an unknown type "
-                "but got a runtime exception. This should work for native bridges "
-                "but isn't implemented for Java remote bridge\n"
-                "Note: All subsequent tests may fail now as the remote bridge is broken\n"
-                "QueryForUnknownType" );
-        }
-        typelib_typedescriptionreference_release( pTypeRef );
-    }
-    return bRet;
-}
-
 class MyClass : public osl::DebugBase<MyClass>, public OWeakObject
 {
 public:
     const Reference<XBridgeTest > & xLBT,
     bool noCurrentContext )
 {
-	check( xLBT.is(), "### no test interface!" );
-	bool bRet = true;
-	if (xLBT.is())
-	{
-		// this data is never ever granted access to by calls other than equals(), assign()!
-		TestData aData; // test against this data
-
-		Reference<XInterface > xI( new MyClass );
-
-		assign( (TestElement &)aData,
-				sal_True, '@', 17, 0x1234, 0xfedc, 0x12345678, 0xfedcba98,
-				SAL_CONST_INT64(0x123456789abcdef0),
-				SAL_CONST_UINT64(0xfedcba9876543210),
-				(float)17.0815, 3.1415926359, TestEnum_LOLA,
-				OUSTR(STRING_TEST_CONSTANT), xI,
-				Any( &xI, ::getCppuType( (const Reference<XInterface > *)0 ) ) );
-
-		bRet = check( aData.Any == xI, "### unexpected any!" ) && bRet;
-		bRet = check( !(aData.Any != xI), "### unexpected any!" ) && bRet;
-
-		aData.Sequence.realloc( 2 );
-        aData.Sequence[ 0 ] = *(const TestElement *)&aData;
-        // aData.Sequence[ 1 ] is empty
-
-		// aData complete
-		//================================================================================
-
-		// this is a manually copy of aData for first setting...
-		TestData aSetData;
-
-		assign( (TestElement &)aSetData,
-				aData.Bool, aData.Char, aData.Byte, aData.Short, aData.UShort,
-				aData.Long, aData.ULong, aData.Hyper, aData.UHyper, aData.Float, aData.Double,
-				aData.Enum, aData.String, xI,
-				Any( &xI, ::getCppuType( (const Reference<XInterface > *)0 ) ) );
-
-		aSetData.Sequence.realloc( 2 );
-        aSetData.Sequence[ 0 ] = *(const TestElement *)&aSetData;
-        // aSetData.Sequence[ 1 ] is empty
-
-		xLBT->setValues(
-			aSetData.Bool, aSetData.Char, aSetData.Byte, aSetData.Short, aSetData.UShort,
-			aSetData.Long, aSetData.ULong, aSetData.Hyper, aSetData.UHyper, aSetData.Float, aSetData.Double,
-			aSetData.Enum, aSetData.String, aSetData.Interface, aSetData.Any, aSetData.Sequence, aSetData );
-
-		{
-		TestData aRet, aRet2;
-		xLBT->getValues(
-			aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
-			aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
-			aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-
-		bRet = check( equals( aData, aRet ) && equals( aData, aRet2 ) , "getValues test") && bRet;
-
-		// set last retrieved values
-		TestData aSV2ret = xLBT->setValues2(
-			aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
-			aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
-			aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-        // check inout sequence order
-        // => inout sequence parameter was switched by test objects
-		TestElement temp = aRet.Sequence[ 0 ];
-        aRet.Sequence[ 0 ] = aRet.Sequence[ 1 ];
-        aRet.Sequence[ 1 ] = temp;
-        
-		bRet = check(
-            equals( aData, aSV2ret ) && equals( aData, aRet2 ),
-            "getValues2 test") && bRet;
-		}
-		{
-		TestData aRet, aRet2;
-		TestData aGVret = xLBT->getValues(
-			aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
-			aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
-			aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-
-		bRet = check( equals( aData, aRet ) && equals( aData, aRet2 ) && equals( aData, aGVret ), "getValues test" ) && bRet;
-
-		// set last retrieved values
-		xLBT->setBool( aRet.Bool );
-		xLBT->setChar( aRet.Char );
-		xLBT->setByte( aRet.Byte );
-		xLBT->setShort( aRet.Short );
-		xLBT->setUShort( aRet.UShort );
-        xLBT->setLong( aRet.Long );
-		xLBT->setULong( aRet.ULong );
-		xLBT->setHyper( aRet.Hyper );
-		xLBT->setUHyper( aRet.UHyper );
-		xLBT->setFloat( aRet.Float );
-		xLBT->setDouble( aRet.Double );
-		xLBT->setEnum( aRet.Enum );
-		xLBT->setString( aRet.String );
-		xLBT->setInterface( aRet.Interface );
-		xLBT->setAny( aRet.Any );
-		xLBT->setSequence( aRet.Sequence );
-		xLBT->setStruct( aRet2 );
-		}
-		{
-		TestData aRet, aRet2;
-		aRet.Hyper = xLBT->getHyper();
-		aRet.UHyper = xLBT->getUHyper();
-		aRet.Float = xLBT->getFloat();
-		aRet.Double = xLBT->getDouble();
-		aRet.Byte = xLBT->getByte();
-		aRet.Char = xLBT->getChar();
-		aRet.Bool = xLBT->getBool();
-		aRet.Short = xLBT->getShort();
-		aRet.UShort = xLBT->getUShort();
-		aRet.Long = xLBT->getLong();
-		aRet.ULong = xLBT->getULong();
-		aRet.Enum = xLBT->getEnum();
-		aRet.String = xLBT->getString();
-		aRet.Interface = xLBT->getInterface();
-		aRet.Any = xLBT->getAny();
-		aRet.Sequence = xLBT->getSequence();
-		aRet2 = xLBT->getStruct();
-
-		bRet = check( equals( aData, aRet ) && equals( aData, aRet2 ) , "struct comparison test") && bRet;
-
+    check(xLBT.is(), "### no test interface!");
+    bool bRet = true;
+    if (xLBT.is()) {
+        // this data is never ever granted access to by calls other than
+        // equals(), assign()!
+        TestData aData; // test against this data
+        Reference< XInterface > xI(new MyClass);
+        assign(
+            (TestElement &) aData, true, '@', 17, 0x1234, 0xFEDC, 0x12345678,
+            0xFEDCBA98, SAL_CONST_INT64(0x123456789ABCDEF0),
+            SAL_CONST_UINT64(0xFEDCBA9876543210), 17.0815f, 3.1415926359,
+            TestEnum_LOLA, OUSTR(STRING_TEST_CONSTANT), xI,
+            Any(&xI, getCppuType((Reference< XInterface > const *) 0)));
+        bRet &= check(aData.Any == xI, "### unexpected any!");
+        bRet &= check(!(aData.Any != xI), "### unexpected any!");
+        aData.Sequence.realloc(2);
+        aData.Sequence[0] = *(TestElement const *) &aData;
+        // aData.Sequence[1] is empty
+        // aSetData is a manually copy of aData for first setting:
+        TestData aSetData;
+        assign(
+            (TestElement &) aSetData, aData.Bool, aData.Char, aData.Byte,
+            aData.Short, aData.UShort, aData.Long, aData.ULong, aData.Hyper,
+            aData.UHyper, aData.Float, aData.Double, aData.Enum, aData.String,
+            xI, Any(&xI, getCppuType((Reference< XInterface > const *) 0)));
+        aSetData.Sequence.realloc(2);
+        aSetData.Sequence[0] = *(TestElement const *) &aSetData;
+        // aSetData.Sequence[1] is empty
+        xLBT->setValues(
+            aSetData.Bool, aSetData.Char, aSetData.Byte, aSetData.Short,
+            aSetData.UShort, aSetData.Long, aSetData.ULong, aSetData.Hyper,
+            aSetData.UHyper, aSetData.Float, aSetData.Double, aSetData.Enum,
+            aSetData.String, aSetData.Interface, aSetData.Any,
+            aSetData.Sequence, aSetData);
         {
-            SmallStruct aIn(1, 2);
-            SmallStruct aOut = xLBT->echoSmallStruct(aIn);
-            bRet = check( memcmp(&aIn, &aOut, sizeof(SmallStruct)) == 0, "small struct test" ) && bRet;
+            TestData aRet;
+            TestData aRet2;
+            xLBT->getValues(
+                aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
+                aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float,
+                aRet.Double, aRet.Enum, aRet.String, aRet.Interface, aRet.Any,
+                aRet.Sequence, aRet2);
+            bRet &= check(
+                equals(aData, aRet) && equals(aData, aRet2), "getValues test");
+            // Set last retrieved values:
+            TestData aSV2ret(
+                xLBT->setValues2(
+                    aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
+                    aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float,
+                    aRet.Double, aRet.Enum, aRet.String, aRet.Interface,
+                    aRet.Any, aRet.Sequence, aRet2));
+            // Check inout sequence order (=> inout sequence parameter was
+            // switched by test objects):
+            TestElement temp(aRet.Sequence[0]);
+            aRet.Sequence[0] = aRet.Sequence[1];
+            aRet.Sequence[1] = temp;
+            bRet &= check(
+                equals(aData, aSV2ret) && equals(aData, aRet2),
+                "getValues2 test");
         }
         {
-            MediumStruct aIn(1, 2, 3, 4);
-            MediumStruct aOut = xLBT->echoMediumStruct(aIn);
-            bRet = check( memcmp(&aIn, &aOut, sizeof(MediumStruct)) == 0, "medium struct test" ) && bRet;
+            TestData aRet;
+            TestData aRet2;
+            TestData aGVret(
+                xLBT->getValues(
+                    aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
+                    aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float,
+                    aRet.Double, aRet.Enum, aRet.String, aRet.Interface,
+                    aRet.Any, aRet.Sequence, aRet2));
+            bRet &= check(
+                (equals(aData, aRet) && equals(aData, aRet2) &&
+                 equals(aData, aGVret)),
+                "getValues test");
+            // Set last retrieved values:
+            xLBT->setBool(aRet.Bool);
+            xLBT->setChar(aRet.Char);
+            xLBT->setByte(aRet.Byte);
+            xLBT->setShort(aRet.Short);
+            xLBT->setUShort(aRet.UShort);
+            xLBT->setLong(aRet.Long);
+            xLBT->setULong(aRet.ULong);
+            xLBT->setHyper(aRet.Hyper);
+            xLBT->setUHyper(aRet.UHyper);
+            xLBT->setFloat(aRet.Float);
+            xLBT->setDouble(aRet.Double);
+            xLBT->setEnum(aRet.Enum);
+            xLBT->setString(aRet.String);
+            xLBT->setInterface(aRet.Interface);
+            xLBT->setAny(aRet.Any);
+            xLBT->setSequence(aRet.Sequence);
+            xLBT->setStruct(aRet2);
         }
         {
-            BigStruct aIn(1, 2, 3, 4, 5, 6, 7, 8);
-            BigStruct aOut = xLBT->echoBigStruct(aIn);
-            bRet = check( memcmp(&aIn, &aOut, sizeof(BigStruct)) == 0, "big struct test" ) && bRet;
+            TestData aRet;
+            aRet.Hyper = xLBT->getHyper();
+            aRet.UHyper = xLBT->getUHyper();
+            aRet.Float = xLBT->getFloat();
+            aRet.Double = xLBT->getDouble();
+            aRet.Byte = xLBT->getByte();
+            aRet.Char = xLBT->getChar();
+            aRet.Bool = xLBT->getBool();
+            aRet.Short = xLBT->getShort();
+            aRet.UShort = xLBT->getUShort();
+            aRet.Long = xLBT->getLong();
+            aRet.ULong = xLBT->getULong();
+            aRet.Enum = xLBT->getEnum();
+            aRet.String = xLBT->getString();
+            aRet.Interface = xLBT->getInterface();
+            aRet.Any = xLBT->getAny();
+            aRet.Sequence = xLBT->getSequence();
+            TestData aRet2(xLBT->getStruct());
+            bRet &= check(
+                equals(aData, aRet) && equals(aData, aRet2),
+                "struct comparison test");
+            {
+                SmallStruct aIn(1, 2);
+                SmallStruct aOut(xLBT->echoSmallStruct(aIn));
+                bRet &= check(
+                    memcmp(&aIn, &aOut, sizeof(SmallStruct)) == 0,
+                    "small struct test");
+            }
+            {
+                MediumStruct aIn(1, 2, 3, 4);
+                MediumStruct aOut(xLBT->echoMediumStruct(aIn));
+                bRet &= check(
+                    memcmp(&aIn, &aOut, sizeof(MediumStruct)) == 0,
+                    "medium struct test");
+            }
+            {
+                BigStruct aIn(1, 2, 3, 4, 5, 6, 7, 8);
+                BigStruct aOut(xLBT->echoBigStruct(aIn));
+                bRet &= check(
+                    memcmp(&aIn, &aOut, sizeof(BigStruct)) == 0,
+                    "big struct test");
+            }
+            {
+                AllFloats aIn(1.1f, 2.2f, 3.3f, 4.4f);
+                AllFloats aOut(xLBT->echoAllFloats(aIn));
+                bRet &= check(
+                    memcmp(&aIn, &aOut, sizeof(AllFloats)) == 0,
+                    "all floats struct test");
+            }
+            {
+                sal_Int32 i2 = xLBT->testPPCAlignment(0, 0, 0, 0, 0xBEAF);
+                bRet &= check(i2 == 0xBEAF, "ppc-style alignment test");
+            }
+            // Test extended attributes that raise exceptions:
+            try {
+                xLBT->getRaiseAttr1();
+                bRet &= check(false, "getRaiseAttr1 did not throw");
+            } catch (RuntimeException &) {
+            } catch (...) {
+                bRet &= check(false, "getRaiseAttr1 threw wrong type");
+            }
+            try {
+                xLBT->setRaiseAttr1(0);
+                bRet &= check(false, "setRaiseAttr1 did not throw");
+            } catch (IllegalArgumentException &) {
+            } catch (...) {
+                bRet &= check(false, "setRaiseAttr1 threw wrong type");
+            }
+            try {
+                xLBT->getRaiseAttr2();
+                bRet &= check(false, "getRaiseAttr2 did not throw");
+            } catch (IllegalArgumentException &) {
+            } catch (...) {
+                bRet &= check(false, "getRaiseAttr2 threw wrong type");
+            }
+            // Test instantiated polymorphic struct types:
+            {
+                bRet &= check(
+                    (xLBT->transportPolyBoolean(
+                        TestPolyStruct< sal_Bool >(true)).
+                     member),
+                    "transportPolyBoolean");
+                TestPolyStruct< sal_Int64 > tps1(12345);
+                xLBT->transportPolyHyper(tps1);
+                bRet &= check(tps1.member == 12345, "transportPolyHyper");
+                Sequence< Any > seq(2);
+                seq[0] <<= static_cast< sal_uInt32 >(33);
+                seq[1] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ABC"));
+                TestPolyStruct< Sequence< Any > > tps2(seq);
+                TestPolyStruct< Sequence< Any > > tps3;
+                xLBT->transportPolySequence(tps2, tps3);
+                bRet &= check(
+                    tps3.member.getLength() == 2,
+                    "transportPolySequence, length");
+                sal_uInt32 v0 = sal_uInt32();
+                tps3.member[0] >>= v0;
+                bRet &= check(v0 == 33, "transportPolySequence, element 0");
+                rtl::OUString v1;
+                tps3.member[1] >>= v1;
+                bRet &= check(
+                    v1.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("ABC")),
+                    "transportPolySequence, element 1");
+                bRet &= check(
+                    xLBT->getNullPolyLong().member == 0, "getNullPolyLong");
+                bRet &= check(
+                    xLBT->getNullPolyString().member.getLength() == 0,
+                    "getNullPolyString");
+                bRet &= check(
+                    xLBT->getNullPolyType().member == Type(),
+                    "getNullPolyType");
+                Any nullAny(xLBT->getNullPolyAny().member);
+                bRet &= check(
+                    (((nullAny.getValueTypeName() ==
+                       rtl::OUString(
+                           RTL_CONSTASCII_USTRINGPARAM(
+                               "com.sun.star.uno.XInterface"))) &&
+                      !static_cast< Reference< XInterface > const * >(
+                          nullAny.getValue())->is())
+                     || nullAny == Any()),
+                    "getNullPolyAny");
+                bRet &= check(
+                    xLBT->getNullPolySequence().member.getLength() == 0,
+                    "getNullPolySequence");
+                bRet &= check(
+                    xLBT->getNullPolyEnum().member == TestEnum_TEST,
+                    "getNullPolyEnum");
+                bRet &= check(
+                    xLBT->getNullPolyBadEnum().member == TestBadEnum_M,
+                    "getNullPolyBadEnum");
+                bRet &= check(
+                    xLBT->getNullPolyStruct().member.member == 0,
+                    "getNullPolyStruct");
+                bRet &= check(
+                    !xLBT->getNullPolyInterface().member.is(),
+                    "getNullPolyInterface");
+            }
+            // Any test:
+            bRet &= check(performAnyTest(xLBT , aData), "any test");
+            // Sequence of call test:
+            bRet &= check(
+                performSequenceOfCallTest(xLBT), "sequence of call test");
+            // Recursive call test:
+            bRet &= check(performRecursiveCallTest(xLBT), "recursive test");
+            bRet &= check(
+                equals(aData, aRet) && equals(aData, aRet2),