#!/usr/bin/env bash
# 本地单元测试 + 覆盖率（T-M1-08，R-18 处置）。
#
# devecocli 无 test 子命令，故用 DevEco 自带 hvigorw 跑本地单测（已获授权的例外）。
# 注意：本机环境变量 DEVECO_SDK_HOME 可能指向不含目标 SDK 的位置，这里强制指向
# DevEco Studio 自带 sdk（含 6.1.1(24)）。CI 环境需装 DevEco 或用 DEVECO_HOME 覆盖。
#
# 用法：bash scripts/test.sh
# 报告：entry/.test/default/outputs/test/reports/（含 coverageReport.json + html）
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"

DEVECO="${DEVECO_HOME:-/c/Program Files/Huawei/DevEco Studio}"
export DEVECO_SDK_HOME="${DEVECO_SDK_HOME_OVERRIDE:-${DEVECO}/sdk}"
NODE="${DEVECO}/tools/node/node.exe"
HVIGOR="${DEVECO}/tools/hvigor/bin/hvigorw.js"

echo "==> [test] 本地单测 + 覆盖率 (DEVECO_SDK_HOME=${DEVECO_SDK_HOME})"
"${NODE}" "${HVIGOR}" test \
  --mode module \
  -p module=entry@default \
  -p product=default \
  -p buildMode=test \
  -p coverage=true \
  "$@"

echo "==> [test] 完成。覆盖率报告：entry/.test/default/outputs/test/reports/coverageReport.json"
