mirror of
https://github.com/dart-lang/sdk
synced 2024-09-18 22:11:19 +00:00
025bfc858e
Previously there was a window between the decision to resume generator and actually running the micro-task. The stream could be canceled during that window, making running the generator incorrect. The solution is to check if the stream was canceled right before resuming the generator in yield/yield*. This change also unifies yield and yield* to check if the stream was canceled even before suspending the generator. TEST=language/async_star/cancel_while_paused_test, language/async_star/cancel_while_paused_at_yield_test Fixes https://github.com/dart-lang/sdk/issues/49451 Change-Id: Ib8ff3a2da9a6a7da8766a7dbf28e2c9d618728f9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251562 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
42 lines
1.8 KiB
Plaintext
42 lines
1.8 KiB
Plaintext
# Copyright (c) 2017, 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.
|
|
# Sections in this file should start with "$runtime == dart_precompiled".
|
|
|
|
[ $arch == arm64 && $runtime == dart_precompiled ]
|
|
class/large_class_declaration_test: SkipSlow # Uses too much memory.
|
|
setter/setter4_test: MissingCompileTimeError
|
|
|
|
[ $arch == ia32 && $runtime == dart_precompiled ]
|
|
vm/regress_24517_test: Pass, Fail # Issue 24517.
|
|
|
|
[ $compiler != dart2analyzer && $runtime == dart_precompiled ]
|
|
mixin/mixin2_test: Skip
|
|
|
|
[ $compiler == dartkp && $runtime == dart_precompiled ]
|
|
async_star/async_star_await_for_test: RuntimeError
|
|
|
|
[ $runtime == dart_precompiled && $minified ]
|
|
enum/duplicate_test/*: Skip # Uses Enum.toString()
|
|
enum/enum_test: Skip # Uses Enum.toString()
|
|
enum/private_test/*: Skip # Uses Enum.toString()
|
|
mixin/generic_test: Skip
|
|
mixin/mixin3_test: Skip
|
|
mixin/mixin5_test: Skip
|
|
mixin/mixin6_test: Skip
|
|
mixin/mixin_bound2_test: Skip
|
|
mixin/mixin_type_arguments_test: Skip
|
|
mixin/super_2_test: Skip
|
|
no_such_method/dispatcher_test: Skip # Uses new Symbol()
|
|
stack_trace/full1_test: Skip
|
|
stack_trace/full2_test: Skip
|
|
stack_trace/full3_test: Skip
|
|
unsorted/cyclic_type_test/*: Skip
|
|
vm/no_such_args_error_message_vm_test: Skip
|
|
vm/no_such_method_error_message_callable_vm_test: Skip
|
|
vm/no_such_method_error_message_vm_test: Skip
|
|
|
|
[ $runtime == dart_precompiled && ($mode == product || $minified) ]
|
|
stack_trace/rethrow_error_test: SkipByDesign # obfuscation/minification and instruction deduplication cause names of frames to be mangled (expected)
|
|
stack_trace/rethrow_nonerror_test: SkipByDesign # obfuscation/minification and instruction deduplication cause names of frames to be mangled (expected)
|