| #!/bin/bash |
| # Copyright 2020 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. |
| # |
| # Test that verifies that fconfig correctly handles properties |
| set -e |
| |
| BT_SET_UP() { |
| # shellcheck disable=SC1090 |
| source "${BT_TEMP_DIR}/scripts/sdk/gn/bash_tests/gn-bash-test-lib.sh" |
| |
| FCONFIG_CMD="${BT_TEMP_DIR}/scripts/sdk/gn/base/bin/fconfig.sh" |
| # Make "home" directory in the test dir so the paths are stable." |
| mkdir -p "${BT_TEMP_DIR}/test-home" |
| export HOME="${BT_TEMP_DIR}/test-home" |
| } |
| |
| TEST_config_list() { |
| |
| expected_list="bucket= |
| device-ip= |
| device-name= |
| image= |
| emu-image= |
| emu-bucket=" |
| |
| BT_EXPECT "${FCONFIG_CMD}" list > "${BT_TEMP_DIR}/list_stdout.txt" |
| BT_EXPECT_FILE_CONTAINS "${BT_TEMP_DIR}/list_stdout.txt" "${expected_list}" |
| } |
| |
| TEST_config_invalid_property() { |
| BT_EXPECT_FAIL "${FCONFIG_CMD}" get random_property 2>"${BT_TEMP_DIR}/error_message.txt" |
| BT_EXPECT_FILE_CONTAINS "${BT_TEMP_DIR}/error_message.txt" "ERROR: Invalid property name: random_property" |
| } |
| |
| TEST_config_set() { |
| BT_EXPECT_FAIL "${FCONFIG_CMD}" set device-ip 8080 2> "${BT_TEMP_DIR}/set_error_message.txt" |
| BT_EXPECT_FILE_CONTAINS "${BT_TEMP_DIR}/set_error_message.txt" "ERROR: fconfig.sh default/set are no longer supported. Use tools/x64/fconfig instead." |
| } |
| |
| |
| # Test initialization. |
| # shellcheck disable=SC2034 |
| BT_FILE_DEPS=( |
| scripts/sdk/gn/base/bin/fconfig.sh |
| scripts/sdk/gn/base/bin/fuchsia-common.sh |
| scripts/sdk/gn/bash_tests/gn-bash-test-lib.sh |
| ) |
| # shellcheck disable=SC2034 |
| BT_MOCKED_TOOLS=( |
| "scripts/sdk/gn/base/tools/x64/fconfig" |
| "scripts/sdk/gn/base/tools/arm64/fconfig" |
| ) |
| |
| BT_RUN_TESTS "$@" |