Code Review
/
apps
/
agl-service-can-low-level.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
review
|
tree
raw
|
patch
|
inline
| side by side (parent:
d2e023e
)
Add oneofs to AllTypes test case
author
Petteri Aimonen
<jpa@git.mail.kapsi.fi>
Sun, 11 Jan 2015 17:47:27 +0000
(19:47 +0200)
committer
Petteri Aimonen
<jpa@git.mail.kapsi.fi>
Sun, 11 Jan 2015 17:47:27 +0000
(19:47 +0200)
12 files changed:
tests/alltypes/alltypes.proto
patch
|
blob
|
history
tests/alltypes/decode_alltypes.c
patch
|
blob
|
history
tests/alltypes/encode_alltypes.c
patch
|
blob
|
history
tests/alltypes_callback/alltypes.options
patch
|
blob
|
history
tests/alltypes_callback/decode_alltypes_callback.c
patch
|
blob
|
history
tests/alltypes_callback/encode_alltypes_callback.c
patch
|
blob
|
history
tests/alltypes_pointer/SConscript
patch
|
blob
|
history
tests/alltypes_pointer/decode_alltypes_pointer.c
patch
|
blob
|
history
tests/alltypes_pointer/encode_alltypes_pointer.c
patch
|
blob
|
history
tests/field_size_16/alltypes.proto
patch
|
blob
|
history
tests/field_size_32/alltypes.proto
patch
|
blob
|
history
tests/io_errors_pointers/SConscript
patch
|
blob
|
history
diff --git
a/tests/alltypes/alltypes.proto
b/tests/alltypes/alltypes.proto
index
db83c9a
..
28eaf0b
100644
(file)
--- a/
tests/alltypes/alltypes.proto
+++ b/
tests/alltypes/alltypes.proto
@@
-101,6
+101,12
@@
message AllTypes {
optional MyEnum opt_enum = 57 [default = Second];
optional EmptyMessage opt_emptymsg = 58;
optional MyEnum opt_enum = 57 [default = Second];
optional EmptyMessage opt_emptymsg = 58;
+ oneof oneof
+ {
+ SubMessage oneof_msg1 = 59;
+ EmptyMessage oneof_msg2 = 60;
+ }
+
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
diff --git
a/tests/alltypes/decode_alltypes.c
b/tests/alltypes/decode_alltypes.c
index
67cb72c
..
458e511
100644
(file)
--- a/
tests/alltypes/decode_alltypes.c
+++ b/
tests/alltypes/decode_alltypes.c
@@
-125,6
+125,8
@@
bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.has_opt_enum == false);
TEST(alltypes.opt_enum == MyEnum_Second);
TEST(alltypes.has_opt_emptymsg == false);
TEST(alltypes.has_opt_enum == false);
TEST(alltypes.opt_enum == MyEnum_Second);
TEST(alltypes.has_opt_emptymsg == false);
+
+ TEST(alltypes.which_oneof == 0);
}
else
{
}
else
{
@@
-170,6
+172,10
@@
bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.has_opt_enum == true);
TEST(alltypes.opt_enum == MyEnum_Truth);
TEST(alltypes.has_opt_emptymsg == true);
TEST(alltypes.has_opt_enum == true);
TEST(alltypes.opt_enum == MyEnum_Truth);
TEST(alltypes.has_opt_emptymsg == true);
+
+ TEST(alltypes.which_oneof == AllTypes_oneof_msg1_tag);
+ TEST(strcmp(alltypes.oneof.oneof_msg1.substuff1, "4059") == 0);
+ TEST(alltypes.oneof.oneof_msg1.substuff2 == 4059);
}
TEST(alltypes.req_limits.int32_min == INT32_MIN);
}
TEST(alltypes.req_limits.int32_min == INT32_MIN);
diff --git
a/tests/alltypes/encode_alltypes.c
b/tests/alltypes/encode_alltypes.c
index
deec790
..
16f4b29
100644
(file)
--- a/
tests/alltypes/encode_alltypes.c
+++ b/
tests/alltypes/encode_alltypes.c
@@
-121,6
+121,10
@@
int main(int argc, char **argv)
alltypes.has_opt_enum = true;
alltypes.opt_enum = MyEnum_Truth;
alltypes.has_opt_emptymsg = true;
alltypes.has_opt_enum = true;
alltypes.opt_enum = MyEnum_Truth;
alltypes.has_opt_emptymsg = true;
+
+ alltypes.which_oneof = AllTypes_oneof_msg1_tag;
+ strcpy(alltypes.oneof.oneof_msg1.substuff1, "4059");
+ alltypes.oneof.oneof_msg1.substuff2 = 4059;
}
alltypes.end = 1099;
}
alltypes.end = 1099;
diff --git
a/tests/alltypes_callback/alltypes.options
b/tests/alltypes_callback/alltypes.options
index
a9c55ec
..
daee522
100644
(file)
--- a/
tests/alltypes_callback/alltypes.options
+++ b/
tests/alltypes_callback/alltypes.options
@@
-1,3
+1,4
@@
# Generate all fields as callbacks.
AllTypes.* type:FT_CALLBACK
SubMessage.substuff1 max_size:16
# Generate all fields as callbacks.
AllTypes.* type:FT_CALLBACK
SubMessage.substuff1 max_size:16
+AllTypes.oneof no_unions:true
diff --git
a/tests/alltypes_callback/decode_alltypes_callback.c
b/tests/alltypes_callback/decode_alltypes_callback.c
index
b6017fe
..
c53ab6e
100644
(file)
--- a/
tests/alltypes_callback/decode_alltypes_callback.c
+++ b/
tests/alltypes_callback/decode_alltypes_callback.c
@@
-214,6
+214,8
@@
bool check_alltypes(pb_istream_t *stream, int mode)
int64_t opt_sfixed64 = 3052;
double opt_double = 3053.0f;
SubMessage opt_submsg = {"3056", 3056};
int64_t opt_sfixed64 = 3052;
double opt_double = 3053.0f;
SubMessage opt_submsg = {"3056", 3056};
+
+ SubMessage oneof_msg1 = {"4059", 4059};
/* Bind callbacks for required fields */
AllTypes alltypes;
/* Bind callbacks for required fields */
AllTypes alltypes;
@@
-392,6
+394,9
@@
bool check_alltypes(pb_istream_t *stream, int mode)
alltypes.opt_enum.arg = (void*)MyEnum_Truth;
alltypes.opt_emptymsg.funcs.decode = &read_emptymsg;
alltypes.opt_enum.arg = (void*)MyEnum_Truth;
alltypes.opt_emptymsg.funcs.decode = &read_emptymsg;
+
+ alltypes.oneof_msg1.funcs.decode = &read_submsg;
+ alltypes.oneof_msg1.arg = &oneof_msg1;
}
return pb_decode(stream, AllTypes_fields, &alltypes);
}
return pb_decode(stream, AllTypes_fields, &alltypes);
diff --git
a/tests/alltypes_callback/encode_alltypes_callback.c
b/tests/alltypes_callback/encode_alltypes_callback.c
index
10560b1
..
abc43f5
100644
(file)
--- a/
tests/alltypes_callback/encode_alltypes_callback.c
+++ b/
tests/alltypes_callback/encode_alltypes_callback.c
@@
-202,6
+202,8
@@
int main(int argc, char **argv)
double opt_double = 3053.0f;
SubMessage opt_submsg = {"3056", 3056};
double opt_double = 3053.0f;
SubMessage opt_submsg = {"3056", 3056};
+ SubMessage oneof_msg1 = {"4059", 4059};
+
/* Bind callbacks for required fields */
AllTypes alltypes = {{{0}}};
/* Bind callbacks for required fields */
AllTypes alltypes = {{{0}}};
@@
-372,6
+374,9
@@
int main(int argc, char **argv)
alltypes.opt_enum.arg = (void*)MyEnum_Truth;
alltypes.opt_emptymsg.funcs.encode = &write_emptymsg;
alltypes.opt_enum.arg = (void*)MyEnum_Truth;
alltypes.opt_emptymsg.funcs.encode = &write_emptymsg;
+
+ alltypes.oneof_msg1.funcs.encode = &write_submsg;
+ alltypes.oneof_msg1.arg = &oneof_msg1;
}
alltypes.end.funcs.encode = &write_varint;
}
alltypes.end.funcs.encode = &write_varint;
diff --git
a/tests/alltypes_pointer/SConscript
b/tests/alltypes_pointer/SConscript
index
52856f6
..
b095ae0
100644
(file)
--- a/
tests/alltypes_pointer/SConscript
+++ b/
tests/alltypes_pointer/SConscript
@@
-27,7
+27,7
@@
valgrind = env.WhereIs('valgrind')
kwargs = {}
if valgrind:
kwargs['COMMAND'] = valgrind
kwargs = {}
if valgrind:
kwargs['COMMAND'] = valgrind
- kwargs['ARGS'] = ["-q", dec[0].abspath]
+ kwargs['ARGS'] = ["-q",
"--error-exitcode=99",
dec[0].abspath]
env.RunTest("decode_alltypes.output", [dec, "encode_alltypes_pointer.output"], **kwargs)
env.RunTest("decode_alltypes.output", [dec, "encode_alltypes_pointer.output"], **kwargs)
diff --git
a/tests/alltypes_pointer/decode_alltypes_pointer.c
b/tests/alltypes_pointer/decode_alltypes_pointer.c
index
1e71901
..
1dbb6c5
100644
(file)
--- a/
tests/alltypes_pointer/decode_alltypes_pointer.c
+++ b/
tests/alltypes_pointer/decode_alltypes_pointer.c
@@
-99,6
+99,8
@@
bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.opt_bytes == NULL);
TEST(alltypes.opt_submsg == NULL);
TEST(alltypes.opt_enum == NULL);
TEST(alltypes.opt_bytes == NULL);
TEST(alltypes.opt_submsg == NULL);
TEST(alltypes.opt_enum == NULL);
+
+ TEST(alltypes.which_oneof == 0);
}
else
{
}
else
{
@@
-125,6
+127,10
@@
bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.opt_submsg && *alltypes.opt_submsg->substuff2 == 3056);
TEST(alltypes.opt_enum && *alltypes.opt_enum == MyEnum_Truth);
TEST(alltypes.opt_emptymsg);
TEST(alltypes.opt_submsg && *alltypes.opt_submsg->substuff2 == 3056);
TEST(alltypes.opt_enum && *alltypes.opt_enum == MyEnum_Truth);
TEST(alltypes.opt_emptymsg);
+
+ TEST(alltypes.which_oneof == AllTypes_oneof_msg1_tag);
+ TEST(alltypes.oneof.oneof_msg1 && strcmp(alltypes.oneof.oneof_msg1->substuff1, "4059") == 0);
+ TEST(alltypes.oneof.oneof_msg1->substuff2 && *alltypes.oneof.oneof_msg1->substuff2 == 4059);
}
TEST(alltypes.req_limits->int32_min && *alltypes.req_limits->int32_min == INT32_MIN);
}
TEST(alltypes.req_limits->int32_min && *alltypes.req_limits->int32_min == INT32_MIN);
diff --git
a/tests/alltypes_pointer/encode_alltypes_pointer.c
b/tests/alltypes_pointer/encode_alltypes_pointer.c
index
c128569
..
7b52662
100644
(file)
--- a/
tests/alltypes_pointer/encode_alltypes_pointer.c
+++ b/
tests/alltypes_pointer/encode_alltypes_pointer.c
@@
-84,6
+84,9
@@
int main(int argc, char **argv)
MyEnum opt_enum = MyEnum_Truth;
EmptyMessage opt_emptymsg = {0};
MyEnum opt_enum = MyEnum_Truth;
EmptyMessage opt_emptymsg = {0};
+ static int32_t oneof_substuff = 4059;
+ SubMessage oneof_msg1 = {"4059", &oneof_substuff};
+
/* Values for the Limits message. */
static int32_t int32_min = INT32_MIN;
static int32_t int32_max = INT32_MAX;
/* Values for the Limits message. */
static int32_t int32_min = INT32_MIN;
static int32_t int32_max = INT32_MAX;
@@
-164,6
+167,9
@@
int main(int argc, char **argv)
alltypes.opt_submsg = &opt_submsg;
alltypes.opt_enum = &opt_enum;
alltypes.opt_emptymsg = &opt_emptymsg;
alltypes.opt_submsg = &opt_submsg;
alltypes.opt_enum = &opt_enum;
alltypes.opt_emptymsg = &opt_emptymsg;
+
+ alltypes.which_oneof = AllTypes_oneof_msg1_tag;
+ alltypes.oneof.oneof_msg1 = &oneof_msg1;
}
alltypes.end = &end;
}
alltypes.end = &end;
diff --git
a/tests/field_size_16/alltypes.proto
b/tests/field_size_16/alltypes.proto
index
81693c0
..
039391f
100644
(file)
--- a/
tests/field_size_16/alltypes.proto
+++ b/
tests/field_size_16/alltypes.proto
@@
-101,6
+101,12
@@
message AllTypes {
optional MyEnum opt_enum = 10057 [default = Second];
optional EmptyMessage opt_emptymsg = 10058;
optional MyEnum opt_enum = 10057 [default = Second];
optional EmptyMessage opt_emptymsg = 10058;
+ oneof oneof
+ {
+ SubMessage oneof_msg1 = 10059;
+ EmptyMessage oneof_msg2 = 10060;
+ }
+
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
diff --git
a/tests/field_size_32/alltypes.proto
b/tests/field_size_32/alltypes.proto
index
81717bb
..
5749e0d
100644
(file)
--- a/
tests/field_size_32/alltypes.proto
+++ b/
tests/field_size_32/alltypes.proto
@@
-101,6
+101,12
@@
message AllTypes {
optional MyEnum opt_enum = 10057 [default = Second];
optional EmptyMessage opt_emptymsg = 10058;
optional MyEnum opt_enum = 10057 [default = Second];
optional EmptyMessage opt_emptymsg = 10058;
+ oneof oneof
+ {
+ SubMessage oneof_msg1 = 10059;
+ EmptyMessage oneof_msg2 = 10060;
+ }
+
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
diff --git
a/tests/io_errors_pointers/SConscript
b/tests/io_errors_pointers/SConscript
index
8d23f60
..
03727df
100644
(file)
--- a/
tests/io_errors_pointers/SConscript
+++ b/
tests/io_errors_pointers/SConscript
@@
-19,7
+19,7
@@
valgrind = env.WhereIs('valgrind')
kwargs = {}
if valgrind:
kwargs['COMMAND'] = valgrind
kwargs = {}
if valgrind:
kwargs['COMMAND'] = valgrind
- kwargs['ARGS'] = ["-q", ioerr[0].abspath]
+ kwargs['ARGS'] = ["-q",
"--error-exitcode=99",
ioerr[0].abspath]
env.RunTest("io_errors.output", [ioerr, "$BUILD/alltypes/encode_alltypes.output"], **kwargs)
env.RunTest("io_errors.output", [ioerr, "$BUILD/alltypes/encode_alltypes.output"], **kwargs)