File: basic_test.proto

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (319 lines) | stat: -rw-r--r-- 8,471 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
syntax = "proto3";

package basic_test;

import "google/protobuf/descriptor.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "test_import_proto2.proto";

option deprecated = true;

message Foo {
  Bar bar = 1;
  repeated Baz baz = 2;
}

message Bar {
  string msg = 1;
}

message Baz {
  string msg = 1;
}

message TestMessage {
  optional int32 optional_int32 = 1;
  optional int64 optional_int64 = 2;
  optional uint32 optional_uint32 = 3;
  optional uint64 optional_uint64 = 4;
  optional bool optional_bool = 5;
  optional float optional_float = 6;
  optional double optional_double = 7;
  optional string optional_string = 8;
  optional bytes optional_bytes = 9;
  optional TestMessage2 optional_msg = 10;
  optional TestEnum optional_enum = 11;
  optional foo_bar.proto2.TestImportedMessage optional_proto2_submessage = 24;

  repeated int32 repeated_int32 = 12;
  repeated int64 repeated_int64 = 13;
  repeated uint32 repeated_uint32 = 14;
  repeated uint64 repeated_uint64 = 15;
  repeated bool repeated_bool = 16;
  repeated float repeated_float = 17;
  repeated double repeated_double = 18;
  repeated string repeated_string = 19;
  repeated bytes repeated_bytes = 20;
  repeated TestMessage2 repeated_msg = 21;
  repeated TestEnum repeated_enum = 22;

  optional TestSingularFields optional_msg2 = 23;
}

message TestUnpackedMessage {
  repeated int32 repeated_int32 = 25 [packed = false];
}

message TestSingularFields {
  int32 singular_int32 = 1;
  int64 singular_int64 = 2;
  uint32 singular_uint32 = 3;
  uint64 singular_uint64 = 4;
  bool singular_bool = 5;
  float singular_float = 6;
  double singular_double = 7;
  string singular_string = 8;
  bytes singular_bytes = 9;
  TestMessage2 singular_msg = 10;
  TestEnum singular_enum = 11;
}

message TestMessage2 {
  optional int32 foo = 1;
}

extend google.protobuf.OneofOptions {
  optional string test_top_level_option = 1000;
}

message TestDeprecatedMessage {
  option deprecated = true;

  extend google.protobuf.OneofOptions {
    optional string test_nested_option = 1001;
  }

  optional int32 foo = 1 [deprecated = true];

  oneof test_deprecated_message_oneof {
    option (test_top_level_option) = "Custom option value";
    option (test_nested_option) = "Another custom option value";

    string a = 2;
    int32 b = 3;
  }

  map<string, TestMessage2> map_string_msg = 4;
  repeated TestMessage2 repeated_msg = 5;
}

enum TestEnum {
  Default = 0;
  A = 1;
  B = 2;
  C = 3;
  v0 = 4;
}

enum TestDeprecatedEnum {
  option deprecated = true;

  DefaultA = 0;
  AA = 1 [deprecated = true];
}

message TestEmbeddedMessageParent {
  TestEmbeddedMessageChild child_msg = 1;
  int32 number = 2;

  repeated TestEmbeddedMessageChild repeated_msg = 3;
  repeated int32 repeated_number = 4;
}

message TestEmbeddedMessageChild {
  TestMessage sub_child = 1;
}

message Recursive1 {
  Recursive2 foo = 1;
}

message Recursive2 {
  Recursive1 foo = 1;
}

message MapMessage {
  map<string, int32> map_string_int32 = 1;
  map<string, TestMessage2> map_string_msg = 2;
  map<string, TestEnum> map_string_enum = 3;
}

message MapMessageWireEquiv {
  repeated MapMessageWireEquiv_entry1 map_string_int32 = 1;
  repeated MapMessageWireEquiv_entry2 map_string_msg = 2;
}

message MapMessageWireEquiv_entry1 {
  string key = 1;
  int32 value = 2;
}

message MapMessageWireEquiv_entry2 {
  string key = 1;
  TestMessage2 value = 2;
}

message OneofMessage {
  oneof my_oneof {
    string a = 1;
    int32 b = 2;
    TestMessage2 c = 3;
    TestEnum d = 4;
  }
}

message Outer {
  map<int32, Inner> items = 1;
}

message Inner {}

