项目简介
本项目是用于测试C语言/C++中字符串处理库函数的代码项目。它包含多种测试用例,可验证字符串处理函数的正确性,能测试这些函数在不同平台、不同版本(含有无MTE支持)下的行为,验证其在特定边界条件和错误处理下的表现,还能比较不同实现版本的性能差异。
项目的主要特性和功能
- 全面测试:对多种字符串处理函数进行测试,如
strcpy
、strncpy
、strlen
、strcmp
、strncmp
、strchr
、strchrnul
、stpcpy
、memchr
、memcmp
、memmove
、memset
等。 - 多场景覆盖:测试内容覆盖字符串复制、长度计算、比较、查找以及内存处理等多个方面,涵盖对齐、长度、边界条件和错误处理等不同场景。
- 性能比较:可比较不同实现版本的性能差异。
- 跨平台测试:能测试字符串处理函数在不同平台、不同版本下的行为。
安装使用步骤
前提条件
测试系统需要安装libmpfr
和libmpc
,例如在debian linux下可以使用以下命令安装:
sh
sudo apt-get install libmpfr-dev libmpc-dev
构建和测试步骤
在源目录内构建
sh
cp config.mk.dist config.mk
make
make check
在源目录外构建
sh
ln -s path/to/src/Makefile Makefile
cp path/to/src/config.mk.dist config.mk
echo 'srcdir = path/to/src' >> config.mk
make
make check
仅构建和测试数学子项目
sh
make all-math
make check-math
交叉编译
若进行交叉编译,需要在config.mk
中设置CROSS_COMPILE
,并为交叉测试设置EMULATOR
(例如使用qemu-user
或远程访问目标机器),可参考config.mk.dist
中的示例。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】