xref: /aosp_15_r20/external/uwb/src/tests/libuwb_core_cargo_test.sh (revision e0df40009cb5d71e642272d38ba1bb7ffccfce41)
1#!/usr/bin/env sh
2
3# Copyright 2022 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# The directory of this script.
18ROOT_DIR="$(dirname "$(realpath "$0")")"
19# The temporary artifacts directory.
20TEMP_DIR="$(mktemp -d)"
21
22cleanup() {
23    rm -rf "${TEMP_DIR}"
24}
25
26# Unpack the artifacts zip.
27if ! unzip "${ROOT_DIR}/uwb_core_artifacts.zip" -d ${TEMP_DIR}; then
28  echo "Failed to unzip the uwb_core_artifacts.zip"
29  cleanup
30  exit 1
31fi
32
33# Install the cargo inside TEMP_DIR.
34export RUSTUP_HOME="${TEMP_DIR}/.rustup"
35export CARGO_HOME="${TEMP_DIR}/.cargo"
36curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
37    sh -s -- -y --no-modify-path
38
39# Build the uwb_core source code.
40cd "${TEMP_DIR}"
41"${CARGO_HOME}/bin/cargo" test -vv
42return_code=$?
43
44cleanup
45exit "${return_code}"
46