From 13699f860c0178485d0579ca7e449ba444631ee9 Mon Sep 17 00:00:00 2001 From: WANG Xu Date: Wed, 18 Dec 2024 17:59:35 +0800 Subject: [PATCH] feat: add script to setup lcov --- tests/setup-lcov.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tests/setup-lcov.sh diff --git a/tests/setup-lcov.sh b/tests/setup-lcov.sh new file mode 100644 index 0000000000..16180736f4 --- /dev/null +++ b/tests/setup-lcov.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +function usage() { + echo "Usage: $0 -v " + echo "Example: $0 -v 1.14" +} + +function download_lcov() { + local version=$1 + local url="https://github.com/linux-test-project/lcov/releases/download/v${version}/lcov-${version}.tar.gz" + echo "Downloading lcov version ${version} from ${url}..." + curl -LO ${url} + tar -xzf lcov-${version}.tar.gz + echo "lcov version ${version} downloaded and extracted." +} + +function install_lcov() { + echo -e "\nInstalling..." + local version=$1 + cd lcov-${version} + sudo make install + cd .. + echo "lcov version ${version} installed." +} + +function verify_lcov() { + echo -e "\nVerify installation..." + lcov --version +} + +function main() { + if [[ "$#" -ne 2 ]]; then + usage + exit 1 + fi + + while getopts "v:h" opt; do + case ${opt} in + v) + version=${OPTARG} + download_lcov ${version} + install_lcov ${version} + verify_lcov + ;; + h) + usage + exit 0 + ;; + *) + usage + exit 1 + ;; + esac + done +} + +main "$@" \ No newline at end of file