From 4843fd0d75d93b154967504da36699ece14013b4 Mon Sep 17 00:00:00 2001 From: Eric Salo Date: Tue, 17 Jan 2023 18:50:18 -0800 Subject: [PATCH] move conformance tests into a separate subdir PiperOrigin-RevId: 502744594 --- BUILD | 121 +------------ upb/conformance/BUILD | 161 ++++++++++++++++++ upb/{ => conformance}/conformance_upb.c | 0 .../conformance_upb_failures.txt | 0 4 files changed, 162 insertions(+), 120 deletions(-) create mode 100644 upb/conformance/BUILD rename upb/{ => conformance}/conformance_upb.c (100%) rename upb/{ => conformance}/conformance_upb_failures.txt (100%) diff --git a/BUILD b/BUILD index c6dc47894b..27ddc9b9ce 100644 --- a/BUILD +++ b/BUILD @@ -27,7 +27,6 @@ load( "//bazel:build_defs.bzl", "UPB_DEFAULT_COPTS", "UPB_DEFAULT_CPPOPTS", - "make_shell_script", ) load( "//bazel:upb_proto_library.bzl", @@ -771,124 +770,6 @@ cc_test( ], ) -upb_proto_library( - name = "conformance_upb_proto", - testonly = 1, - deps = ["@com_google_protobuf//conformance:conformance_proto"], -) - -upb_proto_reflection_library( - name = "conformance_upb_proto_reflection", - testonly = 1, - deps = ["@com_google_protobuf//conformance:conformance_proto"], -) - -upb_proto_reflection_library( - name = "test_messages_proto2_upbdefs", - testonly = 1, - visibility = ["//:__subpackages__"], - deps = ["@com_google_protobuf//src/google/protobuf:test_messages_proto2_proto"], -) - -upb_proto_reflection_library( - name = "test_messages_proto3_upbdefs", - testonly = 1, - visibility = ["//:__subpackages__"], - deps = ["@com_google_protobuf//src/google/protobuf:test_messages_proto3_proto"], -) - -cc_binary( - name = "conformance_upb", - testonly = 1, - srcs = ["upb/conformance_upb.c"], - copts = UPB_DEFAULT_COPTS, - data = ["upb/conformance_upb_failures.txt"], - target_compatible_with = select({ - "@platforms//os:windows": ["//third_party/bazel_platforms:incompatible"], - "//conditions:default": [], - }), - deps = [ - ":conformance_upb_proto", - ":conformance_upb_proto_reflection", - ":json", - ":port", - ":reflection", - ":test_messages_proto2_upbdefs", - ":test_messages_proto3_upbdefs", - ":textformat", - ":upb", - ], -) - -make_shell_script( - name = "gen_test_conformance_upb", - out = "test_conformance_upb.sh", - contents = "external/com_google_protobuf/conformance/conformance_test_runner " + - " --enforce_recommended " + - " --failure_list ./upb/conformance_upb_failures.txt" + - " ./conformance_upb", -) - -sh_test( - name = "test_conformance_upb", - srcs = ["test_conformance_upb.sh"], - data = [ - "upb/conformance_upb_failures.txt", - ":conformance_upb", - "@com_google_protobuf//conformance:conformance_test_runner", - ], - target_compatible_with = select({ - "@platforms//os:windows": ["//third_party/bazel_platforms:incompatible"], - "//conditions:default": [], - }), - deps = ["@bazel_tools//tools/bash/runfiles"], -) - -cc_binary( - name = "conformance_upb_dynamic_minitable", - testonly = 1, - srcs = ["upb/conformance_upb.c"], - copts = UPB_DEFAULT_COPTS + [ - "-DREBUILD_MINITABLES", - ], - data = ["upb/conformance_upb_failures.txt"], - target_compatible_with = select({ - "@platforms//os:windows": ["//third_party/bazel_platforms:incompatible"], - "//conditions:default": [], - }), - deps = [ - ":conformance_upb_proto", - ":conformance_upb_proto_reflection", - ":json", - ":port", - ":reflection", - ":test_messages_proto2_upbdefs", - ":test_messages_proto3_upbdefs", - ":textformat", - ":upb", - ], -) - -make_shell_script( - name = "gen_test_conformance_upb_dynamic_minitable", - out = "test_conformance_upb_dynamic_minitable.sh", - contents = "external/com_google_protobuf/conformance/conformance_test_runner " + - " --enforce_recommended " + - " --failure_list ./upb/conformance_upb_failures.txt" + - " ./conformance_upb_dynamic_minitable", -) - -sh_test( - name = "test_conformance_upb_dynamic_minitable", - srcs = ["test_conformance_upb_dynamic_minitable.sh"], - data = [ - "upb/conformance_upb_failures.txt", - ":conformance_upb_dynamic_minitable", - "@com_google_protobuf//conformance:conformance_test_runner", - ], - deps = ["@bazel_tools//tools/bash/runfiles"], -) - # Internal C/C++ libraries ##################################################### cc_library( @@ -1199,7 +1080,7 @@ pkg_files( "upb/**/*.hpp", "upb/**/*.inc", ], - exclude = ["upb/conformance_upb.c"], + exclude = ["upb/**/conformance_upb.c"], ), strip_prefix = "", visibility = ["//python/dist:__pkg__"], diff --git a/upb/conformance/BUILD b/upb/conformance/BUILD new file mode 100644 index 0000000000..1c5d3e628c --- /dev/null +++ b/upb/conformance/BUILD @@ -0,0 +1,161 @@ +# Copyright (c) 2009-2021, Google LLC +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google LLC nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +load( + "//bazel:build_defs.bzl", + "UPB_DEFAULT_COPTS", + "make_shell_script", +) +load( + "//bazel:upb_proto_library.bzl", + "upb_proto_library", + "upb_proto_reflection_library", +) + +licenses(["notice"]) + +config_setting( + name = "windows", + constraint_values = ["@platforms//os:windows"], + visibility = ["//visibility:public"], +) + +upb_proto_library( + name = "conformance_upb_proto", + testonly = 1, + deps = ["@com_google_protobuf//conformance:conformance_proto"], +) + +upb_proto_reflection_library( + name = "conformance_upb_proto_reflection", + testonly = 1, + deps = ["@com_google_protobuf//conformance:conformance_proto"], +) + +upb_proto_reflection_library( + name = "test_messages_proto2_upbdefs", + testonly = 1, + visibility = ["//:__subpackages__"], + deps = ["@com_google_protobuf//src/google/protobuf:test_messages_proto2_proto"], +) + +upb_proto_reflection_library( + name = "test_messages_proto3_upbdefs", + testonly = 1, + visibility = ["//:__subpackages__"], + deps = ["@com_google_protobuf//src/google/protobuf:test_messages_proto3_proto"], +) + +cc_binary( + name = "conformance_upb", + testonly = 1, + srcs = ["conformance_upb.c"], + copts = UPB_DEFAULT_COPTS, + data = ["conformance_upb_failures.txt"], + target_compatible_with = select({ + "@platforms//os:windows": ["//third_party/bazel_platforms:incompatible"], + "//conditions:default": [], + }), + deps = [ + ":conformance_upb_proto", + ":conformance_upb_proto_reflection", + ":test_messages_proto2_upbdefs", + ":test_messages_proto3_upbdefs", + "//:json", + "//:port", + "//:reflection", + "//:textformat", + "//:wire", + ], +) + +make_shell_script( + name = "gen_test_conformance_upb", + out = "test_conformance_upb.sh", + contents = "external/com_google_protobuf/conformance/conformance_test_runner" + + " --enforce_recommended" + + " --failure_list upb/conformance/conformance_upb_failures.txt" + + " upb/conformance/conformance_upb", +) + +sh_test( + name = "test_conformance_upb", + srcs = ["test_conformance_upb.sh"], + data = [ + "conformance_upb_failures.txt", + ":conformance_upb", + "@com_google_protobuf//conformance:conformance_test_runner", + ], + target_compatible_with = select({ + "@platforms//os:windows": ["//third_party/bazel_platforms:incompatible"], + "//conditions:default": [], + }), + deps = ["@bazel_tools//tools/bash/runfiles"], +) + +cc_binary( + name = "conformance_upb_dynamic_minitable", + testonly = 1, + srcs = ["conformance_upb.c"], + copts = UPB_DEFAULT_COPTS + [ + "-DREBUILD_MINITABLES", + ], + data = ["conformance_upb_failures.txt"], + target_compatible_with = select({ + "@platforms//os:windows": ["//third_party/bazel_platforms:incompatible"], + "//conditions:default": [], + }), + deps = [ + ":conformance_upb_proto", + ":conformance_upb_proto_reflection", + ":test_messages_proto2_upbdefs", + ":test_messages_proto3_upbdefs", + "//:json", + "//:port", + "//:reflection", + "//:textformat", + "//:wire", + ], +) + +make_shell_script( + name = "gen_test_conformance_upb_dynamic_minitable", + out = "test_conformance_upb_dynamic_minitable.sh", + contents = "external/com_google_protobuf/conformance/conformance_test_runner" + + " --enforce_recommended" + + " --failure_list upb/conformance/conformance_upb_failures.txt" + + " upb/conformance/conformance_upb_dynamic_minitable", +) + +sh_test( + name = "test_conformance_upb_dynamic_minitable", + srcs = ["test_conformance_upb_dynamic_minitable.sh"], + data = [ + "conformance_upb_failures.txt", + ":conformance_upb_dynamic_minitable", + "@com_google_protobuf//conformance:conformance_test_runner", + ], + deps = ["@bazel_tools//tools/bash/runfiles"], +) diff --git a/upb/conformance_upb.c b/upb/conformance/conformance_upb.c similarity index 100% rename from upb/conformance_upb.c rename to upb/conformance/conformance_upb.c diff --git a/upb/conformance_upb_failures.txt b/upb/conformance/conformance_upb_failures.txt similarity index 100% rename from upb/conformance_upb_failures.txt rename to upb/conformance/conformance_upb_failures.txt