ruby_memprofiler_pprof 0.0.1
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 +7 -0
- data/ext/ruby_memprofiler_pprof/backtrace.c +429 -0
- data/ext/ruby_memprofiler_pprof/collector.c +1055 -0
- data/ext/ruby_memprofiler_pprof/compat.c +182 -0
- data/ext/ruby_memprofiler_pprof/extconf.rb +72 -0
- data/ext/ruby_memprofiler_pprof/pprof.upb.c +170 -0
- data/ext/ruby_memprofiler_pprof/pprof.upb.h +848 -0
- data/ext/ruby_memprofiler_pprof/pprof_out.c +285 -0
- data/ext/ruby_memprofiler_pprof/ruby_memprofiler_pprof.c +11 -0
- data/ext/ruby_memprofiler_pprof/ruby_memprofiler_pprof.h +301 -0
- data/ext/ruby_memprofiler_pprof/strtab.c +391 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/BUILD +719 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/CONTRIBUTING.md +37 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/DESIGN.md +201 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/LICENSE +26 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/README.md +78 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/WORKSPACE +58 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/BUILD +53 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/amalgamate.py +129 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/build_defs.bzl +160 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/lua.BUILD +127 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/protobuf.patch +54 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/py_proto_library.bzl +137 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/python_downloads.bzl +84 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/system_python.bzl +101 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/upb_proto_library.bzl +388 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/bazel/workspace_deps.bzl +89 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/BUILD +252 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/BUILD.googleapis +54 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/benchmark.cc +333 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/build_defs.bzl +88 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/compare.py +118 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/descriptor.proto +888 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/descriptor_sv.proto +890 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/empty.proto +6 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/gen_protobuf_binary_cc.py +64 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/gen_synthetic_protos.py +118 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/benchmarks/gen_upb_binary_c.py +65 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/cmake/BUILD.bazel +102 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/cmake/README.md +23 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/cmake/build_defs.bzl +73 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/cmake/make_cmakelists.py +340 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/cmake/staleness_test.py +57 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/cmake/staleness_test_lib.py +186 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/docs/render.py +43 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/docs/style-guide.md +65 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/docs/vs-cpp-protos.md +255 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/docs/wrapping-upb.md +444 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/BUILD +216 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/convert.c +394 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/convert.h +63 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/descriptor.c +1694 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/descriptor.h +80 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/descriptor_containers.c +704 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/descriptor_containers.h +114 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/descriptor_pool.c +650 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/descriptor_pool.h +48 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/dist/BUILD.bazel +193 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/dist/dist.bzl +190 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/extension_dict.c +247 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/extension_dict.h +39 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/map.c +522 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/map.h +66 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/message.c +1909 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/message.h +101 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/minimal_test.py +183 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/BUILD +70 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/README.md +11 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/descriptor_database_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/descriptor_pool_test_wrapper.py +45 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/descriptor_test_wrapper.py +46 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/generator_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/json_format_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/keywords_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/message_factory_test_wrapper.py +37 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/message_test_wrapper.py +52 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/proto_builder_test_wrapper.py +32 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/pyproto_test_wrapper.bzl +36 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/reflection_test_wrapper.py +45 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/service_reflection_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/symbol_database_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/text_encoding_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/text_format_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/unknown_fields_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/well_known_types_test_wrapper.py +36 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/wire_format_test_wrapper.py +30 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/protobuf.c +350 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/protobuf.h +230 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/py_extension.bzl +55 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/python_api.h +61 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/repeated.c +828 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/repeated.h +69 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/unknown_fields.c +404 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/unknown_fields.h +39 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/python/version_script.lds +6 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/lunit/LICENSE +32 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/lunit/README.google +9 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/lunit/console.lua +156 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/lunit/lunit.lua +725 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/utf8_range/BUILD +19 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/utf8_range/LICENSE +21 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/utf8_range/naive.c +92 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/utf8_range/range2-neon.c +157 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/utf8_range/range2-sse.c +170 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/third_party/utf8_range/utf8_range.h +9 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/BUILD.bazel +129 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/README.md +8 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/def.c +939 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/lua_proto_library.bzl +138 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/main.c +83 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/msg.c +1118 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/test.proto +69 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/test_upb.lua +846 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/upb.c +258 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/upb.h +132 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/upb.lua +58 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/bindings/lua/upbc.cc +134 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/collections.c +192 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/collections.h +174 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/conformance_upb.c +346 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/conformance_upb_failures.txt +1 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/decode.c +1221 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/decode.h +94 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/decode_fast.c +1055 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/decode_fast.h +153 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/decode_internal.h +211 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/def.c +3262 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/def.h +414 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/def.hpp +438 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/empty.proto +1 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/encode.c +604 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/encode.h +71 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/fuzz/BUILD +13 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/fuzz/file_descriptor_parsenew_fuzzer.cc +43 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/json_decode.c +1509 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/json_decode.h +47 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/json_encode.c +776 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/json_encode.h +62 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table.c +1147 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table.h +189 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table.hpp +112 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table_accessors.c +363 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table_accessors.h +263 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table_accessors_internal.h +59 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table_accessors_test.cc +425 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/mini_table_test.cc +230 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/msg.c +428 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/msg.h +114 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/msg_internal.h +836 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/msg_test.cc +491 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/msg_test.proto +195 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/port_def.inc +261 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/port_undef.inc +62 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/reflection.c +323 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/reflection.h +109 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/reflection.hpp +37 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/table.c +926 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/table_internal.h +385 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/test.proto +74 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/test_cpp.cc +186 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/test_cpp.proto +12 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/test_generated_code.cc +977 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/test_table.cc +580 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/text_encode.c +472 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/text_encode.h +64 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/upb.c +362 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/upb.h +378 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/upb.hpp +115 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/upb_internal.h +68 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/BUILD +121 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/README.md +7 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/compare.c +300 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/compare.h +66 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/compare_test.cc +236 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto.c +572 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto.h +62 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto_public_import_test.proto +32 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto_regular_import_test.proto +36 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto_test.cc +143 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto_test.proto +119 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto_weak_import_test.proto +28 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/def_to_proto_wweak_import_test.proto +28 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/required_fields.c +311 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/required_fields.h +94 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/required_fields_test.cc +202 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upb/util/required_fields_test.proto +48 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upbc/BUILD +78 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upbc/common.cc +77 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upbc/common.h +112 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upbc/protoc-gen-upb.cc +1997 -0
- data/ext/ruby_memprofiler_pprof/vendor/upb/upbc/protoc-gen-upbdefs.cc +193 -0
- data/lib/ruby_memprofiler_pprof/atfork.rb +77 -0
- data/lib/ruby_memprofiler_pprof/block_flusher.rb +61 -0
- data/lib/ruby_memprofiler_pprof/file_flusher.rb +45 -0
- data/lib/ruby_memprofiler_pprof/profile_app.rb +30 -0
- data/lib/ruby_memprofiler_pprof/profile_data.rb +18 -0
- data/lib/ruby_memprofiler_pprof/version.rb +5 -0
- data/lib/ruby_memprofiler_pprof.rb +8 -0
- data/libexec/ruby_memprofiler_pprof_profile +16 -0
- metadata +257 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2009-2021, Google LLC
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions are met:
|
|
7
|
+
* * Redistributions of source code must retain the above copyright
|
|
8
|
+
* notice, this list of conditions and the following disclaimer.
|
|
9
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
10
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
11
|
+
* documentation and/or other materials provided with the distribution.
|
|
12
|
+
* * Neither the name of Google LLC nor the
|
|
13
|
+
* names of its contributors may be used to endorse or promote products
|
|
14
|
+
* derived from this software without specific prior written permission.
|
|
15
|
+
*
|
|
16
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
17
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
18
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
19
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
|
|
20
|
+
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
21
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
22
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
23
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
24
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
25
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
#ifndef PYPB_MESSAGE_H__
|
|
29
|
+
#define PYPB_MESSAGE_H__
|
|
30
|
+
|
|
31
|
+
#include <stdbool.h>
|
|
32
|
+
|
|
33
|
+
#include "python/protobuf.h"
|
|
34
|
+
#include "upb/reflection.h"
|
|
35
|
+
|
|
36
|
+
// Removes the wrapper object for this field from the unset subobject cache.
|
|
37
|
+
void PyUpb_CMessage_CacheDelete(PyObject* _self, const upb_FieldDef* f);
|
|
38
|
+
|
|
39
|
+
// Sets the field value for `f` to `subobj`, evicting the wrapper object from
|
|
40
|
+
// the "unset subobject" cache now that real data exists for it. The caller
|
|
41
|
+
// must also update the wrapper associated with `f` to point to `subobj` also.
|
|
42
|
+
void PyUpb_CMessage_SetConcreteSubobj(PyObject* _self, const upb_FieldDef* f,
|
|
43
|
+
upb_MessageValue subobj);
|
|
44
|
+
|
|
45
|
+
// Gets a Python wrapper object for message `u_msg` of type `m`, returning a
|
|
46
|
+
// cached wrapper if one was previously created. If a new object is created,
|
|
47
|
+
// it will reference `arena`, which must own `u_msg`.
|
|
48
|
+
PyObject* PyUpb_CMessage_Get(upb_Message* u_msg, const upb_MessageDef* m,
|
|
49
|
+
PyObject* arena);
|
|
50
|
+
|
|
51
|
+
// Verifies that a Python object is a message. Sets a TypeError exception and
|
|
52
|
+
// returns false on failure.
|
|
53
|
+
bool PyUpb_CMessage_Verify(PyObject* self);
|
|
54
|
+
|
|
55
|
+
// Gets the upb_Message* for this message object if the message is reified.
|
|
56
|
+
// Otherwise returns NULL.
|
|
57
|
+
upb_Message* PyUpb_CMessage_GetIfReified(PyObject* _self);
|
|
58
|
+
|
|
59
|
+
// Returns the `upb_MessageDef` for a given CMessage.
|
|
60
|
+
const upb_MessageDef* PyUpb_CMessage_GetMsgdef(PyObject* self);
|
|
61
|
+
|
|
62
|
+
// Functions that match the corresponding methods on the message object.
|
|
63
|
+
PyObject* PyUpb_CMessage_MergeFrom(PyObject* self, PyObject* arg);
|
|
64
|
+
PyObject* PyUpb_CMessage_MergeFromString(PyObject* self, PyObject* arg);
|
|
65
|
+
PyObject* PyUpb_CMessage_SerializeToString(PyObject* self, PyObject* args,
|
|
66
|
+
PyObject* kwargs);
|
|
67
|
+
|
|
68
|
+
// Sets fields of the message according to the attribuges in `kwargs`.
|
|
69
|
+
int PyUpb_CMessage_InitAttributes(PyObject* _self, PyObject* args,
|
|
70
|
+
PyObject* kwargs);
|
|
71
|
+
|
|
72
|
+
// Checks that `key` is a field descriptor for an extension type, and that the
|
|
73
|
+
// extendee is this message. Otherwise returns NULL and sets a KeyError.
|
|
74
|
+
const upb_FieldDef* PyUpb_CMessage_GetExtensionDef(PyObject* _self,
|
|
75
|
+
PyObject* key);
|
|
76
|
+
|
|
77
|
+
// Clears the given field in this message.
|
|
78
|
+
void PyUpb_CMessage_DoClearField(PyObject* _self, const upb_FieldDef* f);
|
|
79
|
+
|
|
80
|
+
// Clears the ExtensionDict from the message. The message must have an
|
|
81
|
+
// ExtensionDict set.
|
|
82
|
+
void PyUpb_CMessage_ClearExtensionDict(PyObject* _self);
|
|
83
|
+
|
|
84
|
+
// Implements the equivalent of getattr(msg, field), once `field` has
|
|
85
|
+
// already been resolved to a `upb_FieldDef*`.
|
|
86
|
+
PyObject* PyUpb_CMessage_GetFieldValue(PyObject* _self,
|
|
87
|
+
const upb_FieldDef* field);
|
|
88
|
+
|
|
89
|
+
// Implements the equivalent of setattr(msg, field, value), once `field` has
|
|
90
|
+
// already been resolved to a `upb_FieldDef*`.
|
|
91
|
+
int PyUpb_CMessage_SetFieldValue(PyObject* _self, const upb_FieldDef* field,
|
|
92
|
+
PyObject* value, PyObject* exc);
|
|
93
|
+
|
|
94
|
+
// Returns the version associated with this message. The version will be
|
|
95
|
+
// incremented when the message changes.
|
|
96
|
+
int PyUpb_CMessage_GetVersion(PyObject* _self);
|
|
97
|
+
|
|
98
|
+
// Module-level init.
|
|
99
|
+
bool PyUpb_InitMessage(PyObject* m);
|
|
100
|
+
|
|
101
|
+
#endif // PYPB_MESSAGE_H__
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
"""A bare-bones unit test that doesn't load any generated code."""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
import unittest
|
|
31
|
+
from google.protobuf.pyext import _message
|
|
32
|
+
from google3.net.proto2.python.internal import api_implementation
|
|
33
|
+
from google.protobuf import unittest_pb2
|
|
34
|
+
from google.protobuf import map_unittest_pb2
|
|
35
|
+
from google.protobuf import descriptor_pool
|
|
36
|
+
from google.protobuf import text_format
|
|
37
|
+
from google.protobuf import message_factory
|
|
38
|
+
from google.protobuf import message
|
|
39
|
+
from google3.net.proto2.python.internal import factory_test1_pb2
|
|
40
|
+
from google3.net.proto2.python.internal import factory_test2_pb2
|
|
41
|
+
from google3.net.proto2.python.internal import more_extensions_pb2
|
|
42
|
+
from google.protobuf import descriptor_pb2
|
|
43
|
+
|
|
44
|
+
class TestMessageExtension(unittest.TestCase):
|
|
45
|
+
|
|
46
|
+
def test_descriptor_pool(self):
|
|
47
|
+
serialized_desc = b'\n\ntest.proto\"\x0e\n\x02M1*\x08\x08\x01\x10\x80\x80\x80\x80\x02:\x15\n\x08test_ext\x12\x03.M1\x18\x01 \x01(\x05'
|
|
48
|
+
pool = _message.DescriptorPool()
|
|
49
|
+
file_desc = pool.AddSerializedFile(serialized_desc)
|
|
50
|
+
self.assertEqual("test.proto", file_desc.name)
|
|
51
|
+
ext_desc = pool.FindExtensionByName("test_ext")
|
|
52
|
+
self.assertEqual(1, ext_desc.number)
|
|
53
|
+
|
|
54
|
+
# Test object cache: repeatedly retrieving the same descriptor
|
|
55
|
+
# should result in the same object
|
|
56
|
+
self.assertIs(ext_desc, pool.FindExtensionByName("test_ext"))
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def test_lib_is_upb(self):
|
|
60
|
+
# Ensure we are not pulling in a different protobuf library on the
|
|
61
|
+
# system.
|
|
62
|
+
print(_message._IS_UPB)
|
|
63
|
+
self.assertTrue(_message._IS_UPB)
|
|
64
|
+
self.assertEqual(api_implementation.Type(), "cpp")
|
|
65
|
+
|
|
66
|
+
def test_repeated_field_slice_delete(self):
|
|
67
|
+
def test_slice(start, end, step):
|
|
68
|
+
vals = list(range(20))
|
|
69
|
+
message = unittest_pb2.TestAllTypes(repeated_int32=vals)
|
|
70
|
+
del vals[start:end:step]
|
|
71
|
+
del message.repeated_int32[start:end:step]
|
|
72
|
+
self.assertEqual(vals, list(message.repeated_int32))
|
|
73
|
+
test_slice(3, 11, 1)
|
|
74
|
+
test_slice(3, 11, 2)
|
|
75
|
+
test_slice(3, 11, 3)
|
|
76
|
+
test_slice(11, 3, -1)
|
|
77
|
+
test_slice(11, 3, -2)
|
|
78
|
+
test_slice(11, 3, -3)
|
|
79
|
+
test_slice(10, 25, 4)
|
|
80
|
+
|
|
81
|
+
def testExtensionsErrors(self):
|
|
82
|
+
msg = unittest_pb2.TestAllTypes()
|
|
83
|
+
self.assertRaises(AttributeError, getattr, msg, 'Extensions')
|
|
84
|
+
|
|
85
|
+
def testClearStubMapField(self):
|
|
86
|
+
msg = map_unittest_pb2.TestMapSubmessage()
|
|
87
|
+
int32_map = msg.test_map.map_int32_int32
|
|
88
|
+
msg.test_map.ClearField("map_int32_int32")
|
|
89
|
+
int32_map[123] = 456
|
|
90
|
+
self.assertEqual(0, msg.test_map.ByteSize())
|
|
91
|
+
|
|
92
|
+
def testClearReifiedMapField(self):
|
|
93
|
+
msg = map_unittest_pb2.TestMap()
|
|
94
|
+
int32_map = msg.map_int32_int32
|
|
95
|
+
int32_map[123] = 456
|
|
96
|
+
msg.ClearField("map_int32_int32")
|
|
97
|
+
int32_map[111] = 222
|
|
98
|
+
self.assertEqual(0, msg.ByteSize())
|
|
99
|
+
|
|
100
|
+
def testClearStubRepeatedField(self):
|
|
101
|
+
msg = unittest_pb2.NestedTestAllTypes()
|
|
102
|
+
int32_array = msg.payload.repeated_int32
|
|
103
|
+
msg.payload.ClearField("repeated_int32")
|
|
104
|
+
int32_array.append(123)
|
|
105
|
+
self.assertEqual(0, msg.payload.ByteSize())
|
|
106
|
+
|
|
107
|
+
def testClearReifiedRepeatdField(self):
|
|
108
|
+
msg = unittest_pb2.TestAllTypes()
|
|
109
|
+
int32_array = msg.repeated_int32
|
|
110
|
+
int32_array.append(123)
|
|
111
|
+
self.assertNotEqual(0, msg.ByteSize())
|
|
112
|
+
msg.ClearField("repeated_int32")
|
|
113
|
+
int32_array.append(123)
|
|
114
|
+
self.assertEqual(0, msg.ByteSize())
|
|
115
|
+
|
|
116
|
+
def testFloatPrinting(self):
|
|
117
|
+
message = unittest_pb2.TestAllTypes()
|
|
118
|
+
message.optional_float = -0.0
|
|
119
|
+
self.assertEqual(str(message), 'optional_float: -0\n')
|
|
120
|
+
|
|
121
|
+
class OversizeProtosTest(unittest.TestCase):
|
|
122
|
+
def setUp(self):
|
|
123
|
+
msg = unittest_pb2.NestedTestAllTypes()
|
|
124
|
+
m = msg
|
|
125
|
+
for i in range(101):
|
|
126
|
+
m = m.child
|
|
127
|
+
m.Clear()
|
|
128
|
+
self.p_serialized = msg.SerializeToString()
|
|
129
|
+
|
|
130
|
+
def testAssertOversizeProto(self):
|
|
131
|
+
from google.protobuf.pyext._message import SetAllowOversizeProtos
|
|
132
|
+
SetAllowOversizeProtos(False)
|
|
133
|
+
q = unittest_pb2.NestedTestAllTypes()
|
|
134
|
+
with self.assertRaises(message.DecodeError):
|
|
135
|
+
q.ParseFromString(self.p_serialized)
|
|
136
|
+
print(q)
|
|
137
|
+
|
|
138
|
+
def testSucceedOversizeProto(self):
|
|
139
|
+
from google.protobuf.pyext._message import SetAllowOversizeProtos
|
|
140
|
+
SetAllowOversizeProtos(True)
|
|
141
|
+
q = unittest_pb2.NestedTestAllTypes()
|
|
142
|
+
q.ParseFromString(self.p_serialized)
|
|
143
|
+
|
|
144
|
+
def testExtensionIter(self):
|
|
145
|
+
extendee_proto = more_extensions_pb2.ExtendedMessage()
|
|
146
|
+
|
|
147
|
+
extension_int32 = more_extensions_pb2.optional_int_extension
|
|
148
|
+
extendee_proto.Extensions[extension_int32] = 23
|
|
149
|
+
|
|
150
|
+
extension_repeated = more_extensions_pb2.repeated_int_extension
|
|
151
|
+
extendee_proto.Extensions[extension_repeated].append(11)
|
|
152
|
+
|
|
153
|
+
extension_msg = more_extensions_pb2.optional_message_extension
|
|
154
|
+
extendee_proto.Extensions[extension_msg].foreign_message_int = 56
|
|
155
|
+
|
|
156
|
+
# Set some normal fields.
|
|
157
|
+
extendee_proto.optional_int32 = 1
|
|
158
|
+
extendee_proto.repeated_string.append('hi')
|
|
159
|
+
|
|
160
|
+
expected = {
|
|
161
|
+
extension_int32: True,
|
|
162
|
+
extension_msg: True,
|
|
163
|
+
extension_repeated: True
|
|
164
|
+
}
|
|
165
|
+
count = 0
|
|
166
|
+
for item in extendee_proto.Extensions:
|
|
167
|
+
del expected[item]
|
|
168
|
+
self.assertIn(item, extendee_proto.Extensions)
|
|
169
|
+
count += 1
|
|
170
|
+
self.assertEqual(count, 3)
|
|
171
|
+
self.assertEqual(len(expected), 0)
|
|
172
|
+
|
|
173
|
+
def testIsInitializedStub(self):
|
|
174
|
+
proto = unittest_pb2.TestRequiredForeign()
|
|
175
|
+
self.assertTrue(proto.IsInitialized())
|
|
176
|
+
self.assertFalse(proto.optional_message.IsInitialized())
|
|
177
|
+
errors = []
|
|
178
|
+
self.assertFalse(proto.optional_message.IsInitialized(errors))
|
|
179
|
+
self.assertEqual(['a', 'b', 'c'], errors)
|
|
180
|
+
self.assertRaises(message.EncodeError, proto.optional_message.SerializeToString)
|
|
181
|
+
|
|
182
|
+
if __name__ == '__main__':
|
|
183
|
+
unittest.main(verbosity=2)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
load(":pyproto_test_wrapper.bzl", "pyproto_test_wrapper")
|
|
27
|
+
|
|
28
|
+
licenses(["notice"])
|
|
29
|
+
|
|
30
|
+
pyproto_test_wrapper(name = "descriptor_database_test")
|
|
31
|
+
|
|
32
|
+
pyproto_test_wrapper(name = "descriptor_pool_test")
|
|
33
|
+
|
|
34
|
+
pyproto_test_wrapper(name = "descriptor_test")
|
|
35
|
+
|
|
36
|
+
# begin:github_only
|
|
37
|
+
pyproto_test_wrapper(name = "generator_test")
|
|
38
|
+
# end:github_only
|
|
39
|
+
|
|
40
|
+
pyproto_test_wrapper(name = "json_format_test")
|
|
41
|
+
|
|
42
|
+
pyproto_test_wrapper(name = "keywords_test")
|
|
43
|
+
|
|
44
|
+
pyproto_test_wrapper(name = "message_factory_test")
|
|
45
|
+
|
|
46
|
+
pyproto_test_wrapper(name = "message_test")
|
|
47
|
+
|
|
48
|
+
pyproto_test_wrapper(name = "proto_builder_test")
|
|
49
|
+
|
|
50
|
+
pyproto_test_wrapper(name = "reflection_test")
|
|
51
|
+
|
|
52
|
+
pyproto_test_wrapper(name = "service_reflection_test")
|
|
53
|
+
|
|
54
|
+
pyproto_test_wrapper(name = "symbol_database_test")
|
|
55
|
+
|
|
56
|
+
pyproto_test_wrapper(name = "text_encoding_test")
|
|
57
|
+
|
|
58
|
+
pyproto_test_wrapper(name = "text_format_test")
|
|
59
|
+
|
|
60
|
+
pyproto_test_wrapper(name = "unknown_fields_test")
|
|
61
|
+
|
|
62
|
+
pyproto_test_wrapper(name = "well_known_types_test")
|
|
63
|
+
|
|
64
|
+
pyproto_test_wrapper(name = "wire_format_test")
|
|
65
|
+
|
|
66
|
+
filegroup(
|
|
67
|
+
name = "test_files",
|
|
68
|
+
srcs = glob(["*.py"]),
|
|
69
|
+
visibility = ["//python/dist:__pkg__"],
|
|
70
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
# Protobuf Unit Tests
|
|
3
|
+
|
|
4
|
+
This directory contains wrappers around the Python unit tests defined in
|
|
5
|
+
the protobuf repo. Python+upb is intended to be a drop-in replacement for
|
|
6
|
+
protobuf Python, so we should be able to pass the same set of unit tests.
|
|
7
|
+
|
|
8
|
+
Our wrappers contain exclusion lists for tests we know we are not currently
|
|
9
|
+
passing. Ideally these exclusion lists will become empty once Python+upb is
|
|
10
|
+
fully implemented. However there may be a few edge cases that we decide
|
|
11
|
+
are not worth matching with perfect parity.
|
data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/descriptor_database_test_wrapper.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
from google.protobuf.internal.descriptor_database_test import *
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
if __name__ == '__main__':
|
|
30
|
+
unittest.main(verbosity=2)
|
data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/descriptor_pool_test_wrapper.py
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
import unittest
|
|
27
|
+
from google.protobuf.internal.descriptor_pool_test import *
|
|
28
|
+
|
|
29
|
+
# This is testing that certain methods unconditionally throw TypeError.
|
|
30
|
+
# In the new extension we simply don't define them at all.
|
|
31
|
+
AddDescriptorTest.testAddTypeError.__unittest_expecting_failure__ = True
|
|
32
|
+
|
|
33
|
+
SecondaryDescriptorFromDescriptorDB.testErrorCollector.__unittest_expecting_failure__ = True
|
|
34
|
+
|
|
35
|
+
# begin:github_only
|
|
36
|
+
if __name__ == '__main__':
|
|
37
|
+
unittest.main(verbosity=2)
|
|
38
|
+
# end:github_only
|
|
39
|
+
|
|
40
|
+
# begin:google_only
|
|
41
|
+
# CreateDescriptorPoolTest.testComplexNestingWithProtoFileParser.__unittest_expecting_failure__ = True
|
|
42
|
+
# from absl import app
|
|
43
|
+
# if __name__ == '__main__':
|
|
44
|
+
# app.run(lambda argv: unittest.main(verbosity=2))
|
|
45
|
+
# end:google_only
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
from google.protobuf.internal.descriptor_test import *
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
# Our behavior here matches pure-Python, which does not allow
|
|
30
|
+
# foo.enum_values_by_name.get([]). We reject it because we return a true
|
|
31
|
+
# dict (like pure Python), which does not allow hashing by a list.
|
|
32
|
+
GeneratedDescriptorTest.testDescriptor.__unittest_expecting_failure__ = True
|
|
33
|
+
|
|
34
|
+
# These fail because they attempt to add fields with conflicting JSON names.
|
|
35
|
+
# We don't want to support this going forward.
|
|
36
|
+
MakeDescriptorTest.testCamelcaseName.__unittest_expecting_failure__ = True
|
|
37
|
+
MakeDescriptorTest.testJsonName.__unittest_expecting_failure__ = True
|
|
38
|
+
|
|
39
|
+
# We pass this test, but the error message is slightly different.
|
|
40
|
+
# Our error message is better.
|
|
41
|
+
NewDescriptorTest.testImmutableCppDescriptor.__unittest_expecting_failure__ = True
|
|
42
|
+
|
|
43
|
+
DescriptorTest.testGetDebugString.__unittest_expecting_failure__ = True
|
|
44
|
+
|
|
45
|
+
if __name__ == '__main__':
|
|
46
|
+
unittest.main(verbosity=2)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
from google.protobuf.internal.generator_test import *
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
if __name__ == '__main__':
|
|
30
|
+
unittest.main(verbosity=2)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
from google.protobuf.internal.json_format_test import *
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
if __name__ == '__main__':
|
|
30
|
+
unittest.main(verbosity=2)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
from google.protobuf.internal.keywords_test import *
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
if __name__ == '__main__':
|
|
30
|
+
unittest.main(verbosity=2)
|
data/ext/ruby_memprofiler_pprof/vendor/upb/python/pb_unit_tests/message_factory_test_wrapper.py
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright (c) 2009-2021, Google LLC
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
|
6
|
+
# * Redistributions of source code must retain the above copyright
|
|
7
|
+
# notice, this list of conditions and the following disclaimer.
|
|
8
|
+
# * Redistributions in binary form must reproduce the above copyright
|
|
9
|
+
# notice, this list of conditions and the following disclaimer in the
|
|
10
|
+
# documentation and/or other materials provided with the distribution.
|
|
11
|
+
# * Neither the name of Google LLC nor the
|
|
12
|
+
# names of its contributors may be used to endorse or promote products
|
|
13
|
+
# derived from this software without specific prior written permission.
|
|
14
|
+
#
|
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
|
|
19
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
|
|
26
|
+
from google.protobuf.internal.message_factory_test import *
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
MessageFactoryTest.testCreatePrototypeOverride.__unittest_expecting_failure__ = True
|
|
30
|
+
MessageFactoryTest.testDuplicateExtensionNumber.__unittest_expecting_failure__ = True
|
|
31
|
+
MessageFactoryTest.testGetMessages.__unittest_expecting_failure__ = True
|
|
32
|
+
MessageFactoryTest.testGetPrototype.__unittest_expecting_failure__ = True
|
|
33
|
+
if hasattr(MessageFactoryTest, 'testExtensionValueInDifferentFile'):
|
|
34
|
+
MessageFactoryTest.testExtensionValueInDifferentFile.__unittest_expecting_failure__ = True
|
|
35
|
+
|
|
36
|
+
if __name__ == '__main__':
|
|
37
|
+
unittest.main(verbosity=2)
|