Make strong mode the default under --preview-dart-2.

Change-Id: Ic1637d65a34f6b0310439293f7d83cb351f2c89c
Reviewed-on: https://dart-review.googlesource.com/43200
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
This commit is contained in:
Siva Chandra 2018-02-27 22:16:07 +00:00 committed by commit-bot@chromium.org
parent 7df5055b06
commit 4f5ad1918c
22 changed files with 123 additions and 240 deletions

View file

@ -66,7 +66,12 @@ CB_OPTIONS_LIST(CB_OPTION_DEFINITION)
#if !defined(DART_PRECOMPILED_RUNTIME)
DFE* Options::dfe_ = NULL;
DEFINE_BOOL_OPTION_CB(preview_dart_2, { Options::dfe()->set_use_dfe(); });
DEFINE_BOOL_OPTION_CB(preview_dart_2, {
Options::dfe()->set_use_dfe();
vm_options->AddArgument("--strong");
vm_options->AddArgument("--reify-generic-functions");
vm_options->AddArgument("--limit-ints-to-64-bits");
});
// TODO(sivachandra): Make it an error to specify --dfe without
// specifying --preview_dart_2.

View file

@ -8,7 +8,7 @@ import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:io' show WebSocket;
import 'dart:convert' show JSON;
import 'dart:async' show Future, StreamController;
import 'dart:async' show Future, Stream, StreamController;
var tests = <IsolateTest>[
(Isolate isolate) async {
@ -23,8 +23,13 @@ var tests = <IsolateTest>[
final socket = new StreamController();
// Avoid to manually encode and decode messages from the stream
socket.stream.map(JSON.encode).pipe(_socket);
final client = _socket.map(JSON.decode).asBroadcastStream();
Stream<String> stream = socket.stream.map(JSON.encode);
stream.retype<Object>().pipe(_socket);
dynamic _decoder(dynamic obj) {
return JSON.decode(obj);
}
final client = _socket.map(_decoder).asBroadcastStream();
const successServiceName = 'successService';
const errorServiceName = 'errorService';
@ -145,7 +150,7 @@ var tests = <IsolateTest>[
expect(false, isTrue, reason: 'shouldn\'t get here');
}).catchError((e) => e);
}));
errors.forEach((final ServerRpcException error) {
errors.forEach((dynamic error) {
final iteration = errors.indexOf(error);
final end = iteration.toString();

View file

@ -8,7 +8,7 @@ import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:io' show WebSocket;
import 'dart:convert' show JSON;
import 'dart:async' show Future, StreamController;
import 'dart:async' show Future, Stream, StreamController;
var tests = <IsolateTest>[
(Isolate isolate) async {
@ -23,8 +23,13 @@ var tests = <IsolateTest>[
final socket = new StreamController();
// Avoid to manually encode and decode messages from the stream
socket.stream.map(JSON.encode).pipe(_socket);
final client = _socket.map(JSON.decode).asBroadcastStream();
Stream<String> stream = socket.stream.map(JSON.encode);
stream.retype<Object>().pipe(_socket);
dynamic _decoder(dynamic obj) {
return JSON.decode(obj);
}
final client = _socket.map(_decoder).asBroadcastStream();
// Note: keep this in sync with sdk/lib/vmservice.dart
const kServiceDisappeared = 111;
@ -74,7 +79,8 @@ var tests = <IsolateTest>[
await Future.wait(results.map((future) {
return future.then((_) {
expect(false, isTrue, reason: 'shouldn\'t get here');
}).catchError((ServerRpcException error) {
}).catchError((Object error_object) {
ServerRpcException error = error_object as ServerRpcException;
expect(error, isNotNull);
expect(error.code, equals(kServiceDisappeared));
expect(error.message, equals(kServiceDisappeared_Msg));

View file

@ -8,7 +8,7 @@ import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:io' show WebSocket;
import 'dart:convert' show JSON;
import 'dart:async' show Future, StreamController;
import 'dart:async' show Future, Stream, StreamController;
var tests = <IsolateTest>[
(Isolate isolate) async {
@ -26,10 +26,17 @@ var tests = <IsolateTest>[
final socket_invoker = new StreamController<Map>();
// Avoid to manually encode and decode messages from the stream
socket.stream.map(JSON.encode).pipe(_socket);
socket_invoker.stream.map(JSON.encode).pipe(_socket_invoker);
final client = _socket.map(JSON.decode).asBroadcastStream();
final client_invoker = _socket_invoker.map(JSON.decode).asBroadcastStream();
Stream<String> socket_stream = socket.stream.map(JSON.encode);
socket_stream.retype<Object>().pipe(_socket);
Stream<String> socket_invoker_stream =
socket_invoker.stream.map(JSON.encode);
socket_invoker_stream.retype<Object>().pipe(_socket_invoker);
dynamic _decoder(dynamic obj) {
return JSON.decode(obj);
}
final client = _socket.map(_decoder).asBroadcastStream();
final client_invoker = _socket_invoker.map(_decoder).asBroadcastStream();
const serviceName = 'successService';
const serviceAlias = 'serviceAlias';

View file

@ -8,7 +8,7 @@ import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:io' show WebSocket;
import 'dart:convert' show JSON;
import 'dart:async' show Future, StreamController;
import 'dart:async' show Future, Stream, StreamController;
var tests = <IsolateTest>[
(Isolate isolate) async {
@ -26,8 +26,13 @@ var tests = <IsolateTest>[
final socket = new StreamController();
// Avoid to manually encode and decode messages from the stream
socket.stream.map(JSON.encode).pipe(_socket);
final client = _socket.map(JSON.decode).asBroadcastStream();
Stream<String> socket_stream = socket.stream.map(JSON.encode);
socket_stream.retype<Object>().pipe(_socket);
dynamic _decoder(dynamic obj) {
return JSON.decode(obj);
}
final client = _socket.map(_decoder).asBroadcastStream();
// Note: keep this in sync with sdk/lib/vmservice.dart
const kServiceAlreadyRegistered = 110;

View file

@ -8,7 +8,7 @@ import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:io' show WebSocket;
import 'dart:convert' show JSON;
import 'dart:async' show Future, StreamController;
import 'dart:async' show Future, Stream, StreamController;
var tests = <IsolateTest>[
(Isolate isolate) async {
@ -26,8 +26,13 @@ var tests = <IsolateTest>[
final socket = new StreamController();
// Avoid to manually encode and decode messages from the stream
socket.stream.map(JSON.encode).pipe(_socket);
final client = _socket.map(JSON.decode).asBroadcastStream();
Stream<String> stream = socket.stream.map(JSON.encode);
stream.retype<Object>().pipe(_socket);
dynamic _decoder(dynamic obj) {
return JSON.decode(obj);
}
final client = _socket.map(_decoder).asBroadcastStream();
// Note: keep this in sync with sdk/lib/vmservice.dart
const kServiceAlreadyRegistered = 110;

View file

@ -8,7 +8,7 @@ import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:io' show WebSocket;
import 'dart:convert' show JSON;
import 'dart:async' show Future, StreamController;
import 'dart:async' show Future, Stream, StreamController;
var tests = <IsolateTest>[
(Isolate isolate) async {
@ -23,8 +23,13 @@ var tests = <IsolateTest>[
final socket = new StreamController();
// Avoid to manually encode and decode messages from the stream
socket.stream.map(JSON.encode).pipe(_socket);
final client = _socket.map(JSON.decode).asBroadcastStream();
Stream<String> stream = socket.stream.map(JSON.encode);
stream.retype<Object>().pipe(_socket);
dynamic _decoder(dynamic obj) {
return JSON.decode(obj);
}
final client = _socket.map(_decoder).asBroadcastStream();
const successServiceName = 'successService';
const errorServiceName = 'errorService';

View file

@ -44,9 +44,6 @@ eval_test: Pass, Slow
isolate_lifecycle_test: Skip # Flaky.
pause_idle_isolate_test: Skip # Flaky
[ $compiler == dartk && $mode == debug && $strong ]
external_service_disappear_test: Crash # Issue 31587
[ $compiler == dartk && $system == windows ]
break_on_default_constructor_test: Skip # Issues 32137 and 32138.
coverage_leaf_function_test: RuntimeError
@ -108,12 +105,6 @@ step_through_constructor_test: Skip # Timeout
[ $compiler == dartk && $strong ]
awaiter_async_stack_contents_test: RuntimeError
external_service_asynchronous_invocation_test: CompileTimeError # Issue 31696
external_service_disappear_test: CompileTimeError # Issue 31696
external_service_notification_invocation_test: CompileTimeError # Issue 31696
external_service_registration_test: CompileTimeError # Issue 31696
external_service_registration_via_notification_test: CompileTimeError # Issue 31696
external_service_synchronous_invocation_test: CompileTimeError # Issue 31696
step_through_arithmetic_test: RuntimeError
[ $compiler == dartk && $strong && ($arch == simarm || $arch == simarm64) ]

View file

@ -21,9 +21,9 @@ test1() {
String s = stacktrace.toString();
print(s);
Expect.isFalse(s.contains("-1:-1"), "A");
Expect.isTrue(
s.contains("optimized_stacktrace_line_and_column_test.dart:11:18"),
"B");
RegExp regex = new RegExp(
"optimized_stacktrace_line_and_column_test(_none|_01)*\.dart:11(:18)*");
Expect.isTrue(regex.hasMatch(s), s);
}
// Optimized.
@ -35,9 +35,9 @@ test1() {
String s = stacktrace.toString();
print(s);
Expect.isFalse(s.contains("-1:-1"), "C");
Expect.isTrue(
s.contains("optimized_stacktrace_line_and_column_test.dart:11:18"),
"D");
RegExp regex = new RegExp(
"optimized_stacktrace_line_and_column_test(_none|_01)*\.dart:11(:18)*");
Expect.isTrue(regex.hasMatch(s), "D");
}
}
@ -45,9 +45,9 @@ test1() {
maximus(x) => moritz(x);
moritz(x) {
if (x == 333) return 42 ? 0 : 1; // Throws in checked mode.
if (x == 333) return true ? 0 : 1;
if (x == 777) {
bool b = x; // Throws in checked mode.
bool b = x;
return b;
}

View file

@ -21,7 +21,9 @@ test1() {
String s = stacktrace.toString();
print(s);
Expect.isFalse(s.contains("-1:-1"), "A");
Expect.isTrue(s.contains("optimized_stacktrace_line_test.dart:11"), "B");
RegExp regex =
new RegExp("optimized_stacktrace_line_test(_none|_01)*\.dart:11");
Expect.isTrue(regex.hasMatch(s), "B");
}
// Optimized.
@ -33,7 +35,9 @@ test1() {
String s = stacktrace.toString();
print(s);
Expect.isFalse(s.contains("-1:-1"), "C");
Expect.isTrue(s.contains("optimized_stacktrace_line_test.dart:11"), "D");
RegExp regex =
new RegExp("optimized_stacktrace_line_test(_none|_01)*\.dart:11");
Expect.isTrue(regex.hasMatch(s), "D");
}
}
@ -41,9 +45,9 @@ test1() {
maximus(x) => moritz(x);
moritz(x) {
if (x == 333) return 42 ? 0 : 1; // Throws in checked mode.
if (x == 333) return (42 as bool) ? 0 : 1;
if (x == 777) {
bool b = x; // Throws in checked mode.
bool b = x;
return b;
}

View file

@ -296,8 +296,6 @@ cc/IsolateReload_LibraryImportRemoved: Fail # Issue 32190
cc/IsolateReload_LibraryLookup: Crash # Issue 32190
cc/Mixin_PrivateSuperResolutionCrossLibraryShouldFail: Fail, Crash # Issue 32190
cc/StackMapGC: Crash # Issue 32190
dart/optimized_stacktrace_line_and_column_test: CompileTimeError # Issue 31586
dart/optimized_stacktrace_line_test: CompileTimeError # Issue 31586
# Enabling of dartk for sim{arm,arm64,dbc64} revelaed these test failures, which
# are to be triaged. Isolate tests are skipped on purpose due to the usage of
@ -306,12 +304,7 @@ dart/optimized_stacktrace_line_test: CompileTimeError # Issue 31586
dart/data_uri_spawn_test: Skip # Please triage.
dart/snapshot_version_test: RuntimeError # Please triage.
[ $compiler == dartkp && $strong ]
dart/optimized_stacktrace_line_and_column_test: CompileTimeError
dart/optimized_stacktrace_line_test: CompileTimeError
[ $compiler == dartkp && !$strong ]
dart/optimized_stacktrace_line_and_column_test: RuntimeError, OK # AOT lacks column information
dart/truncating_ints_test: Skip # This test cannot be run in dartkp/legacy mode (gen_kernel does not pass --limit-ints-to-64-bits in legacy mode).
[ $compiler == dartkp && ($runtime == dart_precompiled || $runtime == vm) ]

View file

@ -33,7 +33,7 @@ Future copyFileToDirectory(String file, String directory) async {
}
}
Future run(String program, List arguments) async {
Future run(String program, List<String> arguments) async {
print("+ $program ${arguments.join(' ')}");
ProcessResult result = await Process.run(program, arguments);
if (result.exitCode != 0) {

View file

@ -28,11 +28,6 @@ sample_extension: Skip
[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.
[ $compiler == dartk && $strong ]
sample_extension/test/sample_extension_app_snapshot_test: RuntimeError
sample_extension/test/sample_extension_script_snapshot_test: RuntimeError
sample_extension/test/sample_extension_test: RuntimeError
[ $compiler == none && $mode == debug && $runtime == vm && $system == windows ]
sample_extension/test/sample_extension_app_snapshot_test: Pass, RuntimeError # Issue 28842

View file

@ -127,7 +127,7 @@ class Message {
}
dynamic forwardToJson([Map overloads]) {
var json = {'jsonrpc': '2.0', 'id': serial};
Map<dynamic, dynamic> json = {'jsonrpc': '2.0', 'id': serial};
switch (type) {
case MessageType.Request:
case MessageType.Notification:

View file

@ -2,19 +2,6 @@
# 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.
[ $compiler == dartk ]
Language/Expressions/Instance_Creation/Const/canonicalized_t05: RuntimeError
Language/Expressions/Object_Identity/string_t01: RuntimeError
Language/Expressions/Strings/adjacent_strings_t02: RuntimeError
Language/Metadata/before_type_param_t01: RuntimeError
LibTest/isolate/Isolate/spawnUri_A01_t03: Pass, Timeout
[ $compiler == dartkp ]
Language/Classes/definition_t23: RuntimeError # New entries after going from kernel-service to batch-mode compilation. Please investigate.
Language/Mixins/Mixin_Application/syntax_t16: RuntimeError # New entries after going from kernel-service to batch-mode compilation. Please investigate.
Language/Overview/Scoping/hiding_declaration_t11: Crash, Pass
Language/Overview/Scoping/hiding_declaration_t12: Crash, Pass
[ $compiler == fasta ]
Language/Classes/Constructors/Constant_Constructors/initializer_not_a_constant_t01: MissingCompileTimeError
Language/Classes/Constructors/Constant_Constructors/initializer_not_a_constant_t02: MissingCompileTimeError
@ -202,101 +189,6 @@ LibTest/typed_data/Uint64List/Uint64List.fromList_A01_t02: CompileTimeError
LibTest/typed_data/Uint64List/Uint64List.view_A01_t01: CompileTimeError
LibTest/typed_data/Uint64List/Uint64List.view_A01_t02: CompileTimeError
[ $arch == simarm && $compiler == dartkp ]
LibTest/typed_data/Float32x4/operator_division_A01_t02: RuntimeError
# Enabling of dartk for sim{arm,arm64,dbc64} revelaed these test failures, which
# are to be triaged. Isolate tests are skipped on purpose due to the usage of
# batch mode.
[ $arch == simarm64 && $compiler == dartk && $mode == debug ]
LibTest/core/DateTime/parse_A01_t02: Crash # Please triage.
LibTest/core/DateTime/parse_A01_t03: Crash # Please triage.
LibTest/core/DateTime/parse_A03_t01: Crash # Please triage.
[ $compiler == dartk && $mode == debug ]
LibTest/isolate/Isolate/spawnUri_A01_t04: Pass, Slow, Timeout
[ $compiler == dartk && $system == windows ]
Language/Libraries_and_Scripts/top_level_syntax_t06: Pass, Timeout
Language/Reference/Operator_Precedence/precedence_t03: Pass, Timeout
[ $compiler == dartk && $strong ]
*: SkipByDesign
# Enabling of dartk for sim{arm,arm64,dbc64} revelaed these test failures, which
# are to be triaged. Isolate tests are skipped on purpose due to the usage of
# batch mode.
[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simdbc64) ]
Language/Classes/definition_t23: RuntimeError # Please triaage.
Language/Expressions/Spawning_an_Isolate/*: Skip
Language/Mixins/Mixin_Application/syntax_t16: RuntimeError # Please triaage.
LibTest/isolate/*/*: Skip
[ $compiler == dartkp && $mode == debug ]
Language/Functions/External_Functions/not_connected_to_a_body_t01: Crash
[ $compiler == dartkp && $minified ]
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/no_such_method_t01: RuntimeError # Compares new Symbol with noSuchMethod actual name.
[ $compiler == dartkp && $strong ]
*: SkipByDesign
[ $mode == debug && ($compiler == dartk || $compiler == dartkp) ]
Language/Classes/Constructors/Generative_Constructors/execution_t04: Crash
Language/Classes/Instance_Variables/constant_t01: Crash
[ $checked && ($compiler == dartk || $compiler == dartkp) ]
Language/Classes/Constructors/Factories/arguments_type_t01: RuntimeError
Language/Classes/Constructors/Factories/function_type_t02: Fail # dartbug.com/30527
Language/Expressions/Constants/exception_t04: Pass
Language/Expressions/Function_Expressions/static_type_dynamic_async_t03: RuntimeError # dartbgug.com/30667
Language/Expressions/Function_Expressions/static_type_dynamic_asyncs_t03: RuntimeError # dartbgug.com/30667
Language/Expressions/Function_Expressions/static_type_dynamic_syncs_t03: RuntimeError # dartbug.com/30667
Language/Expressions/Function_Expressions/static_type_form_3_async_t03: RuntimeError # dartbgug.com/30667
Language/Expressions/Function_Expressions/static_type_form_3_asyncs_t03: RuntimeError # dartbgug.com/30667
Language/Expressions/Function_Expressions/static_type_form_3_syncs_t03: RuntimeError # dartbgug.com/30667
Language/Generics/malformed_t02: RuntimeError
Language/Statements/Return/runtime_type_t04: RuntimeError
Language/Statements/Switch/execution_t01: RuntimeError
Language/Statements/Switch/type_t01: RuntimeError
Language/Types/Dynamic_Type_System/malbounded_type_error_t01: RuntimeError
Language/Types/Parameterized_Types/malbounded_t06: RuntimeError
Language/Types/Static_Types/malformed_type_t04: RuntimeError
[ $compiler == dartk || $compiler == dartkp ]
Language/Classes/definition_t23: CompileTimeError
Language/Expressions/Constants/bitwise_operators_t02: Crash
Language/Expressions/Constants/bitwise_operators_t03: Crash
Language/Expressions/Constants/bitwise_operators_t04: Crash
Language/Expressions/Constants/bitwise_operators_t06: Crash
Language/Expressions/Constants/depending_on_itself_t03: Crash
Language/Expressions/Constants/math_operators_t04: Crash
Language/Expressions/Constants/math_operators_t05: Crash
Language/Expressions/Instance_Creation/New/evaluation_t19: RuntimeError # Issue 31938
Language/Expressions/Instance_Creation/New/evaluation_t20: RuntimeError # Issue 31938
Language/Functions/External_Functions/not_connected_to_a_body_t01: RuntimeError # Dartk Issue 28565
Language/Libraries_and_Scripts/Imports/deferred_import_t01: RuntimeError # Deferred loading kernel issue 28335.
Language/Libraries_and_Scripts/Imports/same_name_t10: RuntimeError
Language/Libraries_and_Scripts/Imports/static_type_t01: Skip # No support for deferred libraries.
Language/Metadata/before_export_t01: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_import_t01: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_library_t01: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t01: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t02: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t03: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t04: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t05: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t06: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t07: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t08: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_param_t09: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Metadata/before_typedef_t01: RuntimeError # Issue 28434: Kernel IR misses these annotations.
Language/Mixins/Mixin_Application/syntax_t16: CompileTimeError # Issue 25765
Language/Types/Type_Void/syntax_t01: Pass # Issue 30470
LibTest/async/DeferredLibrary/DeferredLibrary_A01_t01: Skip # No support for deferred libraries.
LibTest/isolate/Isolate/spawnUri_A01_t06: Skip
[ $compiler == dartkp || $compiler == fasta ]
Language/Classes/Superinterfaces/more_than_once_t01: MissingCompileTimeError
Language/Classes/Superinterfaces/superclass_as_superinterface_t01: MissingCompileTimeError
*: SkipByDesign

View file

@ -116,52 +116,12 @@ spawn_uri_test: SkipByDesign # Loading another file is not supported in JS shell
[ $compiler == dart2js && ($runtime == chrome || $runtime == chromeOnAndroid || $runtime == drt || $runtime == ff || $runtime == safari) ]
isolate_stress_test: Pass, Slow # Issue 10697
# Enabling of dartk for sim{arm,arm64,dbc64} revelaed these test failures, which
# are to be triaged. Isolate tests are skipped on purpose due to the usage of
# batch mode.
[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simdbc64) ]
checked_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
count_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
cross_isolate_message_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
error_at_spawnuri_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
error_exit_at_spawnuri_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
exit_at_spawnuri_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
illegal_msg_function_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
illegal_msg_mirror_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
isolate_complex_messages_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
issue_21398_parent_isolate1_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
issue_21398_parent_isolate_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
issue_24243_parent_isolate_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
mandel_isolate_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
message2_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
message_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
mint_maker_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
nested_spawn2_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
nested_spawn_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
raw_port_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
request_reply_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_function_custom_class_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_function_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_exported_main_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_missing_from_isolate_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_missing_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_multi_test/01: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_multi_test/none: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_nested_vm_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
spawn_uri_vm_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
static_function_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
unresolved_ports_test: Skip # No support for Isolate.spawnUri in batch-mode atm.
[ $compiler == none && $runtime == vm && $system == fuchsia ]
*: Skip # Not yet triaged.
[ $compiler == none && ($runtime == flutter || $runtime == vm) ]
scenarios/short_package/short_package_test: Fail, OK # We do not plan to support the tested behavior anyway.
[ $mode == debug && ($compiler == dartk || $compiler == dartkp) ]
static_function_test: Skip # Times out. Issue 31855
[ $compiler == app_jit || $compiler == none || $compiler == precompiler ]
compile_time_error_test/01: Skip # Issue 12587
kill3_test: Pass, Fail # Bad test: expects total message order
@ -172,12 +132,7 @@ ping_test: Skip # Resolve test issues
checked_test: Skip # Unsupported.
[ $compiler == dartk || $compiler == dartkp ]
deferred_in_isolate2_test: Skip # Timeout. Deferred loading kernel issue 28335.
deferred_in_isolate_test: Skip # Timeout. Deferred loading kernel issue 28335.
issue_21398_parent_isolate2_test/01: Skip # Timeout. Deferred loading kernel issue 28335.
ping_pause_test: Pass, Timeout
spawn_function_custom_class_test: Pass, Timeout
spawn_uri_nested_vm_test: Pass, Timeout
*: Skip # This directory has only Dart1 tests (Dart2 tests are in lib_2/isolate).
[ $compiler != none || $runtime != vm ]
package_config_test: SkipByDesign # Uses Isolate.packageConfig

View file

@ -9,12 +9,12 @@ unsorted/simple_literal_test/01: Skip # The test expects error for large integer
unsorted/super_initializer_test: Skip
unsorted/super_mixin_test: CompileTimeError
[ $compiler != dartk ]
unsorted/types_test: RuntimeError
[ !$fasta ]
unsorted/loop_test: Skip # This test uses optional new/const.
[ !$strong ]
unsorted/invocation_errors_test: RuntimeError
[ $arch == simarm && $compiler == dartkp && $strong ]
unsorted/invocation_errors_test: CompileTimeError
unsorted/nsm_dispatcher_test: CompileTimeError
@ -34,11 +34,8 @@ unsorted/super_mixin_test: CompileTimeError
[ $compiler == dart2analyzer && $strong ]
*: Skip # Issue 28649
[ $compiler == dartk && $strong ]
unsorted/invocation_errors_test: CompileTimeError
unsorted/nsm_dispatcher_test: CompileTimeError
unsorted/super_mixin_test: CompileTimeError
unsorted/types_test: RuntimeError
[ $compiler != dartk && $compiler != dartkp ]
unsorted/invocation_errors_test/00: MissingCompileTimeError # This test has been tuned for dart 2.
[ $runtime == dart_precompiled && $minified ]
unsorted/symbol_literal_test: Skip # Expects unobfuscated Symbol.toString.

View file

@ -11,6 +11,5 @@ test0(x) {
}
main() {
// Incorrect number of arguments, should be NoSuchMethodError but crashes.
test0(0, 1);
test0(0, 1); //# 00: compile-time error
}

View file

@ -19,7 +19,7 @@ class A {
}
main() {
var o = new A();
dynamic o = new A();
Expect.isTrue(o.fun() == '|${#fun}|');
Expect.isTrue(o.fun(1) == '|${#fun}|1|');
Expect.isTrue(o.fun(1, 2) == '|${#fun}|1|2|');

View file

@ -4,6 +4,17 @@
import 'package:expect/expect.dart';
class BaseMixin {
method(x) {
print(x);
return x + 'error';
}
set setter(x) {
print(x);
}
}
class Base {
var field;
@ -18,7 +29,7 @@ class Base {
}
}
class Mixin {
class Mixin extends BaseMixin {
method(x) {
return super.method(x + 'Mixin');
}

View file

@ -45,13 +45,14 @@ class C {}
testConstantLiteralTypes() {
Expect.isTrue(const [1] is List);
Expect.isTrue(const [1] is List<int>);
Expect.isTrue(const [1] is List<String>);
Expect.isTrue(const ["1"] is List<String>);
Expect.isTrue(!(const [1] is List<String>));
Expect.isTrue(const <int>[1] is List);
Expect.isTrue(const <int>[1] is List<int>);
Expect.isTrue(!(const <int>[1] is List<String>));
Expect.isTrue(const {"a": 1} is Map);
Expect.isTrue(const {"a": 1} is Map<String, int>);
Expect.isTrue(const {"a": 1} is Map<int, String>);
Expect.isTrue(const {1: "a"} is Map<int, String>);
Expect.isTrue(const <String, int>{"a": 1} is Map);
Expect.isTrue(const <String, int>{"a": 1} is Map<String, int>);
Expect.isTrue(!(const <String, int>{"a": 1} is Map<int, String>));
@ -60,7 +61,8 @@ testConstantLiteralTypes() {
testNonConstantLiteralTypes() {
Expect.isTrue([1] is List);
Expect.isTrue([1] is List<int>);
Expect.isTrue([1] is List<String>);
Expect.isTrue(["1"] is List<String>);
Expect.isTrue(!([1] is List<String>));
Expect.isTrue(<int>[1] is List);
Expect.isTrue(<int>[1] is List<int>);
Expect.isTrue(!(<int>[1] is List<String>));
@ -163,8 +165,15 @@ testSubtypeChecker() {
testFunctionTypes() {
fun(int x, String y) => "${x}${y}";
Expect.isTrue(fun is FunctionType);
Expect.isTrue(nan is FunctionType);
Expect.isTrue(!(fun is FunctionType));
fun1(num x, Pattern y) => 123;
Expect.isTrue(fun1 is FunctionType);
fun2(num x, String y) => 123;
Expect.isTrue(!(fun2 is FunctionType));
Expect.isTrue(!(nan is FunctionType));
Expect.isTrue(nan is Function);
}

View file

@ -1070,15 +1070,16 @@ abstract class VMKernelCompilerMixin {
? '${_configuration.buildDirectory}/dart-sdk/lib/_internal'
: '${_configuration.buildDirectory}';
final vmPlatform = _isStrong
? '$kernelBinariesFolder/vm_platform_strong.dill'
: '$kernelBinariesFolder/vm_platform.dill';
// Always use strong platform as preview_dart_2 implies strong.
final vmPlatform = '$kernelBinariesFolder/vm_platform_strong.dill';
final dillFile = tempKernelFile(tempDir);
final args = [
_isAot ? '--aot' : '--no-aot',
_isStrong ? '--strong-mode' : '--no-strong-mode',
// Specify strong mode irrespective of the value of _isStrong
// as preview_dart_2 implies strong mode anyway.
'--strong-mode',
_isStrong ? '--sync-async' : '--no-sync-async',
'--platform=$vmPlatform',
'-o',
@ -1086,12 +1087,10 @@ abstract class VMKernelCompilerMixin {
];
args.add(arguments.where((name) => name.endsWith('.dart')).single);
if (_isStrong) {
// Pass environment variable to the gen_kernel script as
// arguments are not passed if gen_kernel runs in batch mode.
environmentOverrides = new Map.from(environmentOverrides);
environmentOverrides['DART_VM_FLAGS'] = '--limit-ints-to-64-bits';
}
// Pass environment variable to the gen_kernel script as
// arguments are not passed if gen_kernel runs in batch mode.
environmentOverrides = new Map.from(environmentOverrides);
environmentOverrides['DART_VM_FLAGS'] = '--limit-ints-to-64-bits';
return Command.vmKernelCompilation(dillFile, true, bootstrapDependencies(),
genKernel, args, environmentOverrides);