3f3820d8f8
- A golden-file test that ensures protoc produces known-valid output. - A Ruby test that loads that golden file and ensures it actually works with the extension. This split strategy allows us to test end-to-end without needing to integrate the Ruby gem build system and the protoc build system. This is desirable because we do not want a gem build/install to depend on building protoc, and we do not want building protoc to depend on building and testing the gem.
68 lines
1.8 KiB
Protocol Buffer
68 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package A.B.C;
|
|
|
|
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 double optional_double = 6;
|
|
optional float optional_float = 7;
|
|
optional string optional_string = 8;
|
|
optional bytes optional_bytes = 9;
|
|
optional TestEnum optional_enum = 10;
|
|
optional TestMessage optional_msg = 11;
|
|
|
|
repeated int32 repeated_int32 = 21;
|
|
repeated int64 repeated_int64 = 22;
|
|
repeated uint32 repeated_uint32 = 23;
|
|
repeated uint64 repeated_uint64 = 24;
|
|
repeated bool repeated_bool = 25;
|
|
repeated double repeated_double = 26;
|
|
repeated float repeated_float = 27;
|
|
repeated string repeated_string = 28;
|
|
repeated bytes repeated_bytes = 29;
|
|
repeated TestEnum repeated_enum = 30;
|
|
repeated TestMessage repeated_msg = 31;
|
|
|
|
oneof my_oneof {
|
|
int32 oneof_int32 = 41;
|
|
int64 oneof_int64 = 42;
|
|
uint32 oneof_uint32 = 43;
|
|
uint64 oneof_uint64 = 44;
|
|
bool oneof_bool = 45;
|
|
double oneof_double = 46;
|
|
float oneof_float = 47;
|
|
string oneof_string = 48;
|
|
bytes oneof_bytes = 49;
|
|
TestEnum oneof_enum = 50;
|
|
TestMessage oneof_msg = 51;
|
|
}
|
|
|
|
map<int32, string> map_int32_string = 61;
|
|
map<int64, string> map_int64_string = 62;
|
|
map<uint32, string> map_uint32_string = 63;
|
|
map<uint64, string> map_uint64_string = 64;
|
|
map<bool, string> map_bool_string = 65;
|
|
map<string, string> map_string_string = 66;
|
|
map<string, TestMessage> map_string_msg = 67;
|
|
map<string, TestEnum> map_string_enum = 68;
|
|
map<string, int32> map_string_int32 = 69;
|
|
map<string, bool> map_string_bool = 70;
|
|
|
|
message NestedMessage {
|
|
optional int32 foo = 1;
|
|
}
|
|
|
|
optional NestedMessage nested_message = 80;
|
|
}
|
|
|
|
enum TestEnum {
|
|
Default = 0;
|
|
A = 1;
|
|
B = 2;
|
|
C = 3;
|
|
}
|