blob: 9dd1a274717212b404a1dc56a9e178086e624c7b [file] [log] [blame]
#!/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 fx vdl
BT_FILE_DEPS=(
"scripts/fx"
"tools/devshell/lib/fx-cmd-locator.sh"
"tools/devshell/lib/fx-optional-features.sh"
"tools/devshell/lib/image_build_vars.sh"
"tools/devshell/lib/platform.sh"
"tools/devshell/lib/vars.sh"
"tools/devshell/vdl"
)
BT_MOCKED_TOOLS=(
# VDL
"prebuilt/vdl/device_launcher"
# Emulator
"${PREBUILT_AEMU_DIR}/emulator"
)
declare fx
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)"
btf::make_mock "${BT_TEMP_DIR}/out/default/image_paths.sh"
btf::make_mock "${BT_TEMP_DIR}/${PREBUILT_VDL_DIR}/device_launcher"
btf::make_mock "${BT_TEMP_DIR}/tools/devshell/list-build-artifacts"
btf::make_mock "${BT_TEMP_DIR}/out/default/host/zbi"
cat >> "${BT_TEMP_DIR}/tools/devshell/list-build-artifacts.mock_side_effects" << "EOF"
if [[ "$@" == "--name zbi --expect-one tools" ]] ; then
echo "host/zbi"
fi
EOF
}
TEST_fx_vdl_default() {
local out="${BT_TEMP_DIR}/output.log"
BT_EXPECT ${fx} vdl >>${out} 2>&1
btf::expect-mock-args "${PREBUILT_VDL_DIR}/device_launcher.mock_state" \
"--action=start" _ANY_ _ANY_ _ANY_ _ANY_ \
"--resize_fvm=2G" \
"--gpu=swiftshader_indirect" \
"--headless_mode=false" \
"--tuntap=false" \
_ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ \
"--ga=true" \
_ANY_ _ANY_
}
TEST_fx_vdl_tuntap() {
local out="${BT_TEMP_DIR}/output.log"
BT_EXPECT ${fx} vdl -N >>${out} 2>&1
btf::expect-mock-args "${PREBUILT_VDL_DIR}/device_launcher.mock_state" \
"--action=start" _ANY_ _ANY_ _ANY_ _ANY_ \
"--resize_fvm=2G" \
"--gpu=swiftshader_indirect" \
"--headless_mode=false" \
"--tuntap=true" \
_ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ \
"--ga=true" \
_ANY_ _ANY_
}
TEST_fx_vdl_headless_tuntap() {
local out="${BT_TEMP_DIR}/output.log"
BT_EXPECT ${fx} vdl -N --headless >>${out} 2>&1
btf::expect-mock-args "${PREBUILT_VDL_DIR}/device_launcher.mock_state" \
"--action=start" _ANY_ _ANY_ _ANY_ _ANY_ \
"--resize_fvm=2G" \
"--gpu=swiftshader_indirect" \
"--headless_mode=true" \
"--tuntap=true" \
_ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ \
"--ga=true" \
_ANY_ _ANY_
}
TEST_fx_vdl_tuntap_script() {
local out="${BT_TEMP_DIR}/output.log"
BT_EXPECT ${fx} vdl -N -u "./script" >>${out} 2>&1
btf::expect-mock-args "${PREBUILT_VDL_DIR}/device_launcher.mock_state" \
"--action=start" _ANY_ _ANY_ _ANY_ _ANY_ \
"--resize_fvm=2G" \
"--gpu=swiftshader_indirect" \
"--headless_mode=false" \
"--tuntap=true" \
"--upscript=./script" \
_ANY_ _ANY_ _ANY_ _ANY_ _ANY_ _ANY_ \
"--ga=true" \
_ANY_ _ANY_
}
BT_RUN_TESTS "$@"