dart-sdk/tests/ffi/regress_51504_test.dart
Daco Harkes 08b57e0457 [test/ffi] Fix test use RTLD_GLOBAL on Android
Android arm has a different const for `RTLD_GLOBAL` which we take care
of in the helper function `dlopenGlobalPlatformSpecific`. So use that
instead.

Change-Id: Icb5d0b84f7d76ec1f6e24d43a644cffe8f46fd42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286140
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2023-03-01 10:24:24 +00:00

32 lines
945 B
Dart

// Copyright (c) 2023, 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.
// SharedObjects=ffi_test_functions
// VMOptions=--enable-experiment=records
import 'dart:ffi';
import 'dart:io';
import 'package:expect/expect.dart';
import 'package:ffi/ffi.dart';
import 'dylib_utils.dart';
final ffiTestFunctions = dlopenPlatformSpecific('ffi_test_functions');
void main() {
dlopenGlobalPlatformSpecific('ffi_test_functions');
testVariadicAt1Int64x5NativeLeaf();
}
@Native<Int64 Function(Int64, VarArgs<(Int64, Int64, Int64, Int64)>)>(symbol: 'VariadicAt1Int64x5', isLeaf:true)
external int variadicAt1Int64x5NativeLeaf(int a0, int a1, int a2, int a3, int a4);
void testVariadicAt1Int64x5NativeLeaf() {
final result = variadicAt1Int64x5NativeLeaf(1, 2, 3, 4, 5);
Expect.equals(15, result);
}