18 个不稳定版本 (6 个破坏性版本)

0.28.1 2024 年 8 月 13 日
0.28.0 2024 年 6 月 11 日
0.27.3 2024 年 6 月 3 日
0.27.0 2024 年 3 月 26 日
0.22.0 2022 年 12 月 16 日

#169 in 测试

Download history 21871/week @ 2024-05-03 25214/week @ 2024-05-10 27668/week @ 2024-05-17 20329/week @ 2024-05-24 23622/week @ 2024-05-31 23948/week @ 2024-06-07 22557/week @ 2024-06-14 20320/week @ 2024-06-21 17896/week @ 2024-06-28 20821/week @ 2024-07-05 18827/week @ 2024-07-12 22885/week @ 2024-07-19 21245/week @ 2024-07-26 23110/week @ 2024-08-02 22322/week @ 2024-08-09 19609/week @ 2024-08-16

91,241 每月下载量
用于 33 个 Crates(2 个直接使用)

MPL-2.0 许可证

10KB
131

此 crate 包含用于测试绑定的辅助代码。我们的通用系统是从示例和固定目录生成库的绑定,然后执行一个测试绑定的脚本。

每个绑定 crate 可以以不同的方式执行此操作,但典型系统是

  • 构建一个 UniFFITestHelper 结构体以协助过程
  • 调用 UniFFITestHelper.create_out_dir() 以创建一个临时目录以存储测试文件
  • 调用 UniFFITestHelper.copy_cdylibs_to_out_dir() 将示例/固定库的 dylib 艺术品复制到 out_dir。这是因为绑定代码会动态链接到或从这个库加载。
  • 调用 UniFFITestHelper.get_compile_sources() 遍历 (udl_pathuniffi_config_path) 对并从它们生成绑定。这一步针对绑定语言是特定的,它可能意味着创建一个 .jar 文件,编译一个二进制文件,或者只是复制脚本文件。
  • 执行测试脚本并检查是否成功。此步骤也特定于绑定语言。

依赖项

~1.2–2.2MB
~44K SLoC