当前位置: 首页 > news >正文

Toward the unification of kselftests and KUnit

The kernel project, for many years, lacked a formal testing setup; it was often joked that testing was the project's main reason for keeping users around.
长期以来,内核项目一直缺乏正式的测试体系;人们常开玩笑说,保持用户留存的主要原因就是测试本身。

While many types of kernel testing can only be done in the presence of specific hardware, there are other parts of the kernel that could be more widely tested.
虽然许多类型的内核测试只能在特定硬件环境下进行,但内核的其他部分是可以更广泛进行测试的。

Over time, though, the kernel has gained two separate testing frameworks and a growing body of automated tests to go with them. These two frameworks — kselftests and KUnit — take different approaches to the testing problem; now this patch series from Thomas Weißschuh aims to bring them together.
不过,随着时间推移,内核逐渐引入了两个独立的测试框架,并配套建立了日益丰富的自动化测试体系。这两个框架是 kselftests 和 KUnit,它们对测试问题采取了不同的方法;而现在 Thomas Weißschuh 的这一系列补丁则旨在将它们融合在一起。


Kselftests and KUnit

Kselftests 与 KUnit

Kselftests was first added by Frederic Weisbecker in 2012, with the first test being focused on the handling of breakpoints on the x86 architecture. These self tests run in user space, exercising the normal kernel system-call interface. Over the years, kselftests has grown a test-harness structure based around the Test Anything Protocol (TAP) and a set of functions, macros, and makefile support for the creation of tests.
kselftests 由 Frederic Weisbecker 于 2012 年首次引入,第一个测试聚焦于 x86 架构下断点的处理。这些自测运行在用户态,调用普通的内核系统调用接口。多年发展以来,kselftests 已建立起基于 Test Anything Protocol(TAP)的测试框架,并配套了一整套函数、宏和 makefile 支持,以便编写测试用例。

In current kernels, the kselftests directory has over 100 subdirectories, each containing tests for a specific subsystem. There are tests focused on system calls, architecture support, sysctl knobs, kernel behavior (such as the sealing of system mappings), /proc files, and a handful of device drivers, among other things.

http://www.dtcms.com/a/284854.html

相关文章:

  • MYSQL-进阶-锁
  • 离散与组合数学 杂记
  • 电子制造企业排产优化实战:用JVS智能排产的排产策略实现交期100%可控
  • OCR 与 Agent:智能协作的 “黄金搭档”
  • Spring Boot整合阿里云OSS:企业级文件存储最佳实践
  • ZYNQ UltraScale+ MPSoC芯片 pcie switch级联ssd高速存储方案
  • 基于springboot+vue+mysql平台的医疗病历交互系统(源码+论文)
  • 解析:视频创作中常见版权问题
  • JAVA原生实现SOAP POST调用
  • 【深度学习】神经网络过拟合与欠拟合-part5
  • 尚庭公寓----------分页查询
  • 外贸ERP软件有哪些?八大热门erp软件功能测评
  • FOC算法中SIMULINK一些常用模块(3)自动计算电机参数
  • OpenBayes 一周速览丨字节EX-4D上线,实现单目视频到自由视角生成;GLM-4.1V-9B-Thinking开源,10B参数比肩Qwen系列
  • JPA 与 MyBatis-Plus 数据库自增主键实现方案
  • TDengine 的可视化数据库操作工具 taosExplorer(安装包自带)
  • 从虚拟大脑到世界行者:具身智能与机器人控制基础
  • python qam
  • Jmeter 性能测试响应时间过长怎么办?
  • 使用 NVIDIA Triton推理服务器的好处
  • 嵌入式学习-PyTorch(6)-day23
  • CCLink IE转ModbusTCP网关配置无纸记录器(上篇)
  • 小程序按住说话
  • zlmediakit接入Onvif设备方案
  • The Missing Semester of Your CS Education 学习笔记以及一些拓展知识(二)
  • 嵌入式基础 -- ADC(模数转换器,Analog to Digital Converter)
  • 疯狂星期四文案网第10天运营日报
  • Kotlin自定义排序
  • AUTOSAR进阶图解==>AUTOSAR_SWS_EFXLibrary
  • Lotus-基于大模型的查询引擎 -开源学习整理