对内核模块代码进行单元测试是否可行?

2024-04-24

如果是这样我应该使用什么技术? 我正在考虑使用 hippomock,因为它们可以用来模拟“C”方法。还有更好的方法吗?如果是这样,任何人都可以提供建议,或者您认为内核的单元测试是否太过分了?


从 Linux 内核版本 5.5 开始KUnit可用。它是一个轻量级的内核单元测试框架。

欲了解更多详细信息,请查看

  • https://www.kernel.org/doc/html/latest/dev-tools/kunit/index.html https://www.kernel.org/doc/html/latest/dev-tools/kunit/index.html
  • https://kunit.dev/ https://kunit.dev/
  • https://lwn.net/Articles/780985/ https://lwn.net/Articles/780985/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对内核模块代码进行单元测试是否可行? 的相关文章

  • WritePrivateProfileString 未在末尾添加属性

    我正在使用以下命令在 ini 文件中写入一些属性WritePrivateProfileString函数并且一切正常 但是当我添加多行文本时 出现了问题 这是代码和输出 WritePrivateProfileString T General
  • 在 C/C++ 中读取和写入二进制文件的中间部分

    如果我有一个大的二进制文件 假设它有 100 000 000 个浮点数 C 或 C 有没有办法打开文件并读取特定的浮点数 而不必将整个文件加载到内存中 即我如何快速找出第 62 821 214 个浮点是什么 第二个问题 有没有办法更改文件中
  • IssuerSigningKeyResolver 调用异步方法

    我们使用 IssuerSigningKeyResolver 它是 Microsoft IdentityModel Tokens 的一部分 用于令牌验证并接受非异步委托 我们调用一个异步方法 这将导致阻塞调用 因此想知道使用它的正确方法是什么
  • 当 TestCase 包含数组时,NUnit 无法识别该 TestCase

    这是我在 NUnit 中遇到的非常简单但烦人的行为 我有一些这样的测试 Test TestCase 1 2 hello TestCase 3 5 goodbye public void MyClass MyMethod int a int
  • 我是否必须使用我的数据库训练 Viola-Jones 算法才能获得准确的结果?

    我尝试提取面部数据库的面部特征 但我认识到 Viola Jones 算法在两种情况下效果不佳 当我尝试单独检测眼睛时 当我尝试检测嘴巴时 运作不佳 检测图像的不同部分 例如眼睛或嘴巴 或者有时会检测到其中几个 这是不可能的情况 我使用的图像
  • 如何在 ASP.NET 5/vNext/Core 中使用 Elmah?

    我对如何在 ASP NET 5 MVC 6 项目中使用 Elmah 有点困惑 我从 nuget 得到了包 它添加了 Elmah Mvc 2 1 2 到project json 中的依赖项 我不知道从这里到哪里去 以前 nuget 会向 we
  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • c++1y 模式下的 Clang >= 3.3 无法解析 标头

    我有一个项目可以在 g 4 8 1 和 c 11 模式下 clang gt 3 3 下正确编译和运行 然而 当我切换到实验时 std c 1y模式下 clang 3 3 但不是 g 在
  • 如何将文本框中删除的字符替换为0

    在winforms中 如何用零替换删除的字符 例如 文本框中为 12 45 如果我们删除小数点后 它应该变成12 00 同样的方法删除前面的000 45 默认值应为 000 00 Use a 蒙版文本框 http msdn microsof
  • ReportViewer“缺少 URL 参数:名称”

    在一个网络应用程序中 我正在处理 ReportViewer 时不断出现错误 缺少 URL 参数 名称 我找到了原因 但没有找到解决方案 导致报告查看器出现异常的 url Reserved ReportViewerWebControl axd
  • 如何从子窗口中加载的用户控件按钮关闭子窗口?

    这是我的 ChildWindow xaml 代码 1
  • WinForms TreeView - 如何手动“突出显示”节点(就像被单击一样)

    我需要知道如何让以编程方式选择的节点以图形方式处于 选定 状态 就像用户单击它一样 SelectedNode 仅使这一节点在内部被选中 非常感谢 它没有显示为突出显示的原因是由于树视图没有焦点 这是我的测试表单上的按钮单击事件 TreeVi
  • 最好的 C++ 编译器是哪个? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何存储将被多个不同类访问的字符串常量? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 关于堆栈溢出有太多不同的答案 声明一个命名空间 并在 hpp 文件中将所有字符串标记为 extern const 并在 cpp 文件中放置它们的
  • 最佳实践:从属性中抛出异常

    什么时候适合从属性 getter 或 setter 中抛出异常 什么时候不合适呢 为什么 关于这个主题的外部文档的链接会很有帮助 谷歌搜索结果出奇的少 Microsoft 在以下位置提供了有关如何设计属性的建议 http msdn micr
  • STL(标准模板库)中使用的设计模式

    我正在学习STL和设计模式 我想知道是否有任何文档或链接可以解释如何在 STL 中实现设计模式 我做了谷歌但无法获得太多数据 我希望你的意思是 哪些设计模式可以在STL中识别 STL 堆栈是一个容器适配器 适配器是一种设计模式 迭代器也是一
  • 当数据源中只有 1 项时 FormView 不显示 PagerTemplate

    我有一个带有自定义 PagerTemplate 的 FormView 控件和我自己的分页 LinkBut ton 一切都很好 直到我加载的数据集仅包含一个记录 项目并完全隐藏 PagerTemplate 我在网上搜索了一下 找到了几个答案
  • 为什么 `boost::any` 比 `void*` 更好?

    有什么先天优势boost any and boost any cast提供超过使用void and dynamic cast 优点是boost any比类型安全得多void E g int i 5 void p i static cast
  • 如何在 C# 中读取 Visio 文档内容

    我的DLL库代码如下 using System using IVisio Microsoft Office Interop Visio namespace Emix public class Visio protected String p
  • 如何包装实体框架以在执行前拦截 LINQ 表达式?

    我想在执行之前重写 LINQ 表达式的某些部分 我在将重写器注入正确的位置时遇到问题 实际上根本没有 查看实体框架源代码 在反射器中 它最终归结为IQueryProvider Execute在 EF 中 它通过以下方式耦合到表达式Objec

