tree: 136ba462ac76b5d6e77012b1cb880f8dc2be759c [path history] [tgz]
  1. fidl/
  2. lib/
  3. meta/
  4. src/
  5. BUILD.gn
  6. README.md
src/diagnostics/inspect_validator/README.md

Inspect Validator

Reviewed on: 2019-09-24

Inspect Validator exercises libraries that write Inspect VMOs and evaluates the resulting VMOs for correctness and memory efficiency.

Building

This project can be added to builds by including --with //src/diagnostics/inspect_validator:tests to the fx set invocation.

For example:

fx set core.chromebook-x64 --with '//topaz/bundles:buildbot' --with //src/diagnostics/inspect_validator:tests

The Rust puppet is --with //src/diagnostics/inspect_validator/lib/rust:tests.

The C++puppet is --with //src/diagnostics/inspect_validator/lib/cpp:tests.

Running

Inspect Validator will be run as part of CQ/CI. To run manually, see “Testing”.

Invoke with at least one “--url fuchsia-pkg://....” argument. Also valid: “--output text” or “--output json” (defaults to json).

Testing

To run unit tests:

--with //src/diagnostics/inspect_validator:tests
fx run-test inspect_validator_tests
fx build && fx shell run_test_component fuchsia-pkg://fuchsia.com/inspect_validator_tests#meta/validator_bin_test.cmx && echo Success!

To run an integration test to evaluate the Rust Inspect library:

--with //src/diagnostics/inspect_validator/lib/rust:tests
fx run-test inspect_validator_test_rust
fx build && fx shell run fuchsia-pkg://fuchsia.com/inspect_validator_test_rust#meta/validator.cmx && echo Success!

To manually run one or more puppets by specifying their URLs (in this case, the Rust puppet):

--with //src/diagnostics/inspect_validator
fx build && fx shell run fuchsia-pkg://fuchsia.com/inspect_validator#meta/validator.cmx --url fuchsia-pkg://fuchsia.com/inspect_validator_test_rust#meta/inspect_validator_rust_puppet.cmx

Source layout

The test entrypoint is located in src/client.rs. It connects to and controls one or more “puppet” programs located under lib/(language) such as lib/rust/src/main.rs. Since Dart is not currently supported in //src, its puppet will be located at //topaz/public/dart/fuchsia_inspect/test/validator_puppet.