2007-03-09 Mark Rowe <mrowe@apple.com>
[WebKit-https.git] / WebKitTools / BuildSlaveSupport / build.webkit.org-config / webkit / steps.py
index 462d7a35ce6b4afec83b51bd4eea33f0b7e30333..77a2ae5e610c06a7db8dfd5e73708fad1275ed6e 100644 (file)
@@ -2,7 +2,7 @@ from webkit.basesteps import ShellCommand, SVN, Test, Compile, UploadCommand
 from buildbot.status.builder import SUCCESS, FAILURE, WARNINGS
 
 class CheckOutSource(SVN):
-    svnurl = "svn://anoncvs.opensource.apple.com/svn/webkit/trunk"
+    svnurl = "http://svn.webkit.org/repository/webkit/trunk"
     mode = "update"
     def __init__(self, *args, **kwargs):
         SVN.__init__(self, svnurl=self.svnurl, mode=self.mode, *args, **kwargs)
@@ -23,8 +23,8 @@ class LayoutTest(Test):
     name = "layout-test"
     description = ["layout-tests running"]
     descriptionDone = ["layout-tests"]
-    command = ["./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--results-directory", "layout-test-results"]
-        
+    command = ["./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--no-new-test-results", "--results-directory", "layout-test-results"]
+
     def commandComplete(self, cmd):
         Test.commandComplete(self, cmd)
         
@@ -50,7 +50,35 @@ class JavaScriptCoreTest(Test):
     description = ["jscore-tests running"]
     descriptionDone = ["jscore-tests"]
     command = ["./WebKitTools/Scripts/run-javascriptcore-tests"]
+    logfiles = {'results': 'JavaScriptCore/tests/mozilla/actual.html'}
+
+    def commandComplete(self, cmd):
+        Test.commandComplete(self, cmd)
+
+        logText = cmd.logs['stdio'].getText()
+        statusLines = [line for line in logText.splitlines() if line.find('regression') >= 0 and line.find(' found.') >= 0]
+        if statusLines and statusLines[0].split()[0] != '0':
+            self.regressionLine = statusLines[0]
+        else:
+            self.regressionLine = None
+
+    def evaluateCommand(self, cmd):
+        if cmd.rc != 0:
+            return FAILURE
+
+        if self.regressionLine:
+            return FAILURE
 
+        return SUCCESS
+
+    def getText(self, cmd, results):
+        return self.getText2(cmd, results)
+
+    def getText2(self, cmd, results):
+        if results != SUCCESS and self.regressionLine:
+            return [self.name, self.regressionLine]
+
+        return [self.name]
 
 class PixelLayoutTest(LayoutTest):
     name = "pixel-layout-test"
@@ -63,7 +91,7 @@ class LeakTest(Test):
     name = "leak-test"
     description = ["leak-tests running"]
     descriptionDone = ["leak-tests"]
-    command = ["./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--quiet", "--leaks", "--results-directory", "layout-test-results"]
+    command = ["./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--leaks", "--results-directory", "layout-test-results"]
 
     def commandComplete(self, cmd):
         Test.commandComplete(self, cmd)
@@ -118,13 +146,9 @@ class UploadLayoutResults(UploadCommand, ShellCommand):
 
         ShellCommand.__init__(self, *args, **kwargs)
 
-class CompileWebKitCMake(Compile):
-    command = "mkdir -p WebKitBuild && cd WebKitBuild && cmake -DWEBKIT_DO_NOT_USE_COLORFUL_OUTPUT=ON .. && make"
-    description = ["compiling"]
-    descriptionDone = ["compiled"]
 
 class CompileWebKit(Compile):
-    command = ["./WebKitTools/Scripts/build-webkit"]
+    command = ["./WebKitTools/Scripts/build-webkit", "--no-color"]
     def __init__(self, *args, **kwargs):
         configuration = kwargs.pop('configuration')
         
@@ -136,7 +160,7 @@ class CompileWebKit(Compile):
 
 
 class CompileWebKitNoSVG(CompileWebKit):
-    command = 'rm -rf WebKitBuild && ./WebKitTools/Scripts/build-webkit --no-svg'
+    command = 'rm -rf WebKitBuild && ./WebKitTools/Scripts/build-webkit --no-svg --no-color'
 
 class InstallWin32Dependencies(ShellCommand):
     description = ["installing Windows dependencies"]