blob: b812e6a5e57b3fd56f7b63c1fbe5c35774258ec7 [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/lib/symbol-index.sh"
"tools/devshell/lib/fx-cmd-locator.sh"
"tools/devshell/lib/fx-optional-features.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)"
}
TEST_symbolize_local() {
BT_EXPECT ${fx} symbolize --experimental
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 --experimental -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 "$@"