diff --git a/src/protocol/criterion.pb.c b/src/protocol/criterion.pb.c index 4ae35d8..a04be46 100644 --- a/src/protocol/criterion.pb.c +++ b/src/protocol/criterion.pb.c @@ -1,5 +1,5 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.3.5-dev at Thu Dec 10 20:30:59 2015. */ +/* Generated by nanopb-0.3.5-dev at Fri Dec 11 16:22:10 2015. */ #include "criterion.pb.h" @@ -10,18 +10,6 @@ const int32_t criterion_protocol_msg_version_default = 1; -const pb_field_t criterion_protocol_msg_fields[4] = { - PB_FIELD( 1, INT32 , REQUIRED, STATIC , FIRST, criterion_protocol_msg, version, version, &criterion_protocol_msg_version_default), - PB_FIELD( 2, MESSAGE , REQUIRED, STATIC , OTHER, criterion_protocol_msg, id, version, &criterion_protocol_msg_mid_fields), - PB_FIELD(100, EXTENSION, OPTIONAL, CALLBACK, OTHER, criterion_protocol_msg, extensions, id, 0), - PB_LAST_FIELD -}; - -const pb_field_t criterion_protocol_msg_mid_fields[2] = { - PB_FIELD( 1, INT64 , OPTIONAL, STATIC , FIRST, criterion_protocol_msg_mid, pid, pid, 0), - PB_LAST_FIELD -}; - const pb_field_t criterion_protocol_birth_fields[1] = { PB_LAST_FIELD }; @@ -51,102 +39,29 @@ const pb_field_t criterion_protocol_death_fields[3] = { }; const pb_field_t criterion_protocol_assert_fields[5] = { - PB_FIELD( 1, STRING , REQUIRED, CALLBACK, FIRST, criterion_protocol_assert, message, message, 0), + PB_FIELD( 1, STRING , REQUIRED, POINTER , FIRST, criterion_protocol_assert, message, message, 0), PB_FIELD( 2, BOOL , REQUIRED, STATIC , OTHER, criterion_protocol_assert, passed, message, 0), - PB_FIELD( 3, STRING , OPTIONAL, CALLBACK, OTHER, criterion_protocol_assert, file, passed, 0), + PB_FIELD( 3, STRING , OPTIONAL, POINTER , OTHER, criterion_protocol_assert, file, passed, 0), PB_FIELD( 4, INT64 , OPTIONAL, STATIC , OTHER, criterion_protocol_assert, line, file, 0), PB_LAST_FIELD }; -typedef struct { - criterion_protocol_birth data; -} criterion_protocol_birth_data_struct; - -static const pb_field_t criterion_protocol_birth_data_field = - PB_FIELD(100, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_birth_data_struct, data, data, &criterion_protocol_birth_fields); - -const pb_extension_type_t criterion_protocol_birth_data = { - NULL, - NULL, - &criterion_protocol_birth_data_field +const pb_field_t criterion_protocol_submessage_fields[8] = { + PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, criterion_protocol_submessage, birth, birth, &criterion_protocol_birth_fields), + PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, pre_init, birth, &criterion_protocol_pre_init_fields), + PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, pre_test, pre_init, &criterion_protocol_pre_test_fields), + PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, post_test, pre_test, &criterion_protocol_post_test_fields), + PB_FIELD( 5, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, post_fini, post_test, &criterion_protocol_post_fini_fields), + PB_FIELD( 6, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, death, post_fini, &criterion_protocol_death_fields), + PB_FIELD( 7, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, assert, death, &criterion_protocol_assert_fields), + PB_LAST_FIELD }; -typedef struct { - criterion_protocol_pre_init data; -} criterion_protocol_pre_init_data_struct; - -static const pb_field_t criterion_protocol_pre_init_data_field = - PB_FIELD(101, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_pre_init_data_struct, data, data, &criterion_protocol_pre_init_fields); - -const pb_extension_type_t criterion_protocol_pre_init_data = { - NULL, - NULL, - &criterion_protocol_pre_init_data_field -}; - -typedef struct { - criterion_protocol_pre_test data; -} criterion_protocol_pre_test_data_struct; - -static const pb_field_t criterion_protocol_pre_test_data_field = - PB_FIELD(102, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_pre_test_data_struct, data, data, &criterion_protocol_pre_test_fields); - -const pb_extension_type_t criterion_protocol_pre_test_data = { - NULL, - NULL, - &criterion_protocol_pre_test_data_field -}; - -typedef struct { - criterion_protocol_post_test data; -} criterion_protocol_post_test_data_struct; - -static const pb_field_t criterion_protocol_post_test_data_field = - PB_FIELD(103, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_post_test_data_struct, data, data, &criterion_protocol_post_test_fields); - -const pb_extension_type_t criterion_protocol_post_test_data = { - NULL, - NULL, - &criterion_protocol_post_test_data_field -}; - -typedef struct { - criterion_protocol_post_fini data; -} criterion_protocol_post_fini_data_struct; - -static const pb_field_t criterion_protocol_post_fini_data_field = - PB_FIELD(104, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_post_fini_data_struct, data, data, &criterion_protocol_post_fini_fields); - -const pb_extension_type_t criterion_protocol_post_fini_data = { - NULL, - NULL, - &criterion_protocol_post_fini_data_field -}; - -typedef struct { - criterion_protocol_death data; -} criterion_protocol_death_data_struct; - -static const pb_field_t criterion_protocol_death_data_field = - PB_FIELD(105, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_death_data_struct, data, data, &criterion_protocol_death_fields); - -const pb_extension_type_t criterion_protocol_death_data = { - NULL, - NULL, - &criterion_protocol_death_data_field -}; - -typedef struct { - criterion_protocol_assert data; -} criterion_protocol_assert_data_struct; - -static const pb_field_t criterion_protocol_assert_data_field = - PB_FIELD(106, MESSAGE , OPTEXT, STATIC , FIRST, criterion_protocol_assert_data_struct, data, data, &criterion_protocol_assert_fields); - -const pb_extension_type_t criterion_protocol_assert_data = { - NULL, - NULL, - &criterion_protocol_assert_data_field +const pb_field_t criterion_protocol_msg_fields[4] = { + PB_FIELD( 1, INT32 , REQUIRED, STATIC , FIRST, criterion_protocol_msg, version, version, &criterion_protocol_msg_version_default), + PB_ONEOF_FIELD(id, 2, INT64 , ONEOF, STATIC , OTHER, criterion_protocol_msg, pid, version, 0), + PB_FIELD( 16, MESSAGE , REQUIRED, STATIC , OTHER, criterion_protocol_msg, data, id.pid, &criterion_protocol_submessage_fields), + PB_LAST_FIELD }; @@ -159,7 +74,7 @@ const pb_extension_type_t criterion_protocol_assert_data = { * numbers or field sizes that are larger than what can fit in 8 or 16 bit * field descriptors. */ -PB_STATIC_ASSERT((pb_membersize(criterion_protocol_msg, id) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_criterion_protocol_msg_criterion_protocol_msg_mid_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert) +PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, birth) < 65536 && pb_membersize(criterion_protocol_submessage, pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, death) < 65536 && pb_membersize(criterion_protocol_submessage, assert) < 65536 && pb_membersize(criterion_protocol_submessage, birth) < 65536 && pb_membersize(criterion_protocol_submessage, pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, death) < 65536 && pb_membersize(criterion_protocol_submessage, assert) < 65536 && pb_membersize(criterion_protocol_msg, data) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert_criterion_protocol_submessage_criterion_protocol_msg) #endif #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) @@ -170,7 +85,7 @@ PB_STATIC_ASSERT((pb_membersize(criterion_protocol_msg, id) < 65536), YOU_MUST_D * numbers or field sizes that are larger than what can fit in the default * 8 bit descriptors. */ -PB_STATIC_ASSERT((pb_membersize(criterion_protocol_msg, id) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_criterion_protocol_msg_criterion_protocol_msg_mid_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert) +PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, birth) < 256 && pb_membersize(criterion_protocol_submessage, pre_init) < 256 && pb_membersize(criterion_protocol_submessage, pre_test) < 256 && pb_membersize(criterion_protocol_submessage, post_test) < 256 && pb_membersize(criterion_protocol_submessage, post_fini) < 256 && pb_membersize(criterion_protocol_submessage, death) < 256 && pb_membersize(criterion_protocol_submessage, assert) < 256 && pb_membersize(criterion_protocol_submessage, birth) < 256 && pb_membersize(criterion_protocol_submessage, pre_init) < 256 && pb_membersize(criterion_protocol_submessage, pre_test) < 256 && pb_membersize(criterion_protocol_submessage, post_test) < 256 && pb_membersize(criterion_protocol_submessage, post_fini) < 256 && pb_membersize(criterion_protocol_submessage, death) < 256 && pb_membersize(criterion_protocol_submessage, assert) < 256 && pb_membersize(criterion_protocol_msg, data) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert_criterion_protocol_submessage_criterion_protocol_msg) #endif diff --git a/src/protocol/criterion.pb.h b/src/protocol/criterion.pb.h index e3afdcc..1456f05 100644 --- a/src/protocol/criterion.pb.h +++ b/src/protocol/criterion.pb.h @@ -1,5 +1,5 @@ /* Automatically generated nanopb header */ -/* Generated by nanopb-0.3.5-dev at Thu Dec 10 20:30:59 2015. */ +/* Generated by nanopb-0.3.5-dev at Fri Dec 11 16:22:10 2015. */ #ifndef PB_CRITERION_PB_H_INCLUDED #define PB_CRITERION_PB_H_INCLUDED @@ -34,9 +34,9 @@ typedef struct _criterion_protocol_pre_init { } criterion_protocol_pre_init; typedef struct _criterion_protocol_assert { - pb_callback_t message; + char *message; bool passed; - pb_callback_t file; + char *file; bool has_line; int64_t line; } criterion_protocol_assert; @@ -48,11 +48,6 @@ typedef struct _criterion_protocol_death { int64_t status; } criterion_protocol_death; -typedef struct _criterion_protocol_msg_mid { - bool has_pid; - int64_t pid; -} criterion_protocol_msg_mid; - typedef struct _criterion_protocol_post_test { bool has_timestamp; int64_t timestamp; @@ -63,43 +58,54 @@ typedef struct _criterion_protocol_pre_test { int64_t timestamp; } criterion_protocol_pre_test; +typedef struct _criterion_protocol_submessage { + bool has_birth; + criterion_protocol_birth birth; + bool has_pre_init; + criterion_protocol_pre_init pre_init; + bool has_pre_test; + criterion_protocol_pre_test pre_test; + bool has_post_test; + criterion_protocol_post_test post_test; + bool has_post_fini; + criterion_protocol_post_fini post_fini; + bool has_death; + criterion_protocol_death death; + bool has_assert; + criterion_protocol_assert assert; +} criterion_protocol_submessage; + typedef struct _criterion_protocol_msg { int32_t version; - criterion_protocol_msg_mid id; - pb_extension_t *extensions; + pb_size_t which_id; + union { + int64_t pid; + } id; + criterion_protocol_submessage data; } criterion_protocol_msg; -/* Extensions */ -extern const pb_extension_type_t criterion_protocol_birth_data; /* field type: criterion_protocol_birth data; */ -extern const pb_extension_type_t criterion_protocol_pre_init_data; /* field type: criterion_protocol_pre_init data; */ -extern const pb_extension_type_t criterion_protocol_pre_test_data; /* field type: criterion_protocol_pre_test data; */ -extern const pb_extension_type_t criterion_protocol_post_test_data; /* field type: criterion_protocol_post_test data; */ -extern const pb_extension_type_t criterion_protocol_post_fini_data; /* field type: criterion_protocol_post_fini data; */ -extern const pb_extension_type_t criterion_protocol_death_data; /* field type: criterion_protocol_death data; */ -extern const pb_extension_type_t criterion_protocol_assert_data; /* field type: criterion_protocol_assert data; */ - /* Default values for struct fields */ extern const int32_t criterion_protocol_msg_version_default; /* Initializer values for message structs */ -#define criterion_protocol_msg_init_default {1, criterion_protocol_msg_mid_init_default, NULL} -#define criterion_protocol_msg_mid_init_default {false, 0} #define criterion_protocol_birth_init_default {0} #define criterion_protocol_pre_init_init_default {0} #define criterion_protocol_pre_test_init_default {false, 0} #define criterion_protocol_post_test_init_default {false, 0} #define criterion_protocol_post_fini_init_default {0} #define criterion_protocol_death_init_default {false, (criterion_protocol_death_result_type)0, false, 0} -#define criterion_protocol_assert_init_default {{{NULL}, NULL}, 0, {{NULL}, NULL}, false, 0} -#define criterion_protocol_msg_init_zero {0, criterion_protocol_msg_mid_init_zero, NULL} -#define criterion_protocol_msg_mid_init_zero {false, 0} +#define criterion_protocol_assert_init_default {NULL, 0, NULL, false, 0} +#define criterion_protocol_submessage_init_default {false, criterion_protocol_birth_init_default, false, criterion_protocol_pre_init_init_default, false, criterion_protocol_pre_test_init_default, false, criterion_protocol_post_test_init_default, false, criterion_protocol_post_fini_init_default, false, criterion_protocol_death_init_default, false, criterion_protocol_assert_init_default} +#define criterion_protocol_msg_init_default {1, 0, {0}, criterion_protocol_submessage_init_default} #define criterion_protocol_birth_init_zero {0} #define criterion_protocol_pre_init_init_zero {0} #define criterion_protocol_pre_test_init_zero {false, 0} #define criterion_protocol_post_test_init_zero {false, 0} #define criterion_protocol_post_fini_init_zero {0} #define criterion_protocol_death_init_zero {false, (criterion_protocol_death_result_type)0, false, 0} -#define criterion_protocol_assert_init_zero {{{NULL}, NULL}, 0, {{NULL}, NULL}, false, 0} +#define criterion_protocol_assert_init_zero {NULL, 0, NULL, false, 0} +#define criterion_protocol_submessage_init_zero {false, criterion_protocol_birth_init_zero, false, criterion_protocol_pre_init_init_zero, false, criterion_protocol_pre_test_init_zero, false, criterion_protocol_post_test_init_zero, false, criterion_protocol_post_fini_init_zero, false, criterion_protocol_death_init_zero, false, criterion_protocol_assert_init_zero} +#define criterion_protocol_msg_init_zero {0, 0, {0}, criterion_protocol_submessage_init_zero} /* Field tags (for use in manual encoding/decoding) */ #define criterion_protocol_assert_message_tag 1 @@ -108,22 +114,20 @@ extern const int32_t criterion_protocol_msg_version_default; #define criterion_protocol_assert_line_tag 4 #define criterion_protocol_death_result_tag 1 #define criterion_protocol_death_status_tag 2 -#define criterion_protocol_msg_mid_pid_tag 1 #define criterion_protocol_post_test_timestamp_tag 1 #define criterion_protocol_pre_test_timestamp_tag 1 +#define criterion_protocol_submessage_birth_tag 1 +#define criterion_protocol_submessage_pre_init_tag 2 +#define criterion_protocol_submessage_pre_test_tag 3 +#define criterion_protocol_submessage_post_test_tag 4 +#define criterion_protocol_submessage_post_fini_tag 5 +#define criterion_protocol_submessage_death_tag 6 +#define criterion_protocol_submessage_assert_tag 7 +#define criterion_protocol_msg_pid_tag 2 #define criterion_protocol_msg_version_tag 1 -#define criterion_protocol_msg_id_tag 2 -#define criterion_protocol_birth_data_tag 100 -#define criterion_protocol_pre_init_data_tag 101 -#define criterion_protocol_pre_test_data_tag 102 -#define criterion_protocol_post_test_data_tag 103 -#define criterion_protocol_post_fini_data_tag 104 -#define criterion_protocol_death_data_tag 105 -#define criterion_protocol_assert_data_tag 106 +#define criterion_protocol_msg_data_tag 16 /* Struct field encoding specification for nanopb */ -extern const pb_field_t criterion_protocol_msg_fields[4]; -extern const pb_field_t criterion_protocol_msg_mid_fields[2]; extern const pb_field_t criterion_protocol_birth_fields[1]; extern const pb_field_t criterion_protocol_pre_init_fields[1]; extern const pb_field_t criterion_protocol_pre_test_fields[2]; @@ -131,16 +135,18 @@ extern const pb_field_t criterion_protocol_post_test_fields[2]; extern const pb_field_t criterion_protocol_post_fini_fields[1]; extern const pb_field_t criterion_protocol_death_fields[3]; extern const pb_field_t criterion_protocol_assert_fields[5]; +extern const pb_field_t criterion_protocol_submessage_fields[8]; +extern const pb_field_t criterion_protocol_msg_fields[4]; /* Maximum encoded size of messages (where known) */ -#define criterion_protocol_msg_size 24 -#define criterion_protocol_msg_mid_size 11 #define criterion_protocol_birth_size 0 #define criterion_protocol_pre_init_size 0 #define criterion_protocol_pre_test_size 11 #define criterion_protocol_post_test_size 11 #define criterion_protocol_post_fini_size 0 #define criterion_protocol_death_size 13 +#define criterion_protocol_submessage_size (53 + criterion_protocol_assert_size) +#define criterion_protocol_msg_size (82 + criterion_protocol_assert_size) /* Message IDs (where set with "msgid" option) */ #ifdef PB_MSGID diff --git a/src/protocol/criterion.proto b/src/protocol/criterion.proto index 0a82a0a..18a3304 100644 --- a/src/protocol/criterion.proto +++ b/src/protocol/criterion.proto @@ -1,44 +1,24 @@ package criterion.protocol; -message msg { - - message mid { - optional int64 pid = 1; - } - - required int32 version = 1 [default = 1]; - required mid id = 2; - - extensions 100 to max; -} message birth { - extend msg { optional birth data = 100; } } message pre_init { - extend msg { optional pre_init data = 101; } } message pre_test { - extend msg { optional pre_test data = 102; } - optional int64 timestamp = 1; } message post_test { - extend msg { optional post_test data = 103; } - optional int64 timestamp = 1; } message post_fini { - extend msg { optional post_fini data = 104; } } message death { - extend msg { optional death data = 105; } - enum result_type { NORMAL = 0; CRASH = 1; @@ -50,10 +30,31 @@ message death { } message assert { - extend msg { optional assert data = 106; } - required string message = 1; required bool passed = 2; optional string file = 3; optional int64 line = 4; } + +message submessage { + + optional criterion.protocol.birth birth = 1; + optional criterion.protocol.pre_init pre_init = 2; + optional criterion.protocol.pre_test pre_test = 3; + optional criterion.protocol.post_test post_test = 4; + optional criterion.protocol.post_fini post_fini = 5; + optional criterion.protocol.death death = 6; + optional criterion.protocol.assert assert = 7; + +} + +message msg { + + required int32 version = 1 [default = 1]; + + oneof id { + int64 pid = 2; + } + + required submessage data = 16; +}