tree: 92b0f71ed2c4eb14c445f7dfc86d4794ff696850 [path history] [tgz]
  1. meta/
  2. BUILD.gn
  3. caller_allocating_test.cc
  4. client_gen_api_test.cc
  5. dispatcher_handle_ownership.test.fidl
  6. dispatcher_handle_ownership_test.cc
  7. flexible.test.fidl
  8. flexible_test.cc
  9. handle_raii.test.fidl
  10. handle_raii_test.cc
  11. handle_rights.test.fidl
  12. handle_rights_test.cc
  13. header_coding_test.cc
  14. llcpp.test.fidl
  15. protocol.test.fidl
  16. protocol_test.cc
  17. README.md
  18. server_gen_api_test.cc
  19. sync_client_error_tests.cc
  20. sync_event_handler_test.cc
  21. unknown_interactions_tests.cc
  22. v2_integration.test.fidl
  23. v2_integration_test.cc
  24. zircon_channel_client_over_driver_dispatcher_test.cc
src/lib/fidl/llcpp/tests/integration/README.md

Integration tests

These tests verify that the various components of LLCPP work together to deliver a particular feature. For example, handle_rights_test.cc tests that the client and server dispatchers verify handle type and down-scope handle rights. flexible_test.cc tests that LLCPP over-allocates memory for flexible types, in anticipation of receiving unknown fields pushing the message over its statically computed size limit.

It's good to have a few end-to-end tests verifying the behavior at a high level, but we should prefer writing tests with a more granular coverage, and over a smaller interface, such that the resulting tests are easier to setup and interpret, acknowledging the gap in the status quo.