David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 1 | # Conformance testing for Protobuf. |
| 2 | |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 3 | load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library", "objc_library") |
Mike Kruskal | 633e8f7 | 2023-01-03 12:11:31 -0800 | [diff] [blame] | 4 | load("@rules_ruby//ruby:defs.bzl", "ruby_binary") |
Mike Kruskal | 571b727 | 2023-11-21 12:08:51 -0800 | [diff] [blame] | 5 | load("//ruby:defs.bzl", "internal_ruby_proto_library") |
| 6 | load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_objc_proto_library", "internal_php_proto_library", "internal_py_proto_library") |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 7 | load("//build_defs:internal_shell.bzl", "inline_sh_binary") |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 8 | load( |
| 9 | "@rules_pkg//:mappings.bzl", |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 10 | "pkg_filegroup", |
| 11 | "pkg_files", |
| 12 | "strip_prefix", |
| 13 | ) |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 14 | |
| 15 | exports_files([ |
Mike Kruskal | 6b46e5f | 2022-08-16 08:14:25 -0700 | [diff] [blame] | 16 | "bazel_conformance_test_runner.sh", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 17 | "failure_list_cpp.txt", |
| 18 | "failure_list_csharp.txt", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 19 | "failure_list_java.txt", |
| 20 | "failure_list_java_lite.txt", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 21 | "failure_list_objc.txt", |
| 22 | "failure_list_php.txt", |
| 23 | "failure_list_php_c.txt", |
| 24 | "failure_list_python.txt", |
| 25 | "failure_list_python_cpp.txt", |
Mike Kruskal | c23d533 | 2023-11-10 15:18:00 -0800 | [diff] [blame] | 26 | "failure_list_python_upb.txt", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 27 | "failure_list_ruby.txt", |
| 28 | "failure_list_jruby.txt", |
Jason Lunn | c52d80c | 2023-07-24 23:13:47 -0700 | [diff] [blame] | 29 | "failure_list_jruby_ffi.txt", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 30 | "text_format_failure_list_cpp.txt", |
| 31 | "text_format_failure_list_csharp.txt", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 32 | "text_format_failure_list_java.txt", |
| 33 | "text_format_failure_list_java_lite.txt", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 34 | "text_format_failure_list_php.txt", |
| 35 | "text_format_failure_list_php_c.txt", |
| 36 | "text_format_failure_list_python.txt", |
| 37 | "text_format_failure_list_python_cpp.txt", |
Mike Kruskal | c23d533 | 2023-11-10 15:18:00 -0800 | [diff] [blame] | 38 | "text_format_failure_list_python_upb.txt", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 39 | "text_format_failure_list_ruby.txt", |
| 40 | "text_format_failure_list_jruby.txt", |
Jason Lunn | c52d80c | 2023-07-24 23:13:47 -0700 | [diff] [blame] | 41 | "text_format_failure_list_jruby_ffi.txt", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 42 | ]) |
| 43 | |
| 44 | cc_proto_library( |
| 45 | name = "test_messages_proto2_proto_cc", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 46 | deps = ["//src/google/protobuf:test_messages_proto2_proto"], |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 47 | ) |
| 48 | |
| 49 | cc_proto_library( |
| 50 | name = "test_messages_proto3_proto_cc", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 51 | deps = ["//src/google/protobuf:test_messages_proto3_proto"], |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 52 | ) |
| 53 | |
| 54 | proto_library( |
| 55 | name = "conformance_proto", |
| 56 | srcs = ["conformance.proto"], |
| 57 | visibility = ["//visibility:public"], |
| 58 | ) |
| 59 | |
| 60 | cc_proto_library( |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 61 | name = "conformance_cc_proto", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 62 | deps = [":conformance_proto"], |
| 63 | ) |
| 64 | |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 65 | internal_csharp_proto_library( |
| 66 | name = "conformance_csharp_proto", |
| 67 | srcs = ["conformance.proto"], |
| 68 | visibility = [ |
| 69 | "//csharp:__subpackages__", |
| 70 | ], |
| 71 | ) |
| 72 | |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 73 | java_proto_library( |
| 74 | name = "conformance_java_proto", |
| 75 | visibility = [ |
| 76 | "//java:__subpackages__", |
| 77 | ], |
| 78 | deps = [":conformance_proto"], |
| 79 | ) |
| 80 | |
| 81 | java_lite_proto_library( |
| 82 | name = "conformance_java_proto_lite", |
| 83 | visibility = [ |
| 84 | "//java:__subpackages__", |
| 85 | ], |
| 86 | deps = [":conformance_proto"], |
| 87 | ) |
| 88 | |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 89 | internal_objc_proto_library( |
| 90 | name = "conformance_objc_proto", |
| 91 | srcs = ["conformance.proto"], |
| 92 | visibility = [ |
| 93 | "//conformance:__pkg__", |
| 94 | "//objc:__pkg__", |
| 95 | ], |
| 96 | ) |
| 97 | |
| 98 | internal_py_proto_library( |
| 99 | name = "conformance_py_proto", |
| 100 | srcs = ["conformance.proto"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 101 | srcs_version = "PY2AND3", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 102 | visibility = [ |
| 103 | "//python:__subpackages__", |
| 104 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 105 | ) |
| 106 | |
| 107 | internal_php_proto_library( |
| 108 | name = "conformance_php_proto", |
| 109 | srcs = ["conformance.proto"], |
| 110 | outs = [ |
| 111 | "Conformance/ConformanceRequest.php", |
| 112 | "Conformance/ConformanceResponse.php", |
| 113 | "Conformance/FailureSet.php", |
| 114 | "Conformance/JspbEncodingConfig.php", |
| 115 | "Conformance/TestCategory.php", |
| 116 | "Conformance/WireFormat.php", |
| 117 | "GPBMetadata/Conformance.php", |
| 118 | ], |
| 119 | visibility = [ |
| 120 | "//conformance:__pkg__", |
| 121 | "//php:__pkg__", |
| 122 | ], |
| 123 | ) |
| 124 | |
| 125 | internal_ruby_proto_library( |
| 126 | name = "conformance_ruby_proto", |
| 127 | srcs = ["conformance.proto"], |
| 128 | visibility = [ |
| 129 | "//conformance:__pkg__", |
| 130 | "//ruby:__pkg__", |
| 131 | ], |
| 132 | ) |
| 133 | |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 134 | cc_library( |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 135 | name = "conformance_test", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 136 | testonly = 1, |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 137 | srcs = [ |
| 138 | "conformance_test.cc", |
| 139 | "conformance_test_runner.cc", |
| 140 | ], |
| 141 | hdrs = [ |
| 142 | "conformance_test.h", |
| 143 | ], |
| 144 | includes = ["."], |
Mike Kruskal | e99b281 | 2022-09-23 14:27:46 -0700 | [diff] [blame] | 145 | deps = [ |
| 146 | ":conformance_cc_proto", |
Mike Kruskal | f519230 | 2023-04-06 13:18:30 -0700 | [diff] [blame] | 147 | "//src/google/protobuf/util:differencer", |
| 148 | "//src/google/protobuf/util:json_util", |
| 149 | "//src/google/protobuf/util:type_resolver_util", |
Mike Kruskal | e99b281 | 2022-09-23 14:27:46 -0700 | [diff] [blame] | 150 | "@com_google_absl//absl/strings", |
| 151 | "@com_google_absl//absl/strings:str_format", |
| 152 | ], |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 153 | ) |
| 154 | |
| 155 | cc_library( |
| 156 | name = "binary_json_conformance_suite", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 157 | testonly = 1, |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 158 | srcs = ["binary_json_conformance_suite.cc"], |
| 159 | hdrs = ["binary_json_conformance_suite.h"], |
| 160 | deps = [ |
| 161 | ":conformance_test", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 162 | ":test_messages_proto2_proto_cc", |
| 163 | ":test_messages_proto3_proto_cc", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 164 | "//src/google/protobuf/editions:test_messages_proto2_editions_cc_proto", |
| 165 | "//src/google/protobuf/editions:test_messages_proto3_editions_cc_proto", |
Mike Kruskal | 8c80a32 | 2023-10-17 16:37:25 -0700 | [diff] [blame] | 166 | "@com_google_absl//absl/log:die_if_null", |
Mike Kruskal | a3c8e2d | 2022-08-24 10:46:33 -0700 | [diff] [blame] | 167 | "@com_google_absl//absl/status", |
Mike Kruskal | 407aa2d | 2022-10-19 16:10:10 -0700 | [diff] [blame] | 168 | "@jsoncpp", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 169 | ], |
| 170 | ) |
| 171 | |
| 172 | cc_library( |
| 173 | name = "text_format_conformance_suite", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 174 | testonly = 1, |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 175 | srcs = ["text_format_conformance_suite.cc"], |
| 176 | hdrs = ["text_format_conformance_suite.h"], |
| 177 | deps = [ |
| 178 | ":conformance_test", |
| 179 | ":test_messages_proto2_proto_cc", |
| 180 | ":test_messages_proto3_proto_cc", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 181 | "//src/google/protobuf/editions:test_messages_proto2_editions_cc_proto", |
| 182 | "//src/google/protobuf/editions:test_messages_proto3_editions_cc_proto", |
Mike Kruskal | 28e573e | 2023-10-17 17:26:08 -0700 | [diff] [blame] | 183 | "@com_google_absl//absl/log:absl_log", |
| 184 | "@com_google_absl//absl/log:die_if_null", |
| 185 | "@com_google_absl//absl/strings", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 186 | ], |
| 187 | ) |
| 188 | |
| 189 | cc_binary( |
| 190 | name = "conformance_test_runner", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 191 | testonly = 1, |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 192 | srcs = ["conformance_test_main.cc"], |
| 193 | visibility = ["//visibility:public"], |
| 194 | deps = [ |
| 195 | ":binary_json_conformance_suite", |
| 196 | ":conformance_test", |
| 197 | ":text_format_conformance_suite", |
Mike Kruskal | e99b281 | 2022-09-23 14:27:46 -0700 | [diff] [blame] | 198 | "@com_google_absl//absl/strings:str_format", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 199 | ], |
| 200 | ) |
| 201 | |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 202 | cc_binary( |
| 203 | name = "conformance_cpp", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 204 | testonly = 1, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 205 | srcs = ["conformance_cpp.cc"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 206 | visibility = ["//src:__subpackages__"], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 207 | deps = [ |
| 208 | ":conformance_cc_proto", |
| 209 | "//:protobuf", |
| 210 | "//:test_messages_proto2_cc_proto", |
| 211 | "//:test_messages_proto3_cc_proto", |
Mike Kruskal | a2ba8bc | 2023-10-18 13:12:07 -0700 | [diff] [blame] | 212 | "//src/google/protobuf/editions:test_messages_proto2_editions_cc_proto", |
| 213 | "//src/google/protobuf/editions:test_messages_proto3_editions_cc_proto", |
Mike Kruskal | a3c8e2d | 2022-08-24 10:46:33 -0700 | [diff] [blame] | 214 | "@com_google_absl//absl/status", |
| 215 | "@com_google_absl//absl/status:statusor", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 216 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 217 | ) |
| 218 | |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 219 | java_binary( |
| 220 | name = "conformance_java", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 221 | testonly = 1, |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 222 | srcs = ["ConformanceJava.java"], |
| 223 | main_class = "ConformanceJava", |
| 224 | visibility = [ |
| 225 | "//java:__subpackages__", |
| 226 | ], |
| 227 | deps = [ |
| 228 | ":conformance_java_proto", |
| 229 | "//:protobuf_java", |
| 230 | "//:protobuf_java_util", |
| 231 | "//:test_messages_proto2_java_proto", |
| 232 | "//:test_messages_proto3_java_proto", |
| 233 | ], |
| 234 | ) |
| 235 | |
| 236 | java_binary( |
| 237 | name = "conformance_java_lite", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 238 | testonly = 1, |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 239 | srcs = ["ConformanceJavaLite.java"], |
| 240 | main_class = "ConformanceJavaLite", |
| 241 | visibility = [ |
| 242 | "//java:__subpackages__", |
| 243 | ], |
| 244 | deps = [ |
| 245 | ":conformance_java_proto_lite", |
| 246 | "//:protobuf_java_util", |
| 247 | "//:protobuf_javalite", |
| 248 | "//:test_messages_proto2_java_proto_lite", |
| 249 | "//:test_messages_proto3_java_proto_lite", |
| 250 | ], |
| 251 | ) |
| 252 | |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 253 | py_binary( |
| 254 | name = "conformance_python", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 255 | testonly = 1, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 256 | srcs = ["conformance_python.py"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 257 | imports = [ |
| 258 | "..", |
| 259 | "../python", |
| 260 | ], |
| 261 | srcs_version = "PY2AND3", |
| 262 | visibility = ["//python:__subpackages__"], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 263 | deps = [ |
| 264 | ":conformance_py_proto", |
| 265 | "//:protobuf_python", |
Mike Kruskal | c23d533 | 2023-11-10 15:18:00 -0800 | [diff] [blame] | 266 | "//python:_message", # Make upb visible if we need it. |
Mike Kruskal | 15eccf3 | 2023-11-07 14:37:40 -0800 | [diff] [blame] | 267 | "//python:conformance_test_py_proto", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 268 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 269 | ) |
| 270 | |
| 271 | inline_sh_binary( |
| 272 | name = "conformance_php", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 273 | testonly = 1, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 274 | srcs = [ |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 275 | "autoload.php", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 276 | "conformance_php.php", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 277 | ], |
| 278 | cmd = """ |
| 279 | php -d include_path=conformance:src/google/protobuf \\ |
| 280 | -d auto_prepend_file=$(rootpath autoload.php) \\ |
| 281 | $(rootpath conformance_php.php) |
| 282 | """, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 283 | visibility = ["//php:__subpackages__"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 284 | deps = [ |
| 285 | ":conformance_php_proto", |
| 286 | "//:test_messages_proto3_php_proto", |
| 287 | "//php:source_files", |
| 288 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 289 | ) |
| 290 | |
| 291 | inline_sh_binary( |
| 292 | name = "conformance_php_c", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 293 | testonly = 1, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 294 | srcs = [ |
| 295 | "conformance_php.php", |
| 296 | "//php:extension", |
| 297 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 298 | cmd = """ |
| 299 | php -dextension=$(rootpath //php:extension) \\ |
| 300 | -d include_path=conformance:src/google/protobuf \\ |
| 301 | $(rootpath conformance_php.php) |
| 302 | """, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 303 | visibility = ["//php:__subpackages__"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 304 | deps = [ |
| 305 | ":conformance_php_proto", |
| 306 | "//:test_messages_proto3_php_proto", |
| 307 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 308 | ) |
| 309 | |
| 310 | inline_sh_binary( |
| 311 | name = "conformance_csharp", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 312 | testonly = 1, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 313 | srcs = ["//csharp/src/Google.Protobuf.Conformance:conformance_dll"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 314 | cmd = "dotnet $(rootpath //csharp/src/Google.Protobuf.Conformance:conformance_dll)", |
| 315 | visibility = ["//csharp:__subpackages__"], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 316 | deps = [ |
| 317 | "//csharp/src/Google.Protobuf.Conformance:conformance_runfiles", |
| 318 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 319 | ) |
| 320 | |
| 321 | objc_library( |
| 322 | name = "conformance_objc_lib", |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 323 | testonly = 1, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 324 | non_arc_srcs = ["conformance_objc.m"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 325 | # See https://github.com/bazelbuild/bazel/issues/12897. |
| 326 | tags = ["manual"], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 327 | deps = [ |
| 328 | ":conformance_objc_proto", |
| 329 | "//:test_messages_proto2_objc_proto", |
| 330 | "//:test_messages_proto3_objc_proto", |
Thomas Van Lenten | 6c7c5a5 | 2023-12-12 14:03:01 -0800 | [diff] [blame] | 331 | "//src/google/protobuf/editions:test_messages_proto2_editions_objc_proto", |
| 332 | "//src/google/protobuf/editions:test_messages_proto3_editions_objc_proto", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 333 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 334 | ) |
| 335 | |
| 336 | cc_binary( |
| 337 | name = "conformance_objc", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 338 | testonly = 1, |
| 339 | # See https://github.com/bazelbuild/bazel/issues/12897. |
| 340 | tags = ["manual"], |
| 341 | visibility = ["//objectivec:__subpackages__"], |
Mike Kruskal | ca4b063 | 2022-08-11 20:55:01 -0700 | [diff] [blame] | 342 | deps = [":conformance_objc_lib"], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 343 | ) |
| 344 | |
Mike Kruskal | 633e8f7 | 2023-01-03 12:11:31 -0800 | [diff] [blame] | 345 | ruby_binary( |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 346 | name = "conformance_ruby", |
Mike Kruskal | 633e8f7 | 2023-01-03 12:11:31 -0800 | [diff] [blame] | 347 | testonly = True, |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 348 | srcs = ["conformance_ruby.rb"], |
Jason Lunn | c52d80c | 2023-07-24 23:13:47 -0700 | [diff] [blame] | 349 | visibility = ["//ruby:__subpackages__"], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 350 | deps = [ |
| 351 | ":conformance_ruby_proto", |
Mike Kruskal | 571b727 | 2023-11-21 12:08:51 -0800 | [diff] [blame] | 352 | "//ruby:conformance_test_ruby_proto", |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 353 | ], |
Mike Kruskal | ed5c57a | 2022-08-10 22:51:29 -0700 | [diff] [blame] | 354 | ) |
| 355 | |
| 356 | ################################################################################ |
| 357 | # Distribution files |
| 358 | ################################################################################ |
| 359 | |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 360 | filegroup( |
| 361 | name = "all_files", |
| 362 | srcs = glob(["**/*"]), |
David L. Jones | cbd1adc | 2022-05-17 16:39:47 -0700 | [diff] [blame] | 363 | visibility = ["//src/google/protobuf/compiler/csharp:__pkg__"], |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 364 | ) |
| 365 | |
| 366 | pkg_files( |
| 367 | name = "dist_files", |
| 368 | srcs = glob( |
| 369 | ["**/*"], |
| 370 | exclude = [ |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 371 | # Handled by dist_scripts: |
Mike Kruskal | 6b46e5f | 2022-08-16 08:14:25 -0700 | [diff] [blame] | 372 | "bazel_conformance_test_runner.sh", |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 373 | |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 374 | # The following are not in autotools dist: |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 375 | "autoload.php", |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 376 | "failure_list_jruby.txt", |
| 377 | "update_failure_list.py", |
David L. Jones | 637a699 | 2022-05-06 13:30:48 -0700 | [diff] [blame] | 378 | ], |
| 379 | ), |
| 380 | strip_prefix = strip_prefix.from_root(""), |
| 381 | visibility = ["//pkg:__pkg__"], |
| 382 | ) |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 383 | |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 384 | pkg_filegroup( |
| 385 | name = "all_dist_files", |
| 386 | srcs = [ |
| 387 | ":dist_files", |
David L. Jones | 354aba8 | 2022-05-09 16:32:59 -0700 | [diff] [blame] | 388 | ], |
| 389 | visibility = ["//pkg:__pkg__"], |
| 390 | ) |