blob: 5d558c1394b1fe5b435cc1675e0e0f820b7cc21f [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 klog
BT_FILE_DEPS=(
"scripts/fx"
"tools/devshell/lib/fx-cmd-locator.sh"
"tools/devshell/lib/fx-optional-features.sh"
"tools/devshell/lib/generate-ssh-config.sh"
"tools/devshell/lib/updates.sh"
"tools/devshell/lib/vars.sh"
"tools/devshell/lib/platform.sh"
"tools/devshell/klog"
)
declare fx ffx
init_fake_ffx() {
echo > "${ffx}_mock_errors"
cat >"${ffx}.mock_side_effects" <<INPUT
if [[ \${@: -1} == "get" ]]; then
if [[ -n "\$FUCHSIA_DEVICE_ADDR" ]]; then
echo "\$FUCHSIA_DEVICE_ADDR"
elif [[ -n "\$FUCHSIA_NODENAME" ]]; then
echo "\$FUCHSIA_NODENAME"
else
echo "No default target." >&2
echo "If exactly one target is connected, ffx will use that." >&2
fi
elif [[ \${@: -1} != "symbolize" ]]; then
echo "Disallowed command: \$*" >> "${ffx}_mock_errors"
fi
INPUT
}
BT_SET_UP() {
source "${BT_TEMP_DIR}/tools/devshell/lib/vars.sh"
source "${BT_TEMP_DIR}/tools/devshell/tests/lib/fuchsia-mock.sh"
fx="$(btf::setup_fx)"
fx-config-read
ffx="$(btf::make_installed_hosttools_mock ffx)"
init_fake_ffx
_loglistener="$(btf::make_installed_hosttools_mock loglistener)"
}
TEST_klog_raw() {
BT_EXPECT "${fx}" -t "testing" klog --raw
btf::expect-mock-args "${ffx}.mock_state.1" --config fuchsia.analytics.ffx_invoker=fx target default get
BT_EXPECT_FILE_DOES_NOT_EXIST "${ffx}.mock_state.3" \
"ffx should not have been called 3 times fx klog --raw"
BT_EXPECT_FILE_CONTAINS "${ffx}_mock_errors" ""
}
TEST_klog() {
BT_EXPECT "${fx}" -t "testing" klog
btf::expect-mock-args "${ffx}.mock_state.2" debug symbolize
BT_EXPECT_FILE_CONTAINS "${ffx}_mock_errors" ""
}
BT_RUN_TESTS "$@"