message Wrapper {
  google.protobuf.DoubleValue double = 1;
  google.protobuf.FloatValue float = 2;
  google.protobuf.Int32Value int32 = 3;
  google.protobuf.Int64Value int64 = 4;
  google.protobuf.UInt32Value uint32 = 5;
  google.protobuf.UInt64Value uint64 = 6;
  google.protobuf.BoolValue bool = 7;
  google.protobuf.StringValue string = 8;
  google.protobuf.BytesValue bytes = 9;
  string real_string = 100;
  oneof a_oneof {
    string string_in_oneof = 10;
  }

  // Repeated wrappers don't make sense, but we still need to make sure they
  // work and don't crash.
  repeated google.protobuf.DoubleValue repeated_double = 11;
  repeated google.protobuf.FloatValue repeated_float = 12;
  repeated google.protobuf.Int32Value repeated_int32 = 13;
  repeated google.protobuf.Int64Value repeated_int64 = 14;
  repeated google.protobuf.UInt32Value repeated_uint32 = 15;
  repeated google.protobuf.UInt64Value repeated_uint64 = 16;
  repeated google.protobuf.BoolValue repeated_bool = 17;
  repeated google.protobuf.StringValue repeated_string = 18;
  repeated google.protobuf.BytesValue repeated_bytes = 19;

  // Wrappers as map keys don't make sense, but we still need to make sure they
  // work and don't crash.
  map<int32, google.protobuf.DoubleValue> map_double = 21;
  map<int32, google.protobuf.FloatValue> map_float = 22;
  map<int32, google.protobuf.Int32Value> map_int32 = 23;
  map<int32, google.protobuf.Int64Value> map_int64 = 24;
  map<int32, google.protobuf.UInt32Value> map_uint32 = 25;
  map<int32, google.protobuf.UInt64Value> map_uint64 = 26;
  map<int32, google.protobuf.BoolValue> map_bool = 27;
  map<int32, google.protobuf.StringValue> map_string = 28;
  map<int32, google.protobuf.BytesValue> map_bytes = 29;

  // Wrappers in oneofs don't make sense, but we still need to make sure they
  // work and don't crash.
  oneof wrapper_oneof {
    google.protobuf.DoubleValue oneof_double = 31;
    google.protobuf.FloatValue oneof_float = 32;
    google.protobuf.Int32Value oneof_int32 = 33;
    google.protobuf.Int64Value oneof_int64 = 34;
    google.protobuf.UInt32Value oneof_uint32 = 35;
    google.protobuf.UInt64Value oneof_uint64 = 36;
    google.protobuf.BoolValue oneof_bool = 37;
    google.protobuf.StringValue oneof_string = 38;
    google.protobuf.BytesValue oneof_bytes = 39;
    string oneof_plain_string = 101;
  }
}

message TimeMessage {
  google.protobuf.Timestamp timestamp = 1;
  google.protobuf.Duration duration = 2;
}

message Enumer {
  TestEnum optional_enum = 1;
  repeated TestEnum repeated_enum = 2;
  string a_const = 3;
  oneof a_oneof {
    string str = 10;
    TestEnum const = 11;
  }
}

message MyRepeatedStruct {
  repeated MyStruct structs = 1;
}

message MyStruct {
  string string = 1;
  google.protobuf.Struct struct = 2;
}

message WithJsonName {
  optional int32 foo_bar = 1 [json_name = "jsonFooBar"];
  repeated WithJsonName baz = 2 [json_name = "jsonBaz"];
}

message HelloRequest {
  optional uint32 id = 1;
  optional uint32 random_name_a0 = 2;
  optional uint32 random_name_a1 = 3;
  optional uint32 random_name_a2 = 4;
  optional uint32 random_name_a3 = 5;
  optional uint32 random_name_a4 = 6;
  optional uint32 random_name_a5 = 7;
  optional uint32 random_name_a6 = 8;
  optional uint32 random_name_a7 = 9;
  optional uint32 random_name_a8 = 10;
  optional uint32 random_name_a9 = 11;
  optional uint32 random_name_b0 = 12;
  optional uint32 random_name_b1 = 13;
  optional uint32 random_name_b2 = 14;
  optional uint32 random_name_b3 = 15;
  optional uint32 random_name_b4 = 16;
  optional uint32 random_name_b5 = 17;
  optional uint32 random_name_b6 = 18;
  optional uint32 random_name_b7 = 19;
  optional uint32 random_name_b8 = 20;
  optional uint32 random_name_b9 = 21;
  optional uint32 random_name_c0 = 22;
  optional uint32 random_name_c1 = 23;
  optional uint32 random_name_c2 = 24;
  optional uint32 random_name_c3 = 25;
  optional uint32 random_name_c4 = 26;
  optional uint32 random_name_c5 = 27;
  optional uint32 random_name_c6 = 28;
  optional uint32 random_name_c7 = 29;
  optional uint32 random_name_c8 = 30;
  optional uint32 random_name_c9 = 31;
  optional string version = 32;
}

message BadFieldNames {
  optional int32 dup = 1;
  optional int32 class = 2;
}

// Messages to test the fix for
// https://github.com/protocolbuffers/protobuf/issues/8311.
message Inner8311 {
  // Removing either of these fixes the segfault.
  optional string foo = 1;
  optional string bar = 2;
}

message Outer8311 {
  repeated Inner8311 inners = 1;
}

// Messages to test the fix for
// https://github.com/protocolbuffers/protobuf/issues/9507
message NpeMessage {
  optional TestEnum9507 type = 1;
  optional string other = 2;
}

enum TestEnum9507 {
  Something = 0;
}