75 lines
1.8 KiB
Plaintext
75 lines
1.8 KiB
Plaintext
# 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")
|
|
|
|
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 = [ "//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:test_support",
|
|
]
|
|
}
|
|
|
|
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/v1: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",
|
|
"//testing/gtest",
|
|
]
|
|
}
|
|
}
|