dart-sdk/tests/language/language_precompiled.status
Alexander Markov 025bfc858e [vm] Fix yield in async* to check if the stream was canceled while generator was suspended
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>
2022-07-15 14:09:20 +00:00

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)