[Windows] Update ORWT to know about the Windows 8 SDK and Debug Tools.
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 May 2013 17:54:52 +0000 (17:54 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 May 2013 17:54:52 +0000 (17:54 +0000)
https://bugs.webkit.org/show_bug.cgi?id=116079

Reviewed by David Kilzer.

* Scripts/old-run-webkit-tests:
(setUpWindowsCrashLogSaving): Locate ntsd.exe and use it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/old-run-webkit-tests

index e8394fa..de1521d 100644 (file)
@@ -1,3 +1,13 @@
+2013-05-14  Brent Fulgham  <bfulgham@apple.com>
+
+        [Windows] Update ORWT to know about the Windows 8 SDK and Debug Tools.
+        https://bugs.webkit.org/show_bug.cgi?id=116079
+
+        Reviewed by David Kilzer.
+
+        * Scripts/old-run-webkit-tests:
+        (setUpWindowsCrashLogSaving): Locate ntsd.exe and use it.
+
 2013-05-14  Zan Dobersek  <zdobersek@igalia.com>
 
         [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
index 491a920..805e15f 100755 (executable)
@@ -2827,16 +2827,23 @@ sub setUpWindowsCrashLogSaving()
         return;
     }
 
-    my $ntsdPath = File::Spec->catfile(toCygwinPath($ENV{PROGRAMFILES}), "Debugging Tools for Windows (x86)", "ntsd.exe");
-    unless (-f $ntsdPath) {
-        $ntsdPath = File::Spec->catfile(toCygwinPath($ENV{ProgramW6432}), "Debugging Tools for Windows (x64)", "ntsd.exe");
-        unless (-f $ntsdPath) {
-            $ntsdPath = File::Spec->catfile(toCygwinPath($ENV{SYSTEMROOT}), "system32", "ntsd.exe");
-            unless (-f $ntsdPath) {
-                print STDERR "Can't find ntsd.exe. Crash logs will not be saved.\nSee <http://trac.webkit.org/wiki/BuildingOnWindows#GettingCrashLogs>.\n";
-                return;
-            }
+    my @possiblePaths = (
+        File::Spec->catfile(toCygwinPath($ENV{PROGRAMFILES}), "Windows Kits", "8.0", "Debuggers", "x64", "ntsd.exe"),
+        File::Spec->catfile(toCygwinPath($ENV{PROGRAMFILES}), "Windows Kits", "8.0", "Debuggers", "x86", "ntsd.exe"),
+        File::Spec->catfile(toCygwinPath($ENV{PROGRAMFILES}), "Debugging Tools for Windows (x86)", "ntsd.exe"),
+        File::Spec->catfile(toCygwinPath($ENV{ProgramW6432}), "Debugging Tools for Windows (x64)", "ntsd.exe"),
+        File::Spec->catfile(toCygwinPath($ENV{SYSTEMROOT}), "system32", "ntsd.exe"),
+    );
+
+    my $ntsdPath = shift @possiblePaths;
+
+    while (not -f $ntsdPath) {
+        if (!@possiblePaths) {
+            print STDERR "Can't find ntsd.exe. Crash logs will not be saved.\nSee <http://trac.webkit.org/wiki/BuildingOnWindows#GettingCrashLogs>.\n";
+            return;
         }
+
+        $ntsdPath = shift @possiblePaths;
     }
 
     # If we used -c (instead of -cf) we could pass the commands directly on the command line. But