dart-sdk/tests/language_2/language_2_vm.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

31 lines
2 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 contain "$runtime == vm".
[ $compiler == dartkp ]
assert/initializer_const_error2_test/cc01: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc02: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc03: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc04: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc05: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc06: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc07: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc08: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc09: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc10: MissingCompileTimeError # Not reporting failed assert() at compile time.
assert/initializer_const_error2_test/cc11: MissingCompileTimeError # Not reporting failed assert() at compile time.
[ $runtime == vm ]
async_star/async_star_await_for_test: RuntimeError
[ $arch == arm64 && $runtime == vm ]
class/large_class_declaration_test: SkipSlow # Uses too much memory.
closure/cycles_test: Pass, Slow
[ $arch == ia32 && $mode == release && $runtime == vm ]
syntax/deep_nesting_expression_test/01: Crash, Pass # Issue 31496
[ $runtime == dart_precompiled || $runtime == vm ]
superinterface_variance/*: Skip # Issue dart-lang/language#113