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