blob: 1e7f698fcd7edaebeee9ea18c6165fa64c8963ce [file] [log] [blame]
#!/bin/bash
# Copyright 2019 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 expected behavior of fx symbolize
BT_FILE_DEPS=(
"scripts/fx"
"tools/devshell/contrib/ffx"
"tools/devshell/contrib/lib/symbol-index.sh"
"tools/devshell/lib/fx-cmd-locator.sh"
"tools/devshell/lib/fx-optional-features.sh"
"tools/devshell/lib/updates.sh"
"tools/devshell/lib/vars.sh"
"tools/devshell/lib/platform.sh"
"tools/devshell/symbolize"
)
declare fx symbolizer symbol_index
BT_SET_UP() {
source "${BT_TEMP_DIR}/tools/devshell/tests/lib/fuchsia-mock.sh"
fx="$(btf::setup_fx)"
symbolizer="$(btf::make_hosttools_mock symbolizer)"
symbol_index="$(btf::make_hosttools_mock symbol-index)"
ffx="$(btf::make_hosttools_mock ffx)"
}
TEST_symbolize_local() {
BT_EXPECT ${fx} symbolize
source "${symbolizer}.mock_state"
local symbol_args="$(count_symbol_server_args)"
BT_EXPECT_EQ "${symbol_args}" "0" "symbolizer should not get any --symbol-server arguments: ${symbol_args}"
}
TEST_symbolize_remote() {
mkdir -p "${BT_TEMP_DIR}/.home/.fuchsia/debug"
touch "${BT_TEMP_DIR}/.home/.fuchsia/debug/googleapi_auth"
BT_EXPECT HOME="${BT_TEMP_DIR}/.home" ${fx} symbolize -r
source "${symbolizer}.mock_state"
local symbol_args="$(count_symbol_server_args)"
BT_EXPECT_EQ $((symbol_args>0)) "1" "symbolizer should get at least one --symbol-server argument: ${symbol_args}"
}
count_symbol_server_args() {
local symbol_server_args=0
for i in "${!BT_MOCK_ARGS[@]}"; do
if [[ "${BT_MOCK_ARGS[$i]}" == "--symbol-server" ]]; then
((symbol_server_args++))
fi
done
echo ${symbol_server_args}
}
BT_RUN_TESTS "$@"