一、简介
LTP(Linux Test Project)中的POSIX测试主要验证Linux系统对POSIX标准的兼容性。POSIX(可移植操作系统接口)定义了操作系统应提供的API、命令行工具和实用程序,以确保应用程序在不同UNIX系统间的可移植性。
目录架构
二、使用方式
(一)通过make编译调度
1.下载ltp
2.解压ltp
3.进入posix套件路径:cd ltp/testcases/open_posix_testsuite
4.生成mk文件:./configure --with-open-posix-testsuite
5.make all
6.make conformance-test > /opt/posix_conformance_result.txt
(二)通过脚本调度
POSIX选项组可以通过此测试套件进行测试。可用的选项组有:
* AIO | 异步I/O
* MEM | 内存
* MSG | IPC
* SEM | 信号量
* SIG | 信号
* THR | 线程
* TMR | 定时器
* TPS | 线程执行调度
进入/home/ltp-full-20240930/testcases/open_posix_testsuite/bin/目标
指定测试某个组的用例:
run-posix-option-group-test.sh [OPTION-GROUP]
测试所有用例:
run-all-posix-option-group-tests.sh
三、结果分析
(一)使用make调度的结果查看
对每个类型测试的用例数及成功失败进行了统计
......
*******************
Testing timer_getoverrun
*******************
PASS 6
FAIL 0
*******************
TOTAL 6
*******************
make[3]: 离开目录“/home/ltp-full-20240930/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun”
make[3]: 进入目录“/home/ltp-full-20240930/testcases/open_posix_testsuite/conformance/interfaces/timer_gettime”
*******************
Testing timer_gettime
*******************
PASS 9
FAIL 0
*******************
TOTAL 9
*******************
make[3]: 离开目录“/home/ltp-full-20240930/testcases/open_posix_testsuite/conformance/interfaces/timer_gettime”
make[3]: 进入目录“/home/ltp-full-20240930/testcases/open_posix_testsuite/conformance/interfaces/timer_settime”
*******************
Testing timer_settime
*******************
PASS 20
FAIL 0
*******************
TOTAL 20
*******************
......
(二)使用脚本调度的结果查看
没有进行统计
[root@localhost bin]# ./run-posix-option-group-test.sh MEM
Executing mapped, process and shared memory tests
Test PASSED
Test PASSED
Testing with user 'bin' (uid: 1)
Test PASSED
Test PASSED
Test PASSED
Test PASSED
Testing with user 'bin' (uid: 1)
Test PASSED
mlock() does not require that addr be a multiple of {PAGESIZE}.
Test PASSED
Testing with user 'bin' (uid: 1)
Test PASSED
Test PASSED
Test PASSED
Testing with user 'bin' (uid: 1)
Test PASSED
Test PASSED
Test PASSED
munlock() does not require that addr be a multiple of {PAGESIZE}.
Test PASSED
Test PASSED
Test PASSED
......