dart-sdk/tests
Daco Harkes 045b9c1715 Reland "[vm/ffi] Add common C types"
We're adding these types to `dart:ffi` rather than `package:ffi` so that
they can be used with `FfiNative`s.

Adds `NativeType`s for the following C types:

* unsigned char
* signed char
* short
* unsigned short
* int
* unsigned int
* long
* unsigned long
* long long
* unsigned long long
* uintptr_t
* size_t
* wchar_t

Because the C standard only defines minimum sizes for many of these
types, future platforms might diverge from the typical size even if all
platforms currently agree on a size. To avoid having to reification
later, we define all types as AbiSpecificIntegers rather than typedefs,
even if all current target platforms agree on the size.

Closes: https://github.com/dart-lang/sdk/issues/36140

TEST=tests/ffi/c_types_test.dart

Original patch in patchset 1.

* Removes `Char` for now until package:win32 has rolled to 2.3.8 in
  Flutter. https://pub.dev/packages/win32/versions/2.3.8/changelog
  https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8824468064587445729/+/u/Android_Views_Integration_Tests/stdout
* Adds `c_type.dart` in `ffi_source.gni` which should fix `IntPtr`
  missing when analyzing `path_provider_linux`. (However, I was unable
  to reproduce the issue locally.)
  https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8824468064571399025/+/u/run_test.dart_for_flutter_plugins_shard_and_subshard_analyze/test_stdout
  `/tmp/flutter_plugins.KZMNMC/packages/path_provider/path_provider_linux$ ~/flt/engine/src/out/host_debug/dart-sdk/bin/dart  analyze --fatal-infos`

Change-Id: I89130cccba285fc9c483bb53f5710a302f2b104f
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try,dart-sdk-mac-try,dart-sdk-win-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-debug-arm-try,vm-canary-linux-debug-try,vm-fuchsia-release-x64-try,vm-kernel-gcc-linux-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-mac-debug-x64-try,vm-kernel-mac-release-arm64-try,vm-kernel-nnbd-win-release-ia32-try,vm-kernel-nnbd-win-release-x64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-win-release-x64-try,flutter-analyze-try,flutter-engine-linux-try,flutter-frontend-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229156
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2022-01-27 13:09:01 +00:00
..
co19 [co19] HttpRequestUpload tests enabled in status files 2021-12-13 09:39:49 +00:00
co19_2 [test] Skip Language/Types/Interface_Types/subtype_t27 2021-11-26 11:31:23 +00:00
corelib Add tests for String.replaceAll with general Pattern 2022-01-13 20:52:33 +00:00
corelib_2 Add tests for String.replaceAll with general Pattern 2022-01-13 20:52:33 +00:00
dartdevc [ddc] Unify pkg:js types and allow subtyping between them 2021-07-30 00:33:54 +00:00
dartdevc_2 [ddc] Unify pkg:js types and allow subtyping between them 2021-07-30 00:33:54 +00:00
ffi Reland "[vm/ffi] Add common C types" 2022-01-27 13:09:01 +00:00
ffi_2 Reland "[vm/ffi] Add common C types" 2022-01-27 13:09:01 +00:00
language [vm, compiler] Fix BinarySmiOpInstr(USHR, reg, reg) on RV64. 2022-01-25 22:54:47 +00:00
language_2 Fix context type for conditionals of conditional expressions. 2022-01-24 01:25:38 +00:00
lib [dart:html] Fix requestFullscreen bindings and type 2022-01-25 00:24:57 +00:00
lib_2 [dart:html] Fix requestFullscreen bindings and type 2022-01-25 00:24:57 +00:00
modular [pkg:js] Erase static interop types 2021-12-10 18:36:00 +00:00
standalone Simplify asyncExpectThrows and enhance Expect.throws. 2022-01-06 17:06:47 +00:00
standalone_2 Simplify asyncExpectThrows and enhance Expect.throws. 2022-01-06 17:06:47 +00:00
web [dart2js] Handle Object members of dart:html types 2022-01-21 01:04:10 +00:00
web_2 [dart2js] Handle Object members of dart:html types 2022-01-21 01:04:10 +00:00
legacy_status_dart2js.csv
README.md

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.