summaryrefslogtreecommitdiff
path: root/soltools/testSHL
diff options
context:
space:
mode:
authorsz <sz@openoffice.org>2001-04-12 09:55:57 +0000
committersz <sz@openoffice.org>2001-04-12 09:55:57 +0000
commit46af0a5ebdaf5630c4ced79027331df12ef07f8a (patch)
tree0b28d119edefef65b1d74dc0dbee5e5f0ca1452a /soltools/testSHL
parent7fa303ad84989cb9abcacf852e965766035c62ee (diff)
commenting stuff
Diffstat (limited to 'soltools/testSHL')
-rw-r--r--soltools/testSHL/inc/tlog.hxx139
-rw-r--r--soltools/testSHL/inc/tstMgr.hxx109
-rw-r--r--soltools/testSHL/inc/tutil.hxx85
-rw-r--r--soltools/testSHL/makefile.mk87
-rw-r--r--soltools/testSHL/testshl.cxx6
-rw-r--r--soltools/testSHL/util/makefile.mk82
-rw-r--r--soltools/testSHL/util/tlog.cxx139
-rw-r--r--soltools/testSHL/util/tstMgr.cxx201
-rw-r--r--soltools/testSHL/util/tutil.cxx173
9 files changed, 1019 insertions, 2 deletions
diff --git a/soltools/testSHL/inc/tlog.hxx b/soltools/testSHL/inc/tlog.hxx
new file mode 100644
index 000000000000..e522dfd107f6
--- /dev/null
+++ b/soltools/testSHL/inc/tlog.hxx
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * $RCSfile: tlog.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sz $ $Date: 2001-04-12 10:55:26 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _SOLTOOLS_TESTSHL_TLOG_HXX__
+#define _SOLTOOLS_TESTSHL_TLOG_HXX__
+
+#ifndef _OSL_FILE_HXX_
+#include <osl/file.hxx>
+#endif
+
+#ifndef _RTL_TRES_HXX_
+#include <rtl/tres.hxx>
+#endif
+
+#ifndef _SOLTOOLS_TESTSHL_TUTIL_HXX_
+#include "tutil.hxx"
+#endif
+
+#include <iostream>
+
+using namespace std;
+
+// <namespace_tstutl>
+namespace tstutl {
+
+// <class_tLog>
+class tLog {
+
+ // <private_members>
+ ::osl::File* m_logfile; // fileobject
+ ::rtl::OUString m_logname; // name of log
+ // </private_members>
+
+ // <private_methods>
+ void initialize( const ::rtl::OString& name );
+ // </private_methods>
+
+public:
+
+ // <public_ctors>
+ tLog() : m_logfile( 0 ) {
+ }
+
+ tLog( const sal_Char* name ) {
+ if( name ) {
+ initialize( name );
+ }
+ else {
+ m_logfile = 0;
+ }
+
+ }
+ // </public_ctors>
+
+ // <dtor>
+ virtual ~tLog() {
+ if ( m_logfile ) {
+ m_logfile->close();
+ delete( m_logfile );
+ }
+ } // </dtor>
+
+ // <public_methods>
+ inline ::rtl::OUString& getName() { return m_logname; }
+ inline ::osl::File* getFile() { return m_logfile; }
+
+ // open logfile for overwrite (default) or append
+ ::osl::FileBase::RC open( sal_Bool append = sal_False );
+ ::osl::FileBase::RC close();
+
+ ::osl::FileBase::RC writeRes( ::rtl::tRes& oRes, sal_Bool v = sal_False ,
+ sal_Bool xml = sal_False );
+
+ // write methods without (default) or with echo on display
+ ::osl::FileBase::RC write( const sal_Char* buf, sal_Bool v = sal_False );
+ // </public_methods>
+
+}; // </class_tLog>
+
+} // </namespace_tstutl>
+
+#endif
diff --git a/soltools/testSHL/inc/tstMgr.hxx b/soltools/testSHL/inc/tstMgr.hxx
new file mode 100644
index 000000000000..934a20b15cc0
--- /dev/null
+++ b/soltools/testSHL/inc/tstMgr.hxx
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * $RCSfile: tstMgr.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sz $ $Date: 2001-04-12 10:55:26 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _SOLTOOLS_TESTSHL_TSTMGR_HXX__
+#define _SOLTOOLS_TESTSHL_TSTMGR_HXX__
+
+#ifndef _SAL_TYPES_H_
+#include <sal/types.h>
+#endif
+
+#include <vector>
+
+using namespace std;
+
+// <namespace_tstutl>
+namespace tstutl {
+
+// <class_tstMgr>
+class tstMgr {
+
+ // <private_members>
+ struct tstMgr_Impl;
+ tstMgr_Impl* pImpl;
+ // </private_members>
+
+ // <private_methods>
+ void cleanup();
+ // </private_methods>
+
+public:
+
+ // <dtor>
+ ~tstMgr(){
+ cleanup();
+ } // </dtor>
+
+
+ // <public_methods>
+ sal_Bool initialize( sal_Char* moduleName, sal_Bool boom = sal_False );
+ sal_Bool test_Entry( sal_Char* entry, sal_Char* logName = 0 );
+ sal_Bool test_Entries( vector< sal_Char* > entries, sal_Char* logName = 0 );
+ sal_Bool test_EntriesFromFile( sal_Char* fName, sal_Char* logName = 0 );
+ // </public_methods>
+
+}; // </class_tstMgr>
+
+} // </namespace_tstutl>
+
+#endif
+
+
+
diff --git a/soltools/testSHL/inc/tutil.hxx b/soltools/testSHL/inc/tutil.hxx
new file mode 100644
index 000000000000..e754dce91d73
--- /dev/null
+++ b/soltools/testSHL/inc/tutil.hxx
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * $RCSfile: tutil.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sz $ $Date: 2001-04-12 10:55:26 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _SOLTOOLS_TESTSHL_TUTIL_HXX_
+#define _SOLTOOLS_TESTSHL_TUTIL_HXX__
+
+#ifndef _OSL_FILE_HXX_
+#include <osl/file.hxx>
+#endif
+
+using namespace std;
+
+#include <vector>
+
+// <namespace_tstutl>
+namespace tstutl {
+
+sal_uInt32 getEntriesFromFile( sal_Char* fName, vector< sal_Char* >& entries );
+::rtl::OUString cnvrtPth( ::rtl::OString sysPth );
+
+// string copy, cat, len methods
+sal_Char* cpy( sal_Char** dest, const sal_Char* src );
+sal_Char* cat( const sal_Char* str1, const sal_Char* str2 );
+sal_uInt32 ln( const sal_Char* str );
+
+} // </namespace_tstutl>
+
+#endif
diff --git a/soltools/testSHL/makefile.mk b/soltools/testSHL/makefile.mk
new file mode 100644
index 000000000000..1a238a7d1f8f
--- /dev/null
+++ b/soltools/testSHL/makefile.mk
@@ -0,0 +1,87 @@
+#*************************************************************************
+#
+# $RCSfile: makefile.mk,v $
+#
+# $Revision: 1.1 $
+#
+# last change: $Author: sz $ $Date: 2001-04-12 10:55:57 $
+#
+# The Contents of this file are made available subject to the terms of
+# either of the following licenses
+#
+# - GNU Lesser General Public License Version 2.1
+# - Sun Industry Standards Source License Version 1.1
+#
+# Sun Microsystems Inc., October, 2000
+#
+# GNU Lesser General Public License Version 2.1
+# =============================================
+# Copyright 2000 by Sun Microsystems, Inc.
+# 901 San Antonio Road, Palo Alto, CA 94303, USA
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License version 2.1, as published by the Free Software Foundation.
+#
+# This library 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 for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+#
+# Sun Industry Standards Source License Version 1.1
+# =================================================
+# The contents of this file are subject to the Sun Industry Standards
+# Source License Version 1.1 (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.openoffice.org/license.html.
+#
+# Software provided under this License is provided on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+# See the License for the specific provisions governing your rights and
+# obligations concerning the Software.
+#
+# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+#
+# Copyright: 2000 by Sun Microsystems, Inc.
+#
+# All Rights Reserved.
+#
+# Contributor(s): _______________________________________
+#
+#
+#
+#*************************************************************************
+PRJ=..
+
+PRJNAME=soltools
+TARGET=testshl
+TARGETTYPE=CUI
+
+#USE_LDUMP2=TRUE
+#LDUMP2=LDUMP3
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : svpre.mk
+.INCLUDE : settings.mk
+.INCLUDE : sv.mk
+
+# ------------------------------------------------------------------
+
+APP1TARGET= $(TARGET)
+APP1OBJS= $(OBJ)$/$(TARGET).obj
+APP1STDLIBS=$(SALLIB)\
+ $(SALHELPERLIB)
+APP1DEPN= $(LB)$/tstutil.lib
+APP1LIBS= $(LB)$/tstutil.lib \
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/soltools/testSHL/testshl.cxx b/soltools/testSHL/testshl.cxx
index e12632aa3e5e..1c5094a7544d 100644
--- a/soltools/testSHL/testshl.cxx
+++ b/soltools/testSHL/testshl.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: testshl.cxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: sz $ $Date: 2001-04-12 06:18:13 $
+ * last change: $Author: sz $ $Date: 2001-04-12 10:55:57 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -69,6 +69,8 @@
#include "inc/tstmgr.hxx"
#endif
+using namespace tstutl;
+
void usage();
void test_shl( vector< sal_Char* > cmdln, sal_Bool boom );
diff --git a/soltools/testSHL/util/makefile.mk b/soltools/testSHL/util/makefile.mk
new file mode 100644
index 000000000000..af2d0f772754
--- /dev/null
+++ b/soltools/testSHL/util/makefile.mk
@@ -0,0 +1,82 @@
+#*************************************************************************
+#
+# $RCSfile: makefile.mk,v $
+#
+# $Revision: 1.1 $
+#
+# last change: $Author: sz $ $Date: 2001-04-12 10:54:54 $
+#
+# The Contents of this file are made available subject to the terms of
+# either of the following licenses
+#
+# - GNU Lesser General Public License Version 2.1
+# - Sun Industry Standards Source License Version 1.1
+#
+# Sun Microsystems Inc., October, 2000
+#
+# GNU Lesser General Public License Version 2.1
+# =============================================
+# Copyright 2000 by Sun Microsystems, Inc.
+# 901 San Antonio Road, Palo Alto, CA 94303, USA
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License version 2.1, as published by the Free Software Foundation.
+#
+# This library 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 for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+#
+# Sun Industry Standards Source License Version 1.1
+# =================================================
+# The contents of this file are subject to the Sun Industry Standards
+# Source License Version 1.1 (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.openoffice.org/license.html.
+#
+# Software provided under this License is provided on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+# See the License for the specific provisions governing your rights and
+# obligations concerning the Software.
+#
+# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+#
+# Copyright: 2000 by Sun Microsystems, Inc.
+#
+# All Rights Reserved.
+#
+# Contributor(s): _______________________________________
+#
+#
+#
+#*************************************************************************
+PRJ=..$/..
+
+PRJNAME=soltools
+TARGET=tstutil
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : svpre.mk
+.INCLUDE : settings.mk
+.INCLUDE : sv.mk
+
+# ------------------------------------------------------------------
+
+OBJFILES =\
+ $(OBJ)$/tlog.obj \
+ $(OBJ)$/tutil.obj \
+ $(OBJ)$/tstmgr.obj
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/soltools/testSHL/util/tlog.cxx b/soltools/testSHL/util/tlog.cxx
new file mode 100644
index 000000000000..7e21323a3fa6
--- /dev/null
+++ b/soltools/testSHL/util/tlog.cxx
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * $RCSfile: tlog.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sz $ $Date: 2001-04-12 10:54:54 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#include "tlog.hxx"
+
+using namespace std;
+
+// <namespace_tstutl>
+namespace tstutl {
+
+// <method_initialize>
+void tLog::initialize( const ::rtl::OString& name ) {
+ m_logname = cnvrtPth( name );
+ m_logfile = new ::osl::File( m_logname );
+} // </method_initialize>
+
+// <method_open>
+::osl::FileBase::RC tLog::open( sal_Bool append ) {
+
+ if ( m_logfile ) {
+ ::osl::FileBase::RC ret;
+
+ if ( ! append ) {
+ ret = ::osl::File::remove( m_logname );
+ }
+
+ if( m_logfile->open( OpenFlag_Write ) == ::osl::FileBase::E_NOENT ) {
+ ret = m_logfile->open( OpenFlag_Write | OpenFlag_Create );
+ }
+ else {
+ ret = m_logfile->setPos( Pos_End, 0 );
+ }
+ return ret;
+ }
+ return ( ::osl::FileBase::E_INVAL );
+} // </method_open>
+
+// <method_close>
+::osl::FileBase::RC tLog::close() {
+ if ( m_logfile ) {
+ return m_logfile->close();
+ }
+ return ( ::osl::FileBase::E_INVAL );
+} // </method_close>
+
+// <method_writeRes>
+::osl::FileBase::RC tLog::writeRes( ::rtl::tRes& oRes, sal_Bool v, sal_Bool xml ) {
+ ::osl::FileBase::RC ret;
+
+ sal_Char* ptr = oRes.getName();
+ ptr = cat( ptr, ";" );
+ ptr = cat( ptr, oRes.getResult() );
+ ret = write( cat( ptr, "\n" ), v );
+ delete [] ptr;
+
+ return( ret );
+} // </method_writeRes>
+
+// <method_write>
+::osl::FileBase::RC tLog::write( const sal_Char* buf, sal_Bool v ) {
+
+ if ( ! m_logfile ) {
+ fprintf( stderr, "%s", buf );
+ return ( ::osl::FileBase::E_NOENT );
+ }
+ sal_uInt64 uBytes=0;
+ sal_uInt32 len = ln( buf );
+ const sal_Char* ptr = buf;
+
+ if ( v ) {
+ fprintf( stderr, "%s", buf );
+ }
+ return m_logfile->write( buf, len , uBytes );
+} // </method_write>
+
+} // </namespace_tstutl>
+
+
+
+
+
diff --git a/soltools/testSHL/util/tstMgr.cxx b/soltools/testSHL/util/tstMgr.cxx
new file mode 100644
index 000000000000..5a478370020d
--- /dev/null
+++ b/soltools/testSHL/util/tstMgr.cxx
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * $RCSfile: tstMgr.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sz $ $Date: 2001-04-12 10:54:54 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#include "tstmgr.hxx"
+
+#ifndef _OSL_MODULE_HXX_
+#include <osl/module.hxx>
+#endif
+
+#ifndef _RTL_TRES_HXX_
+#include <rtl/tres.hxx>
+#endif
+
+#ifndef _SOLTOOLS_TESTSHL_TLOG_HXX_
+#include "tlog.hxx"
+#endif
+
+#ifndef _SOLTOOLS_TESTSHL_TUTIL_HXX_
+#include "tutil.hxx"
+#endif
+
+using namespace rtl;
+
+// <namespace_tstutl>
+namespace tstutl {
+
+typedef void* ( tstFunc )( tRes* );
+void test_Entry_Impl( ::osl::Module& oMod, tRes* oRes );
+
+// <private_members>
+struct tstMgr::tstMgr_Impl {
+ ::osl::Module m_tstmodule;
+ sal_Bool m_boom;
+};
+// </private_members>
+
+// <method_initialize>
+sal_Bool tstMgr::initialize( sal_Char* modName, sal_Bool boom ) {
+
+ ::rtl::OUString tstMod( ::rtl::OUString::createFromAscii( modName ) );
+ pImpl = new tstMgr_Impl;
+ pImpl->m_boom = boom;
+ return ( pImpl->m_tstmodule.load( tstMod ) );
+} // <method_initialize>
+
+// <method_test_Entries>
+sal_Bool tstMgr::test_Entries( vector< sal_Char* > entries,
+ sal_Char* logName ) {
+
+ sal_Bool bOK = sal_False;
+ if ( ! entries.empty() ) {
+
+ bOK = sal_True;
+ vector< sal_Char* >::iterator iter = entries.begin();
+
+ tLog log( logName );
+ // open testLog
+ log.open();
+ while ( iter != entries.end() ) {
+ if ( *iter[0] != '#' ) {
+ ::rtl::tRes oRes( *iter, pImpl->m_boom );
+ test_Entry_Impl( pImpl->m_tstmodule, &oRes );
+ bOK &= oRes.getState();
+ log.writeRes( oRes );
+ }
+ iter++;
+ }
+ log.close();
+ }
+ return ( bOK );
+} // </method_test_Entries>
+
+// <method_test_Entry>
+sal_Bool tstMgr::test_Entry( sal_Char* entry, sal_Char* logName ) {
+
+ tLog log( logName );
+ // open testLog
+ log.open();
+ ::rtl::tRes oRes( entry, pImpl->m_boom );
+ test_Entry_Impl( pImpl->m_tstmodule, &oRes );
+ log.writeRes( oRes, sal_True );
+ log.close();
+ return ( oRes.getState() );
+} // </method_test_Entry>
+
+// <method_test_EntriesFromFile>
+sal_Bool tstMgr::test_EntriesFromFile( sal_Char* fName, sal_Char* logName ) {
+
+ sal_Bool bOK = sal_False;
+ vector< sal_Char* > entries;
+
+ if ( getEntriesFromFile( fName, entries ) ) {
+ sal_Bool bOK = test_Entries( entries, logName );
+
+ vector< sal_Char* >::iterator iter = entries.begin();
+ while ( iter != entries.end() ) {
+ if ( *iter ) {
+ delete [] *iter;
+ }
+ iter++;
+ }
+ }
+ else {
+ bOK = test_Entry( fName );
+ }
+ return ( bOK );
+
+} // </method_test_EntriesFromFile>
+
+// <method_cleanup>
+void tstMgr::cleanup() {
+ if ( pImpl ) {
+ delete pImpl;
+ }
+} // </method_cleanup>
+
+
+// <function_test_Entry_Impl>
+void test_Entry_Impl( ::osl::Module& oMod, ::rtl::tRes* oRes ) {
+
+ tstFunc* pFunc; // entry pointer
+ ::rtl::OString entryName( "test_" ); // entryname prefix
+
+ // prefix entryname
+ entryName += oRes->getName();
+
+ // get entry pointer
+ pFunc = (tstFunc*) oMod.getSymbol(
+ ::rtl::OUString::createFromAscii( entryName.getStr() ) );
+
+ if ( pFunc ) {
+ // call entry
+ pFunc( oRes );
+ oRes->end();
+ }
+ else {
+ oRes->end("symbol not found");
+ }
+ // return
+ return;
+
+} // </function_test_Entry_Impl>
+
+} // </namespace_tstutl>
diff --git a/soltools/testSHL/util/tutil.cxx b/soltools/testSHL/util/tutil.cxx
new file mode 100644
index 000000000000..e88a866a9d43
--- /dev/null
+++ b/soltools/testSHL/util/tutil.cxx
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * $RCSfile: tutil.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: sz $ $Date: 2001-04-12 10:54:54 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#include "tutil.hxx"
+
+// <namespace_tstutl>
+namespace tstutl {
+
+// _getcwd hack is deprecated as soon as normalizePath works as intend
+#include <direct.h> // _getcwd
+
+// <function_cnvrtPth>
+::rtl::OUString cnvrtPth( ::rtl::OString sysPth ) {
+
+ using ::osl::FileBase;
+ using ::rtl::OUString;
+ using ::rtl::OString;
+
+ ::rtl::OUString ret;
+ sysPth = sysPth.replace( '\\','/' );
+ OUString pth( OUString::createFromAscii( sysPth.getStr() ) );
+
+ if ( sysPth.indexOf("..") != -1 ) {
+
+ // <hack> for osl_normalizePath() can't handle relatives
+ char buffer[256];
+ OString curPth(_getcwd(buffer,256));
+ // </hack>
+ OUString nrmCurPth;
+ FileBase::normalizePath( OUString::createFromAscii( curPth ) ,
+ nrmCurPth );
+ FileBase::getAbsolutePath( nrmCurPth, pth, ret );
+ }
+ else {
+ FileBase::normalizePath( pth, ret );
+ }
+ return ret;
+
+} // </function_cnvrtPth>
+
+// <function_getEntriesFromFile>
+sal_uInt32 getEntriesFromFile( sal_Char* fName,
+ vector< sal_Char* >& entries ) {
+
+ ::osl::File inFile( cnvrtPth( fName ) );
+ if ( inFile.open( OpenFlag_Read ) == ::osl::FileBase::E_None) {
+ ::rtl::ByteSequence byteSeq;
+ inFile.readLine( byteSeq );
+ while ( byteSeq.getLength() ) {
+ sal_uInt32 len = byteSeq.getLength();
+ sal_uInt32 i;
+ sal_Char* pEnt = new sal_Char[ len+1 ];
+ sal_Char* bsPtr = (sal_Char*)byteSeq.getArray();
+ for ( i=0; i<len; i++ ) {
+ pEnt[i] = bsPtr[i];
+ }
+ pEnt[len] = '\0';
+ entries.push_back( pEnt );
+
+ inFile.readLine( byteSeq );
+ }
+ }
+ return ( entries.size() );
+
+} // </function_getEntriesFromFile>
+
+// <function_cpy>
+sal_Char* cpy( sal_Char** dest, const sal_Char* src ) {
+
+ *dest = new sal_Char[ ln(src)+1 ];
+ // set pointer
+ sal_Char* pdest = *dest;
+ const sal_Char* psrc = src;
+
+ // copy string by char
+ while( *pdest++ = *psrc++ );
+
+ return ( *dest );
+
+} // </function_cpy>
+
+// <function_cat>
+sal_Char* cat( const sal_Char* str1, const sal_Char* str2 ) {
+
+ // allocate memory for destination string
+ sal_Char* dest = new sal_Char[ ln(str1)+ln(str2)+1 ];
+
+ // set pointers
+ sal_Char* pdest = dest;
+ const sal_Char* psrc = str1;
+
+ // copy string1 by char to dest
+ while( *pdest++ = *psrc++ );
+ pdest--;
+ psrc = str2;
+ while( *pdest++ = *psrc++ );
+
+ return ( dest );
+
+} // </function_cat>
+
+// <function_ln>
+sal_uInt32 ln( const sal_Char* str ) {
+
+ sal_uInt32 len = 0;
+ const sal_Char* ptr = str;
+
+ if( ptr ) {
+ while( *ptr++ ) len++;
+ }
+
+ return(len);
+} // <function_ln>
+
+} // </namespace_tstutl>
+