protoc 2.6.1.1 → 2.6.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/protoc/Makefile.in +10 -13
- data/ext/protoc/extconf.rb +0 -1
- data/ext/protoc/protobuf/CHANGES.txt +593 -0
- data/ext/protoc/protobuf/CONTRIBUTORS.txt +93 -0
- data/ext/protoc/protobuf/INSTALL.txt +237 -0
- data/ext/protoc/protobuf/LICENSE +33 -0
- data/ext/protoc/protobuf/Makefile.am +267 -0
- data/ext/protoc/protobuf/README.md +167 -0
- data/ext/protoc/protobuf/autogen.sh +41 -0
- data/ext/protoc/protobuf/benchmarks/ProtoBench.java +203 -0
- data/ext/protoc/protobuf/benchmarks/google_message1.dat +0 -0
- data/ext/protoc/protobuf/benchmarks/google_message2.dat +0 -0
- data/ext/protoc/protobuf/benchmarks/google_size.proto +136 -0
- data/ext/protoc/protobuf/benchmarks/google_speed.proto +136 -0
- data/ext/protoc/protobuf/benchmarks/readme.txt +50 -0
- data/ext/protoc/protobuf/configure.ac +159 -0
- data/ext/protoc/protobuf/editors/README.txt +5 -0
- data/ext/protoc/protobuf/editors/proto.vim +105 -0
- data/ext/protoc/protobuf/editors/protobuf-mode.el +220 -0
- data/ext/protoc/protobuf/examples/AddPerson.java +95 -0
- data/ext/protoc/protobuf/examples/ListPeople.java +50 -0
- data/ext/protoc/protobuf/examples/Makefile +58 -0
- data/ext/protoc/protobuf/examples/README.txt +29 -0
- data/ext/protoc/protobuf/examples/add_person.cc +95 -0
- data/ext/protoc/protobuf/examples/add_person.py +58 -0
- data/ext/protoc/protobuf/examples/addressbook.proto +30 -0
- data/ext/protoc/protobuf/examples/list_people.cc +68 -0
- data/ext/protoc/protobuf/examples/list_people.py +38 -0
- data/ext/protoc/protobuf/generate_descriptor_proto.sh +33 -0
- data/ext/protoc/protobuf/java/README.txt +96 -0
- data/ext/protoc/protobuf/java/pom.xml +217 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractMessage.java +466 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractMessageLite.java +355 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractParser.java +253 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BlockingRpcChannel.java +51 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BlockingService.java +64 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BoundedByteString.java +163 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ByteString.java +1022 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/CodedInputStream.java +1311 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/CodedOutputStream.java +1297 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Descriptors.java +2238 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/DynamicMessage.java +622 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Extension.java +96 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ExtensionRegistry.java +392 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ExtensionRegistryLite.java +185 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/FieldSet.java +907 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessage.java +2213 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessageLite.java +949 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Internal.java +391 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java +122 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyField.java +154 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyFieldLite.java +176 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyStringArrayList.java +367 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyStringList.java +163 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LiteralByteString.java +362 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Message.java +244 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageLite.java +320 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java +60 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageOrBuilder.java +143 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageReflection.java +931 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Parser.java +261 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ProtocolMessageEnum.java +58 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ProtocolStringList.java +48 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RepeatedFieldBuilder.java +696 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RopeByteString.java +957 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcCallback.java +47 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcChannel.java +71 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcController.java +118 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcUtil.java +134 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Service.java +117 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ServiceException.java +52 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/SingleFieldBuilder.java +241 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/SmallSortedMap.java +618 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/TextFormat.java +1984 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UninitializedMessageException.java +99 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UnknownFieldSet.java +995 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java +205 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Utf8.java +349 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/WireFormat.java +163 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/AbstractMessageTest.java +527 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/BoundedByteStringTest.java +68 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ByteStringTest.java +759 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CheckUtf8Test.java +141 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CodedInputStreamTest.java +769 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CodedOutputStreamTest.java +401 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DeprecatedFieldTest.java +80 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DescriptorsTest.java +735 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DynamicMessageTest.java +326 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ForceFieldBuildersPreRun.java +48 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/GeneratedMessageTest.java +1515 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/IsValidUtf8Test.java +180 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/IsValidUtf8TestUtil.java +421 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyFieldLiteTest.java +134 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyFieldTest.java +121 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyMessageLiteTest.java +319 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyStringArrayListTest.java +174 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyStringEndToEndTest.java +143 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteEqualsAndHashTest.java +85 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteTest.java +148 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteralByteStringTest.java +396 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/MessageTest.java +353 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/NestedBuildersTest.java +185 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ParserTest.java +381 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RepeatedFieldBuilderTest.java +190 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RopeByteStringSubstringTest.java +97 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RopeByteStringTest.java +115 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ServiceTest.java +320 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/SingleFieldBuilderTest.java +155 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/SmallSortedMapTest.java +420 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TestBadIdentifiers.java +96 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TestUtil.java +4124 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TextFormatTest.java +994 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/UnknownFieldSetTest.java +653 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/UnmodifiableLazyStringListTest.java +227 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/WireFormatTest.java +606 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/lazy_fields_lite.proto +61 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/lite_equals_and_hash.proto +55 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/multiple_files_test.proto +77 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_builders_test.proto +53 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_extension.proto +46 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_extension_lite.proto +48 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/non_nested_extension.proto +49 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/non_nested_extension_lite.proto +50 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test.proto +38 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test2.proto +42 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test3.proto +43 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_bad_identifiers.proto +157 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_check_utf8.proto +50 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_check_utf8_size.proto +51 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_custom_options.proto +43 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_extra_interfaces.proto +60 -0
- data/ext/protoc/protobuf/m4/ac_system_extensions.m4 +37 -0
- data/ext/protoc/protobuf/m4/acx_check_suncc.m4 +75 -0
- data/ext/protoc/protobuf/m4/acx_pthread.m4 +397 -0
- data/ext/protoc/protobuf/m4/stl_hash.m4 +72 -0
- data/ext/protoc/protobuf/more_tests/Makefile +41 -0
- data/ext/protoc/protobuf/post_process_dist.sh +60 -0
- data/ext/protoc/protobuf/protobuf-lite.pc.in +13 -0
- data/ext/protoc/protobuf/protobuf.pc.in +14 -0
- data/ext/protoc/protobuf/python/README.txt +105 -0
- data/ext/protoc/protobuf/python/ez_setup.py +284 -0
- data/ext/protoc/protobuf/python/google/__init__.py +1 -0
- data/ext/protoc/protobuf/python/google/protobuf/__init__.py +0 -0
- data/ext/protoc/protobuf/python/google/protobuf/descriptor.py +849 -0
- data/ext/protoc/protobuf/python/google/protobuf/descriptor_database.py +137 -0
- data/ext/protoc/protobuf/python/google/protobuf/descriptor_pool.py +643 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/__init__.py +0 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation.cc +139 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation.py +89 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation_default_test.py +63 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/containers.py +269 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/cpp_message.py +663 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/decoder.py +831 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_database_test.py +63 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test.py +564 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test1.proto +94 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test2.proto +70 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_python_test.py +54 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_test.py +669 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/encoder.py +788 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/enum_type_wrapper.py +89 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/factory_test1.proto +57 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/factory_test2.proto +92 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/generator_test.py +343 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_factory_python_test.py +54 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_factory_test.py +131 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_listener.py +78 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_python_test.py +54 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_test.py +681 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/missing_enum_values.proto +50 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/more_extensions.proto +58 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/more_extensions_dynamic.proto +49 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/more_messages.proto +51 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/python_message.py +1251 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/reflection_test.py +2934 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/service_reflection_test.py +136 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/symbol_database_test.py +120 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/test_bad_identifiers.proto +52 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/test_util.py +662 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/text_encoding_test.py +68 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/text_format_test.py +743 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/type_checkers.py +328 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/unknown_fields_test.py +231 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/wire_format.py +268 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/wire_format_test.py +253 -0
- data/ext/protoc/protobuf/python/google/protobuf/message.py +284 -0
- data/ext/protoc/protobuf/python/google/protobuf/message_factory.py +155 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/README +6 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/__init__.py +0 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/cpp_message.py +61 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor.cc +357 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor.h +96 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor_cpp2_test.py +58 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/extension_dict.cc +338 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/extension_dict.h +123 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/message.cc +2561 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/message.h +305 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/message_factory_cpp2_test.py +56 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/proto2_api_test.proto +38 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/python.proto +66 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/python_protobuf.h +57 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/reflection_cpp2_generated_test.py +94 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_composite_container.cc +763 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_composite_container.h +172 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_scalar_container.cc +825 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_scalar_container.h +112 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/scoped_pyobject_ptr.h +95 -0
- data/ext/protoc/protobuf/python/google/protobuf/reflection.py +205 -0
- data/ext/protoc/protobuf/python/google/protobuf/service.py +226 -0
- data/ext/protoc/protobuf/python/google/protobuf/service_reflection.py +284 -0
- data/ext/protoc/protobuf/python/google/protobuf/symbol_database.py +185 -0
- data/ext/protoc/protobuf/python/google/protobuf/text_encoding.py +110 -0
- data/ext/protoc/protobuf/python/google/protobuf/text_format.py +873 -0
- data/ext/protoc/protobuf/python/mox.py +1401 -0
- data/ext/protoc/protobuf/python/setup.py +201 -0
- data/ext/protoc/protobuf/python/stubout.py +140 -0
- data/ext/protoc/protobuf/src/Makefile.am +418 -0
- data/ext/protoc/protobuf/src/google/protobuf/SEBS +240 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/code_generator.cc +84 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/code_generator.h +145 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface.cc +1603 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface.h +378 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface_unittest.cc +1654 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc +158 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc +288 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.h +103 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc +431 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.h +122 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc +210 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.h +86 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc +166 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h +185 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc +665 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_file.h +99 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc +125 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h +72 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc +494 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.h +206 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc +2645 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message.h +175 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc +375 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.h +121 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h +58 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc +123 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc +451 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.h +123 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc +334 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_service.h +118 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc +642 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.h +127 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto +132 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc +2074 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.h +51 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/importer.cc +480 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/importer.h +317 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/importer_unittest.cc +617 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_context.cc +195 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_context.h +95 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc +233 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment.h +69 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment_unittest.cc +67 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum.cc +333 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum.h +99 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum_field.cc +778 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum_field.h +158 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_extension.cc +207 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_extension.h +109 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_field.cc +213 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_field.h +162 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_file.cc +534 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_file.h +115 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator.cc +158 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator.h +72 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc +77 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator_factory.h +101 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_helpers.cc +737 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_helpers.h +322 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.cc +826 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.h +121 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message.cc +1666 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message.h +140 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message_field.cc +1343 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message_field.h +173 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc +266 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_name_resolver.h +124 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_plugin_unittest.cc +124 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc +877 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_primitive_field.h +160 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_service.cc +473 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_service.h +135 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc +201 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.h +90 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_string_field.cc +1056 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_string_field.h +160 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/main.cc +61 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/mock_code_generator.cc +240 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/mock_code_generator.h +117 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/package_info.h +64 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/parser.cc +1750 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/parser.h +522 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/parser_unittest.cc +2612 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.cc +163 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.h +72 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.pb.cc +1148 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.pb.h +897 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.proto +147 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_generator.cc +1262 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_generator.h +166 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_plugin_unittest.cc +118 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/subprocess.cc +463 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/subprocess.h +108 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/test_plugin.cc +51 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_output_unittest.sh +91 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_writer.cc +218 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_writer.h +93 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.cc +5420 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.h +1691 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.pb.cc +9135 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.pb.h +6761 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.proto +687 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_database.cc +543 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_database.h +369 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_database_unittest.cc +748 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_pb2_test.py +54 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_unittest.cc +5501 -0
- data/ext/protoc/protobuf/src/google/protobuf/dynamic_message.cc +764 -0
- data/ext/protoc/protobuf/src/google/protobuf/dynamic_message.h +148 -0
- data/ext/protoc/protobuf/src/google/protobuf/dynamic_message_unittest.cc +230 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set.cc +1663 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set.h +1234 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set_heavy.cc +734 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set_unittest.cc +1095 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_enum_reflection.h +91 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection.cc +1683 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection.h +504 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection_unittest.cc +795 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_util.cc +65 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_util.h +113 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream.cc +914 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream.h +1220 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream_inl.h +69 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream_unittest.cc +1378 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream.cc +326 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream.h +209 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream_unittest.sh +44 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/package_info.h +54 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/printer.cc +198 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/printer.h +136 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/printer_unittest.cc +285 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/strtod.cc +113 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/strtod.h +50 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer.cc +1127 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer.h +402 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer_unittest.cc +999 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream.cc +57 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream.h +248 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +473 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h +358 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +405 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h +354 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_unittest.cc +965 -0
- data/ext/protoc/protobuf/src/google/protobuf/lite_unittest.cc +350 -0
- data/ext/protoc/protobuf/src/google/protobuf/message.cc +358 -0
- data/ext/protoc/protobuf/src/google/protobuf/message.h +866 -0
- data/ext/protoc/protobuf/src/google/protobuf/message_lite.cc +335 -0
- data/ext/protoc/protobuf/src/google/protobuf/message_lite.h +247 -0
- data/ext/protoc/protobuf/src/google/protobuf/message_unittest.cc +427 -0
- data/ext/protoc/protobuf/src/google/protobuf/package_info.h +64 -0
- data/ext/protoc/protobuf/src/google/protobuf/reflection_ops.cc +269 -0
- data/ext/protoc/protobuf/src/google/protobuf/reflection_ops.h +81 -0
- data/ext/protoc/protobuf/src/google/protobuf/reflection_ops_unittest.cc +475 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field.cc +87 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field.h +1603 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field_reflection_unittest.cc +195 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field_unittest.cc +1442 -0
- data/ext/protoc/protobuf/src/google/protobuf/service.cc +46 -0
- data/ext/protoc/protobuf/src/google/protobuf/service.h +291 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops.h +227 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm64_gcc.h +325 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h +151 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_qnx.h +146 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h +122 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +137 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_macosx.h +225 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_mips_gcc.h +313 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_pnacl.h +73 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_solaris.h +188 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_tsan.h +219 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc +137 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.h +293 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc +112 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.h +150 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/common.cc +395 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/common.h +1226 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/common_unittest.cc +357 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/hash.h +232 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/map_util.h +771 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/once.cc +99 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/once.h +166 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/once_unittest.cc +253 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/platform_macros.h +103 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/shared_ptr.h +470 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stl_util.h +121 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf.cc +175 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf.h +76 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf_unittest.cc +152 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/structurally_valid.cc +536 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/structurally_valid_unittest.cc +40 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil.cc +1279 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil.h +562 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil_unittest.cc +73 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/substitute.cc +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/substitute.h +170 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/template_util.h +138 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/template_util_unittest.cc +130 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/type_traits.h +336 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/type_traits_unittest.cc +628 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util.cc +3345 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util.h +215 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util_lite.cc +1585 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util_lite.h +101 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/bad_utf8_string +1 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_message +0 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_message_oneof_implemented +0 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_packed_fields_message +0 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt +129 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_pointy.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_pointy_oneof.txt +129 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_extensions_data.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_extensions_data_pointy.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/file.cc +194 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/file.h +97 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/googletest.cc +255 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/googletest.h +102 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/zcgunzip.cc +73 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/zcgzip.cc +79 -0
- data/ext/protoc/protobuf/src/google/protobuf/text_format.cc +1746 -0
- data/ext/protoc/protobuf/src/google/protobuf/text_format.h +473 -0
- data/ext/protoc/protobuf/src/google/protobuf/text_format_unittest.cc +1479 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest.proto +861 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_custom_options.proto +393 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_embed_optimize_for.proto +50 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_empty.proto +37 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_enormous_descriptor.proto +1046 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import.proto +64 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import_lite.proto +51 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import_public.proto +40 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import_public_lite.proto +42 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_lite.proto +384 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_lite_imports_nonlite.proto +43 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_mset.proto +83 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_no_generic_services.proto +53 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_optimize_for.proto +66 -0
- data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set.cc +265 -0
- data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set.h +318 -0
- data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set_unittest.cc +599 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format.cc +1101 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format.h +336 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite.cc +471 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite.h +661 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite_inl.h +860 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_unittest.cc +1120 -0
- data/ext/protoc/protobuf/src/solaris/libstdc++.la +51 -0
- data/ext/protoc/protobuf/vsprojects/config.h +29 -0
- data/ext/protoc/protobuf/vsprojects/convert2008to2005.sh +20 -0
- data/ext/protoc/protobuf/vsprojects/extract_includes.bat +50 -0
- data/ext/protoc/protobuf/vsprojects/libprotobuf-lite.vcproj +302 -0
- data/ext/protoc/protobuf/vsprojects/libprotobuf.vcproj +470 -0
- data/ext/protoc/protobuf/vsprojects/libprotoc.vcproj +466 -0
- data/ext/protoc/protobuf/vsprojects/lite-test.vcproj +305 -0
- data/ext/protoc/protobuf/vsprojects/protobuf.sln +92 -0
- data/ext/protoc/protobuf/vsprojects/protoc.vcproj +192 -0
- data/ext/protoc/protobuf/vsprojects/readme.txt +114 -0
- data/ext/protoc/protobuf/vsprojects/test_plugin.vcproj +209 -0
- data/ext/protoc/protobuf/vsprojects/tests.vcproj +681 -0
- data/lib/protoc/version.rb +1 -1
- metadata +480 -3
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Protocol Buffers - Google's data interchange format
|
|
2
|
+
# Copyright 2008 Google Inc. All rights reserved.
|
|
3
|
+
# https://developers.google.com/protocol-buffers/
|
|
4
|
+
#
|
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
|
6
|
+
# modification, are permitted provided that the following conditions are
|
|
7
|
+
# met:
|
|
8
|
+
#
|
|
9
|
+
# * Redistributions of source code must retain the above copyright
|
|
10
|
+
# notice, this list of conditions and the following disclaimer.
|
|
11
|
+
# * Redistributions in binary form must reproduce the above
|
|
12
|
+
# copyright notice, this list of conditions and the following disclaimer
|
|
13
|
+
# in the documentation and/or other materials provided with the
|
|
14
|
+
# distribution.
|
|
15
|
+
# * Neither the name of Google Inc. nor the names of its
|
|
16
|
+
# contributors may be used to endorse or promote products derived from
|
|
17
|
+
# this software without specific prior written permission.
|
|
18
|
+
#
|
|
19
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
20
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
21
|
+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
22
|
+
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
23
|
+
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
+
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
26
|
+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
27
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
28
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
|
|
31
|
+
"""A simple wrapper around enum types to expose utility functions.
|
|
32
|
+
|
|
33
|
+
Instances are created as properties with the same name as the enum they wrap
|
|
34
|
+
on proto classes. For usage, see:
|
|
35
|
+
reflection_test.py
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
__author__ = 'rabsatt@google.com (Kevin Rabsatt)'
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class EnumTypeWrapper(object):
|
|
42
|
+
"""A utility for finding the names of enum values."""
|
|
43
|
+
|
|
44
|
+
DESCRIPTOR = None
|
|
45
|
+
|
|
46
|
+
def __init__(self, enum_type):
|
|
47
|
+
"""Inits EnumTypeWrapper with an EnumDescriptor."""
|
|
48
|
+
self._enum_type = enum_type
|
|
49
|
+
self.DESCRIPTOR = enum_type;
|
|
50
|
+
|
|
51
|
+
def Name(self, number):
|
|
52
|
+
"""Returns a string containing the name of an enum value."""
|
|
53
|
+
if number in self._enum_type.values_by_number:
|
|
54
|
+
return self._enum_type.values_by_number[number].name
|
|
55
|
+
raise ValueError('Enum %s has no name defined for value %d' % (
|
|
56
|
+
self._enum_type.name, number))
|
|
57
|
+
|
|
58
|
+
def Value(self, name):
|
|
59
|
+
"""Returns the value coresponding to the given enum name."""
|
|
60
|
+
if name in self._enum_type.values_by_name:
|
|
61
|
+
return self._enum_type.values_by_name[name].number
|
|
62
|
+
raise ValueError('Enum %s has no value defined for name %s' % (
|
|
63
|
+
self._enum_type.name, name))
|
|
64
|
+
|
|
65
|
+
def keys(self):
|
|
66
|
+
"""Return a list of the string names in the enum.
|
|
67
|
+
|
|
68
|
+
These are returned in the order they were defined in the .proto file.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
return [value_descriptor.name
|
|
72
|
+
for value_descriptor in self._enum_type.values]
|
|
73
|
+
|
|
74
|
+
def values(self):
|
|
75
|
+
"""Return a list of the integer values in the enum.
|
|
76
|
+
|
|
77
|
+
These are returned in the order they were defined in the .proto file.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
return [value_descriptor.number
|
|
81
|
+
for value_descriptor in self._enum_type.values]
|
|
82
|
+
|
|
83
|
+
def items(self):
|
|
84
|
+
"""Return a list of the (name, value) pairs of the enum.
|
|
85
|
+
|
|
86
|
+
These are returned in the order they were defined in the .proto file.
|
|
87
|
+
"""
|
|
88
|
+
return [(value_descriptor.name, value_descriptor.number)
|
|
89
|
+
for value_descriptor in self._enum_type.values]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Protocol Buffers - Google's data interchange format
|
|
2
|
+
// Copyright 2008 Google Inc. All rights reserved.
|
|
3
|
+
// https://developers.google.com/protocol-buffers/
|
|
4
|
+
//
|
|
5
|
+
// Redistribution and use in source and binary forms, with or without
|
|
6
|
+
// modification, are permitted provided that the following conditions are
|
|
7
|
+
// met:
|
|
8
|
+
//
|
|
9
|
+
// * Redistributions of source code must retain the above copyright
|
|
10
|
+
// notice, this list of conditions and the following disclaimer.
|
|
11
|
+
// * Redistributions in binary form must reproduce the above
|
|
12
|
+
// copyright notice, this list of conditions and the following disclaimer
|
|
13
|
+
// in the documentation and/or other materials provided with the
|
|
14
|
+
// distribution.
|
|
15
|
+
// * Neither the name of Google Inc. nor the names of its
|
|
16
|
+
// contributors may be used to endorse or promote products derived from
|
|
17
|
+
// this software without specific prior written permission.
|
|
18
|
+
//
|
|
19
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
20
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
21
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
22
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
23
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
26
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
27
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
28
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
|
|
31
|
+
// Author: matthewtoia@google.com (Matt Toia)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
package google.protobuf.python.internal;
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
enum Factory1Enum {
|
|
38
|
+
FACTORY_1_VALUE_0 = 0;
|
|
39
|
+
FACTORY_1_VALUE_1 = 1;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
message Factory1Message {
|
|
43
|
+
optional Factory1Enum factory_1_enum = 1;
|
|
44
|
+
enum NestedFactory1Enum {
|
|
45
|
+
NESTED_FACTORY_1_VALUE_0 = 0;
|
|
46
|
+
NESTED_FACTORY_1_VALUE_1 = 1;
|
|
47
|
+
}
|
|
48
|
+
optional NestedFactory1Enum nested_factory_1_enum = 2;
|
|
49
|
+
message NestedFactory1Message {
|
|
50
|
+
optional string value = 1;
|
|
51
|
+
}
|
|
52
|
+
optional NestedFactory1Message nested_factory_1_message = 3;
|
|
53
|
+
optional int32 scalar_value = 4;
|
|
54
|
+
repeated string list_value = 5;
|
|
55
|
+
|
|
56
|
+
extensions 1000 to max;
|
|
57
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Protocol Buffers - Google's data interchange format
|
|
2
|
+
// Copyright 2008 Google Inc. All rights reserved.
|
|
3
|
+
// https://developers.google.com/protocol-buffers/
|
|
4
|
+
//
|
|
5
|
+
// Redistribution and use in source and binary forms, with or without
|
|
6
|
+
// modification, are permitted provided that the following conditions are
|
|
7
|
+
// met:
|
|
8
|
+
//
|
|
9
|
+
// * Redistributions of source code must retain the above copyright
|
|
10
|
+
// notice, this list of conditions and the following disclaimer.
|
|
11
|
+
// * Redistributions in binary form must reproduce the above
|
|
12
|
+
// copyright notice, this list of conditions and the following disclaimer
|
|
13
|
+
// in the documentation and/or other materials provided with the
|
|
14
|
+
// distribution.
|
|
15
|
+
// * Neither the name of Google Inc. nor the names of its
|
|
16
|
+
// contributors may be used to endorse or promote products derived from
|
|
17
|
+
// this software without specific prior written permission.
|
|
18
|
+
//
|
|
19
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
20
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
21
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
22
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
23
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
26
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
27
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
28
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
|
|
31
|
+
// Author: matthewtoia@google.com (Matt Toia)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
package google.protobuf.python.internal;
|
|
35
|
+
|
|
36
|
+
import "google/protobuf/internal/factory_test1.proto";
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
enum Factory2Enum {
|
|
40
|
+
FACTORY_2_VALUE_0 = 0;
|
|
41
|
+
FACTORY_2_VALUE_1 = 1;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
message Factory2Message {
|
|
45
|
+
required int32 mandatory = 1;
|
|
46
|
+
optional Factory2Enum factory_2_enum = 2;
|
|
47
|
+
enum NestedFactory2Enum {
|
|
48
|
+
NESTED_FACTORY_2_VALUE_0 = 0;
|
|
49
|
+
NESTED_FACTORY_2_VALUE_1 = 1;
|
|
50
|
+
}
|
|
51
|
+
optional NestedFactory2Enum nested_factory_2_enum = 3;
|
|
52
|
+
message NestedFactory2Message {
|
|
53
|
+
optional string value = 1;
|
|
54
|
+
}
|
|
55
|
+
optional NestedFactory2Message nested_factory_2_message = 4;
|
|
56
|
+
optional Factory1Message factory_1_message = 5;
|
|
57
|
+
optional Factory1Enum factory_1_enum = 6;
|
|
58
|
+
optional Factory1Message.NestedFactory1Enum nested_factory_1_enum = 7;
|
|
59
|
+
optional Factory1Message.NestedFactory1Message nested_factory_1_message = 8;
|
|
60
|
+
optional Factory2Message circular_message = 9;
|
|
61
|
+
optional string scalar_value = 10;
|
|
62
|
+
repeated string list_value = 11;
|
|
63
|
+
repeated group Grouped = 12 {
|
|
64
|
+
optional string part_1 = 13;
|
|
65
|
+
optional string part_2 = 14;
|
|
66
|
+
}
|
|
67
|
+
optional LoopMessage loop = 15;
|
|
68
|
+
optional int32 int_with_default = 16 [default = 1776];
|
|
69
|
+
optional double double_with_default = 17 [default = 9.99];
|
|
70
|
+
optional string string_with_default = 18 [default = "hello world"];
|
|
71
|
+
optional bool bool_with_default = 19 [default = false];
|
|
72
|
+
optional Factory2Enum enum_with_default = 20 [default = FACTORY_2_VALUE_1];
|
|
73
|
+
optional bytes bytes_with_default = 21 [default = "a\373\000c"];
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
extend Factory1Message {
|
|
77
|
+
optional string one_more_field = 1001;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
oneof oneof_field {
|
|
81
|
+
int32 oneof_int = 22;
|
|
82
|
+
string oneof_string = 23;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
message LoopMessage {
|
|
87
|
+
optional Factory2Message loop = 1;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
extend Factory1Message {
|
|
91
|
+
optional string another_field = 1002;
|
|
92
|
+
}
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
#! /usr/bin/python
|
|
2
|
+
#
|
|
3
|
+
# Protocol Buffers - Google's data interchange format
|
|
4
|
+
# Copyright 2008 Google Inc. All rights reserved.
|
|
5
|
+
# https://developers.google.com/protocol-buffers/
|
|
6
|
+
#
|
|
7
|
+
# Redistribution and use in source and binary forms, with or without
|
|
8
|
+
# modification, are permitted provided that the following conditions are
|
|
9
|
+
# met:
|
|
10
|
+
#
|
|
11
|
+
# * Redistributions of source code must retain the above copyright
|
|
12
|
+
# notice, this list of conditions and the following disclaimer.
|
|
13
|
+
# * Redistributions in binary form must reproduce the above
|
|
14
|
+
# copyright notice, this list of conditions and the following disclaimer
|
|
15
|
+
# in the documentation and/or other materials provided with the
|
|
16
|
+
# distribution.
|
|
17
|
+
# * Neither the name of Google Inc. nor the names of its
|
|
18
|
+
# contributors may be used to endorse or promote products derived from
|
|
19
|
+
# this software without specific prior written permission.
|
|
20
|
+
#
|
|
21
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
22
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
23
|
+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
24
|
+
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
25
|
+
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
26
|
+
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
27
|
+
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
28
|
+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
29
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
30
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
31
|
+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
32
|
+
|
|
33
|
+
# TODO(robinson): Flesh this out considerably. We focused on reflection_test.py
|
|
34
|
+
# first, since it's testing the subtler code, and since it provides decent
|
|
35
|
+
# indirect testing of the protocol compiler output.
|
|
36
|
+
|
|
37
|
+
"""Unittest that directly tests the output of the pure-Python protocol
|
|
38
|
+
compiler. See //google/protobuf/reflection_test.py for a test which
|
|
39
|
+
further ensures that we can use Python protocol message objects as we expect.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
__author__ = 'robinson@google.com (Will Robinson)'
|
|
43
|
+
|
|
44
|
+
from google.apputils import basetest
|
|
45
|
+
from google.protobuf.internal import test_bad_identifiers_pb2
|
|
46
|
+
from google.protobuf import unittest_custom_options_pb2
|
|
47
|
+
from google.protobuf import unittest_import_pb2
|
|
48
|
+
from google.protobuf import unittest_import_public_pb2
|
|
49
|
+
from google.protobuf import unittest_mset_pb2
|
|
50
|
+
from google.protobuf import unittest_no_generic_services_pb2
|
|
51
|
+
from google.protobuf import unittest_pb2
|
|
52
|
+
from google.protobuf import service
|
|
53
|
+
from google.protobuf import symbol_database
|
|
54
|
+
|
|
55
|
+
MAX_EXTENSION = 536870912
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class GeneratorTest(basetest.TestCase):
|
|
59
|
+
|
|
60
|
+
def testNestedMessageDescriptor(self):
|
|
61
|
+
field_name = 'optional_nested_message'
|
|
62
|
+
proto_type = unittest_pb2.TestAllTypes
|
|
63
|
+
self.assertEqual(
|
|
64
|
+
proto_type.NestedMessage.DESCRIPTOR,
|
|
65
|
+
proto_type.DESCRIPTOR.fields_by_name[field_name].message_type)
|
|
66
|
+
|
|
67
|
+
def testEnums(self):
|
|
68
|
+
# We test only module-level enums here.
|
|
69
|
+
# TODO(robinson): Examine descriptors directly to check
|
|
70
|
+
# enum descriptor output.
|
|
71
|
+
self.assertEqual(4, unittest_pb2.FOREIGN_FOO)
|
|
72
|
+
self.assertEqual(5, unittest_pb2.FOREIGN_BAR)
|
|
73
|
+
self.assertEqual(6, unittest_pb2.FOREIGN_BAZ)
|
|
74
|
+
|
|
75
|
+
proto = unittest_pb2.TestAllTypes()
|
|
76
|
+
self.assertEqual(1, proto.FOO)
|
|
77
|
+
self.assertEqual(1, unittest_pb2.TestAllTypes.FOO)
|
|
78
|
+
self.assertEqual(2, proto.BAR)
|
|
79
|
+
self.assertEqual(2, unittest_pb2.TestAllTypes.BAR)
|
|
80
|
+
self.assertEqual(3, proto.BAZ)
|
|
81
|
+
self.assertEqual(3, unittest_pb2.TestAllTypes.BAZ)
|
|
82
|
+
|
|
83
|
+
def testExtremeDefaultValues(self):
|
|
84
|
+
message = unittest_pb2.TestExtremeDefaultValues()
|
|
85
|
+
|
|
86
|
+
# Python pre-2.6 does not have isinf() or isnan() functions, so we have
|
|
87
|
+
# to provide our own.
|
|
88
|
+
def isnan(val):
|
|
89
|
+
# NaN is never equal to itself.
|
|
90
|
+
return val != val
|
|
91
|
+
def isinf(val):
|
|
92
|
+
# Infinity times zero equals NaN.
|
|
93
|
+
return not isnan(val) and isnan(val * 0)
|
|
94
|
+
|
|
95
|
+
self.assertTrue(isinf(message.inf_double))
|
|
96
|
+
self.assertTrue(message.inf_double > 0)
|
|
97
|
+
self.assertTrue(isinf(message.neg_inf_double))
|
|
98
|
+
self.assertTrue(message.neg_inf_double < 0)
|
|
99
|
+
self.assertTrue(isnan(message.nan_double))
|
|
100
|
+
|
|
101
|
+
self.assertTrue(isinf(message.inf_float))
|
|
102
|
+
self.assertTrue(message.inf_float > 0)
|
|
103
|
+
self.assertTrue(isinf(message.neg_inf_float))
|
|
104
|
+
self.assertTrue(message.neg_inf_float < 0)
|
|
105
|
+
self.assertTrue(isnan(message.nan_float))
|
|
106
|
+
self.assertEqual("? ? ?? ?? ??? ??/ ??-", message.cpp_trigraph)
|
|
107
|
+
|
|
108
|
+
def testHasDefaultValues(self):
|
|
109
|
+
desc = unittest_pb2.TestAllTypes.DESCRIPTOR
|
|
110
|
+
|
|
111
|
+
expected_has_default_by_name = {
|
|
112
|
+
'optional_int32': False,
|
|
113
|
+
'repeated_int32': False,
|
|
114
|
+
'optional_nested_message': False,
|
|
115
|
+
'default_int32': True,
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
has_default_by_name = dict(
|
|
119
|
+
[(f.name, f.has_default_value)
|
|
120
|
+
for f in desc.fields
|
|
121
|
+
if f.name in expected_has_default_by_name])
|
|
122
|
+
self.assertEqual(expected_has_default_by_name, has_default_by_name)
|
|
123
|
+
|
|
124
|
+
def testContainingTypeBehaviorForExtensions(self):
|
|
125
|
+
self.assertEqual(unittest_pb2.optional_int32_extension.containing_type,
|
|
126
|
+
unittest_pb2.TestAllExtensions.DESCRIPTOR)
|
|
127
|
+
self.assertEqual(unittest_pb2.TestRequired.single.containing_type,
|
|
128
|
+
unittest_pb2.TestAllExtensions.DESCRIPTOR)
|
|
129
|
+
|
|
130
|
+
def testExtensionScope(self):
|
|
131
|
+
self.assertEqual(unittest_pb2.optional_int32_extension.extension_scope,
|
|
132
|
+
None)
|
|
133
|
+
self.assertEqual(unittest_pb2.TestRequired.single.extension_scope,
|
|
134
|
+
unittest_pb2.TestRequired.DESCRIPTOR)
|
|
135
|
+
|
|
136
|
+
def testIsExtension(self):
|
|
137
|
+
self.assertTrue(unittest_pb2.optional_int32_extension.is_extension)
|
|
138
|
+
self.assertTrue(unittest_pb2.TestRequired.single.is_extension)
|
|
139
|
+
|
|
140
|
+
message_descriptor = unittest_pb2.TestRequired.DESCRIPTOR
|
|
141
|
+
non_extension_descriptor = message_descriptor.fields_by_name['a']
|
|
142
|
+
self.assertTrue(not non_extension_descriptor.is_extension)
|
|
143
|
+
|
|
144
|
+
def testOptions(self):
|
|
145
|
+
proto = unittest_mset_pb2.TestMessageSet()
|
|
146
|
+
self.assertTrue(proto.DESCRIPTOR.GetOptions().message_set_wire_format)
|
|
147
|
+
|
|
148
|
+
def testMessageWithCustomOptions(self):
|
|
149
|
+
proto = unittest_custom_options_pb2.TestMessageWithCustomOptions()
|
|
150
|
+
enum_options = proto.DESCRIPTOR.enum_types_by_name['AnEnum'].GetOptions()
|
|
151
|
+
self.assertTrue(enum_options is not None)
|
|
152
|
+
# TODO(gps): We really should test for the presense of the enum_opt1
|
|
153
|
+
# extension and for its value to be set to -789.
|
|
154
|
+
|
|
155
|
+
def testNestedTypes(self):
|
|
156
|
+
self.assertEquals(
|
|
157
|
+
set(unittest_pb2.TestAllTypes.DESCRIPTOR.nested_types),
|
|
158
|
+
set([
|
|
159
|
+
unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR,
|
|
160
|
+
unittest_pb2.TestAllTypes.OptionalGroup.DESCRIPTOR,
|
|
161
|
+
unittest_pb2.TestAllTypes.RepeatedGroup.DESCRIPTOR,
|
|
162
|
+
]))
|
|
163
|
+
self.assertEqual(unittest_pb2.TestEmptyMessage.DESCRIPTOR.nested_types, [])
|
|
164
|
+
self.assertEqual(
|
|
165
|
+
unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR.nested_types, [])
|
|
166
|
+
|
|
167
|
+
def testContainingType(self):
|
|
168
|
+
self.assertTrue(
|
|
169
|
+
unittest_pb2.TestEmptyMessage.DESCRIPTOR.containing_type is None)
|
|
170
|
+
self.assertTrue(
|
|
171
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR.containing_type is None)
|
|
172
|
+
self.assertEqual(
|
|
173
|
+
unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR.containing_type,
|
|
174
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR)
|
|
175
|
+
self.assertEqual(
|
|
176
|
+
unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR.containing_type,
|
|
177
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR)
|
|
178
|
+
self.assertEqual(
|
|
179
|
+
unittest_pb2.TestAllTypes.RepeatedGroup.DESCRIPTOR.containing_type,
|
|
180
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR)
|
|
181
|
+
|
|
182
|
+
def testContainingTypeInEnumDescriptor(self):
|
|
183
|
+
self.assertTrue(unittest_pb2._FOREIGNENUM.containing_type is None)
|
|
184
|
+
self.assertEqual(unittest_pb2._TESTALLTYPES_NESTEDENUM.containing_type,
|
|
185
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR)
|
|
186
|
+
|
|
187
|
+
def testPackage(self):
|
|
188
|
+
self.assertEqual(
|
|
189
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR.file.package,
|
|
190
|
+
'protobuf_unittest')
|
|
191
|
+
desc = unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR
|
|
192
|
+
self.assertEqual(desc.file.package, 'protobuf_unittest')
|
|
193
|
+
self.assertEqual(
|
|
194
|
+
unittest_import_pb2.ImportMessage.DESCRIPTOR.file.package,
|
|
195
|
+
'protobuf_unittest_import')
|
|
196
|
+
|
|
197
|
+
self.assertEqual(
|
|
198
|
+
unittest_pb2._FOREIGNENUM.file.package, 'protobuf_unittest')
|
|
199
|
+
self.assertEqual(
|
|
200
|
+
unittest_pb2._TESTALLTYPES_NESTEDENUM.file.package,
|
|
201
|
+
'protobuf_unittest')
|
|
202
|
+
self.assertEqual(
|
|
203
|
+
unittest_import_pb2._IMPORTENUM.file.package,
|
|
204
|
+
'protobuf_unittest_import')
|
|
205
|
+
|
|
206
|
+
def testExtensionRange(self):
|
|
207
|
+
self.assertEqual(
|
|
208
|
+
unittest_pb2.TestAllTypes.DESCRIPTOR.extension_ranges, [])
|
|
209
|
+
self.assertEqual(
|
|
210
|
+
unittest_pb2.TestAllExtensions.DESCRIPTOR.extension_ranges,
|
|
211
|
+
[(1, MAX_EXTENSION)])
|
|
212
|
+
self.assertEqual(
|
|
213
|
+
unittest_pb2.TestMultipleExtensionRanges.DESCRIPTOR.extension_ranges,
|
|
214
|
+
[(42, 43), (4143, 4244), (65536, MAX_EXTENSION)])
|
|
215
|
+
|
|
216
|
+
def testFileDescriptor(self):
|
|
217
|
+
self.assertEqual(unittest_pb2.DESCRIPTOR.name,
|
|
218
|
+
'google/protobuf/unittest.proto')
|
|
219
|
+
self.assertEqual(unittest_pb2.DESCRIPTOR.package, 'protobuf_unittest')
|
|
220
|
+
self.assertFalse(unittest_pb2.DESCRIPTOR.serialized_pb is None)
|
|
221
|
+
self.assertEqual(unittest_pb2.DESCRIPTOR.dependencies,
|
|
222
|
+
[unittest_import_pb2.DESCRIPTOR])
|
|
223
|
+
self.assertEqual(unittest_import_pb2.DESCRIPTOR.dependencies,
|
|
224
|
+
[unittest_import_public_pb2.DESCRIPTOR])
|
|
225
|
+
|
|
226
|
+
def testNoGenericServices(self):
|
|
227
|
+
self.assertTrue(hasattr(unittest_no_generic_services_pb2, "TestMessage"))
|
|
228
|
+
self.assertTrue(hasattr(unittest_no_generic_services_pb2, "FOO"))
|
|
229
|
+
self.assertTrue(hasattr(unittest_no_generic_services_pb2, "test_extension"))
|
|
230
|
+
|
|
231
|
+
# Make sure unittest_no_generic_services_pb2 has no services subclassing
|
|
232
|
+
# Proto2 Service class.
|
|
233
|
+
if hasattr(unittest_no_generic_services_pb2, "TestService"):
|
|
234
|
+
self.assertFalse(issubclass(unittest_no_generic_services_pb2.TestService,
|
|
235
|
+
service.Service))
|
|
236
|
+
|
|
237
|
+
def testMessageTypesByName(self):
|
|
238
|
+
file_type = unittest_pb2.DESCRIPTOR
|
|
239
|
+
self.assertEqual(
|
|
240
|
+
unittest_pb2._TESTALLTYPES,
|
|
241
|
+
file_type.message_types_by_name[unittest_pb2._TESTALLTYPES.name])
|
|
242
|
+
|
|
243
|
+
# Nested messages shouldn't be included in the message_types_by_name
|
|
244
|
+
# dictionary (like in the C++ API).
|
|
245
|
+
self.assertFalse(
|
|
246
|
+
unittest_pb2._TESTALLTYPES_NESTEDMESSAGE.name in
|
|
247
|
+
file_type.message_types_by_name)
|
|
248
|
+
|
|
249
|
+
def testEnumTypesByName(self):
|
|
250
|
+
file_type = unittest_pb2.DESCRIPTOR
|
|
251
|
+
self.assertEqual(
|
|
252
|
+
unittest_pb2._FOREIGNENUM,
|
|
253
|
+
file_type.enum_types_by_name[unittest_pb2._FOREIGNENUM.name])
|
|
254
|
+
|
|
255
|
+
def testExtensionsByName(self):
|
|
256
|
+
file_type = unittest_pb2.DESCRIPTOR
|
|
257
|
+
self.assertEqual(
|
|
258
|
+
unittest_pb2.my_extension_string,
|
|
259
|
+
file_type.extensions_by_name[unittest_pb2.my_extension_string.name])
|
|
260
|
+
|
|
261
|
+
def testPublicImports(self):
|
|
262
|
+
# Test public imports as embedded message.
|
|
263
|
+
all_type_proto = unittest_pb2.TestAllTypes()
|
|
264
|
+
self.assertEqual(0, all_type_proto.optional_public_import_message.e)
|
|
265
|
+
|
|
266
|
+
# PublicImportMessage is actually defined in unittest_import_public_pb2
|
|
267
|
+
# module, and is public imported by unittest_import_pb2 module.
|
|
268
|
+
public_import_proto = unittest_import_pb2.PublicImportMessage()
|
|
269
|
+
self.assertEqual(0, public_import_proto.e)
|
|
270
|
+
self.assertTrue(unittest_import_public_pb2.PublicImportMessage is
|
|
271
|
+
unittest_import_pb2.PublicImportMessage)
|
|
272
|
+
|
|
273
|
+
def testBadIdentifiers(self):
|
|
274
|
+
# We're just testing that the code was imported without problems.
|
|
275
|
+
message = test_bad_identifiers_pb2.TestBadIdentifiers()
|
|
276
|
+
self.assertEqual(message.Extensions[test_bad_identifiers_pb2.message],
|
|
277
|
+
"foo")
|
|
278
|
+
self.assertEqual(message.Extensions[test_bad_identifiers_pb2.descriptor],
|
|
279
|
+
"bar")
|
|
280
|
+
self.assertEqual(message.Extensions[test_bad_identifiers_pb2.reflection],
|
|
281
|
+
"baz")
|
|
282
|
+
self.assertEqual(message.Extensions[test_bad_identifiers_pb2.service],
|
|
283
|
+
"qux")
|
|
284
|
+
|
|
285
|
+
def testOneof(self):
|
|
286
|
+
desc = unittest_pb2.TestAllTypes.DESCRIPTOR
|
|
287
|
+
self.assertEqual(1, len(desc.oneofs))
|
|
288
|
+
self.assertEqual('oneof_field', desc.oneofs[0].name)
|
|
289
|
+
self.assertEqual(0, desc.oneofs[0].index)
|
|
290
|
+
self.assertIs(desc, desc.oneofs[0].containing_type)
|
|
291
|
+
self.assertIs(desc.oneofs[0], desc.oneofs_by_name['oneof_field'])
|
|
292
|
+
nested_names = set(['oneof_uint32', 'oneof_nested_message',
|
|
293
|
+
'oneof_string', 'oneof_bytes'])
|
|
294
|
+
self.assertSameElements(
|
|
295
|
+
nested_names,
|
|
296
|
+
[field.name for field in desc.oneofs[0].fields])
|
|
297
|
+
for field_name, field_desc in desc.fields_by_name.iteritems():
|
|
298
|
+
if field_name in nested_names:
|
|
299
|
+
self.assertIs(desc.oneofs[0], field_desc.containing_oneof)
|
|
300
|
+
else:
|
|
301
|
+
self.assertIsNone(field_desc.containing_oneof)
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
class SymbolDatabaseRegistrationTest(basetest.TestCase):
|
|
305
|
+
"""Checks that messages, enums and files are correctly registered."""
|
|
306
|
+
|
|
307
|
+
def testGetSymbol(self):
|
|
308
|
+
self.assertEquals(
|
|
309
|
+
unittest_pb2.TestAllTypes, symbol_database.Default().GetSymbol(
|
|
310
|
+
'protobuf_unittest.TestAllTypes'))
|
|
311
|
+
self.assertEquals(
|
|
312
|
+
unittest_pb2.TestAllTypes.NestedMessage,
|
|
313
|
+
symbol_database.Default().GetSymbol(
|
|
314
|
+
'protobuf_unittest.TestAllTypes.NestedMessage'))
|
|
315
|
+
with self.assertRaises(KeyError):
|
|
316
|
+
symbol_database.Default().GetSymbol('protobuf_unittest.NestedMessage')
|
|
317
|
+
self.assertEquals(
|
|
318
|
+
unittest_pb2.TestAllTypes.OptionalGroup,
|
|
319
|
+
symbol_database.Default().GetSymbol(
|
|
320
|
+
'protobuf_unittest.TestAllTypes.OptionalGroup'))
|
|
321
|
+
self.assertEquals(
|
|
322
|
+
unittest_pb2.TestAllTypes.RepeatedGroup,
|
|
323
|
+
symbol_database.Default().GetSymbol(
|
|
324
|
+
'protobuf_unittest.TestAllTypes.RepeatedGroup'))
|
|
325
|
+
|
|
326
|
+
def testEnums(self):
|
|
327
|
+
self.assertEquals(
|
|
328
|
+
'protobuf_unittest.ForeignEnum',
|
|
329
|
+
symbol_database.Default().pool.FindEnumTypeByName(
|
|
330
|
+
'protobuf_unittest.ForeignEnum').full_name)
|
|
331
|
+
self.assertEquals(
|
|
332
|
+
'protobuf_unittest.TestAllTypes.NestedEnum',
|
|
333
|
+
symbol_database.Default().pool.FindEnumTypeByName(
|
|
334
|
+
'protobuf_unittest.TestAllTypes.NestedEnum').full_name)
|
|
335
|
+
|
|
336
|
+
def testFindFileByName(self):
|
|
337
|
+
self.assertEquals(
|
|
338
|
+
'google/protobuf/unittest.proto',
|
|
339
|
+
symbol_database.Default().pool.FindFileByName(
|
|
340
|
+
'google/protobuf/unittest.proto').name)
|
|
341
|
+
|
|
342
|
+
if __name__ == '__main__':
|
|
343
|
+
basetest.main()
|