6e33c95463
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>
63 lines
1.6 KiB
Dart
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);
|
|
}
|