Files
sdk/tests/ffi/ffi.status
Ankit Ranjan 6de2588d56 [vm/ffi] Migrate legacy multi-test files to Process.run
Migrates vmspecific_enable_ffi_test.dart and
abi_specific_int_incomplete_aot_test.dart away from legacy multi-test
markers. Since these tests verify VM/gen_snapshot compile-time errors
(not CFE errors), they cannot use // [cfe] expectations. Instead, they
now spawn a subprocess and verify the expected error is produced.

- vmspecific_enable_ffi_test: Runs helper with --enable-ffi=false, checks for error
- abi_specific_int_incomplete_aot_test: Compiles helper with `dart compile aot-snapshot`, checks for error

Both tests self-spawn AOT tooling (gen_snapshot) or the JIT `dart` CLI,
so they only run on the dartkp host bots and are skipped elsewhere
(ia32, android, fuchsia, qemu) via tests/ffi/ffi.status.

Fixes https://github.com/dart-lang/sdk/issues/60212

Change-Id: Ib2482c3172b20a4366f984da33544fc515b540c4
Cq-Include-Trybots: dart/try:vm-aot-android-debug-arm64c-try,vm-aot-android-debug-arm_x64-try,vm-aot-linux-debug-arm64-try,vm-aot-linux-debug-x64-try,vm-aot-linux-debug-x64c-try,vm-aot-mac-debug-arm64-try,vm-aot-mac-debug-x64-try,vm-aot-obfuscate-linux-release-x64-try,vm-aot-optimization-level-linux-release-x64-try,vm-aot-win-debug-arm64-try,vm-aot-win-debug-x64-try,vm-aot-win-debug-x64c-try,vm-asan-linux-release-arm64-try,vm-asan-linux-release-x64-try,vm-asan-mac-release-arm64-try,vm-asan-win-release-x64-try,vm-ffi-qemu-linux-release-arm-try,vm-ffi-qemu-linux-release-riscv64-try,vm-fuchsia-release-x64-try,vm-msan-linux-release-arm64-try,vm-msan-linux-release-x64-try,vm-tsan-linux-release-arm64-try,vm-tsan-linux-release-x64-try,vm-tsan-mac-release-arm64-try,vm-ubsan-linux-release-arm64-try,vm-ubsan-linux-release-x64-try,vm-ubsan-mac-release-arm64-try,vm-ubsan-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508020
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Ankit Ranjan <ankitranjandev@gmail.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-06-11 07:25:59 -07:00

135 lines
8.9 KiB
Plaintext

