Embedder samples tests
TEST=new test for ci
Change-Id: I982583ef21c5907bde1dcbc1c34e57c2c0fae770
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/398902
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index b3a28c4..e3833e7 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -52,6 +52,7 @@
"runtime/bin:process_test",
"runtime/bin:run_vm_tests",
"runtime/vm:kernel_platform_files($host_toolchain)",
+ "samples/embedder:all",
"samples/ffi/http:fake_http",
"utils/dartdev:dartdev",
"utils/kernel-service:kernel-service",
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
index 447400f..d3c4e8d 100644
--- a/runtime/bin/BUILD.gn
+++ b/runtime/bin/BUILD.gn
@@ -1203,6 +1203,20 @@
":libdart_builtin",
"..:libdart_jit",
]
+
+ if (is_win) {
+ libs = [
+ # ole32.dll contains CoTaskMemAlloc. Here so that package:ffi can look
+ # CoTaskMemAlloc up with `DynamicLibrary.process()`.
+ "ole32.lib",
+ "iphlpapi.lib",
+ "psapi.lib",
+ "ws2_32.lib",
+ "Rpcrt4.lib",
+ "shlwapi.lib",
+ "winmm.lib",
+ ]
+ }
}
static_library("dart_embedder_runtime_jit") {
diff --git a/runtime/tools/entitlements/run_kernel.plist b/runtime/tools/entitlements/run_kernel.plist
new file mode 100644
index 0000000..eeda4be
--- /dev/null
+++ b/runtime/tools/entitlements/run_kernel.plist
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>com.apple.security.cs.allow-jit</key>
+ <true/>
+ <key>com.apple.security.cs.disable-library-validation</key>
+ <true/>
+ </dict>
+</plist>
\ No newline at end of file
diff --git a/tests/standalone/embedder_samples_test.dart b/tests/standalone/embedder_samples_test.dart
new file mode 100644
index 0000000..f7a396d
--- /dev/null
+++ b/tests/standalone/embedder_samples_test.dart
@@ -0,0 +1,23 @@
+import 'dart:io';
+
+import 'package:expect/expect.dart';
+
+void main() {
+ final executable = Platform.executable;
+ final outDir = executable.substring(0, executable.lastIndexOf('dart'));
+
+ final runKernelExecutable = outDir + 'run_kernel';
+
+ final result = Process.runSync(runKernelExecutable, []);
+ Expect.equals(
+ 0,
+ result.exitCode,
+ 'process failed:\n'
+ ' exit code: ${result.exitCode}\n'
+ ' -- stdout --\n'
+ '${result.stdout}'
+ ' -- stderr --\n'
+ '${result.stderr}\n'
+ ' ------------',
+ );
+}