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

Unified Diff: tools/testing/dart/test_runner.dart

Issue 68213016: Remove uses of Selenium and webdriver from test scripts. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix comment. Created 7 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
« no previous file with comments | « pkg/unittest/lib/test_controller.js ('k') | tools/testing/dart/test_suite.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/testing/dart/test_runner.dart
diff --git a/tools/testing/dart/test_runner.dart b/tools/testing/dart/test_runner.dart
index 9f62c9c79f906e0b5d8c9bbb6a6cfdeeee381e8d..b83d4a7711809b1a322628ef1633bbe71f0e8009 100644
--- a/tools/testing/dart/test_runner.dart
+++ b/tools/testing/dart/test_runner.dart
@@ -26,7 +26,6 @@ import "test_suite.dart";
import "utils.dart";
import 'record_and_replay.dart';
-const int CRASHING_BROWSER_EXITCODE = -10;
const int SLOW_TIMEOUT_MULTIPLIER = 4;
const MESSAGE_CANNOT_OPEN_DISPLAY = 'Gtk-WARNING **: cannot open display';
@@ -309,33 +308,6 @@ class BrowserTestCommand extends Command {
}
}
-class SeleniumTestCommand extends Command {
- final String browser;
- final String url;
-
- SeleniumTestCommand._(String _browser,
- this.url,
- String executable,
- List<String> arguments,
- String configurationDir)
- : super._(_browser, executable, arguments, configurationDir),
- browser = _browser;
-
- void _buildHashCode(HashCodeBuilder builder) {
- super._buildHashCode(builder);
- builder.add(browser);
- builder.add(url);
- }
-
- bool _equal(Command other) {
- return
- other is SeleniumTestCommand &&
- super._equal(other) &&
- browser == other.browser &&
- url == other.url;
- }
-}
-
class AnalysisCommand extends Command {
final String flavor;
@@ -415,16 +387,6 @@ class CommandBuilder {
return _getUniqueCommand(command);
}
- SeleniumTestCommand getSeleniumTestCommand(String browser,
- String url,
- String executable,
- List<String> arguments,
- String configurationDir) {
- var command = new SeleniumTestCommand._(
- browser, url, executable, arguments, configurationDir);
- return _getUniqueCommand(command);
- }
-
CompilationCommand getCompilationCommand(String displayName,
outputFile,
neverSkipCompilation,
@@ -563,8 +525,6 @@ class TestCase extends UniqueObject {
List<String> get batchTestArguments => commands.last.arguments;
- bool get usesWebDriver => TestUtils.usesWebDriver(configuration['runtime']);
-
bool get isFlaky {
if (expectedOutcomes.contains(Expectation.SKIP) ||
expectedOutcomes.contains(Expectation.SKIP_BY_DESIGN)) {
@@ -703,11 +663,6 @@ class CommandOutputImpl extends UniqueObject implements CommandOutput {
if (exitCode == 3) {
return !timedOut;
}
- // TODO(ricow): Remove this dirty hack ones we have a selenium
- // replacement.
- if (exitCode == CRASHING_BROWSER_EXITCODE) {
- return !timedOut;
- }
// If a program receives an uncaught system exception, the program
// terminates with the exception code as exit code.
// The 0x3FFFFF00 mask here tries to determine if an exception indicates
@@ -1167,10 +1122,6 @@ CommandOutput createCommandOutput(Command command,
return new HTMLBrowserCommandOutputImpl(
command, exitCode, timedOut, stdout, stderr,
time, compilationSkipped);
- } else if (command is SeleniumTestCommand) {
- return new BrowserCommandOutputImpl(
- command, exitCode, timedOut, stdout, stderr,
- time, compilationSkipped);
} else if (command is AnalysisCommand) {
return new AnalysisCommandOutputImpl(
command, exitCode, timedOut, stdout, stderr,
@@ -1192,18 +1143,6 @@ CommandOutput createCommandOutput(Command command,
}
-/** Modifies the --timeout=XX parameter passed to run_selenium.py */
-List<String> _modifySeleniumTimeout(List<String> arguments, int timeout) {
- return arguments.map((argument) {
- if (argument.startsWith('--timeout=')) {
- return "--timeout=$timeout";
- } else {
- return argument;
- }
- }).toList();
-}
-
-
/**
* A RunningProcess actually runs a test, getting the command lines from
* its [TestCase], starting the test process (and first, a compilation
@@ -1241,11 +1180,9 @@ class RunningProcess {
_commandComplete(0);
} else {
var processEnvironment = _createProcessEnvironment();
- var commandArguments = _modifySeleniumTimeout(command.arguments,
- timeout);
Future processFuture =
io.Process.start(command.executable,
- commandArguments,
+ command.arguments,
environment: processEnvironment);
processFuture.then((io.Process process) {
// Close stdin so that tests that try to block on input will fail.
@@ -1318,24 +1255,17 @@ class BatchRunnerProcess {
static bool isWindows = io.Platform.operatingSystem == 'windows';
final batchRunnerTypes = {
- 'selenium' : {
- 'run_executable' : 'python',
- 'run_arguments' : ['tools/testing/run_selenium.py', '--batch'],
- 'terminate_command' : ['--terminate'],
- },
'dartanalyzer' : {
'run_executable' :
isWindows ?
'sdk\\bin\\dartanalyzer_developer.bat'
: 'sdk/bin/dartanalyzer_developer',
'run_arguments' : ['--batch'],
- 'terminate_command' : null,
},
'dart2analyzer' : {
// This is a unix shell script, no windows equivalent available
'run_executable' : 'editor/tools/analyzer',
'run_arguments' : ['--batch'],
- 'terminate_command' : null,
},
};
@@ -1403,18 +1333,7 @@ class BatchRunnerProcess {
if (killTimer != null) killTimer.cancel();
terminateCompleter.complete(true);
};
- var shutdownCommand = batchRunnerTypes[_runnerType]['terminate_command'];
- if (shutdownCommand != null && !shutdownCommand.isEmpty) {
- // Use a graceful shutdown so our Selenium script can close
- // the open browser processes. On Windows, signals do not exist
- // and a kill is a hard kill.
- _process.stdin.writeln(shutdownCommand.join(' '));
-
- // In case the run_selenium process didn't close, kill it after 30s
- killTimer = new Timer(new Duration(seconds: 30), _process.kill);
- } else {
- _process.kill();
- }
+ _process.kill();
return terminateCompleter.future;
}
@@ -1438,7 +1357,6 @@ class BatchRunnerProcess {
}
String _createArgumentsLine(List<String> arguments, int timeout) {
- arguments = _modifySeleniumTimeout(arguments, timeout);
return arguments.join(' ') + '\n';
}
@@ -1448,7 +1366,6 @@ class BatchRunnerProcess {
var outcome = _status.split(" ")[2];
var exitCode = 0;
- if (outcome == "CRASH") exitCode = CRASHING_BROWSER_EXITCODE;
if (outcome == "FAIL" || outcome == "TIMEOUT") exitCode = 1;
var output = createCommandOutput(_command,
exitCode,
@@ -1767,9 +1684,7 @@ class CommandQueue {
if (_numProcesses < _maxProcesses && !_runQueue.isEmpty) {
Command command = _runQueue.removeFirst();
- var isBrowserCommand =
- command is SeleniumTestCommand ||
- command is BrowserTestCommand;
+ var isBrowserCommand = command is BrowserTestCommand;
if (isBrowserCommand && _numBrowserProcesses == _maxBrowserProcesses) {
// If there is no free browser runner, put it back into the queue.
@@ -1855,7 +1770,7 @@ class CommandExecutorImpl implements CommandExecutor {
final int maxProcesses;
final int maxBrowserProcesses;
- // For dartc/selenium batch processing we keep a list of batch processes.
+ // For dartanalyzer batch processing we keep a list of batch processes.
final _batchProcesses = new Map<String, List<BatchRunnerProcess>>();
// We keep a BrowserTestRunner for every "browserName-checked" configuration.
final _browserTestRunners = new Map<String, BrowserTestRunner>();
@@ -1908,11 +1823,6 @@ class CommandExecutorImpl implements CommandExecutor {
if (command is BrowserTestCommand) {
return _startBrowserControllerTest(command, timeout);
- } else if (command is SeleniumTestCommand && batchMode) {
- var arguments = ['--force-refresh', '--browser=${command.browser}',
- '--timeout=${timeout}', '--out', '${command.url}'];
- return _getBatchRunner(command.browser)
- .runCommand('selenium', command, timeout, arguments);
} else if (command is AnalysisCommand && batchMode) {
return _getBatchRunner(command.flavor)
.runCommand(command.flavor, command, timeout, command.arguments);
@@ -2078,11 +1988,6 @@ bool shouldRetryCommand(CommandOutput output) {
}
}
- // Selenium tests can be flaky. Try re-running.
- if (command is SeleniumTestCommand) {
- return true;
- }
-
// We currently rerun dartium tests, see issue 14074
if (command is BrowserTestCommand && command.displayName == 'dartium') {
return true;
« no previous file with comments | « pkg/unittest/lib/test_controller.js ('k') | tools/testing/dart/test_suite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698