This directory contains an example of capability routing in Component Framework.
If these components are not present in your build, they can be added by appending --with //examples
to your fx set
command. For example:
$ fx set core.x64 --with //examples --with //examples:tests $ fx build
Use ffx component run
(using either the C++ version or the Rust version) to create the component instances inside a restricted realm (for development purposes). The run
command will also resolve and start the echo_realm
component automatically:
$ ffx component run /core/ffx-laboratory:echo_realm fuchsia-pkg://fuchsia.com/components-routing-example-cpp#meta/echo_realm.cm
$ ffx component run /core/ffx-laboratory:echo_realm fuchsia-pkg://fuchsia.com/components-routing-example-rust#meta/echo_realm.cm
Start the client component instance by passing its moniker to ffx component start
:
$ ffx component start /core/ffx-laboratory:echo_realm/echo_client
When the above command is run, you can see the following output with fx log
:
[echo_client] INFO: Server response: Hello Fuchsia!
After running the example, you can remove the example realm using ffx component destroy
:
$ ffx component destroy /core/ffx-laboratory:echo_realm
Integration tests for echo server are available in the echo_integration_test
package. Use the ffx test run
command to run the tests on a target device:
$ ffx test run fuchsia-pkg://fuchsia.com/echo_integration_test_cpp#meta/echo_integration_test.cm
$ ffx test run fuchsia-pkg://fuchsia.com/echo_integration_test_rust#meta/echo_integration_test.cm
You should see the integration tests execute and pass:
Running test 'fuchsia-pkg://fuchsia.com/echo_integration_test#meta/echo_integration_test_rust.cm' [RUNNING] echo_integration_test [PASSED] echo_integration_test 1 out of 1 tests passed...