[gardening] Fix test
TEST=tests/ffi/deeply_immutable_c_api_finalizer_test.dart
Closes: https://github.com/dart-lang/sdk/issues/55165
Change-Id: I8e5925b978db4591442ca36d57a6a98f85501bbd
Cq-Include-Trybots: luci.dart.try:vm-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356801
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
diff --git a/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc b/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc
index aa566ce..a665741 100644
--- a/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc
+++ b/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc
@@ -617,6 +617,10 @@
Dart_Port send_port_;
+DART_EXPORT void* Calloc(size_t count, size_t size) {
+ return calloc(count, size);
+}
+
DART_EXPORT void FreeFinalizer(void*, void* value) {
free(value);
}
diff --git a/tests/ffi/deeply_immutable_c_api_finalizer_test.dart b/tests/ffi/deeply_immutable_c_api_finalizer_test.dart
index 7d031a9..de1e9c9 100644
--- a/tests/ffi/deeply_immutable_c_api_finalizer_test.dart
+++ b/tests/ffi/deeply_immutable_c_api_finalizer_test.dart
@@ -28,7 +28,7 @@
MyFinalizable._(this.pointer);
factory MyFinalizable() {
- final pointer = calloc<Int>(10);
+ final pointer = calloc(sizeOf<Int>(), 10).cast<Int>();
pointer.value = 123;
final result = MyFinalizable._(pointer);
newFinalizableHandle(
@@ -41,6 +41,10 @@
}
}
+final calloc = dlopenPlatformSpecific("ffi_test_functions")
+ .lookup<NativeFunction<Pointer<Void> Function(Size, Size)>>('Calloc')
+ .asFunction<Pointer<Void> Function(int, int)>();
+
final freeFinalizer = dlopenPlatformSpecific("ffi_test_functions")
.lookup<NativeFunction<Dart_HandleFinalizerFunction>>('FreeFinalizer');