Rust テスト用の GN ルール

Rust の gtest テストをビルドする最も簡単な方法は、C++ で作成されたテストがすでに含まれている既存のテストバイナリに追加することです。次に例を示します。

test("ui_base_unittests") {
  ...
  sources += [ "my_rust_lib_unittest.rs" ]
  deps += [ ":my_rust_lib" ]
}

別途、static_library で Rust テストを作成することも可能ですが、サポート ライブラリへの依存関係を手動で宣言する必要があります。

rust_static_library("my_rust_lib_unittests") {
  testonly = true
  is_gtest_unittests = true
  crate_root = "my_rust_lib_unittest.rs"
  sources = [ "my_rust_lib_unittest.rs" ]
  deps = [
    ":my_rust_lib",
    "//testing/rust_gtest_interop",
  ]
}

test("ui_base_unittests") {
  ...
  deps += [ ":my_rust_lib_unittests" ]
}