summaryrefslogtreecommitdiff
path: root/testautomation/global/tools/includes/required/t_dirloc.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/global/tools/includes/required/t_dirloc.inc')
-rwxr-xr-xtestautomation/global/tools/includes/required/t_dirloc.inc294
1 files changed, 294 insertions, 0 deletions
diff --git a/testautomation/global/tools/includes/required/t_dirloc.inc b/testautomation/global/tools/includes/required/t_dirloc.inc
new file mode 100755
index 000000000000..6f64df945e64
--- /dev/null
+++ b/testautomation/global/tools/includes/required/t_dirloc.inc
@@ -0,0 +1,294 @@
+'**************************************************************************
+'* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'*
+'* Copyright 2008 by Sun Microsystems, Inc.
+'*
+'* OpenOffice.org - a multi-platform office productivity suite
+'*
+'* $RCSfile: t_dirloc.inc,v $
+'*
+'* $Revision: 1.1 $
+'*
+'* last change: $Author: jsi $ $Date: 2008-06-13 10:27:10 $
+'*
+'* 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.
+'*
+'/************************************************************************
+'*
+'* owner : thorsten.bosbach@sun.com
+'*
+'* short description : functions for directories and files; execution happens in the testtool
+'*
+'\************************************************************************
+
+function hFileExistsLocal ( Dat as String ) as Boolean
+ '/// Checks if a file exists
+ '/// <u>Input</u>: Filename with complete path
+ '/// <u>Return</u>: TRUE or FALSE if the file exists.
+ if Dir ( Dat ) = "" then
+ hFileExistsLocal = FALSE
+ else
+ hFileExistsLocal = TRUE
+ end if
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function hDirectoryExistsLocal ( Verz as String ) as Boolean
+ '/// Checks if a directory exists
+ '/// <u>Input</u>: Directory with complete path
+ '/// <u>Return</u>: TRUE or FALSE if the directory exists.
+ ' at the end of the string has to be teh path seperator, else the dir-command doesn't work
+ if right ( Verz, 1 ) <> gPathSigne then Verz = Verz + gPathSigne
+ if Dir ( Verz, 16 ) = "" then
+ hDirectoryExistsLocal = FALSE
+ else
+ hDirectoryExistsLocal = TRUE
+ end if
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function hKillFileLocal ( Dat as String ) as Boolean
+ '/// Delete a file
+ '/// <u>Input</u>: File with complete path
+ '/// <u>Return</u>: TRUE or FALSE success on deleting?
+ if Dir ( Dat ) <> "" then
+ try
+ kill ( Dat )
+ catch
+ endcatch
+ if Dir ( Dat ) <> "" then
+ hKillFileLocal = FALSE
+ else
+ hKillFileLocal = TRUE
+ end if
+ else
+ hKillFileLocal = TRUE
+ end if
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function DirNameListLocal (ByVal sPfad$ , lsDirName() as String ) as Integer
+ '/// seperate a path in its parts
+ '/// <u>Input</u>: Path to seperate; Empty list, because it get's reset in this function!;
+ '/// <u>Return</u>: Number on entries in the list; list with entries
+ Dim i%
+ Dim Pos%
+
+ lsDirName(0) = 0
+ do
+ Pos% = InStr(1, sPfad$, "\") ' got a path
+ i% = Val(lsDirName(0) ) + 1
+ lsDirName(0) = i%
+ lsDirName( i% ) = Left( sPfad$, Pos% ) ' .. put in list
+ sPfad = Mid( sPfad$, Pos% + 1 ) ' ...cut off
+ loop while Pos%>0
+ lsDirName( i% ) = sPfad$
+ DirNameListLocal = i% ' count of
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function GetFileNameListLocal ( sPath$, sMatch$ ,lsFile() as String ) as integer
+ '/// Get files from a directory that match the pattern and append them to a list (without path)
+ '/// <u>Input</u>: Directory with complete path; Search Pattern, e.g *.*; List
+ '/// <u>Return</u>: count of appended entries; updated list
+ Dim Count%
+ Dim Datname as String
+
+ Count% = 0
+
+ if right ( sPath$, 1 ) <> gPathSigne then sPath$ = sPath$ + gPathSigne
+ ' at the end of the string has to be teh path seperator, else the dir-command doesn't work
+ Datname = Dir( sPath$ + sMatch$ , 0)
+
+ do until Len(Datname) = 0
+ Count% = Count% + 1
+ lsFile(Count%) = Datname ' append
+ lsFile(0) = Count%
+ Datname = Dir
+ loop
+
+ GetFileNameListLocal = Count% ' all files
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function GetFileListLocal ( sPath$, sMatch$ ,lsFile() as String ) as integer
+ '/// Get files from a directory that match the pattern and append them to a list (<b>with</b> path)
+ '/// <u>Input</u>: Directory with complete path; Search Pattern, e.g *.*; List
+ '/// <u>Return</u>: count of appended entries; updated list
+ Dim Count%
+ Dim Datname as String
+
+ Count% = 0
+
+ if right ( sPath$, 1 ) <> gPathSigne then sPath$ = sPath$ + gPathSigne
+ ' at the end of the string has to be teh path seperator, else the dir-command doesn't work
+ Datname = Dir( sPath$ + sMatch$ , 0)
+
+ do until Len(Datname) = 0
+ lsFile(0) = Val(lsFile(0)) + 1
+ lsFile( lsFile(0) ) =sPath$ + Datname
+ Count% = Count% + 1
+ Datname = Dir
+ loop
+ GetFileListLocal = Count%
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function GetDirListLocal ( sPath$, sMatch$ ,lsFile() as String ) as integer
+ '/// Get Subdirectories from a directory and append them to a list (<b>with</b> path)
+ '/// <u>Input</u>: Directory with complete path; Search Pattern, e.g *; List
+ '/// <u>Return</u>: count of appended entries; updated list
+ Dim Count%
+ Dim Verzeichnis as String
+
+ if right ( sPath$, 1 ) <> gPathSigne then sPath$ = sPath$ + gPathSigne
+ ' at the end of the string has to be teh path seperator, else the dir-command doesn't work
+ Verzeichnis = Dir( sPath$ + sMatch$ , 16)
+ Count% = 0
+
+ do until Len(Verzeichnis) = 0
+ if Verzeichnis <>"." AND Verzeichnis <> ".." then
+ lsFile(0) = Val(lsFile(0)) + 1
+ lsFile( lsFile(0) ) = sPath$ + Verzeichnis + gPathSigne
+ Count% = Count% + 1
+ end if
+ Verzeichnis = Dir
+ loop
+
+ GetDirListLocal = Count%
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function GetAllDirListLocal ( byVal sPath$, byVal sMatch$ ,lsFile() as String ) as integer
+ '/// Get all directorys recursiv that match the pattern and append them to a list
+ '/// <u>Input</u>: Directory with complete path; Search Pattern, e.g *; Empty list, because it get's reset in this function!;
+ '/// <u>Return</u>: Count of appended entries (1. entry is the whole path); updated list
+ Dim Count% : Dim DirCount%
+
+ DirCount% = 1 ' dummy
+ Count% = 1
+ lsFile(0) = 1 'new list
+ lsFile(1) = sPath$ 'first path is the calling path
+
+ do until Count%>Val(lsFile(0)) ' get first generation
+ DirCount% = GetDirListLocal ( lsFile(Count%) , sMatch$, lsFile() ) ' append all subdirectories
+ Count% = Count% +1
+ loop
+
+ GetAllDirListLocal = Count% - 1 ' count of listelements
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function GetAllFileListLocal ( byVal sPath$, byVal sMatch$ ,lsFile() as String ) as integer
+ '/// Get all Files recursiv (including in subdirectories) that match the pattern and append them to a list
+ '/// <u>Input</u>: Directory with complete path; Search Pattern, e.g *.*; Empty list, because it get's reset in this function!;
+ '/// <u>Return</u>: Count of appended entries (1. entry is the whole path); updated list
+ Dim DirCount% : Dim FileCount% : Dim Count%
+ Dim lsDir(1000) as String
+
+ DirCount% = GetAllDirListLocal ( sPath$, "*", lsDir() ) ' just all directories
+ FileCount% = 0
+ lsFile(0) = 1
+ lsFile(1) = sPath$
+
+ For Count% = 1 to Val( lsDir(0) )
+ FileCount% = FileCount% + GetFileListLocal ( lsDir( Count% ), sMatch$, lsFile() )
+ next Count%
+
+ GetAllFileListLocal = FileCount% ' count of files
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function KillFileListLocal ( lsList() as String ) as Boolean
+ '/// Delete all files in the list
+ '/// <u>Input</u>: List with files
+ '/// <u>Return</u>: TRUE or FALSE if files are killed; modified list with not deleted files.
+ Dim i as Integer
+ Dim FehlerListe ( 1000 ) as String
+
+ FehlerListe ( 0 ) = 0
+ for i=1 to ListCount ( lsList() )
+ try
+ kill ( lsList(i) )
+ catch
+ ListAppend ( FehlerListe (), lsList(i) )
+ endcatch
+ next i
+
+ lsList(0) = 0 ' delete old list
+ KillFileListLocal = TRUE
+ for i=1 to ListCount ( FehlerListe () )
+ KillFileListLocal = FALSE
+ ListAppend ( lsList(), FehlerListe (i) )
+ next i
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function KillDirListLocal ( lsList() as String ) as Boolean
+ '/// Delete all directories in the list
+ '/// <u>Input</u>: List with directories
+ '/// <u>Return</u>: TRUE or FALSE if directories are killed; modified list with not deleted directories.
+ Dim i as Integer
+ Dim FehlerListe ( 1000 ) as String
+
+ FehlerListe ( 0 ) = 0
+ for i=1 to ListCount ( lsList() )
+ try
+ rmDir ( lsList(i) )
+ catch
+ ListAppend ( FehlerListe (), lsList(i) )
+ endcatch
+ next i
+
+ lsList(0) = 0 ' delete old list
+ KillDirListLocal = TRUE
+ for i=1 to ListCount ( FehlerListe () )
+ KillDirListLocal = FALSE
+ ListAppend ( lsList(), FehlerListe (i) )
+ next i
+end function
+'
+'-------------------------------------------------------------------------------
+'
+function GetFileSizesLocal ( lsList() as String ) as long
+ '/// Computes the total Filesize of the files in the list
+ '/// <u>Input</u>: List with files
+ '/// <u>Return</u>: Filesize in bytes
+ Dim iSum
+ Dim i as Integer
+
+ iSum = 0
+ for i=1 to ListCount ( lsList() )
+ try
+ iSum = iSum + FileLen ( lsList(i) )
+ catch
+ endcatch
+ next i
+
+ GetFileSizesLocal = iSum
+end function