blob: b180cc5e7c8a138ba9a022e51f526a725d4bfc1b [file] [log] [blame] [view]
# 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`.