| #!/bin/bash |
| # Copyright 2018 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. |
| |
| ### run host tests |
| |
| ## |
| ## Usage: fx run-host-tests [-z] [host test names ...] |
| ## Builds and runs the given host tests. |
| ## With "-z" passed, only Zircon tests will be run - and |
| ## without it only tests from Garnet and above. |
| ## If no host test names are provided, then all available |
| ## host tests will be run. |
| ## |
| |
| set -o errexit |
| set -o pipefail |
| |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"/lib/vars.sh |
| fx-config-read |
| |
| function main { |
| if [[ $# -gt 0 ]] && [[ $1 = "-z" ]]; then |
| host_test_dir="${ZIRCON_BUILD_DIR}/host_tests" |
| fx-command-run build-zircon "-v" |
| shift |
| else |
| host_test_dir="${FUCHSIA_BUILD_DIR}/host_tests" |
| # If test names are supplied, rebuild the associated tests; else rebuild |
| # everything under the GN 'host_tests' label. |
| [[ $# -gt 0 ]] && build_targets="${@/#/host_tests/}" || |
| build_targets="./build/gn:host_tests" |
| fx-command-run build "${build_targets}" |
| fi |
| |
| runtests_cmd="${ZIRCON_TOOLS_DIR}/runtests -v" |
| |
| if [[ $# -gt 0 ]]; then |
| # Comma-separated list of host test names to filter by. |
| local IFS="," |
| filtered_host_tests="'$*'" |
| |
| runtests_cmd="${runtests_cmd} -t ${filtered_host_tests}" |
| fi |
| |
| runtests_cmd="${runtests_cmd} ${host_test_dir}" |
| eval "${runtests_cmd}" |
| } |
| |
| main "$@" |