Skip to content
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

Closed
wants to merge 10 commits into from
Closed

Expand testing #61

wants to merge 10 commits into from

Conversation

andersfugmann
Copy link
Contributor

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 the deserialize.ml and deserialize.mli files.

Benchmarking improvements:

  • Makefile: Modified the bench command to include a --profile=bench option, enhancing the benchmarking process.
  • bench/bench.ml: Added a new function make_int_tests for integer tests and increased the benchmark quota from 1.0 to 5.0 seconds. Also, added a make_tests call for the Protoc.Empty module. [1] [2] [3]

Additions to the codebase:

  • bench/empty.proto: Added a new empty.proto file.
  • bench/plugin/dune and bench/protoc/dune: Modified to include empty.ml in the targets and ../empty.proto in the dependencies. [1] [2]
  • dune-workspace: Added new ocamlopt_flags for the bench environment.

Changes to the deserialization process:

  • src/ocaml_protoc_plugin/deserialize.ml and src/ocaml_protoc_plugin/deserialize.mli: Made significant changes to the deserialization process, including modifying the value function, adding new functions like extension_ranges, deserialize_fast, and deserialize_full, and modifying the deserialize function. These changes aim to improve the efficiency and flexibility of the deserialization process. [1] [2] [3] [4] [5] [6] [7]

@andersfugmann andersfugmann requested a review from a team as a code owner January 31, 2024 20:50
@andersfugmann
Copy link
Contributor Author

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

@andersfugmann andersfugmann force-pushed the andersfugmann/extend_tests branch from 7f761cd to 8bf45c1 Compare January 31, 2024 21:23
@andersfugmann andersfugmann deleted the andersfugmann/extend_tests branch February 25, 2024 23:16
@andersfugmann
Copy link
Contributor Author

Closing as developement has moved to https://github.com/andersfugmann/ocaml-protoc-plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant