Crypto Lab
首页
openHiTLS教程
技术分享
首页
openHiTLS教程
技术分享
  • openHiTLS教程

    • 一. 下载并构建OpenHiTLS
    • 二. 测试指南
    • 三. 在C/C++应用项目中调用openHiTLS
    • 四. 为openHiTLS社区做贡献

二. 测试指南

在构建完OpenHiTLS后,执行测试代码。测试工程依赖编译源码,参考《下载并构建OpenHiTLS》准备构建源码编译依赖的环境等,确保源码能够得到正确编译。

1. 测试代码目录结构

./testcode/
├── CMakeLists.txt
├── common
│   ├── execute_base.c
│   └── execute_test.c
├── demo
├── framework
│   ├── crypto
│   ├── gen_test
│   ├── include
│   ├── process
│   ├── stub
│   └── tls
├── output
├── script
│   ├── all_mini_test.sh
│   ├── build_hitls.sh
│   ├── build_sdv.sh
│   ├── execute_sdv.sh
│   └── mini_build_test.sh
├── sdv
│   ├── build
│   ├── CMakeLists.txt
│   ├── log
│   ├── report
│   └── testcase
└── testdata
    ├── cert
    └── tls

其中:

  • common:公共类测试框架代码
  • demo:openHiTLS功能测试demo
  • framework:openHiTLS测试用例的框架代码
  • output:用例测试结果及过程文件输出目录
  • script:测试脚本类代码目录
  • sdv:openHiTLS功能场景测试用例代码
  • testdata:存放测试类数据等

2. 功能测试执行指导

a. 测试框架说明

使用社区开发的测试框架,提供公共的配置和方法以便社区开发者进行测试代码的编写和执行。一个测试单元由function文件(.c)和data(.data)文件组成,分别保存测试函数和测试数据。

b. 脚本参数说明

命令含义
bash build_hitls.sh编译全量源码。
bash build_sdv.sh编译全量测试代码。
bash execute_sdv.sh执行测试用例。
  • build_hitls.sh脚本参数说明
脚本参数执行方式参数说明
gcovbash build_hitls.sh gcov开启获取覆盖率能力。
debugbash build_hitls.sh debug开启debug调试能力。
asanbash build_hitls.sh asan开启内存监测能力。
  • build_sdv.sh脚本参数说明
脚本参数执行方式参数说明
--help或-hbash build_sdv.sh --help获取帮助信息。
no-cryptobash build_sdv.sh no-crypto裁剪掉crypto模块用例。
no-bslbash build_sdv.sh no-bsl裁剪掉bsl模块用例。
verbosebash build_sdv.sh verbose显示构建过程详细信息。
gcovbash build_sdv.sh gcov开启获取覆盖率能力。
asanbash build_sdv.sh asan开启内存监测能力 。
big-endianbash build_sdv.sh big-endian大端环境编译选项。
run-testsbash build_sdv.sh run-tests=xxx1xxx2xxx3编译指定测试套。
  • execute_sdv.sh脚本参数说明
脚本参数执行方式参数说明
<file name>bash execute_sdv.sh test_suites_xxx ...执行指定文件下的所有用例。
<test name>bash execute_sdv.sh UT_CRYPTO_xxx SDV_CRYPTO_xxx ...执行指定用例名用例。

备注:脚本参数可以以组合形式传给脚本,例如:

  • 默认方式构建源码:bash build_hitls.sh
  • 源码构建过程中开启asan、debug及覆盖率:bash build_hitls.sh asan gcov debug
  • 测试代码构建过程中开启asan、覆盖率及显示构建详情:bash build_sdv.sh asan gcov verbose
  • 默认方式构建源码:bash build_hitls.sh
  • 默认方式执行全量用例:bash execute_sdv.sh
  • 执行指定的测试集合:bash execute_sdv.sh test_suites_xxx1 test_suites_xxx2

c. 用例执行流程

测试工程主要依赖以下脚本:

  • build_hitls.sh: 一键式构建源码脚本
  • build_sdv.sh : 一键式构建测试用例脚本
  • execute_sdv.sh : 一键式执行用例脚本

依次执行以下命令

cd ../testcode/script/
bash build_hitls.sh

bash build_sdv.sh

bash execute_sdv.sh

测试通过

Last Updated:
Contributors: WXF334
Prev
一. 下载并构建OpenHiTLS
Next
三. 在C/C++应用项目中调用openHiTLS