Skip to content

Commit e17c8fc

Browse files
authored
cleanup: eliminate ODR violations in samples (#10156)
Samples that have their own `main()`, and don't use gtest anyway, should not link with `@com_google_googletest//:gtest_main`.
1 parent 4c9fc8d commit e17c8fc

File tree

10 files changed

+30
-19
lines changed

10 files changed

+30
-19
lines changed

google/cloud/bigquery/samples/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ load(":bigquery_client_samples.bzl", "bigquery_client_samples")
3131
"//:bigquery",
3232
"//:common",
3333
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
34-
"@com_google_googletest//:gtest_main",
3534
],
3635
) for test in bigquery_client_samples]
3736

google/cloud/bigquery/samples/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,8 @@ function (bigquery_client_define_samples)
2626
foreach (fname ${bigquery_client_samples})
2727
google_cloud_cpp_add_executable(target "bigquery" "${fname}")
2828
add_test(NAME ${target} COMMAND ${target})
29-
target_link_libraries(
30-
${target}
31-
PRIVATE google_cloud_cpp_testing google-cloud-cpp::bigquery
32-
GTest::gmock_main GTest::gmock GTest::gtest)
29+
target_link_libraries(${target} PRIVATE google_cloud_cpp_testing
30+
google-cloud-cpp::bigquery)
3331
google_cloud_cpp_add_common_options(${target})
3432
endforeach ()
3533

google/cloud/bigtable/examples/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,5 @@ load(":bigtable_examples.bzl", "bigtable_examples")
6565
"//:grpc_utils",
6666
"//google/cloud/testing_util:google_cloud_cpp_testing_grpc_private",
6767
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
68-
"@com_google_googletest//:gtest_main",
6968
],
7069
) for test in bigtable_examples]

google/cloud/iam/samples/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ load(":iam_client_samples.bzl", "iam_client_samples")
3131
"//:common",
3232
"//:iam",
3333
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
34-
"@com_google_googletest//:gtest_main",
3534
],
3635
) for test in iam_client_samples]
3736

google/cloud/iam/samples/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ function (iam_client_define_samples)
2626
foreach (fname ${iam_client_samples})
2727
google_cloud_cpp_add_executable(target "iam" "${fname}")
2828
add_test(NAME ${target} COMMAND ${target})
29-
target_link_libraries(
30-
${target} PRIVATE google_cloud_cpp_testing google-cloud-cpp::iam
31-
GTest::gmock_main GTest::gmock GTest::gtest)
29+
target_link_libraries(${target} PRIVATE google_cloud_cpp_testing
30+
google-cloud-cpp::iam)
3231
google_cloud_cpp_add_common_options(${target})
3332
endforeach ()
3433

google/cloud/pubsub/samples/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ load(":pubsub_samples_unit_tests.bzl", "pubsub_samples_unit_tests")
4848
) for test in pubsub_samples_unit_tests]
4949

5050
load(":pubsub_client_integration_samples.bzl", "pubsub_client_integration_samples")
51-
load(":pubsub_client_unit_samples.bzl", "pubsub_client_unit_samples")
5251

5352
proto_library(
5453
name = "samples_proto",
@@ -77,10 +76,11 @@ cc_proto_library(
7776
":samples_cc_proto",
7877
"//:common",
7978
"//:pubsub",
80-
"@com_google_googletest//:gtest_main",
8179
] + (["//:iam"] if test == "iam_samples.cc" else []),
8280
) for test in pubsub_client_integration_samples]
8381

82+
load(":pubsub_client_unit_samples.bzl", "pubsub_client_unit_samples")
83+
8484
[cc_test(
8585
name = test.replace("/", "_").replace(".cc", ""),
8686
srcs = [test],

google/cloud/pubsub/samples/CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,18 @@ google_cloud_cpp_proto_library(
7777
pubsub_samples_protos samples.proto PROTO_PATH_DIRECTORIES
7878
${CMAKE_CURRENT_SOURCE_DIR} LOCAL_INCLUDE)
7979

80+
# Generate a target for each integration test.
81+
foreach (fname ${pubsub_client_integration_samples})
82+
google_cloud_cpp_add_executable(target "pubsub" "${fname}")
83+
add_test(NAME ${target} COMMAND ${target})
84+
target_link_libraries(
85+
${target} PRIVATE pubsub_samples_protos pubsub_samples_common
86+
google_cloud_cpp_testing google-cloud-cpp::pubsub)
87+
google_cloud_cpp_add_common_options(${target})
88+
endforeach ()
89+
8090
# Generate a target for each unit test.
81-
foreach (fname ${pubsub_client_integration_samples}
82-
${pubsub_client_unit_samples})
91+
foreach (fname ${pubsub_client_unit_samples})
8392
google_cloud_cpp_add_executable(target "pubsub" "${fname}")
8493
add_test(NAME ${target} COMMAND ${target})
8594
target_link_libraries(

google/cloud/spanner/samples/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package(default_visibility = ["//visibility:private"])
1919
licenses(["notice"]) # Apache 2.0
2020

2121
load(":spanner_client_integration_samples.bzl", "spanner_client_integration_samples")
22-
load(":spanner_client_unit_samples.bzl", "spanner_client_unit_samples")
2322

2423
[cc_test(
2524
name = test.replace("/", "_").replace(".cc", ""),
@@ -33,10 +32,11 @@ load(":spanner_client_unit_samples.bzl", "spanner_client_unit_samples")
3332
"//:spanner",
3433
"//google/cloud/spanner:spanner_client_testing_private",
3534
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
36-
"@com_google_googletest//:gtest_main",
3735
],
3836
) for test in spanner_client_integration_samples]
3937

38+
load(":spanner_client_unit_samples.bzl", "spanner_client_unit_samples")
39+
4040
[cc_test(
4141
name = test.replace("/", "_").replace(".cc", ""),
4242
srcs = [test],

google/cloud/spanner/samples/CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,18 @@ function (spanner_client_define_samples)
2828
export_list_to_bazel("spanner_client_unit_samples.bzl"
2929
"spanner_client_unit_samples" YEAR "2019")
3030

31+
# Generate a target for each integration test.
32+
foreach (fname ${spanner_client_integration_samples})
33+
google_cloud_cpp_add_executable(target "spanner" "${fname}")
34+
google_cloud_cpp_add_common_options(${target})
35+
add_test(NAME ${target} COMMAND ${target})
36+
target_link_libraries(
37+
${target} PRIVATE spanner_client_testing google_cloud_cpp_testing
38+
google-cloud-cpp::spanner)
39+
endforeach ()
40+
3141
# Generate a target for each unit test.
32-
foreach (fname ${spanner_client_integration_samples}
33-
${spanner_client_unit_samples})
42+
foreach (fname ${spanner_client_unit_samples})
3443
google_cloud_cpp_add_executable(target "spanner" "${fname}")
3544
google_cloud_cpp_add_common_options(${target})
3645
add_test(NAME ${target} COMMAND ${target})

google/cloud/storage/examples/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,5 @@ load(":storage_examples.bzl", "storage_examples")
6060
"//:storage",
6161
"//google/cloud/storage:google_cloud_cpp_storage_grpc",
6262
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
63-
"@com_google_googletest//:gtest_main",
6463
],
6564
) for test in storage_examples]

0 commit comments

Comments
 (0)