move conformance tests into a separate subdir
PiperOrigin-RevId: 502744594
diff --git a/BUILD b/BUILD
index c6dc478..27ddc9b 100644
--- a/BUILD
+++ b/BUILD
@@ -27,7 +27,6 @@
"//bazel:build_defs.bzl",
"UPB_DEFAULT_COPTS",
"UPB_DEFAULT_CPPOPTS",
- "make_shell_script",
)
load(
"//bazel:upb_proto_library.bzl",
@@ -771,124 +770,6 @@
],
)
-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 @@
"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 0000000..1c5d3e6
--- /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