当前位置:  开发笔记 > 编程语言 > 正文

测试内核模块

如何解决《测试内核模块》经验,为你挑选了1个好方法。

我对模拟函数和全局变量感兴趣,以便对内核模块进行单元测试.

最初尝试使用https://github.com/ThrowTheSwitch/CMock但遇到了问题.关于如何做到这一点的任何文章链接也会很棒.(对于内核模块).在这里提供更多细节:编译作为内核模块会出错,因为stdio不可用,编译用户空间会出错,因为它找不到像printk这样的东西.

理想情况下,我会有一个用户级可执行文件或一个内核模块,可以在我的函数上运行单元测试.我遇到麻烦的部分是模拟全局依赖,比如函数所依赖的结构,以便编写一个体面的测试.

我已经阅读了一些关于此的问题和文章 , 但没有找到答案,或者为什么这是不可能的明确理由.



1> Claudio..:

我会按如下方式进行:

实现您的内核模块

定义一个API,让用户级程序测试您的模块,该模块可以基于:

一个字符设备/dev/(你可以定义适当的ioctls);

/proc/(劝阻)文件;

特定系统调用(不鼓励);

一个条目 /sys/

在用户级实现一个程序(如果使用适当的框架,如CUnit或googletest),它与内核模块交互,测试各种功能

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有