随机推荐

  • 编译器可以将函数范围的、非静态的 const 数组存储在常量数据中并避免每次调用初始化吗?

    读书中字符数组 字符串如何存储在二进制文件 C C 中 https stackoverflow com q 71932148 364696 我在思考原始字符串涉及的各种方式 Nancy 将在生成的二进制文件中完好无损地显示 那个帖子的案例是
  • 文件类型 .pl 关联并使用 cmd.exe 运行脚本

    我创建了一个新的文件类型 pl 资源管理器 gt 工具 gt 文件夹选项 gt 文件类型 现在我想创建一个新的操作 它将调用 cmd exe 并自动运行 PERL 脚本 我不知道在 用于执行操作的应用程序 下要写什么 我必须向 cmd ex
  • 在 R 中将 NA 设置为 0

    将一个数据帧与另一个数据帧合并后 偶尔会留下随机的 NA 我想将这些 NA 设置为 0 以便我可以用它们执行计算 我正在尝试这样做 bothbeams data within bothbeams data bothbeams data x
  • NSMutableArray 不添加对象[重复]

    这个问题在这里已经有答案了 我认为 我犯了一个非常基本的错误 但我正在使用NSMutableArray这不知何故并没有添加对象 我正在按其方式发送它 我有一个属性 并合成 property nonatomic strong NSMutabl
  • 如何惯用地复制切片?

    在 Go 中 复制切片是标准操作 如下所示 It will figure out the details to match slice sizes dst copy dst n src m 在 Rust 中 我找不到类似的替换方法 我想出的
  • 如何将 ActiveRecord 模型属性从 json 迁移到 jsonb?

    迁移应该是什么样子 我想利用 jsonb 数组查询技术 我会这样写迁移 def change reversible do dir dir up change column models attribute jsonb USING CAST
  • 持久订阅 ActiveMQ

    我正在尝试为我的消息设置持久订阅者 以便即使在服务器重新启动后它们也能保留在主题中 但在配置过程中我收到与 xml 相关的错误 这是我的配置 xml
  • sin 和 cos 很慢,有其他选择吗?

    我的游戏需要移动一定的角度 为此 我通过 sin 和 cos 获得角度向量 不幸的是 正弦和余弦是我的瓶颈 我确信我不需要这么精确 是否有替代 C sin cos 和查找表的方法 既相当精确 又非常快 我发现了这个 float Skelet
  • TypeScript getter setter 约定

    TypeScript 中类属性的约定 标准 是什么 在 Angular 2 演示 来自 Angular io 的英雄之旅 中 所有属性都设置为 public export class Hero id number name string 所
  • 允许按位运算的通用约束?

    我有一个enum public enum Flags COMMAND MSG 1 COMMAND FILE 2 COMMAND ACTION 4 现在 假设我设置了多个值 例如 Flags g Flags COMMAND ACTION Fl
  • 激活conda环境在vscode中停止工作

    我注意到conda激活环境没有明显原因就停止在 vscode 集成终端中工作 我当然没有安装任何新的扩展 也没有在过去几天更新 conda 或 vscode 预期行为 运行 conda activate 环境后 我希望激活环境并能够使用环境
  • Mercurial 子存​​储库 - 管理更复杂的依赖关系层次结构

    我有一个主项目 它使用相当标准的源代码树方法 Mercurial 子存 储库 Master lib compiled binaries things like log4net AutoFac etc source VS solution o
  • 自动将不同的 Excel 文件导入 MS Access 2010 表

    我想将所有 Excel 文件 具有不同的数据和列 从某个目录导入到 MS Access 2010 数据库中 为每个文件创建新表 我找到了将文件导入到一张表中的代码 Option Compare Database Option Explici
  • geany 自定义文件类型 .svrf 用于语法突出显示

    我有一个类似的问题 我复制并编辑了filetype extensions conf in my config geany adding CALIBRE rul svrf SVRF cal 然后下 config geany filedefs我
  • 如何调试意外静默终止的 win32 进程?

    我有一个用 C 编写的 Windows 应用程序 有时会消失 我使用 蒸发 这个词是因为没有留下任何东西 没有来自 Windows 的 我们很抱歉 消息 没有来自 Dr Watson 设施的故障转储 有一次崩溃发生在调试器下 调试器没有中断
  • React Native STUCK 启动打包器

    由于某种原因 当我想启动我的 React Native 项目时 它卡在 正在启动 Packager 部分 我尝试删除节点包 然后重新安装它们 通过yarn npm安装它们 但没有成功 我不知道该如何解决这个问题 太尴尬了 我遇到过同样的问题
  • 正确结束 Java 命令行应用程序

    我只是想知道 我需要打电话吗System exit 0 就在之前mainJava 命令行应用程序的方法结束了吗 如果是这样 为什么 如果我总是放在那里 与让它自行退出有什么区别0 什么没清理干净 提前致谢 不 您并不总是需要打电话Syste
  • 如何在张量流中将TextVectorization保存到磁盘?

    我已经训练了一个 TextVectorization 层 见下文 我想将其保存到磁盘 以便下次可以重新加载它 我努力了pickle and joblib dump 这是行不通的 from tensorflow keras layers ex
  • 如何在文本文件中逐行读取和替换字符串?

    我有一个文本文件 内容如下 INSERT INTO shops VALUES 3 1000000 0 INSERT INTO shops VALUES 3 1000010 0 INSERT INTO shops VALUES 3 10000
  • 对内核模块代码进行单元测试是否可行?

    如果是这样我应该使用什么技术 我正在考虑使用 hippomock 因为它们可以用来模拟 C 方法 还有更好的方法吗 如果是这样 任何人都可以提供建议 或者您认为内核的单元测试是否太过分了 从 Linux 内核版本 5 5 开始KUnit可用