| # FIDL Examples |
| |
| This directory contains example code for using FIDL. |
| `fuchsia.examples` contains FIDL definitions used in the various |
| bindings-specific example directories for hlcpp, llcpp, go, and rust. |
| |
| The `test` directory contains tests to ensure that example code is kept |
| up to date. To run tests: |
| |
| fx set core.x64 --with //examples/fidl:tests |
| fx test -vo //examples/fidl |
| |
| Included in this are integration tests which will launch and run client/server |
| examples against eachother and check for successful exist codes. To run just the |
| integration test: |
| |
| fx test -vo examples-integration-test |
| |
| This test is written using gtest, so you can filter for specific |
| client/server pairs as you would any other gtest: |
| |
| fx test -vo examples-integration-test -- '--gtest_filter=IntegrationTest.Llcpp*' |
| |
| All major FIDL code examples used in documentation should preferably be |
| included from a source file somewhere in this documentation that is covered |
| by tests. This eliminates sample code duplication and ensures that example |
| code is kept up to date by being tested. |
| |
| Although this ensures that code used in any documentation is kept up to date, |
| it does not ensure that text referring to the code is kept in sync. When |
| modifying code in this repo, please check that any corresponding text is kept |
| in sync. Code can be included using a specific region: |
| |
| ``` |
| {% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="examples/fidl/foo" region_tag="bar" %} |
| ``` |
| |
| or using an entire file |
| |
| ``` |
| {% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="examples/fidl/foo" %} |
| ``` |
| |
| References can be found by grepping for these two variants in `/docs`. |