tree: 2f0bf3a68661f468fcec336c122c91523e50e9d0 [path history] [tgz]
  1. arena_checker.cc
  2. arena_checker.h
  3. BUILD.gn
  4. caller_allocating_test.cc
  5. client_gen_api_test.cc
  6. dispatcher_handle_ownership.test.fidl
  7. dispatcher_handle_ownership_test.cc
  8. flexible.test.fidl
  9. flexible_test.cc
  10. handle_raii.test.fidl
  11. handle_raii_test.cc
  12. handle_rights.test.fidl
  13. handle_rights_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. transitional.test.fidl
  21. transitional_test.cc
  22. v2_integration.test.fidl
  23. v2_integration_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.