blob: aed02eff071a71d5c9309b5874d0663c744d916a [file] [log] [blame] [view]
# Run Tests on Fuchsia with CFv2 Test Scripts
[TOC]
A new version of scripts for testing on Fuchsia is being developed
[here](../../build/fuchsia/test/) and the plan is to migrate all use cases
to these scripts by the end of Q422. The new scripts currently support:
## Run CFv2 gtest binaries on Fuchsia
To build Fuchsia gtest binaries follow
[build instructions](build_instructions.md).
#### E2E Testing Script
Once the emulator is running, you can run tests on this emulator instance by
adding the command line arguments indicated above:
```bash
$ ./build/fuchsia/test/run_test.py [TEST_BINARY] -C [OUTPUT_DIR] \
--target-id [EMULATOR_NAME]
```
#### Step by step approach
Alternatively, testing can be done step by step. The following steps are
equivalent to the [E2E testing script](#e2e-testing-script).
Before starting the steps, it is recommended to set the device that will be used
as the default device that `ffx` uses:
```bash
$ ./third_party/fuchsia_sdk/sdk/tools/x64/ffx target default set [EMULATOR_NAME]
```
If the device is not set as default, all the steps other than package publishing
will require an extra `--target-id [EMULATOR_NAME]` flag.
##### Publish packages
Before devices can run the packages built, a directory needs to be initialized
to serve as a package repository and the packages must be published to it:
```bash
$ ./build/fuchsia/test/publish_package.py -C [OUTPUT_DIR] --repo [REPO_DIR] \
--packages [TEST_BINARY]
```
##### Package installation
The packages need to be installed on the device:
```bash
$ ./build/fuchsia/test/serve_repo.py start --serve-repo [REPO_DIR] \
```
##### Stream system logs
System logs can be obtained via:
```bash
$ ./build/fuchsia/test/log_manager.py start --packages [TEST_BINARY] \
-C [OUTPUT_DIR]
```
Specifying the test binary and the output directory allows the logs to be
properly symbolized.
##### Run test package
```bash
$ ./build/fuchsia/test/run_executable_test.py --test-name [TEST_BINARY] \
```