Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: tools/testing/test_case.py

Issue 8469016: Adding in-browser correctness testing via selenium. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/testing/test_case.py
===================================================================
--- tools/testing/test_case.py (revision 1427)
+++ tools/testing/test_case.py (working copy)
@@ -60,7 +60,29 @@
if not self.context.keep_temporary_files:
self.run_arch.Cleanup()
+ def BeforeRunHelper(self, command):
Siggi Cherem (dart-lang) 2011/11/11 00:06:02 I'm not sure why this refactoring needed?
Emily Fortuna 2011/11/11 00:58:41 Because I wanted to be able to compile tests, but
+ """Helper method to merge shared code between StandardTestCase and
+ BrowserTestCase"""
+ if command:
+ # We change the directory where dartc/frog will be launched because
+ # it is not predictable on the location of the compiled file. In
+ # case the test is a web test, we make sure the app file is not
+ # in a subdirectory.
+ cwd = None
+ if self.run_arch.is_web_test: cwd = self.run_arch.temp_dir
+ command = command[:1] + self.context.flags + command[1:]
+ test_output = self.RunCommand(command, cwd=cwd, cleanup=False)
+ # If errors were found, fail fast and show compile errors:
+ if test_output.output.exit_code != 0:
+ return test_output
+
+ def BeforeRun(self):
+ """Optionally compile tests."""
+ command = self.run_arch.GetCompileCommand()
+ return self.BeforeRunHelper(command)
+
+
class MultiTestCase(StandardTestCase):
"""Multiple test cases defined within a single *Test.dart file."""
@@ -93,7 +115,7 @@
class BrowserTestCase(StandardTestCase):
- """A test case that executes inside a browser (or DumpRenderTree)."""
+ """A test case that executes inside DumpRenderTree."""
def __init__(self, context, path, filename,
fatal_static_type_errors, mode, arch, component, vm_options=None):
@@ -101,23 +123,13 @@
context, path, filename, mode, arch, component, vm_options)
self.fatal_static_type_errors = fatal_static_type_errors
- def Run(self):
- """Optionally compiles and then runs the specified test."""
+ def BeforeRun(self):
command = self.run_arch.GetCompileCommand(self.fatal_static_type_errors)
Jennifer Messerly 2011/11/10 23:57:08 as long as this looks good to Siggi it works for m
- if command:
- # We change the directory where dartc will be launched because
- # it is not predictable on the location of the compiled file. In
- # case the test is a web test, we make sure the app file is not
- # in a subdirectory.
- cwd = None
- if self.run_arch.is_web_test: cwd = self.run_arch.temp_dir
- command = command[:1] + self.context.flags + command[1:]
- test_output = self.RunCommand(command, cwd=cwd, cleanup=False)
+ return self.BeforeRunHelper(command)
- # If errors were found, fail fast and show compile errors:
- if test_output.output.exit_code != 0:
- return test_output
-
+ def Run(self):
+ """Runs the specified test, with an update to the exit code to compensate
+ for DumpRenderTree."""
command = self.run_arch.GetRunCommand()
test_output = self.RunCommand(command)
# The return value of DumpRenderedTree does not indicate test failing, but

Powered by Google App Engine
This is Rietveld 408576698