diff options
Diffstat (limited to 'python/setup.py')
-rwxr-xr-x | python/setup.py | 88 |
1 files changed, 49 insertions, 39 deletions
diff --git a/python/setup.py b/python/setup.py index f53ad5ff..ba0dac2c 100755 --- a/python/setup.py +++ b/python/setup.py @@ -79,38 +79,50 @@ def generate_proto(source, require = True): if protoc is None: sys.stderr.write( - "protoc is not installed nor found in ../src. " - "Please compile it or install the binary package.\n" - ) + "protoc is not installed nor found in ../src. Please compile it " + "or install the binary package.\n") sys.exit(-1) - protoc_command = [protoc, "-I../src", "-I.", "--python_out=.", source] + protoc_command = [ protoc, "-I../src", "-I.", "--python_out=.", source ] if subprocess.call(protoc_command) != 0: sys.exit(-1) - def GenerateUnittestProtos(): - generate_proto("../src/google/protobuf/map_unittest.proto", False) - generate_proto("../src/google/protobuf/unittest.proto", False) - generate_proto("../src/google/protobuf/unittest_custom_options.proto", False) - generate_proto("../src/google/protobuf/unittest_import.proto", False) - generate_proto("../src/google/protobuf/unittest_import_public.proto", False) - generate_proto("../src/google/protobuf/unittest_mset.proto", False) - generate_proto("../src/google/protobuf/unittest_no_generic_services.proto", False) - generate_proto("../src/google/protobuf/unittest_proto3_arena.proto", False) - generate_proto("google/protobuf/internal/descriptor_pool_test1.proto", False) - generate_proto("google/protobuf/internal/descriptor_pool_test2.proto", False) - generate_proto("google/protobuf/internal/factory_test1.proto", False) - generate_proto("google/protobuf/internal/factory_test2.proto", False) - generate_proto("google/protobuf/internal/import_test_package/inner.proto", False) - generate_proto("google/protobuf/internal/import_test_package/outer.proto", False) - generate_proto("google/protobuf/internal/missing_enum_values.proto", False) - generate_proto("google/protobuf/internal/more_extensions.proto", False) - generate_proto("google/protobuf/internal/more_extensions_dynamic.proto", False) - generate_proto("google/protobuf/internal/more_messages.proto", False) - generate_proto("google/protobuf/internal/test_bad_identifiers.proto", False) - generate_proto("google/protobuf/pyext/python.proto", False) - + generate_proto("../src/google/protobuf/unittest.proto") + generate_proto("../src/google/protobuf/unittest_custom_options.proto") + generate_proto("../src/google/protobuf/unittest_import.proto") + generate_proto("../src/google/protobuf/unittest_import_public.proto") + generate_proto("../src/google/protobuf/unittest_mset.proto") + generate_proto("../src/google/protobuf/unittest_no_generic_services.proto") + generate_proto("google/protobuf/internal/descriptor_pool_test1.proto") + generate_proto("google/protobuf/internal/descriptor_pool_test2.proto") + generate_proto("google/protobuf/internal/test_bad_identifiers.proto") + generate_proto("google/protobuf/internal/missing_enum_values.proto") + generate_proto("google/protobuf/internal/more_extensions.proto") + generate_proto("google/protobuf/internal/more_extensions_dynamic.proto") + generate_proto("google/protobuf/internal/more_messages.proto") + generate_proto("google/protobuf/internal/factory_test1.proto") + generate_proto("google/protobuf/internal/factory_test2.proto") + generate_proto("google/protobuf/internal/import_test_package/inner.proto") + generate_proto("google/protobuf/internal/import_test_package/outer.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): @@ -119,13 +131,12 @@ class clean(_clean): for filename in filenames: filepath = os.path.join(dirpath, filename) if filepath.endswith("_pb2.py") or filepath.endswith(".pyc") or \ - filepath.endswith(".so") or filepath.endswith(".o") or \ - filepath.endswith('google/protobuf/compiler/__init__.py'): + filepath.endswith(".so") or filepath.endswith(".o") or \ + filepath.endswith('google/protobuf/compiler/__init__.py'): os.remove(filepath) # _clean is an old-style class, so super() doesn't work. _clean.run(self) - class build_py(_build_py): def run(self): # Generate necessary .proto file if it doesn't exist. @@ -141,13 +152,6 @@ class build_py(_build_py): pass # _build_py is an old-style class, so super() doesn't work. _build_py.run(self) - # TODO(mrovner): Subclass to run 2to3 on some files only. - # Tracing what https://wiki.python.org/moin/PortingPythonToPy3k's - # "Approach 2" section on how to get 2to3 to run on source files during - # install under Python 3. This class seems like a good place to put logic - # that calls python3's distutils.util.run_2to3 on the subset of the files we - # have in our release that are subject to conversion. - # See code reference in previous code review. if __name__ == '__main__': ext_module_list = [] @@ -177,8 +181,14 @@ if __name__ == '__main__': maintainer_email='protobuf@googlegroups.com', license='New BSD License', classifiers=[ - 'Programming Language :: Python :: 2.7', - ], + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.6", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + ], namespace_packages=['google'], packages=find_packages( exclude=[ @@ -190,6 +200,6 @@ if __name__ == '__main__': 'clean': clean, 'build_py': build_py, }, - install_requires=['setuptools'], + install_requires=['setuptools', 'six'], ext_modules=ext_module_list, ) |