Petteri Aimonen
7c5e184c26
Implement generator support for extension fields (no encoder/decoder support yet)
2013-07-17 00:06:54 +03:00
Petteri Aimonen
a01856f4ab
Add test case for extra fields in AllTypes
2013-07-16 11:07:34 +03:00
Petteri Aimonen
60109c0be1
Add option to run the tests with mudflap to detect pointer errors.
2013-03-09 13:09:14 +02:00
Petteri Aimonen
96d4016838
Improve the fuzztest.
...
Enable -fstack-protector-all to detect any stack smashing bugs. Also
use test_decode3 for maximal vulnerable surface.
2013-03-09 12:51:47 +02:00
Petteri Aimonen
47b10ec0ab
Sanitize filenames before putting them in #ifndef.
...
Update issue 50
Status: FixedInGit
2013-02-07 17:40:17 +02:00
Petteri Aimonen
4ba6a3027d
Add compile-time option PB_BUFFER_ONLY.
...
This allows slight optimizations if only memory buffer support
(as opposed to stream callbacks) is wanted. On ARM difference
is -12% execution time, -4% code size when enabled.
2013-02-06 20:54:25 +02:00
Petteri Aimonen
b9baec6b4c
Add a test for the backwards compatibility of generated files.
...
It is not necessary to maintain full compatibility of generated files
for all of eternity, but this test will warn us if there is
a need to regenerate the files.
2013-01-13 18:44:15 +02:00
Steffen Siering
1f8fb1f1ed
Use TESTS variable to define dependencies for run_unittests
2012-11-16 09:59:04 +02:00
Petteri Aimonen
434dcbb2ee
Select compilation options based on $(CC) in tests/Makefile.
...
Makes 'make CC=clang' work.
Based on patch submitted by Steffen Siering.
Update issue 40:
Status: FixedInGit
2012-11-16 09:51:23 +02:00
Petteri Aimonen
59788e2aab
Rename test_compiles.c to test_multiple_files.c
2012-11-16 09:33:11 +02:00
Steffen Siering
cc29958d34
Fix STATIC_ASSERT macro when using multiple .proto files.
...
The __COUNTER__ macro (used for generating unique names) is at least supported
by gcc, clang and Visual Studio. With this change test_compiles.c is
compilable, since no more typedefs are redefined.
Compilers/Preprocessors not supporting __COUNTER__ error's are still possible
which are hopfully handled by the usage of __LINE__ in most sittuations.
Added unit test for the problem.
2012-11-16 09:24:39 +02:00
Petteri Aimonen
02ecee2de8
Fix naming of enums when long_names=false.
...
Modify test case to check that options.pb.o compiles.
Update issue 42
Status: FixedInGit
Update issue 43
Status: FixedInGit
2012-11-14 00:36:16 +02:00
Petteri Aimonen
db1eefc24b
Add option to use short names for enum values.
...
Update issue 38
Status: FixedInGit
2012-10-29 18:55:49 +02:00
Petteri Aimonen
28b0136ea4
Improve .proto options parsing.
...
Options can now be defined on command line, file, message or in field
scope.
Update issue 12
Status: Started
2012-10-29 18:20:15 +02:00
Petteri Aimonen
bffd3a9acc
Improve the person_with_extra_field test.
...
Added a field after the extra field to verify it's also ok.
2012-10-21 21:31:20 +03:00
Petteri Aimonen
dcab39a41c
Remove the "buf = NULL" => skip requirement from pb_istream_t callbacks.
...
Rationale: it's easy to implement the callback wrong. Doing so introduces
io errors when unknown fields are present in the input. If code is not
tested with unknown fields, these bugs can remain hidden for long time.
Added a special case for the memory buffer stream, where it gives a small
speed benefit.
Added testcase for skipping fields with test_decode2 implementation.
Update issue 37
Status: FixedInGit
2012-10-18 19:45:28 +03:00
Petteri Aimonen
b214de4e1e
Enable -Wconversion for core and fix the warnings.
...
This should help avoid issue 33 in the future.
2012-09-03 17:35:14 +03:00
Petteri Aimonen
f187aad63d
Fix -Wextra warning in generated .pb.c files.
...
Compile the generated files with the same extra-strict
settings as the core, in order to detect problems in tests.
Update issue 32
Status: FixedInGit
2012-09-02 19:54:35 +03:00
Petteri Aimonen
a06dba6e49
Fix warnings with -Wcast-qual. Add test for C++ compile.
...
Update issue 27
Status: FixedInGit
2012-08-26 15:21:20 +03:00
Petteri Aimonen
a7a6cdad88
Added alltypes-testcases for optional fields and default values.
2012-08-26 10:57:51 +03:00
Petteri Aimonen
10b5da12dc
Fixed a few compiler warnings, added check.
...
Main code is now compiled (for tests) with -pedantic -Wextra.
The test programs are not as strictly bound, but this should
improve the chances that atleast the core library compiles with
most compilers without warnings.
2012-07-18 21:09:13 +03:00
Petteri Aimonen
d8bddabb83
Fix bug with .proto without messages (again), and add a test case for it.
2012-07-05 20:02:06 +03:00
Petteri Aimonen
95eb4a5499
Improve the detection of missing required fields.
...
Now the limit of tracked fields is configurable at compile-time using
PB_MAX_REQUIRED_FIELDS. Added related test and updated documentation.
Fixes issue #18 .
2012-06-30 18:10:08 +03:00
Petteri Aimonen
0f6b615ae3
Added an encode/decode test for 'required' fields of all types.
2012-01-12 19:06:33 +02:00
Petteri Aimonen
b5fb97f6f5
Make the fuzztest runnable again
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1091 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-12-30 09:05:01 +00:00
Petteri Aimonen
a3f5e4d81f
Expanding the tests to better cover decoding from memory buffer.
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1090 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-12-30 08:57:27 +00:00
Petteri Aimonen
1506450b11
Fixed a bug related to submessage encoding into memory buffer.
...
Stream state was not copied back from substream in pb_enc_submessage,
which caused garbage output if the stream callback modified the state.
Expanded tests to cover this problem.
Thanks to Paweł Pery for debugging and reporting this problem.
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1089 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-12-30 08:43:50 +00:00
Petteri Aimonen
fcfc99f766
Fixed a bunch of bugs related to callback fields.
...
Most importantly, callback fields in submessages were being overwritten with garbage, causing segfaults.
Additionally, converted PB_LTYPE_FIXED to PB_LTYPE_FIXED32 and PB_LTYPE_FIXED64. This makes the interface
a bit easier to use, and in addition runs faster.
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@975 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-13 16:14:08 +00:00
Petteri Aimonen
d4abb63c05
Tests for callback fields
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@974 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-12 18:53:33 +00:00
Petteri Aimonen
4c76c9c398
makefile fix
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@968 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-24 12:14:44 +00:00
Petteri Aimonen
64ac18c884
Changed autogenerated file naming from foo.c to foo.pb.c
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@965 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-23 16:16:33 +00:00
Petteri Aimonen
5490163200
More unittests
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@960 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-23 09:59:18 +00:00
Petteri Aimonen
5a9f85b876
unittests, change to PB_LTYPE_BYTES data size
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@959 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-22 18:57:23 +00:00
Petteri Aimonen
7f53c3f748
Example
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@957 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-17 19:03:06 +00:00
Petteri Aimonen
2cefaeaf61
Docs
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@956 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-16 17:28:59 +00:00
Petteri Aimonen
842d52633d
More documentation, small improvements
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@955 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-14 20:11:05 +00:00
Petteri Aimonen
0c5bc4caf9
Unittests for encode
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@952 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-10 17:54:15 +00:00
Petteri Aimonen
a8d0172507
Encoder
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@951 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-08-04 16:49:32 +00:00
Petteri Aimonen
3959290bc7
First version of header generator
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@950 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-07-31 12:55:09 +00:00
Petteri Aimonen
f8364310d3
unittests (some)
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@949 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-07-30 09:59:08 +00:00
Petteri Aimonen
d9238da690
bugfix
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@946 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-07-27 20:06:17 +00:00
Petteri Aimonen
42e5fcc0be
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@945 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-07-27 20:01:50 +00:00
Petteri Aimonen
ead3b734d8
Making code ansi-compatible
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@944 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-07-27 19:57:43 +00:00