Remove babel from DEPS and (dart2js) IE support from test infra.
Tested: N/A Change-Id: Ib1804b49c40cac9be52e732090e8160444ebb48d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417948 Commit-Queue: Mayank Patke <fishythefish@google.com> Reviewed-by: Alexander Thomas <athom@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com>
This commit is contained in:
committed by
Commit Queue
parent
945b031f5e
commit
cc0527decb
@@ -260,13 +260,6 @@ deps = {
|
||||
Var("dart_root") + "/third_party/markupsafe":
|
||||
Var("chromium_git") + "/chromium/src/third_party/markupsafe.git" +
|
||||
"@" + Var("markupsafe_rev"),
|
||||
Var("dart_root") + "/third_party/babel": {
|
||||
"packages": [{
|
||||
"package": "dart/third_party/babel",
|
||||
"version": "version:7.4.5",
|
||||
}],
|
||||
"dep_type": "cipd",
|
||||
},
|
||||
Var("dart_root") + "/third_party/zlib":
|
||||
Var("chromium_git") + "/chromium/src/third_party/zlib.git" +
|
||||
"@" + Var("zlib_rev"),
|
||||
|
||||
+2
-2
@@ -158,9 +158,9 @@ All tests are executed using the `test.py` script under `tools/`. You need to u
|
||||
$ ./tools/build.py --mode release --arch ia32 most run_ffi_unit_tests
|
||||
```
|
||||
|
||||
Now you can run all tests as follows (Safari, Firefox, Chrome, and IE must be installed, if you want to run the tests on them):
|
||||
Now you can run all tests as follows (Safari, Firefox, and Chrome must be installed, if you want to run the tests on them):
|
||||
```bash
|
||||
$ ./tools/test.py -mrelease --arch=ia32 --compiler=dartk,dart2js --runtime=vm,d8,chrome,firefox,[safari,ie10]
|
||||
$ ./tools/test.py -mrelease --arch=ia32 --compiler=dartk,dart2js --runtime=vm,d8,chrome,firefox,[safari]
|
||||
```
|
||||
Specify the compiler used (optional -- only necessary if you are compiling to JavaScript (required for most browsers), the default is "none") and a runtime (where the code will be run).
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ and runtimes we maintain and support.
|
||||
We have tens of thousands of tests and a single test may be run across a
|
||||
combinatorial explosion of configurations. Does the static analyzer report any
|
||||
errors on it? In strong mode? Does it run on the standalone VM? Can dart2js
|
||||
compile it? Does the resulting code run in Chrome? Firefox? IE? In checked mode?
|
||||
compile it? Does the resulting code run in Chrome? Firefox? In checked mode?
|
||||
With minification on? You get the idea.
|
||||
|
||||
Many tests are only meaningful for certain combinations of configurations. A
|
||||
|
||||
@@ -282,7 +282,6 @@ class Configuration {
|
||||
name, architecture, compiler, mode, runtime, system,
|
||||
nnbdMode: nnbdMode,
|
||||
sanitizer: sanitizer,
|
||||
babel: stringOption("babel"),
|
||||
builderTag: stringOption("builder-tag"),
|
||||
genKernelOptions: stringListOption("gen-kernel-options"),
|
||||
vmOptions: stringListOption("vm-options"),
|
||||
@@ -329,8 +328,6 @@ class Configuration {
|
||||
|
||||
final Sanitizer sanitizer;
|
||||
|
||||
final String babel;
|
||||
|
||||
final String builderTag;
|
||||
|
||||
final List<String> genKernelOptions;
|
||||
@@ -385,7 +382,6 @@ class Configuration {
|
||||
this.runtime, this.system,
|
||||
{NnbdMode? nnbdMode,
|
||||
Sanitizer? sanitizer,
|
||||
String? babel,
|
||||
String? builderTag,
|
||||
List<String>? genKernelOptions,
|
||||
List<String>? vmOptions,
|
||||
@@ -408,7 +404,6 @@ class Configuration {
|
||||
bool? useQemu})
|
||||
: nnbdMode = nnbdMode ?? NnbdMode.strong,
|
||||
sanitizer = sanitizer ?? Sanitizer.none,
|
||||
babel = babel ?? "",
|
||||
builderTag = builderTag ?? "",
|
||||
genKernelOptions = genKernelOptions ?? <String>[],
|
||||
vmOptions = vmOptions ?? <String>[],
|
||||
@@ -448,7 +443,6 @@ class Configuration {
|
||||
this.system, {
|
||||
required this.nnbdMode,
|
||||
required this.sanitizer,
|
||||
required this.babel,
|
||||
required this.builderTag,
|
||||
required this.genKernelOptions,
|
||||
required this.vmOptions,
|
||||
@@ -486,7 +480,6 @@ class Configuration {
|
||||
System.host,
|
||||
nnbdMode: source.nnbdMode,
|
||||
sanitizer: source.sanitizer,
|
||||
babel: source.babel,
|
||||
builderTag: source.builderTag,
|
||||
genKernelOptions: source.genKernelOptions,
|
||||
vmOptions: source.vmOptions,
|
||||
@@ -523,7 +516,6 @@ class Configuration {
|
||||
system == other.system &&
|
||||
nnbdMode == other.nnbdMode &&
|
||||
sanitizer == other.sanitizer &&
|
||||
babel == other.babel &&
|
||||
builderTag == other.builderTag &&
|
||||
_listsEqual(genKernelOptions, other.genKernelOptions) &&
|
||||
_listsEqual(vmOptions, other.vmOptions) &&
|
||||
@@ -575,7 +567,6 @@ class Configuration {
|
||||
runtime.hashCode ^
|
||||
system.hashCode ^
|
||||
nnbdMode.hashCode ^
|
||||
babel.hashCode ^
|
||||
builderTag.hashCode ^
|
||||
genKernelOptions.join(" & ").hashCode ^
|
||||
vmOptions.join(" & ").hashCode ^
|
||||
@@ -619,7 +610,6 @@ class Configuration {
|
||||
fields.add("$name: [${field.join(", ")}]");
|
||||
}
|
||||
|
||||
if (babel.isNotEmpty) fields.add("babel: $babel");
|
||||
if (builderTag.isNotEmpty) fields.add("builder-tag: $builderTag");
|
||||
stringListField("gen-kernel-options", genKernelOptions);
|
||||
stringListField("vm-options", vmOptions);
|
||||
@@ -676,7 +666,6 @@ class Configuration {
|
||||
|
||||
fields.add("nnbd: $nnbdMode ${other.nnbdMode}");
|
||||
fields.add("sanitizer: $sanitizer ${other.sanitizer}");
|
||||
stringField("babel", babel, other.babel);
|
||||
stringField("builder-tag", builderTag, other.builderTag);
|
||||
stringListField(
|
||||
"gen-kernel-options", genKernelOptions, other.genKernelOptions);
|
||||
@@ -865,9 +854,6 @@ class Compiler extends NamedEnum {
|
||||
Runtime.firefox,
|
||||
Runtime.chrome,
|
||||
Runtime.safari,
|
||||
Runtime.ie9,
|
||||
Runtime.ie10,
|
||||
Runtime.ie11,
|
||||
Runtime.edge,
|
||||
Runtime.chromeOnAndroid,
|
||||
];
|
||||
@@ -1007,9 +993,6 @@ class Runtime extends NamedEnum {
|
||||
static const firefox = Runtime._('firefox');
|
||||
static const chrome = Runtime._('chrome');
|
||||
static const safari = Runtime._('safari');
|
||||
static const ie9 = Runtime._('ie9');
|
||||
static const ie10 = Runtime._('ie10');
|
||||
static const ie11 = Runtime._('ie11');
|
||||
static const edge = Runtime._('edge');
|
||||
static const chromeOnAndroid = Runtime._('chromeOnAndroid');
|
||||
static const none = Runtime._('none');
|
||||
@@ -1026,9 +1009,6 @@ class Runtime extends NamedEnum {
|
||||
firefox,
|
||||
chrome,
|
||||
safari,
|
||||
ie9,
|
||||
ie10,
|
||||
ie11,
|
||||
edge,
|
||||
chromeOnAndroid,
|
||||
none
|
||||
@@ -1043,27 +1023,14 @@ class Runtime extends NamedEnum {
|
||||
|
||||
const Runtime._(super.name);
|
||||
|
||||
bool get isBrowser => const [
|
||||
ie9,
|
||||
ie10,
|
||||
ie11,
|
||||
edge,
|
||||
safari,
|
||||
chrome,
|
||||
firefox,
|
||||
chromeOnAndroid
|
||||
].contains(this);
|
||||
|
||||
bool get isIE => name.startsWith("ie");
|
||||
bool get isBrowser =>
|
||||
const [edge, safari, chrome, firefox, chromeOnAndroid].contains(this);
|
||||
|
||||
bool get isSafari => name.startsWith("safari");
|
||||
|
||||
/// Whether this runtime is a command-line JavaScript environment.
|
||||
bool get isJSCommandLine => const [d8, jsc, jsshell].contains(this);
|
||||
|
||||
/// If the runtime doesn't support `Window.open`, we use iframes instead.
|
||||
bool get requiresIFrame => !const [ie11, ie10].contains(this);
|
||||
|
||||
/// The preferred compiler to use with this runtime if no other compiler is
|
||||
/// specified.
|
||||
Compiler get defaultCompiler {
|
||||
@@ -1080,9 +1047,6 @@ class Runtime extends NamedEnum {
|
||||
case firefox:
|
||||
case chrome:
|
||||
case safari:
|
||||
case ie9:
|
||||
case ie10:
|
||||
case ie11:
|
||||
case edge:
|
||||
case chromeOnAndroid:
|
||||
return Compiler.dart2js;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -108,14 +108,15 @@ void testNotBoolean() {
|
||||
|
||||
void testNotEqual() {
|
||||
// Test the != operator.
|
||||
var expression = Expression.parse(r"$compiler == dart2js && $runtime != ie9");
|
||||
var expression =
|
||||
Expression.parse(r"$compiler == dart2js && $runtime != safari");
|
||||
Expect.equals(
|
||||
r"$compiler == dart2js && $runtime != ie9", expression.toString());
|
||||
r"$compiler == dart2js && $runtime != safari", expression.toString());
|
||||
|
||||
// Test BooleanExpression.evaluate().
|
||||
var environment = TestEnvironment({
|
||||
"compiler": "none",
|
||||
"runtime": "ie9",
|
||||
"runtime": "safari",
|
||||
});
|
||||
|
||||
Expect.isFalse(expression.evaluate(environment));
|
||||
@@ -123,7 +124,7 @@ void testNotEqual() {
|
||||
Expect.isFalse(expression.evaluate(environment));
|
||||
|
||||
environment["compiler"] = "dart2js";
|
||||
environment["runtime"] = "ie9";
|
||||
environment["runtime"] = "safari";
|
||||
Expect.isFalse(expression.evaluate(environment));
|
||||
environment["runtime"] = "chrome";
|
||||
Expect.isTrue(expression.evaluate(environment));
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
|
||||
const babelStandalonePath = arguments[0];
|
||||
load(babelStandalonePath);
|
||||
const inputFilePath = arguments[2];
|
||||
const input = read(inputFilePath);
|
||||
const options = JSON.parse(arguments[1]);
|
||||
const output = Babel.transform(input, options).code;
|
||||
console.log(output);
|
||||
@@ -81,11 +81,6 @@ abstract class Browser {
|
||||
var service = WebDriverService.fromRuntime(Runtime.safari);
|
||||
browser = Safari(service.port);
|
||||
break;
|
||||
case Runtime.ie9:
|
||||
case Runtime.ie10:
|
||||
case Runtime.ie11:
|
||||
browser = IE(configuration.browserLocation);
|
||||
break;
|
||||
default:
|
||||
throw "unreachable";
|
||||
}
|
||||
@@ -98,9 +93,6 @@ abstract class Browser {
|
||||
'ff',
|
||||
'firefox',
|
||||
'chrome',
|
||||
'ie9',
|
||||
'ie10',
|
||||
'ie11'
|
||||
];
|
||||
|
||||
static bool requiresFocus(String browserName) {
|
||||
@@ -425,87 +417,6 @@ class Chrome extends Browser {
|
||||
}
|
||||
}
|
||||
|
||||
class IE extends Browser {
|
||||
IE(this._binary);
|
||||
|
||||
final String _binary;
|
||||
|
||||
@override
|
||||
Future<String> get version async {
|
||||
var args = [
|
||||
"query",
|
||||
"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer",
|
||||
"/v",
|
||||
"svcVersion"
|
||||
];
|
||||
final result = await Process.run("reg", args);
|
||||
if (result.exitCode != 0) {
|
||||
throw StateError("Could not get the version of internet explorer");
|
||||
}
|
||||
// The string we get back looks like this:
|
||||
// HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
|
||||
// version REG_SZ 9.0.8112.16421
|
||||
var findString = "REG_SZ";
|
||||
var index = (result.stdout as String).indexOf(findString);
|
||||
if (index > 0) {
|
||||
return (result.stdout as String)
|
||||
.substring(index + findString.length)
|
||||
.trim();
|
||||
}
|
||||
throw StateError("Could not get the version of internet explorer");
|
||||
}
|
||||
|
||||
// Clears the recovery cache and allows popups on localhost if the static
|
||||
// resetBrowserConfiguration flag is set.
|
||||
Future<bool> resetConfiguration() async {
|
||||
if (!Browser.resetBrowserConfiguration) return true;
|
||||
const ieKey = r"HKCU\Software\Microsoft\Internet Explorer";
|
||||
// Turn off popup blocker
|
||||
await _setRegistryKey("$ieKey\\New Windows", "PopupMgr",
|
||||
data: "0", type: "REG_DWORD");
|
||||
// Allow popups from localhost
|
||||
await _setRegistryKey("$ieKey\\New Windows\\Allow", "127.0.0.1");
|
||||
// Disable IE first run wizard
|
||||
await _setRegistryKey("$ieKey\\Main", "DisableFirstRunCustomize",
|
||||
data: "1", type: "REG_DWORD");
|
||||
|
||||
var localAppData = Platform.environment['LOCALAPPDATA'];
|
||||
var dir = Directory("$localAppData\\Microsoft\\"
|
||||
"Internet Explorer\\Recovery");
|
||||
try {
|
||||
dir.delete(recursive: true);
|
||||
return true;
|
||||
} catch (error) {
|
||||
_logEvent("Deleting recovery dir failed with $error");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<bool> start(String url) async {
|
||||
_logEvent("Starting ie browser on: $url");
|
||||
await resetConfiguration();
|
||||
_logEvent("Got version: ${await version}");
|
||||
return startBrowserProcess(_binary, [url]);
|
||||
}
|
||||
|
||||
Future<void> _setRegistryKey(String key, String value,
|
||||
{String? data, String? type}) async {
|
||||
var args = <String>[
|
||||
"add",
|
||||
key,
|
||||
"/v",
|
||||
value,
|
||||
"/f",
|
||||
if (type != null) ...["/t", type]
|
||||
];
|
||||
var result = await Process.run("reg", args);
|
||||
if (result.exitCode != 0) {
|
||||
_logEvent("Failed to set '$key' to '$value'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class AndroidChrome extends Browser {
|
||||
static const String viewAction = 'android.intent.action.VIEW';
|
||||
static const String mainAction = 'android.intent.action.MAIN';
|
||||
@@ -711,7 +622,6 @@ class BrowserTestOutput {
|
||||
class BrowserTestRunner {
|
||||
static const int _maxNextTestTimeouts = 10;
|
||||
static const Duration _nextTestTimeout = Duration(seconds: 120);
|
||||
static const Duration _restartBrowserInterval = Duration(seconds: 60);
|
||||
|
||||
/// If the queue was recently empty, don't start another browser.
|
||||
static const Duration _minNonemptyQueueTime = Duration(seconds: 1);
|
||||
@@ -950,25 +860,6 @@ class BrowserTestRunner {
|
||||
// We are currently terminating this browser, don't start a new test.
|
||||
if (status.timeout) return null;
|
||||
|
||||
// Restart Internet Explorer if it has been
|
||||
// running for longer than RESTART_BROWSER_INTERVAL. The tests have
|
||||
// had flaky timeouts, and this may help.
|
||||
if ((configuration.runtime == Runtime.ie10 ||
|
||||
configuration.runtime == Runtime.ie11) &&
|
||||
status.timeSinceRestart.elapsed > _restartBrowserInterval) {
|
||||
var id = status.browser.id;
|
||||
// Reset stopwatch so we don't trigger again before restarting.
|
||||
status.timeout = true;
|
||||
status.browser.close().then((_) {
|
||||
// We don't want to start a new browser if we are terminating.
|
||||
if (underTermination) return;
|
||||
removeBrowser(id);
|
||||
requestBrowser();
|
||||
});
|
||||
// Don't send a test to the browser we are restarting.
|
||||
return null;
|
||||
}
|
||||
|
||||
var test = testQueue.removeLast();
|
||||
// If our queue isn't empty, try starting more browsers
|
||||
if (testQueue.isEmpty) {
|
||||
@@ -1306,7 +1197,6 @@ body div {
|
||||
var number_div = document.getElementById('number');
|
||||
var executing_div = document.getElementById('currently_executing');
|
||||
var error_div = document.getElementById('unhandled_error');
|
||||
var use_iframe = ${configuration.runtime.requiresIFrame};
|
||||
var start = new Date();
|
||||
|
||||
function newTaskHandler() {
|
||||
@@ -1369,21 +1259,10 @@ body div {
|
||||
number_of_tests++;
|
||||
number_div.textContent = number_of_tests;
|
||||
executing_div.textContent = url;
|
||||
if (use_iframe) {
|
||||
embedded_iframe.onload = null;
|
||||
embedded_iframe_div.removeChild(embedded_iframe);
|
||||
embedded_iframe = document.createElement('iframe');
|
||||
embedded_iframe.id = "embedded_iframe";
|
||||
embedded_iframe.width='800px';
|
||||
embedded_iframe.height='600px';
|
||||
embedded_iframe_div.appendChild(embedded_iframe);
|
||||
embedded_iframe.src = url;
|
||||
} else {
|
||||
if (typeof testing_window != 'undefined') {
|
||||
testing_window.close();
|
||||
}
|
||||
testing_window = window.open(url);
|
||||
if (typeof testing_window != 'undefined') {
|
||||
testing_window.close();
|
||||
}
|
||||
testing_window = window.open(url);
|
||||
test_started = false;
|
||||
test_completed = false;
|
||||
}
|
||||
@@ -1472,9 +1351,7 @@ body div {
|
||||
function messageHandler(e) {
|
||||
var msg = e.data;
|
||||
if (typeof msg != 'string') return;
|
||||
var expectedSource =
|
||||
use_iframe ? embedded_iframe.contentWindow : testing_window;
|
||||
if (e.source != expectedSource) {
|
||||
if (e.source != testing_window) {
|
||||
reportError("Message received from old test window: " + msg);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -472,17 +472,11 @@ class Dart2jsCompilerConfiguration extends CompilerConfiguration {
|
||||
var inputFile = arguments.last;
|
||||
var inputFilename = Uri.file(inputFile).pathSegments.last;
|
||||
var out = "$tempDir/${inputFilename.replaceAll('.dart', '.js')}";
|
||||
var babel = _configuration.babel;
|
||||
var babelOut = out;
|
||||
if (babel.isNotEmpty) {
|
||||
out = out.replaceAll('.js', '.raw.js');
|
||||
}
|
||||
var commands = [
|
||||
computeCompilationCommand(out, compilerArguments, environmentOverrides),
|
||||
if (babel.isNotEmpty) computeBabelCommand(out, babelOut, babel)
|
||||
];
|
||||
|
||||
return CommandArtifact(commands, babelOut, 'application/javascript');
|
||||
return CommandArtifact(commands, out, 'application/javascript');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -499,22 +493,6 @@ class Dart2jsCompilerConfiguration extends CompilerConfiguration {
|
||||
return runtimeConfiguration.dart2jsPreambles(preambleDir)
|
||||
..add(artifact!.filename);
|
||||
}
|
||||
|
||||
Command computeBabelCommand(String input, String output, String options) {
|
||||
var uri = Repository.uri;
|
||||
var babelTransform =
|
||||
uri.resolve('pkg/test_runner/lib/src/babel_transform.js').toFilePath();
|
||||
var babelStandalone =
|
||||
uri.resolve('third_party/babel/babel.min.js').toFilePath();
|
||||
return CompilationCommand(
|
||||
'babel',
|
||||
output,
|
||||
[],
|
||||
_configuration.runtimeConfiguration.d8FileName,
|
||||
[babelTransform, "--", babelStandalone, options, input],
|
||||
{},
|
||||
alwaysCompile: true); // TODO(athom): ensure dependency tracking works.
|
||||
}
|
||||
}
|
||||
|
||||
/// Common configuration for dart2wasm-based tools, such as dart2wasm.
|
||||
|
||||
@@ -183,7 +183,6 @@ class TestConfiguration {
|
||||
final String? serviceResponseSizesDirectory;
|
||||
final String outputDirectory;
|
||||
final String? suiteDirectory;
|
||||
String get babel => configuration.babel;
|
||||
String get builderTag => configuration.builderTag;
|
||||
final List<String> reproducingArguments;
|
||||
|
||||
@@ -386,15 +385,6 @@ class TestConfiguration {
|
||||
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
||||
System.linux: '/usr/bin/google-chrome'
|
||||
},
|
||||
Runtime.ie9: {
|
||||
System.win: 'C:\\Program Files\\Internet Explorer\\iexplore.exe'
|
||||
},
|
||||
Runtime.ie10: {
|
||||
System.win: 'C:\\Program Files\\Internet Explorer\\iexplore.exe'
|
||||
},
|
||||
Runtime.ie11: {
|
||||
System.win: 'C:\\Program Files\\Internet Explorer\\iexplore.exe'
|
||||
}
|
||||
};
|
||||
|
||||
location = locations[runtime]![System.find(Platform.operatingSystem)];
|
||||
@@ -467,15 +457,6 @@ class TestConfiguration {
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (runtime.isIE &&
|
||||
Platform.operatingSystem != 'windows' &&
|
||||
!listStatusFiles &&
|
||||
!listTests) {
|
||||
print("Warning: cannot run Internet Explorer on non-Windows operating"
|
||||
" system.");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (architecture == Architecture.ia32 && compiler == Compiler.dartkp) {
|
||||
print("Warning: IA32 does not support AOT mode.");
|
||||
isValid = false;
|
||||
|
||||
@@ -23,7 +23,6 @@ final _variables = {
|
||||
"host_asserts": _Variable.bool((c) => c.enableHostAsserts),
|
||||
"hot_reload": _Variable.bool((c) => c.hotReload),
|
||||
"hot_reload_rollback": _Variable.bool((c) => c.hotReloadRollback),
|
||||
"ie": _Variable.bool((c) => c.runtime.isIE),
|
||||
"jscl": _Variable.bool((c) => c.runtime.isJSCommandLine),
|
||||
"minified": _Variable.bool((c) => c.isMinified),
|
||||
"mode": _Variable((c) => c.mode.name, Mode.names),
|
||||
|
||||
@@ -95,9 +95,6 @@ jsshell: Run JavaScript from the command line using Firefox's js-shell.
|
||||
firefox:
|
||||
chrome:
|
||||
safari:
|
||||
ie9:
|
||||
ie10:
|
||||
ie11:
|
||||
chromeOnAndroid: Run JavaScript in the specified browser.
|
||||
|
||||
none: No runtime, compile only.''')
|
||||
@@ -348,10 +345,6 @@ options. Used to be able to make sane updates to the status files.''',
|
||||
..addMultiOption('enable-experiment',
|
||||
aliases: ['experiments', 'enable_experiment'],
|
||||
help: 'Experiment flags to enable.')
|
||||
..addOption('babel',
|
||||
help: '''Transforms dart2js output with Babel. The value must be
|
||||
Babel options JSON.''',
|
||||
hide: true)
|
||||
..addFlag('default-suites',
|
||||
hide: true,
|
||||
help: 'Include the default suites in addition to the requested suites.')
|
||||
@@ -434,7 +427,6 @@ has been specified on the command line.''')
|
||||
'vm-options',
|
||||
'dart2js-options',
|
||||
'enable-experiment',
|
||||
'babel',
|
||||
'builder-tag',
|
||||
'use-qemu'
|
||||
};
|
||||
@@ -808,7 +800,6 @@ has been specified on the command line.''')
|
||||
dart2jsOptions: dart2jsOptions,
|
||||
ddcOptions: ddcOptions,
|
||||
experiments: experiments,
|
||||
babel: data['babel'] as String?,
|
||||
builderTag: data["builder-tag"] as String?,
|
||||
useQemu: data["use-qemu"] as bool);
|
||||
addConfiguration(configuration);
|
||||
|
||||
@@ -577,12 +577,6 @@ class CommandExecutorImpl implements CommandExecutor {
|
||||
adbDevicePool!.releaseDevice(device);
|
||||
}
|
||||
});
|
||||
} else if (command is CompilationCommand &&
|
||||
command.displayName == 'babel') {
|
||||
return RunningProcess(command, timeout,
|
||||
configuration: globalConfiguration,
|
||||
outputFile: io.File(command.outputFile))
|
||||
.run();
|
||||
} else if (command is ProcessCommand) {
|
||||
return RunningProcess(command, timeout,
|
||||
configuration: globalConfiguration)
|
||||
|
||||
@@ -24,9 +24,6 @@ abstract class RuntimeConfiguration {
|
||||
case Runtime.chrome:
|
||||
case Runtime.chromeOnAndroid:
|
||||
case Runtime.firefox:
|
||||
case Runtime.ie11:
|
||||
case Runtime.ie10:
|
||||
case Runtime.ie9:
|
||||
case Runtime.safari:
|
||||
// TODO(ahe): Replace this with one or more browser runtimes.
|
||||
return DummyRuntimeConfiguration();
|
||||
|
||||
@@ -40,7 +40,7 @@ final _combinations = {
|
||||
'compiler': 'none'
|
||||
},
|
||||
{
|
||||
'runtimes': ['chrome', 'ff', 'ie11', 'ie10'],
|
||||
'runtimes': ['chrome', 'ff'],
|
||||
'modes': ['release'],
|
||||
'archs': ['ia32'],
|
||||
'compiler': 'dart2js'
|
||||
|
||||
@@ -106,15 +106,7 @@ Future testConfigurations(List<TestConfiguration> configurations) async {
|
||||
}
|
||||
}
|
||||
|
||||
if (configuration.runtime.isIE) {
|
||||
// NOTE: We've experienced random timeouts of tests on ie9/ie10. The
|
||||
// underlying issue has not been determined yet. Our current hypothesis
|
||||
// is that windows does not handle the IE processes independently.
|
||||
// If we have more than one browser and kill a browser we are seeing
|
||||
// issues with starting up a new browser just after killing the hanging
|
||||
// browser.
|
||||
maxBrowserProcesses = 1;
|
||||
} else if (configuration.runtime.isSafari) {
|
||||
if (configuration.runtime.isSafari) {
|
||||
// Safari does not allow us to run from a fresh profile, so we can only
|
||||
// use one browser. Additionally, you can not start two simulators
|
||||
// for mobile safari simultaneously.
|
||||
|
||||
@@ -341,8 +341,6 @@ class TestingServers {
|
||||
// Allow loading from http://*:$allowedPort in browsers.
|
||||
allowedOrigin = '${origin.scheme}://${origin.host}:$allowedPort';
|
||||
} else {
|
||||
// IE10 appears to be bugged and is not sending the Origin header
|
||||
// when making CORS requests to the same domain but different port.
|
||||
allowedOrigin = '*';
|
||||
}
|
||||
|
||||
@@ -355,8 +353,8 @@ class TestingServers {
|
||||
}
|
||||
if (useContentSecurityPolicy) {
|
||||
// Chrome respects the standardized Content-Security-Policy header,
|
||||
// whereas Firefox and IE10 use X-Content-Security-Policy. Safari
|
||||
// still uses the WebKit- prefixed version.
|
||||
// whereas Firefox uses X-Content-Security-Policy. Safari still uses the
|
||||
// WebKit- prefixed version.
|
||||
var contentHeaderValue = [
|
||||
"script-src 'self'",
|
||||
"object-src 'self'",
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
# custom elements are not supported on old browsers, we don't
|
||||
# intend for observatory to work on old browser versions, so
|
||||
# skipping.
|
||||
[ $runtime == ff || $runtime == ie10 || $runtime == ie11 || $runtime == safari ]
|
||||
[ $runtime == ff || $runtime == safari ]
|
||||
*: SkipByDesign
|
||||
|
||||
@@ -163,17 +163,6 @@ LibTest/html/IFrameElement/onTouchLeave_A01_t01: SkipByDesign # TouchEvent const
|
||||
LibTest/html/IFrameElement/onTouchMove_A01_t01: SkipByDesign # TouchEvent constructor not exposed in FF
|
||||
LibTest/html/IFrameElement/onTouchStart_A01_t01: SkipByDesign # TouchEvent constructor not exposed in FF
|
||||
|
||||
[ $compiler == dart2js && $runtime == ie11 ]
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # slow babeljs transformation
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t05: SkipSlow # slow babeljs transformation
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t06: SkipSlow # slow babeljs transformation
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t04: SkipSlow # slow babeljs transformation
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # slow babeljs transformation
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # slow babeljs transformation
|
||||
LibTest/core/List/List_class_A01_t04: SkipSlow # slow babeljs transformation
|
||||
LibTest/core/List/List_class_A01_t05: SkipSlow # slow babeljs transformation
|
||||
LibTest/core/List/List_class_A01_t06: SkipSlow # slow babeljs transformation
|
||||
|
||||
[ $compiler == dart2js && $runtime == safari ]
|
||||
LibTest/html/Element/isContentEditable_A01_t01: Skip # 98% fails in Safari, evades flake detection https://github.com/dart-lang/sdk/issues/50718
|
||||
LibTest/html/Element/isContentEditable_A02_t01: Skip # evades flake detection https://github.com/dart-lang/sdk/issues/50718
|
||||
|
||||
@@ -36,10 +36,6 @@ isolate/package_config_getter_test: SkipByDesign # AOT mode doesn't preserve pac
|
||||
convert/streamed_conversion_utf8_decode_test: Slow, Pass # Issue 12029
|
||||
mirrors/mirrors_reader_test: Slow, Pass # Issue 16589
|
||||
|
||||
[ $runtime == ie11 ]
|
||||
html/request_animation_frame_test: Skip # Times out. Issue 22167
|
||||
html/transition_event_test: Skip # Times out. Issue 22167
|
||||
|
||||
[ $runtime == safari ]
|
||||
html/indexeddb_1_test/functional: Skip # Times out. Issue 21433
|
||||
html/indexeddb_3_test: Skip # Times out 1 out of 10.
|
||||
|
||||
@@ -346,12 +346,6 @@
|
||||
"use-sdk": true
|
||||
}
|
||||
},
|
||||
"dart2js-win-ie11": {
|
||||
"options": {
|
||||
"babel": "{\"presets\":[\"es2015\"]}",
|
||||
"use-sdk": true
|
||||
}
|
||||
},
|
||||
"dart2js-win-edge": {
|
||||
"options": {
|
||||
"use-sdk": true
|
||||
|
||||
Reference in New Issue
Block a user