1*6777b538SAndroid Build Coastguard Worker# Copyright 2022 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/rust/rust_macro.gni") 6*6777b538SAndroid Build Coastguard Workerimport("//build/rust/rust_static_library.gni") 7*6777b538SAndroid Build Coastguard Workerimport("//testing/test.gni") 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Workerif (enable_rust) { 10*6777b538SAndroid Build Coastguard Worker group("rust_gtest_interop") { 11*6777b538SAndroid Build Coastguard Worker testonly = true 12*6777b538SAndroid Build Coastguard Worker public_deps = [ 13*6777b538SAndroid Build Coastguard Worker ":rust_gtest_interop_cpp", 14*6777b538SAndroid Build Coastguard Worker ":rust_gtest_interop_rust", 15*6777b538SAndroid Build Coastguard Worker ] 16*6777b538SAndroid Build Coastguard Worker } 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker static_library("rust_gtest_interop_cpp") { 19*6777b538SAndroid Build Coastguard Worker testonly = true 20*6777b538SAndroid Build Coastguard Worker visibility = [ ":rust_gtest_interop" ] 21*6777b538SAndroid Build Coastguard Worker sources = [ 22*6777b538SAndroid Build Coastguard Worker "rust_gtest_interop.cc", 23*6777b538SAndroid Build Coastguard Worker "rust_gtest_interop.h", 24*6777b538SAndroid Build Coastguard Worker ] 25*6777b538SAndroid Build Coastguard Worker deps = [ 26*6777b538SAndroid Build Coastguard Worker "//base", 27*6777b538SAndroid Build Coastguard Worker "//testing/gtest", 28*6777b538SAndroid Build Coastguard Worker ] 29*6777b538SAndroid Build Coastguard Worker } 30*6777b538SAndroid Build Coastguard Worker 31*6777b538SAndroid Build Coastguard Worker rust_static_library("rust_gtest_interop_rust") { 32*6777b538SAndroid Build Coastguard Worker testonly = true 33*6777b538SAndroid Build Coastguard Worker visibility = [ ":rust_gtest_interop" ] 34*6777b538SAndroid Build Coastguard Worker crate_name = "rust_gtest_interop" 35*6777b538SAndroid Build Coastguard Worker crate_root = "rust_gtest_interop.rs" 36*6777b538SAndroid Build Coastguard Worker allow_unsafe = true 37*6777b538SAndroid Build Coastguard Worker sources = [ 38*6777b538SAndroid Build Coastguard Worker "expect_macros.rs", 39*6777b538SAndroid Build Coastguard Worker "rust_gtest_interop.rs", 40*6777b538SAndroid Build Coastguard Worker ] 41*6777b538SAndroid Build Coastguard Worker deps = [ 42*6777b538SAndroid Build Coastguard Worker # Macros re-exported from the rust_gtest_interop crate. Can only be 43*6777b538SAndroid Build Coastguard Worker # accessed through the crate, so not public_deps. 44*6777b538SAndroid Build Coastguard Worker ":gtest_attribute", 45*6777b538SAndroid Build Coastguard Worker 46*6777b538SAndroid Build Coastguard Worker # This is re-exported for the gtest_attribute macros. 47*6777b538SAndroid Build Coastguard Worker "//third_party/rust/small_ctor/v0_1:lib", 48*6777b538SAndroid Build Coastguard Worker ] 49*6777b538SAndroid Build Coastguard Worker } 50*6777b538SAndroid Build Coastguard Worker 51*6777b538SAndroid Build Coastguard Worker rust_macro("gtest_attribute") { 52*6777b538SAndroid Build Coastguard Worker testonly = true 53*6777b538SAndroid Build Coastguard Worker 54*6777b538SAndroid Build Coastguard Worker crate_root = "gtest_attribute.rs" 55*6777b538SAndroid Build Coastguard Worker sources = [ "gtest_attribute.rs" ] 56*6777b538SAndroid Build Coastguard Worker deps = [ 57*6777b538SAndroid Build Coastguard Worker "//third_party/rust/proc_macro2/v1:lib", 58*6777b538SAndroid Build Coastguard Worker "//third_party/rust/quote/v1:lib", 59*6777b538SAndroid Build Coastguard Worker "//third_party/rust/syn/v2:lib", 60*6777b538SAndroid Build Coastguard Worker ] 61*6777b538SAndroid Build Coastguard Worker 62*6777b538SAndroid Build Coastguard Worker # This target's contents are exposed as part of :rust_gtest_interop. 63*6777b538SAndroid Build Coastguard Worker visibility = [ ":*" ] 64*6777b538SAndroid Build Coastguard Worker } 65*6777b538SAndroid Build Coastguard Worker 66*6777b538SAndroid Build Coastguard Worker test("rust_gtest_interop_unittests") { 67*6777b538SAndroid Build Coastguard Worker sources = [ 68*6777b538SAndroid Build Coastguard Worker "rust_gtest_interop_unittest.rs", 69*6777b538SAndroid Build Coastguard Worker "rust_gtest_interop_unittest_main.cc", 70*6777b538SAndroid Build Coastguard Worker ] 71*6777b538SAndroid Build Coastguard Worker deps = [ 72*6777b538SAndroid Build Coastguard Worker "//base", 73*6777b538SAndroid Build Coastguard Worker "//base/test:test_support", 74*6777b538SAndroid Build Coastguard Worker "//build:blink_buildflags", 75*6777b538SAndroid Build Coastguard Worker "//testing/gtest", 76*6777b538SAndroid Build Coastguard Worker ] 77*6777b538SAndroid Build Coastguard Worker } 78*6777b538SAndroid Build Coastguard Worker} 79