summaryrefslogtreecommitdiff
path: root/testgraphical/source/ConvwatchHelper.pm
diff options
context:
space:
mode:
Diffstat (limited to 'testgraphical/source/ConvwatchHelper.pm')
-rw-r--r--testgraphical/source/ConvwatchHelper.pm574
1 files changed, 574 insertions, 0 deletions
diff --git a/testgraphical/source/ConvwatchHelper.pm b/testgraphical/source/ConvwatchHelper.pm
new file mode 100644
index 000000000000..8f157641b1f4
--- /dev/null
+++ b/testgraphical/source/ConvwatchHelper.pm
@@ -0,0 +1,574 @@
+package ConvwatchHelper;
+
+use English;
+use warnings;
+use strict;
+use Cwd;
+use Cwd 'chdir';
+
+use CallExternals;
+use stringhelper;
+use filehelper;
+use oshelper;
+use loghelper;
+
+BEGIN {
+ use Exporter ();
+ our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+
+ $VERSION = 1.00;
+ # if using RCS/CVS, this may be preferred
+ $VERSION = do { my @r = (q$Revision: 1.39 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
+ @ISA = qw(Exporter);
+ @EXPORT = qw(&getQADEVToolsPath &setProjectRoot &getProjectRoot &checkForStop &getSofficeExe &setINPATH);
+ %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
+ # your exported package globals go here,
+ # as well as any optionally exported functions
+ @EXPORT_OK = ( ); # qw($Var1 %Hashit &func3);
+}
+
+# ------------------------------------------------------------------------------
+our $tempprefix;
+
+# sub getTempDir()
+# {
+# my $sTempDir;
+# if (! $tempprefix)
+# {
+# if ($OSNAME eq "MSWin32" || $OSNAME eq "cygwin")
+# {
+# # $tempdir = "C:/gfxcmp/temp";
+# $tempprefix = "//so-gfxcmp-lin/gfxcmp-data/wntmsci/temp";
+# }
+# elsif ($OSNAME eq "linux")
+# {
+# $tempprefix = "/net/so-gfxcmp-lin/export/gfxcmp/data/unxlngi/temp";
+# }
+# elsif ($OSNAME eq "solaris")
+# {
+# # $tempdir = "/space/gfxcmp/temp";
+# $tempprefix = "/net/so-gfxcmp-lin/export/gfxcmp/data/unxsoli/temp";
+# }
+# else
+# {
+# print "Error: This environment isn't supported yet.\n";
+# exit(1);
+# }
+# }
+# $sTempDir = $tempprefix;
+# return $sTempDir;
+# }
+# ------------------------------------------------------------------------------
+# in filehelper
+# our $programprefix;
+#
+# sub getProgramPrefix($)
+# {
+# my $sDBDistinct = shift;
+#
+# my $sProgramPrefix;
+# if (! $programprefix)
+# {
+# if ($OSNAME eq "MSWin32")
+# {
+# # $programprefix = "C:/gfxcmp/programs";
+# $programprefix = "C:/gp";
+# }
+# elsif ($OSNAME eq "linux")
+# {
+# $programprefix = "/space/gfxcmp/programs";
+# }
+# elsif ($OSNAME eq "solaris")
+# {
+# $programprefix = "/space/gfxcmp/programs";
+# }
+# else
+# {
+# print "Error: This environment isn't supported yet.\n";
+# exit(1);
+# }
+# }
+# $sProgramPrefix = appendPath($programprefix, substr($sDBDistinct, 0, 19));
+# return $sProgramPrefix;
+# }
+# ------------------------------------------------------------------------------
+sub getQADEVToolsPath()
+{
+ my $sNewPath = appendPath(getToolsPrefix(), "qadev");
+ $sNewPath = appendPath($sNewPath, "scripts");
+ $sNewPath = appendPath($sNewPath, "gfxcmp_ui");
+ return $sNewPath;
+}
+
+# in filehelper
+# our $toolsprefix;
+#
+# sub getToolsPrefix()
+# {
+# my $sToolsPrefix;
+# if (! $toolsprefix)
+# {
+# if ($OSNAME eq "MSWin32")
+# {
+# $toolsprefix = "C:/gfxcmp/tools";
+# }
+# elsif ($OSNAME eq "linux")
+# {
+# $toolsprefix = "/space/gfxcmp/tools";
+# }
+# elsif ($OSNAME eq "solaris")
+# {
+# $toolsprefix = "/space/gfxcmp/tools";
+# }
+# else
+# {
+# print "Error: This environment isn't supported yet.\n";
+# exit(1);
+# }
+# }
+# $sToolsPrefix = $toolsprefix;
+# return $sToolsPrefix;
+# }
+# ------------------------------------------------------------------------------
+our $sProjectRoot;
+sub setProjectRoot($)
+{
+ $sProjectRoot = shift;
+ log_print "\$sProjectRoot := $sProjectRoot\n";
+}
+sub getProjectRoot()
+{
+ if ($sProjectRoot)
+ {
+ return $sProjectRoot;
+ }
+ die "setProjectRoot(PATH) not set.\n";
+}
+
+our $sINPATH;
+sub setINPATH($)
+{
+ $sINPATH = shift;
+}
+sub getINPATH()
+{
+ if ($sINPATH)
+ {
+ return $sINPATH;
+ }
+ die "setINPATH(PATH) not set.\n";
+}
+our $dataprefix;
+
+# sub getDataPrefix()
+# {
+# my $sDataPrefix;
+# if (! $dataprefix)
+# {
+# if ($OSNAME eq "MSWin32" || $OSNAME eq "cygwin")
+# {
+# # $dataprefix = "C:/gfxcmp/data";
+# # $dataprefix = "//so-gfxcmp-lin/gfxcmp-data/wntmsci";
+# $dataprefix = getProjectRoot();
+# }
+# elsif ($OSNAME eq "linux")
+# {
+# # $dataprefix = "/space/gfxcmp/data";
+# # $dataprefix = "/net/so-gfxcmp-lin/export/gfxcmp/data/unxlngi";
+# $dataprefix = getProjectRoot();
+# }
+# elsif ($OSNAME eq "solaris")
+# {
+# # $dataprefix = "/space/gfxcmp/data";
+# # $dataprefix = "/net/so-gfxcmp-lin/export/gfxcmp/data/unxsoli";
+# $dataprefix = getProjectRoot();
+# }
+# else
+# {
+# print "Error: This environment isn't supported yet.\n";
+# exit(1);
+# }
+# $dataprefix = appendPath(getProjectRoot(), getINPATH());
+# $dataprefix = appendPath($dataprefix, "data");
+# }
+# $sDataPrefix = $dataprefix;
+# return $sDataPrefix;
+# }
+
+# ------------------------------------------------------------------------------
+
+# sub _shortsleep($)
+# {
+# # sleep 1;
+# select(undef, undef, undef, 0.333);
+# }
+#
+# sub _waitInSeconds($)
+# {
+# my $nLength = shift;
+# my $i;
+# my $j;
+#
+# for ($j=0;$j<$nLength;$j++)
+# {
+# for ($i=0;$i<$j;$i++)
+# {
+# print ".";
+# }
+# for ($i=$j;$i<$nLength;$i++)
+# {
+# print " ";
+# }
+# _shortsleep( 1 );
+# print "\r";
+# }
+#
+# for ($j=0;$j<=$nLength;$j++)
+# {
+# for ($i=0;$i<$j;$i++)
+# {
+# print " ";
+# }
+# for ($i=$j;$i<$nLength;$i++)
+# {
+# print ".";
+# }
+# _shortsleep( 1 );
+# print "\r";
+# }
+# }
+#
+# sub wait30seconds()
+# {
+# _waitInSeconds(20);
+# _waitInSeconds(20);
+# }
+
+sub checkForStop($)
+{
+ my $sStopFilename = shift;
+ my $sStopFilePath;
+ if ($OSNAME eq "MSWin32")
+ {
+ $sStopFilePath = "C:/temp/";
+ }
+ else
+ {
+ $sStopFilePath = "/tmp/";
+ }
+ my $sStopFile = $sStopFilePath . $sStopFilename;
+ if ( -e "$sStopFile" )
+ {
+ print "Stop of Convwatch tool forced!\n";
+ unlink($sStopFile);
+ exit(2);
+ }
+}
+
+# ----------------------------------------------------------------------------------------
+sub readdirectory($$$);
+
+sub readdirectory($$$)
+{
+ my $startdir = shift;
+ my $sUserParameter = shift;
+ my $hook = shift;
+
+ my $myfile;
+
+ local *DIR;
+ chdir $startdir;
+ cwd();
+
+ my $nCountFiles = 0;
+ if (opendir (DIR, $startdir)) # Directory oeffnen
+ {
+ while ($myfile = readdir(DIR))
+ { # ein filename holen
+ #if (! -l $myfile) # not a link
+ #{
+ if (-d $myfile ) # is a directory
+ {
+ if ( -l $myfile)
+ {
+ next;
+ }
+ # if ( $myfile eq "help" ||
+ # $myfile eq "presets" ||
+ # $myfile eq "registry" ||
+ # $myfile eq "uno_packages" ||
+ # $myfile eq "lib" ||
+ # $myfile eq "user_tree" )
+ # {
+ # next;
+ # }
+
+ if ($myfile ne "." && $myfile ne "..")
+ {
+ my $sNewStartDir = appendPath($startdir, $myfile); # neuen Directorystring erstellen
+ # if ($sNewStartDir =~ "^\/proc" ||
+ # $sNewStartDir =~ "^\/dev" ||
+ # $sNewStartDir =~ "^\/udev" ||
+ # $sNewStartDir =~ "lost+found" )
+ # {
+ # next;
+ # }
+ # my $sNewSUserParameter = $sUserParameter . $myfile ."/";
+ # do a recursive call
+ # $nCountFiles++;
+ my $nFileCount = readdirectory($sNewStartDir, $sUserParameter, $hook);
+ # workOnDir($sNewDir, $nFileCount);
+ $nCountFiles += $nFileCount;
+
+ chdir ($startdir); # zurueckwechseln.
+ cwd();
+ }
+ }
+ else
+ {
+ # File must exist, be a regular file and must not be the $onlyOnFile
+ if (-f $myfile)
+ {
+ # print STDERR " $startdir" . "$myfile\n";
+ $nCountFiles++;
+ # workOnFile($startdir, $myfile, $destdir);
+ $hook->($startdir, $myfile, $sUserParameter);
+ }
+ }
+ #}
+ #else
+ #{
+ # print STDERR "linked file: $dir/$myfile\n";
+ #}
+ }
+ closedir(DIR);
+ }
+ else
+ {
+ print STDERR "could not open $startdir\n";
+ }
+ return $nCountFiles;
+}
+
+our $lcl_sSofficeBinPath;
+our $lcl_sSofficeBinName;
+
+sub searchSofficeBin($$$)
+{
+ my $currentDir = shift;
+ my $currentFile = shift;
+ my $sUserParameter = shift;
+
+ if ($currentFile eq $sUserParameter)
+ {
+ my $sSourceFilename;
+ $sSourceFilename = appendPath($currentDir, $currentFile);
+
+ if ( -e "$sSourceFilename" )
+ {
+ $lcl_sSofficeBinPath = $currentDir;
+ $lcl_sSofficeBinName = $currentFile;
+ }
+ }
+}
+
+# our $lcl_sUnoPkgPath;
+#
+# sub searchUnoPkgBin($$$)
+# {
+# my $currentDir = shift;
+# my $currentFile = shift;
+# my $sUserParameter = shift;
+#
+# if ($currentFile eq $sUserParameter)
+# {
+# my $sSourceFilename;
+# $sSourceFilename = appendPath($currentDir, $currentFile);
+# if ( -e "$sSourceFilename" )
+# {
+# $lcl_sUnoPkgPath = $currentDir;
+# }
+# }
+# }
+
+# our $lcl_sJARPath;
+
+# sub searchJARFile($$$)
+# {
+# my $currentDir = shift;
+# my $currentFile = shift;
+# my $sUserParameter = shift;
+#
+# if ($currentFile eq $sUserParameter)
+# {
+# my $sSourceFilename;
+# $sSourceFilename = appendPath($currentDir, $currentFile);
+# if ( -e "$sSourceFilename" )
+# {
+# $lcl_sJARPath = $currentDir;
+# }
+# }
+# }
+
+# return the PATH, where the file was found
+# sub searchForJAR($$)
+# {
+# my $sPathToInstallOffice = shift;
+# my $sJARFileName = shift;
+#
+# my $sCurrentPath = cwd();
+#
+# $lcl_sJARPath = "";
+# readdirectory(${sPathToInstallOffice}, ${sJARFileName}, \&searchJARFile);
+#
+# chdir $sCurrentPath;
+# cwd();
+#
+# return $lcl_sJARPath;
+# }
+
+# sub getUnoPkg($)
+# {
+# my $sPathToInstallOffice = shift;
+#
+# my $sUnoPkgName = "unopkg.bin";
+# if (isWindowsEnvironment())
+# {
+# $sUnoPkgName = "unopkg.exe";
+# }
+#
+# my $sCurrentPath = cwd();
+#
+# $lcl_sUnoPkgPath = "";
+# readdirectory(${sPathToInstallOffice}, ${sUnoPkgName}, \&searchUnoPkgBin);
+#
+# chdir $sCurrentPath;
+# cwd();
+#
+# return ($lcl_sUnoPkgPath, $sUnoPkgName);
+# }
+
+sub getSofficeExe($)
+{
+ my $sPathToOffice = shift;
+
+ my $sSofficeExeName = "soffice";
+ if (isWindowsEnvironment())
+ {
+ $sSofficeExeName = "soffice.exe";
+ }
+
+ my $sCurrentPath = cwd();
+
+ $lcl_sSofficeBinPath = "";
+ $lcl_sSofficeBinName = "";
+ readdirectory(${sPathToOffice}, ${sSofficeExeName}, \&searchSofficeBin);
+
+ chdir $sCurrentPath;
+ cwd();
+
+ return ($lcl_sSofficeBinPath, $lcl_sSofficeBinName);
+}
+
+# sub checkOfficeAlreadyInstalled($)
+# {
+# my $sOfficePath = shift;
+#
+# my $sCurrentPath = cwd();
+#
+# $lcl_sSofficeBinPath = "";
+# my $sOldOfficePath = appendPath($sOfficePath, "program");
+# if ( -d "$sOldOfficePath" )
+# {
+# $sOldOfficePath = appendPath($sOldOfficePath, "soffice.bin");
+# if ( -e $sOldOfficePath )
+# {
+# return 1;
+# }
+# }
+# else
+# {
+# if (isWindowsEnvironment())
+# {
+# my $sThreeLayerOffice = appendPath($sOfficePath, "Sun");
+# $sThreeLayerOffice = appendPath($sThreeLayerOffice, "StarOffice 9");
+# $sThreeLayerOffice = appendPath($sThreeLayerOffice, "program");
+# $sThreeLayerOffice = appendPath($sThreeLayerOffice, "soffice.bin");
+#
+# if ( -e "$sThreeLayerOffice" )
+# {
+# return 1;
+# }
+# }
+# else
+# {
+# my $sThreeLayerOffice = appendPath($sOfficePath, "staroffice9");
+# $sThreeLayerOffice = appendPath($sThreeLayerOffice, "program");
+# $sThreeLayerOffice = appendPath($sThreeLayerOffice, "soffice.bin");
+# if ( -e "$sThreeLayerOffice" )
+# {
+# return 1;
+# }
+# }
+# }
+#
+# # soffice.bin not found in fast path
+# readdirectory($sOfficePath, "soffice.bin", \&searchSofficeBin);
+# chdir $sCurrentPath;
+# cwd();
+#
+# if ( $lcl_sSofficeBinPath ne "" )
+# {
+# return 1;
+# }
+# return 0;
+# # this is the old check
+# # my $sOfficePathCheck = appendPath(${sPathToInstallOffice}, "program");
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "soffice.bin");
+# # if ( -e $sOfficePathCheck )
+# # {
+# # return 1;
+# # }
+# #
+# # # check path system of tree layer office
+# # if ( isWindowsEnvironment() )
+# # {
+# # $sOfficePathCheck = appendPath(${sPathToInstallOffice}, "Sun");
+# # if ( ! -e $sOfficePathCheck)
+# # {
+# # # could be an OpenOffice.org
+# # return 0;
+# # }
+# # else
+# # {
+# #
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "StarOffice 9");
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "program");
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "soffice.bin");
+# # if ( -e $sOfficePathCheck )
+# # {
+# # return 1;
+# # }
+# # print "Error: There exist no Office, maybe an unsupported version?\n";
+# # }
+# # }
+# # elsif ( isUnixEnvironment() )
+# # {
+# # $sOfficePathCheck = appendPath(${sPathToInstallOffice}, "staroffice9");
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "staroffice9");
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "program");
+# # $sOfficePathCheck = appendPath($sOfficePathCheck, "soffice.bin");
+# # if ( -e $sOfficePathCheck )
+# # {
+# # return 1;
+# # }
+# # print "Error: There exist no Office, maybe an unsupported version?\n";
+# # }
+# # else
+# # {
+# # print "Error: There exist no Office, maybe an unsupported version?\n";
+# # }
+# # return 0;
+# }
+
+1;