# 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.
function_callbacks_structs_by_value_native_callable_generated_test: Pass, Slow # https://dartbug.com/61038
function_callbacks_structs_by_value_test: Pass, Slow # https://dartbug.com/47304 https://dartbug.com/45007
function_structs_by_value_generated_args_leaf_test: Pass, Slow # https://dartbug.com/47303 https://dartbug.com/45007
function_structs_by_value_generated_args_test: Pass, Slow # https://dartbug.com/47303 https://dartbug.com/45007
function_structs_by_value_generated_ret_arg_leaf_test: Pass, Slow # https://dartbug.com/47303 https://dartbug.com/45007
function_structs_by_value_generated_ret_arg_test: Pass, Slow # https://dartbug.com/47303 https://dartbug.com/45007
function_structs_by_value_generated_ret_leaf_test: Pass, Slow # https://dartbug.com/47303 https://dartbug.com/45007
function_structs_by_value_generated_ret_test: Pass, Slow # https://dartbug.com/47303 https://dartbug.com/45007
native_assets/asset_*: Pass, Slow # https://dartbug.com/56330
[ $arch == ia32 ]
abi_specific_int_incomplete_aot_test: SkipByDesign # No AOT mode on IA32.
[ $arch == simarm64_arm64 ]
function_structs_by_value_generated_args_native_test: Pass, Slow
[ $builder_tag == optimization_counter_threshold ]
aliasing_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_callbacks_structs_by_value_generated_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_callbacks_structs_by_value_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_callbacks_very_many_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_structs_by_value_generated_args_leaf_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_structs_by_value_generated_args_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_structs_by_value_generated_ret_arg_leaf_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_structs_by_value_generated_ret_arg_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_structs_by_value_generated_ret_leaf_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_structs_by_value_generated_ret_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
function_very_many_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
hardfp_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
regress_43016_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
structs_nnbd_workaround_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
structs_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
variance_function_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
vmspecific_function_gc_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
vmspecific_function_test: SkipByDesign # Already has VMOptions=--optimization-counter-threshold
[ $compiler == app_jitk ]
native_assets/asset_*: SkipByDesign # Only intended to run from source. https://dartbug.com/51266
native_assets/infer_native_assets_yaml_*: SkipByDesign # Only intended to run from source. https://dartbug.com/51265
vmspecific_leaf_call_test: Skip # https://dartbug.com/46125: Snapshot fails to generate.
[ $compiler != dartkp ]
abi_specific_int_incomplete_aot_test: SkipByDesign # Self-spawns gen_kernel/gen_snapshot, which are only built on AOT (dartkp) bots.
vmspecific_enable_ffi_test: SkipByDesign # Self-spawns the JIT dart executable, so the harness compiler is irrelevant; runs once on the dartkp bots.
[ $mode == debug ]
function_callbacks_structs_by_value_generated_test: Pass, Slow
[ $mode == product ]
regress_47594_test: Skip # Profiler is not available in Product.
[ $system == android ]
*: Pass, Slow # https://github.com/dart-lang/sdk/issues/38489
abi_specific_int_incomplete_aot_test: Skip # Needs gen_kernel and gen_snapshot.
regress_47594_test: Skip # DartDev is not available on Android.
vmspecific_enable_ffi_test: Skip # Needs access to Dart executable.
vmspecific_native_finalizer_isolate_groups_test: Skip # SpawnUri not available on Android tester.
[ $system == fuchsia ]
abi_specific_int_incomplete_aot_test: SkipByDesign # Needs gen_kernel and gen_snapshot.
async_void_function_callbacks_test/*: Skip # Test harness doesn't support multitest with Fuchsia
exceptional_return_const_test/*: Skip # Test harness doesn't support multitest with Fuchsia
ffi_induce_a_crash_test/*: Skip # Test harness doesn't support multitest with Fuchsia
function_callbacks_isolate_ownership_test: SkipByDesign # Needs access to Dart executable
function_callbacks_leaf_test: SkipByDesign # Needs access to Dart executable
function_callbacks_many_test/*: Skip # Test harness doesn't support multitest with Fuchsia
function_callbacks_structs_by_value_generated_test/*: Skip # Test harness doesn't support multitest with Fuchsia
function_callbacks_structs_by_value_native_callable_generated_test/*: Skip # Test harness doesn't support multitest with Fuchsia
function_callbacks_subtype_test/*: Skip # Test harness doesn't support multitest with Fuchsia
isolate_group_bound_callback_test: Skip # gen_snapshot requires experimental-shared-data flag
isolate_group_bound_captured_local_test: Skip # gen_snapshot requires experimental-shared-data flag
isolate_group_bound_init_test: Skip # gen_snapshot requires experimental-shared-data flag
isolate_group_bound_send_test: Skip # gen_snapshot requires experimental-shared-data flag
many_listener_callbacks_test/*: Skip # Test harness doesn't support multitest with Fuchsia
native_assets/*: Skip # Source not available in the emulator
run_isolate_group_run_test: Skip # gen_snapshot requires experimental-shared-data flag
static_checks/*: SkipByDesign # Expecting compile time failures in multi tests doesn't work on the Fuchsia test runner.
threading_test: Skip # gen_snapshot requires experimental-shared-data flag
unaligned_test/*: Skip # Test harness doesn't support multitest with Fuchsia
vmspecific_enable_ffi_test: SkipByDesign # Needs access to Dart executable.
vmspecific_function_callbacks_exit_test/*: Skip # Test harness doesn't support multitest with Fuchsia
vmspecific_highmem_32bit_test/*: Skip # Test harness doesn't support multitest with Fuchsia
vmspecific_leaf_call_test/*: Skip # Test harness doesn't support multitest with Fuchsia
vmspecific_pointer_load_il_test: SkipByDesign # Not bloating the Fuchsia test package with package:vm/testing/il_matchers.dart
[ $system == windows ]
regress_47594_test: Skip # DynamicLibrary.process() is not available on Windows.
[ $system != windows ]
ffi_induce_a_crash_test: SkipByDesign
[ $qemu ]
abi_specific_int_incomplete_aot_test: SkipByDesign # Needs gen_kernel and gen_snapshot.
function_callbacks_leaf_test: SkipByDesign # Needs access to Dart executable
native_assets/*: SkipByDesign # Only intended to run on host oses with AOT binaries available, not available on QEMU.
vmspecific_enable_ffi_test: SkipByDesign # Needs access to Dart executable.
[ $arch != simarm64_arm64 && $simulator ]
*: Skip # FFI not yet supported on the arm simulator.
[ $compiler != dart2analyzer && $compiler != fasta && $runtime != dart_precompiled && $runtime != vm ]
*: SkipByDesign # FFI is a VM-only feature. (This test suite is part of the default set.)
[ $arch == simarm64_arm64 || $sanitizer == asan || $sanitizer == msan || $sanitizer == tsan ]
many_listener_callbacks_test: Pass, Slow
# These tests trigger and catch an abort (intentionally) and terminate the VM.
# They're incompatible with ASAN because not all memory is freed when aborting and
# with AppJit because the abort the VM before it can generate a snapshot.
[ $compiler == app_jitk || $sanitizer == asan ]
vmspecific_function_callbacks_exit_test: SkipByDesign
[ $compiler == dartk || $system == android ]
native_assets/asset_*: SkipByDesign # Only intended to run on host oses with AOT binaries available.
[ $compiler == dartkp || $system == android ]
native_assets/infer_native_assets_yaml_*: SkipByDesign # Only intended to run from source.
[ $compiler == dartkp || $arch == arm64 && $system == fuchsia ]
abi_specific_int_incomplete_jit_test: SkipByDesign # Only intended to run in JIT mode.
[ $runtime == dart_precompiled || $runtime == vm ]
callback_unwind_error_test: Crash # https://github.com/dart-lang/sdk/issues/39487
[ $sanitizer == asan || $sanitizer == msan || $sanitizer == tsan ]
data_not_asan_test: SkipByDesign # This test tries to allocate too much memory on purpose.
[ $hot_reload || $hot_reload_rollback ]
isolate_group_bound_callback_test: SkipSlow # shared_slow_path_triggers_gc in combination with reload makes this test very slow