summaryrefslogtreecommitdiffstats
path: root/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-05-11 18:35:50 +0100
committerBen Murdoch <benm@google.com>2010-05-14 10:23:05 +0100
commit21939df44de1705786c545cd1bf519d47250322d (patch)
treeef56c310f5c0cdc379c2abb2e212308a3281ce20 /WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py
parent4ff1d8891d520763f17675827154340c7c740f90 (diff)
downloadexternal_webkit-21939df44de1705786c545cd1bf519d47250322d.zip
external_webkit-21939df44de1705786c545cd1bf519d47250322d.tar.gz
external_webkit-21939df44de1705786c545cd1bf519d47250322d.tar.bz2
Merge Webkit at r58956: Initial merge by Git.
Change-Id: I1d9fb60ea2c3f2ddc04c17a871acdb39353be228
Diffstat (limited to 'WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py')
-rw-r--r--WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py61
1 files changed, 57 insertions, 4 deletions
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py b/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py
index 9fe0e74..cd72fa3 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py
@@ -33,14 +33,32 @@ import os
import sys
import unittest
-import webkitpy.layout_tests.run_webkit_tests as run_webkit_tests
+from webkitpy.common import array_stream
+from webkitpy.layout_tests import port
+from webkitpy.layout_tests import run_webkit_tests
+from webkitpy.thirdparty.mock import Mock
-def passing_run(args):
+
+def passing_run(args, port_obj=None, logging_included=False):
+ if not logging_included:
+ args.extend(['--print', 'nothing'])
options, args = run_webkit_tests.parse_args(args)
- res = run_webkit_tests.main(options, args, False)
+ if port_obj is None:
+ port_obj = port.get(options.platform, options)
+ res = run_webkit_tests.run(port_obj, options, args)
return res == 0
+def logging_run(args):
+ options, args = run_webkit_tests.parse_args(args)
+ port_obj = port.get(options.platform, options)
+ buildbot_output = array_stream.ArrayStream()
+ regular_output = array_stream.ArrayStream()
+ res = run_webkit_tests.run(port_obj, options, args,
+ buildbot_output=buildbot_output,
+ regular_output=regular_output)
+ return (res, buildbot_output, regular_output)
+
class MainTest(unittest.TestCase):
def test_fast(self):
@@ -53,9 +71,44 @@ class MainTest(unittest.TestCase):
'fast/html/article-element.html']))
self.assertTrue(passing_run(['--platform', 'test',
'--child-processes', '1',
- '--log', 'unexpected',
+ '--print', 'unexpected',
'fast/html']))
+ def test_child_processes(self):
+ (res, buildbot_output, regular_output) = logging_run(
+ ['--platform', 'test', '--print', 'config', '--child-processes',
+ '1', 'fast/html'])
+ self.assertTrue('Running one DumpRenderTree'
+ in regular_output.get())
+
+ (res, buildbot_output, regular_output) = logging_run(
+ ['--platform', 'test', '--print', 'config', '--child-processes',
+ '2', 'fast/html'])
+ self.assertTrue('Running 2 DumpRenderTrees in parallel'
+ in regular_output.get())
+
+
+
+class TestRunnerTest(unittest.TestCase):
+ def test_results_html(self):
+ mock_port = Mock()
+ mock_port.relative_test_filename = lambda name: name
+ mock_port.filename_to_uri = lambda name: name
+
+ runner = run_webkit_tests.TestRunner(port=mock_port, options=Mock(), printer=Mock())
+ expected_html = u"""<html>
+ <head>
+ <title>Layout Test Results (time)</title>
+ </head>
+ <body>
+ <h2>Title (time)</h2>
+ <p><a href='test_path'>test_path</a><br />
+</p>
+</body></html>
+"""
+ html = runner._results_html(["test_path"], {}, "Title", override_time="time")
+ self.assertEqual(html, expected_html)
+
class DryrunTest(unittest.TestCase):
def test_basics(self):