diff options
author | jieluo@google.com <jieluo@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2014-08-25 20:17:53 +0000 |
---|---|---|
committer | jieluo@google.com <jieluo@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2014-08-25 20:17:53 +0000 |
commit | 1eba9d9c7424235b1a6dcd866fcd06d12e08a7f3 (patch) | |
tree | b2a894794db1f6147214e356c20f754e270f4e7f /python/setup.py | |
parent | 786379af4766fa7ec22b51862ba6e84156b1f9cb (diff) | |
download | protobuf-1eba9d9c7424235b1a6dcd866fcd06d12e08a7f3.tar.gz protobuf-1eba9d9c7424235b1a6dcd866fcd06d12e08a7f3.tar.bz2 protobuf-1eba9d9c7424235b1a6dcd866fcd06d12e08a7f3.zip |
merge tags/2.6.0 into trunk
Diffstat (limited to 'python/setup.py')
-rwxr-xr-x | python/setup.py | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/python/setup.py b/python/setup.py index 51b27d72..6eecd489 100755 --- a/python/setup.py +++ b/python/setup.py @@ -83,6 +83,23 @@ def GenerateUnittestProtos(): generate_proto("google/protobuf/internal/factory_test2.proto") generate_proto("google/protobuf/pyext/python.proto") +def MakeTestSuite(): + # Test C++ implementation + import unittest + import google.protobuf.pyext.descriptor_cpp2_test as descriptor_cpp2_test + import google.protobuf.pyext.message_factory_cpp2_test \ + as message_factory_cpp2_test + import google.protobuf.pyext.reflection_cpp2_generated_test \ + as reflection_cpp2_generated_test + + loader = unittest.defaultTestLoader + suite = unittest.TestSuite() + for test in [ descriptor_cpp2_test, + message_factory_cpp2_test, + reflection_cpp2_generated_test]: + suite.addTest(loader.loadTestsFromModule(test)) + return suite + class clean(_clean): def run(self): # Delete generated files in the code tree. @@ -119,14 +136,14 @@ class build_py(_build_py): # release that are subject to conversion. # See code reference in previous code review. - if __name__ == '__main__': - # C++ implementation extension - cpp_impl = '--cpp_implementation' - if cpp_impl in sys.argv: + ext_module_list = [] + nocpp = '--nocpp_implementation' + if nocpp in sys.argv: sys.argv.remove(cpp_impl) - test_dir = "google/protobuf/pyext" - ext_module_list = [Extension( + else: + # C++ implementation extension + ext_module_list.append(Extension( "google.protobuf.pyext._message", [ "google/protobuf/pyext/descriptor.cc", "google/protobuf/pyext/message.cc", @@ -134,20 +151,17 @@ if __name__ == '__main__': "google/protobuf/pyext/repeated_scalar_container.cc", "google/protobuf/pyext/repeated_composite_container.cc" ], define_macros=[('GOOGLE_PROTOBUF_HAS_ONEOF', '1')], - include_dirs = [ ".", "../src" ], + include_dirs = [ ".", "../src"], libraries = [ "protobuf" ], library_dirs = [ '../src/.libs' ], - )] - else: - test_dir = "google/protobuf/internal" - ext_module_list = [] - + )) setup(name = 'protobuf', - version = '2.6-pre', + version = '2.6.0', packages = [ 'google' ], namespace_packages = [ 'google' ], - google_test_dir = test_dir, + test_suite = 'setup.MakeTestSuite', + google_test_dir = "google/protobuf/internal", # Must list modules explicitly so that we don't install tests. py_modules = [ 'google.protobuf.internal.api_implementation', |