diff --git a/python/descriptor_containers.c b/python/descriptor_containers.c index 22b201dbe2..95d2da10f3 100644 --- a/python/descriptor_containers.c +++ b/python/descriptor_containers.c @@ -167,10 +167,9 @@ static int PyUpb_GenericSequence_IsEqual(PyUpb_GenericSequence *self, } PyObject *item1; - PyObject *item2; for (int i = 0; i < n; i++) { item1 = PyUpb_GenericSequence_GetItem((PyObject*)self, i); - item2 = PyList_GetItem(other, i); + PyObject* item2 = PyList_GetItem(other, i); if (!item1 || !item2) goto error; int cmp = PyObject_RichCompareBool(item1, item2, Py_EQ); Py_DECREF(item1); @@ -181,7 +180,6 @@ static int PyUpb_GenericSequence_IsEqual(PyUpb_GenericSequence *self, error: Py_XDECREF(item1); - Py_XDECREF(item2); return -1; } diff --git a/python/pb_unit_tests/BUILD b/python/pb_unit_tests/BUILD index 4a32c4ba10..6a8143b701 100644 --- a/python/pb_unit_tests/BUILD +++ b/python/pb_unit_tests/BUILD @@ -23,39 +23,223 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -TESTS = [ - "descriptor_database_test", - "descriptor_pool_test", - "descriptor_test", - "generator_test", - "json_format_test", - "keywords_test", - "message_factory_test", - "message_test", - "proto_builder_test", - "reflection_test", - "service_reflection_test", - "symbol_database_test", - "text_encoding_test", - "text_format_test", - "unknown_fields_test", - "well_known_types_test", - "wire_format_test", -] - -[ - py_test( - name = test, - main = test + "_wrapper.py", - srcs = [ - test + "_wrapper.py", - ], - deps = [ - "//python:message_ext", - "@com_google_protobuf//:python_srcs", - "@com_google_protobuf//:python_common_test_protos", - "@com_google_protobuf//:python_specific_test_protos", - ], - legacy_create_init = False, - ) for test in TESTS -] +py_test( + name = "descriptor_database_test", + main = "descriptor_database_test_wrapper.py", + srcs = ["descriptor_database_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "descriptor_pool_test", + main = "descriptor_pool_test_wrapper.py", + srcs = ["descriptor_pool_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "descriptor_test", + main = "descriptor_test_wrapper.py", + srcs = ["descriptor_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "generator_test", + main = "generator_test_wrapper.py", + srcs = ["generator_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "json_format_test", + main = "json_format_test_wrapper.py", + srcs = ["json_format_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "keywords_test", + main = "keywords_test_wrapper.py", + srcs = ["keywords_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "message_factory_test", + main = "message_factory_test_wrapper.py", + srcs = ["message_factory_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "message_test", + main = "message_test_wrapper.py", + srcs = ["message_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "proto_builder_test", + main = "proto_builder_test_wrapper.py", + srcs = ["proto_builder_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "reflection_test", + main = "reflection_test_wrapper.py", + srcs = ["reflection_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "service_reflection_test", + main = "service_reflection_test_wrapper.py", + srcs = ["service_reflection_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "symbol_database_test", + main = "symbol_database_test_wrapper.py", + srcs = ["symbol_database_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "text_encoding_test", + main = "text_encoding_test_wrapper.py", + srcs = ["text_encoding_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "text_format_test", + main = "text_format_test_wrapper.py", + srcs = ["text_format_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "unknown_fields_test", + main = "unknown_fields_test_wrapper.py", + srcs = ["unknown_fields_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "well_known_types_test", + main = "well_known_types_test_wrapper.py", + srcs = ["well_known_types_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +) + +py_test( + name = "wire_format_test", + main = "wire_format_test_wrapper.py", + srcs = ["wire_format_test_wrapper.py"], + deps = [ + "//python:message_ext", + "@com_google_protobuf//:python_srcs", + "@com_google_protobuf//:python_common_test_protos", + "@com_google_protobuf//:python_specific_test_protos", + ], + legacy_create_init = False, +)