blob: 40d182b96ac98af90e9c68581e9f073801e3133b [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 log
BT_FILE_DEPS=(
"scripts/fx"
"tools/devshell/lib/vars.sh"
"tools/devshell/lib/prebuilt.sh"
"tools/devshell/symbolize"
"tools/devshell/log"
)
BT_MOCKED_TOOLS=(
"tools/devshell/wait"
"tools/devshell/shell"
"tools/devshell/ssh"
)
declare fx symbolize
BT_SET_UP() {
source "${BT_TEMP_DIR}/tools/devshell/tests/lib/fuchsia-mock.sh"
fx="$(btf::setup_fx)"
symbolize="$(btf::make_hosttools_mock symbolize)"
}
TEST_log_raw() {
BT_EXPECT ${fx} log --raw
BT_EXPECT_FILE_DOES_NOT_EXIST "${symbolize}.mock_state" \
"symbolize should not have been called when using fx log --raw"
}
TEST_log_local() {
BT_EXPECT ${fx} log
source "${symbolize}.mock_state"
local symbol_args="$(count_symbol_server_args)"
BT_EXPECT_EQ "${symbol_args}" "0" "symbolize should not get any -symbol-server arguments: ${symbol_args}"
}
TEST_log_remote() {
BT_EXPECT ${fx} log -r
source "${symbolize}.mock_state"
local symbol_args="$(count_symbol_server_args)"
BT_EXPECT_EQ $((symbol_args>0)) "1" "symbolize should get at least one -symbol-server argument: ${symbol_args}"
}
TEST_log_remote_long() {
BT_EXPECT ${fx} log --remote-symbols
source "${symbolize}.mock_state"
local symbol_args="$(count_symbol_server_args)"
BT_EXPECT_EQ $((symbol_args>0)) "1" "symbolize 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 "$@"