-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expand testing #61
Expand testing #61
Conversation
…generation as well as removing unused arguments.
- Remove Required/Optional in deserialization - re-introduce a basic_opt type to be more explicit about presense of default values
…eserialization strategies to extend testing
Copilot generate summary, which is actually not too bad :-) I'd add that the PR refactors deserialization and extends testing to test both fast and full deserialization though use of the test lib, by doing dependency injection. Benchmarks are also updated to test serialization and deserialization of empty messages and some other tuning |
7f761cd
to
8bf45c1
Compare
Closing as developement has moved to https://github.com/andersfugmann/ocaml-protoc-plugin |
This pull request includes a series of changes primarily focused on improving the benchmarking process and modifying the deserialization process in the OCaml Protoc Plugin. The main changes include adding a new test function for integer tests, increasing the benchmark quota, adding a new
empty.proto
file, and making significant changes to thedeserialize.ml
anddeserialize.mli
files.Benchmarking improvements:
Makefile
: Modified thebench
command to include a--profile=bench
option, enhancing the benchmarking process.bench/bench.ml
: Added a new functionmake_int_tests
for integer tests and increased the benchmark quota from 1.0 to 5.0 seconds. Also, added amake_tests
call for theProtoc.Empty
module. [1] [2] [3]Additions to the codebase:
bench/empty.proto
: Added a newempty.proto
file.bench/plugin/dune
andbench/protoc/dune
: Modified to includeempty.ml
in the targets and../empty.proto
in the dependencies. [1] [2]dune-workspace
: Added newocamlopt_flags
for thebench
environment.Changes to the deserialization process:
src/ocaml_protoc_plugin/deserialize.ml
andsrc/ocaml_protoc_plugin/deserialize.mli
: Made significant changes to the deserialization process, including modifying thevalue
function, adding new functions likeextension_ranges
,deserialize_fast
, anddeserialize_full
, and modifying thedeserialize
function. These changes aim to improve the efficiency and flexibility of the deserialization process. [1] [2] [3] [4] [5] [6] [7]