| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/rust/rust_macro.gni") |
| import("//build/rust/rust_static_library.gni") |
| import("//testing/test.gni") |
| |
| # //testing is used outside of the chromium tree in other projects, and they |
| # may not support the use of Rust and set `enable_rust = false`. |
| if (enable_rust) { |
| group("rust_gtest_interop") { |
| testonly = true |
| public_deps = [ |
| ":rust_gtest_interop_cpp", |
| ":rust_gtest_interop_rust", |
| ] |
| } |
| |
| static_library("rust_gtest_interop_cpp") { |
| testonly = true |
| visibility = [ ":rust_gtest_interop" ] |
| sources = [ |
| "rust_gtest_interop.cc", |
| "rust_gtest_interop.h", |
| ] |
| deps = [ |
| "//base", |
| "//testing/gtest", |
| ] |
| } |
| |
| rust_static_library("rust_gtest_interop_rust") { |
| testonly = true |
| visibility = [ ":rust_gtest_interop" ] |
| crate_name = "rust_gtest_interop" |
| crate_root = "rust_gtest_interop.rs" |
| allow_unsafe = true |
| sources = [ |
| "expect_macros.rs", |
| "rust_gtest_interop.rs", |
| ] |
| deps = [ |
| # Macros re-exported from the rust_gtest_interop crate. Can only be |
| # accessed through the crate, so not public_deps. |
| ":gtest_attribute", |
| |
| # This is re-exported for the gtest_attribute macros. |
| "//third_party/rust/small_ctor/v0_1:lib", |
| ] |
| } |
| |
| rust_macro("gtest_attribute") { |
| testonly = true |
| |
| crate_root = "gtest_attribute.rs" |
| sources = [ "gtest_attribute.rs" ] |
| deps = [ |
| "//third_party/rust/proc_macro2/v1:lib", |
| "//third_party/rust/quote/v1:lib", |
| "//third_party/rust/syn/v2:lib", |
| ] |
| |
| # This target's contents are exposed as part of :rust_gtest_interop. |
| visibility = [ ":*" ] |
| } |
| |
| test("rust_gtest_interop_unittests") { |
| sources = [ |
| "rust_gtest_interop_unittest.rs", |
| "rust_gtest_interop_unittest_main.cc", |
| ] |
| deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//build:blink_buildflags", |
| "//testing/gtest", |
| ] |
| } |
| } |