123 lines
3.8 KiB
Batchfile
123 lines
3.8 KiB
Batchfile
@echo off
|
|
REM ================================================================================================
|
|
REM Audio Backend - 测试运行脚本 (Windows)
|
|
REM ================================================================================================
|
|
REM 描述: 运行所有类型的测试(单元测试、集成测试、性能测试)
|
|
REM ================================================================================================
|
|
|
|
setlocal EnableDelayedExpansion
|
|
|
|
REM 设置颜色输出
|
|
set "GREEN=[92m"
|
|
set "RED=[91m"
|
|
set "YELLOW=[93m"
|
|
set "BLUE=[94m"
|
|
set "NC=[0m"
|
|
|
|
REM 脚本所在的目录路径
|
|
set "SCRIPT_DIR=%~dp0"
|
|
REM 项目根目录
|
|
for %%i in ("%SCRIPT_DIR%\..\..\..\") do set "ROOT_DIR=%%~fi"
|
|
REM 构建目录
|
|
set "BUILD_DIR=%ROOT_DIR%\build"
|
|
REM 测试结果目录
|
|
set "TEST_RESULTS_DIR=%ROOT_DIR%\test-results"
|
|
|
|
REM 打印脚本信息
|
|
echo %BLUE%=========================================================%NC%
|
|
echo %BLUE% 音频后端测试运行脚本 %NC%
|
|
echo %BLUE%=========================================================%NC%
|
|
echo %YELLOW%项目根目录: %ROOT_DIR%%NC%
|
|
echo %YELLOW%构建目录: %BUILD_DIR%%NC%
|
|
echo %YELLOW%测试结果录: %TEST_RESULTS_DIR%%NC%
|
|
echo.
|
|
|
|
REM 确保测试结果目录存在
|
|
if not exist "%TEST_RESULTS_DIR%" mkdir "%TEST_RESULTS_DIR%"
|
|
|
|
REM 检查构建目录是否存在
|
|
if not exist "%BUILD_DIR%" (
|
|
echo %RED%错误: 构建目录不存在。请先运行构建脚本。%NC%
|
|
exit /b 1
|
|
)
|
|
|
|
REM 准备测试环境
|
|
echo %BLUE%准备测试环境...%NC%
|
|
call "%SCRIPT_DIR%\prepare_test_env.bat"
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo %RED%准备测试环境失败%NC%
|
|
exit /b 1
|
|
)
|
|
echo %GREEN%测试环境准备完成%NC%
|
|
echo.
|
|
|
|
REM 运行单元测试
|
|
echo %BLUE%开始运行单元测试...%NC%
|
|
call "%SCRIPT_DIR%\run_unit_tests.bat"
|
|
set UNIT_TESTS_RESULT=%ERRORLEVEL%
|
|
if %UNIT_TESTS_RESULT% equ 0 (
|
|
echo %GREEN%单元测试通过%NC%
|
|
) else (
|
|
echo %RED%单元测试失败 (退出码: %UNIT_TESTS_RESULT%)%NC%
|
|
)
|
|
echo.
|
|
|
|
REM 运行集成测试
|
|
echo %BLUE%开始运行集成测试...%NC%
|
|
call "%SCRIPT_DIR%\run_integration_tests.bat"
|
|
set INTEGRATION_TESTS_RESULT=%ERRORLEVEL%
|
|
if %INTEGRATION_TESTS_RESULT% equ 0 (
|
|
echo %GREEN%集成测试通过%NC%
|
|
) else (
|
|
echo %RED%集成测试失败 (退出码: %INTEGRATION_TESTS_RESULT%)%NC%
|
|
)
|
|
echo.
|
|
|
|
REM 运行性能测试
|
|
echo %BLUE%开始运行性能测试...%NC%
|
|
call "%SCRIPT_DIR%\run_performance_tests.bat"
|
|
set PERFORMANCE_TESTS_RESULT=%ERRORLEVEL%
|
|
if %PERFORMANCE_TESTS_RESULT% equ 0 (
|
|
echo %GREEN%性能测试通过%NC%
|
|
) else (
|
|
echo %RED%性能测试失败 (退出码: %PERFORMANCE_TESTS_RESULT%)%NC%
|
|
)
|
|
echo.
|
|
|
|
REM 生成覆盖率报告
|
|
echo %BLUE%生成测试覆盖率报告...%NC%
|
|
call "%SCRIPT_DIR%\generate_coverage.bat"
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo %YELLOW%警告: 覆盖率报告生成失败%NC%
|
|
) else (
|
|
echo %GREEN%覆盖率报告生成完成%NC%
|
|
)
|
|
echo.
|
|
|
|
REM 测试结果汇总
|
|
echo %BLUE%=========================================================%NC%
|
|
echo %BLUE% 测试结果汇总 %NC%
|
|
echo %BLUE%=========================================================%NC%
|
|
|
|
set "UNIT_STATUS=%RED%失败%NC%"
|
|
if %UNIT_TESTS_RESULT% equ 0 set "UNIT_STATUS=%GREEN%通过%NC%"
|
|
|
|
set "INTEGRATION_STATUS=%RED%失败%NC%"
|
|
if %INTEGRATION_TESTS_RESULT% equ 0 set "INTEGRATION_STATUS=%GREEN%通过%NC%"
|
|
|
|
set "PERFORMANCE_STATUS=%RED%失败%NC%"
|
|
if %PERFORMANCE_TESTS_RESULT% equ 0 set "PERFORMANCE_STATUS=%GREEN%通过%NC%"
|
|
|
|
echo 单元测试: %UNIT_STATUS%
|
|
echo 集成测试: %INTEGRATION_STATUS%
|
|
echo 性能测试: %PERFORMANCE_STATUS%
|
|
echo.
|
|
|
|
REM 整体测试结果
|
|
if %UNIT_TESTS_RESULT% equ 0 if %INTEGRATION_TESTS_RESULT% equ 0 if %PERFORMANCE_TESTS_RESULT% equ 0 (
|
|
echo %GREEN%所有测试通过!%NC%
|
|
exit /b 0
|
|
) else (
|
|
echo %RED%测试失败!%NC%
|
|
exit /b 1
|
|
) |