# Kaiming 单元测试说明

## 1️⃣ 测试前准备
1.安装单元测试程序的依赖包： 

sudo apt install -y build-essential libglib2.0-dev libostree-dev libxml2-dev pkg-config cmake ninja-build libdbus-glib-1-dev nlohmann-json3-dev libdbus-1-dev libcurl4-gnutls-dev zlib1g-dev libelf-dev liblz4-dev liblzma-dev libdeflate-dev libzstd-dev uuid-dev libgtest-dev crun libyajl-dev patchelf xdelta3 libfuse-dev liblzo2-dev squashfs-tools lcov kaiming squashfuse

## 2️⃣ 编译项目

1. 进入源码下的单元测试代码目录

   cd ${sources-root}/tests

2. 编译出单元测试用例程序：

   方法一：普通用户执行下面脚本
      ./auto_test.sh
   
   方法二：
      cmake -Bbuild -DENABLE_COVERAGE=ON
      cd build
      make -j4

3. 运行单元测试，并生成覆盖率报告：
   
   cd ${sources-root}/tests/build       # 进入构建目录
   sudo make coverage                   # 因为不少用例都需要root用户权限，所以需要使用sudo；也可以使用原来单元测试的脚本

   # 清理
   cd ${sources-root}/tests
   sudo rm -rf build
