Files
sdk/tests/standalone/embedder_samples_test.dart
T
Ivan Inozemtsev 6e33c95463 Dart Engine
Adds shared libraries for embedding Dart VM and new API (runtime/engine/include/dart_engine.h).

TEST=tests/standalone/embedder_samples_test.dart

Cq-Include-Trybots: luci.dart.try:vm-aot-android-release-arm64c-try,vm-aot-android-release-arm_x64-try,vm-aot-asan-linux-release-x64-try,vm-aot-dwarf-linux-product-x64-try,vm-aot-dyn-linux-debug-x64-try,vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-debug-simriscv32-try,vm-aot-linux-debug-simriscv64-try,vm-aot-linux-debug-x64-try,vm-aot-linux-debug-x64c-try,vm-aot-linux-product-x64-try,vm-aot-linux-release-arm64-try,vm-aot-linux-release-simarm_x64-try,vm-aot-linux-release-x64-try,vm-aot-mac-product-arm64-try,vm-aot-mac-release-arm64-try,vm-aot-mac-release-x64-try,vm-aot-msan-linux-release-x64-try,vm-aot-obfuscate-linux-release-x64-try,vm-aot-optimization-level-linux-release-x64-try,vm-aot-tsan-linux-release-x64-try,vm-aot-ubsan-linux-release-x64-try,vm-aot-win-debug-x64-try,vm-aot-win-debug-x64c-try,vm-aot-win-product-x64-try,vm-aot-win-release-x64-try,vm-appjit-linux-debug-x64-try,vm-appjit-linux-product-x64-try,vm-appjit-linux-release-x64-try,vm-asan-linux-release-arm64-try,vm-asan-linux-release-x64-try,vm-checked-mac-release-arm64-try,vm-eager-optimization-linux-release-ia32-try,vm-eager-optimization-linux-release-x64-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-product-arm-try,vm-ffi-android-product-arm64c-try,vm-ffi-android-release-arm-try,vm-ffi-android-release-arm64c-try,vm-ffi-qemu-linux-release-arm-try,vm-ffi-qemu-linux-release-riscv64-try,vm-fuchsia-release-arm64-try,vm-fuchsia-release-x64-try,vm-gcc-linux-try,vm-linux-debug-ia32-try,vm-linux-debug-simriscv32-try,vm-linux-debug-simriscv64-try,vm-linux-debug-x64-try,vm-linux-debug-x64c-try,vm-linux-release-arm64-try,vm-linux-release-ia32-try,vm-linux-release-simarm-try,vm-linux-release-x64-try,vm-mac-debug-arm64-try,vm-mac-debug-x64-try,vm-mac-release-arm64-try,vm-mac-release-x64-try,vm-msan-linux-release-arm64-try,vm-msan-linux-release-x64-try,vm-msvc-windows-try,vm-reload-linux-debug-x64-try,vm-reload-linux-release-x64-try,vm-reload-rollback-linux-debug-x64-try,vm-reload-rollback-linux-release-x64-try,vm-tsan-linux-release-arm64-try,vm-tsan-linux-release-x64-try,vm-ubsan-linux-release-arm64-try,vm-ubsan-linux-release-x64-try,vm-win-debug-x64-try,vm-win-debug-x64c-try,vm-win-release-ia32-try,vm-win-release-x64-try
Change-Id: Ia4e4d1b871ddef515cfb2f4639bdaa9fe3676936
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/402860
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2025-01-28 03:53:40 -08:00

63 lines
1.6 KiB
Dart

import 'dart:io';
import 'package:expect/expect.dart';
void checkSample(
String binary,
List<String> args, {
bool skipIfNotBuilt = false,
}) {
if (Platform.isWindows) {
binary = '$binary.exe';
}
if (!File(binary).existsSync()) {
if (skipIfNotBuilt) {
return;
} else {
Expect.fail('Binary $binary does not exist!');
}
}
final result = Process.runSync(binary, args);
Expect.equals(
0,
result.exitCode,
'process $binary failed:\n'
' exit code: ${result.exitCode}\n'
' -- stdout --\n'
'${result.stdout}'
' -- stderr --\n'
'${result.stderr}\n'
' ------------',
);
}
void main() {
final executable = Platform.executable;
final out = executable.substring(0, executable.lastIndexOf('dart') - 1);
checkSample('$out/run_main_kernel', ['$out/gen/hello_kernel.dart.snapshot']);
checkSample('$out/run_two_programs_kernel', [
'$out/gen/program1_kernel.dart.snapshot',
'$out/gen/program2_kernel.dart.snapshot',
]);
checkSample('$out/run_timer_kernel', ['$out/gen/timer_kernel.dart.snapshot']);
checkSample('$out/run_timer_async_kernel', [
'$out/gen/timer_kernel.dart.snapshot',
]);
// AOT Samples aren't built on some platforms.
checkSample('$out/run_main_aot', [
'$out/hello_aot.snapshot',
], skipIfNotBuilt: true);
checkSample('$out/run_two_programs_aot', [
'$out/program1_aot.snapshot',
'$out/program2_aot.snapshot',
], skipIfNotBuilt: true);
checkSample('$out/run_timer_aot', [
'$out/timer_aot.snapshot',
], skipIfNotBuilt: true);
checkSample('$out/run_timer_async_aot', [
'$out/timer_aot.snapshot',
], skipIfNotBuilt: true);
}