Jelajahi Sumber

Fix --cpp_implementation test failure. Test both pure Python and cpp implementation in tox.

Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
Dan O'Reilly 10 tahun lalu
induk
melakukan
3083d8cee7
2 mengubah file dengan 9 tambahan dan 8 penghapusan
  1. 8 8
      python/google/protobuf/internal/reflection_test.py
  2. 1 0
      python/tox.ini

+ 8 - 8
python/google/protobuf/internal/reflection_test.py

@@ -1647,18 +1647,18 @@ class ReflectionTest(unittest.TestCase):
     file_descriptor_proto.name = another_file_name
     file_descriptor_proto.name = another_file_name
     m2 = file_descriptor_proto.message_type.add()
     m2 = file_descriptor_proto.message_type.add()
     m2.name = 'msg2'
     m2.name = 'msg2'
-    try:
+    with self.assertRaises(TypeError) as cm:
       descriptor.FileDescriptor(
       descriptor.FileDescriptor(
           another_file_name,
           another_file_name,
           package_name,
           package_name,
           serialized_pb=file_descriptor_proto.SerializeToString())
           serialized_pb=file_descriptor_proto.SerializeToString())
-    except TypeError as e:
-      message = str(e)
-    else:
-      self.fail("Did not raise TypeError")
-
-    self.assertTrue('test_file_descriptor_errors.msg1' in message)
-    self.assertTrue('test_file_descriptor_errors.proto' in message)
+      self.assertTrue(hasattr(cm, 'exception'), '%s not raised' %
+                      getattr(cm.expected, '__name__', cm.expected))
+      self.assertIn('test_file_descriptor_errors.proto', str(cm.exception))
+      # Error message will say something about this definition being a
+      # duplicate, though we don't check the message exactly to avoid a
+      # dependency on the C++ logging code.
+      self.assertIn('test_file_descriptor_errors.msg1', str(cm.exception))
 
 
   def testStringUTF8Encoding(self):
   def testStringUTF8Encoding(self):
     proto = unittest_pb2.TestAllTypes()
     proto = unittest_pb2.TestAllTypes()

+ 1 - 0
python/tox.ini

@@ -11,5 +11,6 @@ commands =
     python setup.py -q --cpp_implementation develop
     python setup.py -q --cpp_implementation develop
     python setup.py build_py
     python setup.py build_py
     python setup.py -q test -q
     python setup.py -q test -q
+    python setup.py -q test -q --cpp_implementation
 deps =
 deps =
     six
     six