Bug 61778

Summary: [Qt] Make run-webkit-tests work under Cygwin
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Critical CC: ademar, hausmann, ossy, sergio.ahumada, vestbo
Priority: P1 Keywords: Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: All   
OS: Windows XP   
Bug Depends on:    
Bug Blocks: 55056    

Description Csaba Osztrogonác 2011-05-31 03:19:57 PDT
Tor Arne fixed ORWT once: https://bugs.webkit.org/show_bug.cgi?id=33895, but it doesn't work now under Cygwin.

As far as I know running layout tests on a Windows bot is necessary 
for QtWebKit 2.2 release, so I added this bug to the blocker list of 2.2
Comment 1 Csaba Osztrogonác 2011-05-31 04:02:39 PDT
first error:

animations/animation-shorthand.html -> crashed
Can't exec "qmake": No such file or directory at /cygdrive/e/webkit_git1/Tools/Scripts/webkitdirs.pm line 1898.
Use of uninitialized value $qtLibs in substitution (s///) at /cygdrive/e/webkit_git1/Tools/Scripts/webkitdirs.pm line 1899.
Use of uninitialized value $qtLibs in join or string at /cygdrive/e/webkit_git1/Tools/Scripts/webkitdirs.pm line 1900.
.Use of uninitialized value $convertedPath in substitution (s///) at Tools/Scripts/old-run-webkit-tests line 1864.
Comment 2 Csaba Osztrogonác 2011-05-31 04:05:21 PDT
(In reply to comment #1)
> first error:
> 
> animations/animation-shorthand.html -> crashed
> Can't exec "qmake": No such file or directory at /cygdrive/e/webkit_git1/Tools/Scripts/webkitdirs.pm line 1898.
> Use of uninitialized value $qtLibs in substitution (s///) at /cygdrive/e/webkit_git1/Tools/Scripts/webkitdirs.pm line 1899.
> Use of uninitialized value $qtLibs in join or string at /cygdrive/e/webkit_git1/Tools/Scripts/webkitdirs.pm line 1900.
> .Use of uninitialized value $convertedPath in substitution (s///) at Tools/Scripts/old-run-webkit-tests line 1864.

The problem is in setPathForRunningWebKitApp function:
my $qtLibs = `$qmakebin -query QT_INSTALL_LIBS`;

I have no idea why, but backtick doesn't work here.
Comment 3 Csaba Osztrogonác 2011-05-31 04:12:11 PDT
second error:

open3: exec of perl /cygdrive/e/webkit_git1/Tools/Scripts/execAppWithEnv "%ENV = ('HOMEDRIVE' => 'C:','_NT_SYMBOL_PATH' => undef,'QTWEBKIT_PLUGIN_PATH' => '/cygdrive/e/webkit_git1/WebKitBuild/Release/lib/plugins','HOMEPATH' => '\\Documents and Settings\\Administrator','PATH' => '/cygdrive/c/QtSDK/Desktop/Qt/4.7.2/mingw/lib;/cygdrive/e/webkit_git1/WebKitBuild/Release/lib;','WEBKIT_TESTFONTS' => '/cygdrive/e/webkit_testfonts','DUMPRENDERTREE_TEMP' => '/tmp/DumpRenderTree-mi5h2a','XML_CATALOG_FILES' => '','QT_DRT_WEBVIEW_MODE' => undef);" /cygdrive/e/webkit_git1/WebKitBuild/Release/bin/DumpRenderTree - failed at Tools/Scripts/old-run-webkit-tests line 1503


If I run this command manually in cygwin, it works for me correctly.
Comment 4 Csaba Osztrogonác 2011-05-31 04:15:58 PDT
(In reply to comment #3)
> second error:
> 
> open3: exec of perl /cygdrive/e/webkit_git1/Tools/Scripts/execAppWithEnv "%ENV = ('HOMEDRIVE' => 'C:','_NT_SYMBOL_PATH' => undef,'QTWEBKIT_PLUGIN_PATH' => '/cygdrive/e/webkit_git1/WebKitBuild/Release/lib/plugins','HOMEPATH' => '\\Documents and Settings\\Administrator','PATH' => '/cygdrive/c/QtSDK/Desktop/Qt/4.7.2/mingw/lib;/cygdrive/e/webkit_git1/WebKitBuild/Release/lib;','WEBKIT_TESTFONTS' => '/cygdrive/e/webkit_testfonts','DUMPRENDERTREE_TEMP' => '/tmp/DumpRenderTree-mi5h2a','XML_CATALOG_FILES' => '','QT_DRT_WEBVIEW_MODE' => undef);" /cygdrive/e/webkit_git1/WebKitBuild/Release/bin/DumpRenderTree - failed at Tools/Scripts/old-run-webkit-tests line 1503
> 
> 
> If I run this command manually in cygwin, it works for me correctly.

I tried to get rid $perlInterpreter from launchWithEnv function.
And now it can run DumpRenderTree, but library path is missing:

/cygdrive/e/webkit_git1/WebKitBuild/Release/bin/DumpRenderTree.exe: error while loading shared libraries: MSVCR90.dll: cannot open shared object file: No such file or directory
Comment 5 Csaba Osztrogonác 2011-05-31 04:33:35 PDT
(In reply to comment #3)
> second error:
> 
> open3: exec of perl /cygdrive/e/webkit_git1/Tools/Scripts/execAppWithEnv "%ENV = ('HOMEDRIVE' => 'C:','_NT_SYMBOL_PATH' => undef,'QTWEBKIT_PLUGIN_PATH' => '/cygdrive/e/webkit_git1/WebKitBuild/Release/lib/plugins','HOMEPATH' => '\\Documents and Settings\\Administrator','PATH' => '/cygdrive/c/QtSDK/Desktop/Qt/4.7.2/mingw/lib;/cygdrive/e/webkit_git1/WebKitBuild/Release/lib;','WEBKIT_TESTFONTS' => '/cygdrive/e/webkit_testfonts','DUMPRENDERTREE_TEMP' => '/tmp/DumpRenderTree-mi5h2a','XML_CATALOG_FILES' => '','QT_DRT_WEBVIEW_MODE' => undef);" /cygdrive/e/webkit_git1/WebKitBuild/Release/bin/DumpRenderTree - failed at Tools/Scripts/old-run-webkit-tests line 1503


Hmmm, very strange .... I don't know how guess old-run-webkit-tests this Qt path, because on my PATH there is only one Qt: /cygdrive/c/gn
uwin32/bin:/cygdrive/c/QtSDK/Desktop/Qt/4.7.2/msvc2008/bin
Comment 6 Csaba Osztrogonác 2011-05-31 05:19:50 PDT
(In reply to comment #5)
> Hmmm, very strange .... I don't know how guess old-run-webkit-tests this Qt path, because on my PATH there is only one Qt: /cygdrive/c/gn
> uwin32/bin:/cygdrive/c/QtSDK/Desktop/Qt/4.7.2/msvc2008/bin

Nevermind. It caused my hack.
Comment 7 Csaba Osztrogonác 2011-05-31 05:24:05 PDT
/cygdrive/e/webkit_git1/WebKitBuild/Release/bin/DumpRenderTree.exe: error while loading shared libraries: QtXml4.dll: cannot open shared object file: No such file or directory
Comment 8 Ademar Reis 2011-06-22 07:54:57 PDT
Even though we never had layout tests running on windows before, we'll need this in place to support qtwebkit-2.2 minor updates later (to avoid regressions on windows).

But we're having trouble allocating people to work on this, so this bug won't block the release (marking it as "nice-to-have"), at least for now. :(

BTW, see also Bug 61780
Comment 9 Csaba Osztrogonác 2012-02-21 06:03:36 PST
I don't think if we ever would like to run layout tests with ORWT on Windows.