| #!/bin/bash |
| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| #### CATEGORY=Test |
| ### Component integration test auto-generator |
| ## Usage: fx testgen integration_test --component-manifest <path/to/.cm> -o <path/to/test/root/dir> |
| ## See 'fx testgen --help' for more help |
| |
| DEVSHELL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" |
| source "${DEVSHELL_DIR}/lib/vars.sh" || exit $? |
| |
| # Intercept the output path so we can format code after generation. |
| args="$@" |
| COMMAND_OPTS=() |
| while [[ $# -gt 0 ]]; do |
| case "$1" in |
| -o|--test_root) |
| # Remove all trailing slashes. |
| shift |
| output_dir=$(echo $1 | sed 's:/*$::') |
| break |
| ;; |
| *) |
| shift |
| ;; |
| esac |
| done |
| |
| fx-config-read |
| # fx-commmand-run instead of fx-command-exec because exec replaces the current |
| # process, so only the first command starts. |
| fx-command-run host-tool testgen $args |
| |
| if [[ ! -z $output_dir ]]; then |
| fx-command-run format-code --files="$output_dir/**/*" |
| fi |