存储–IT打桩测试方法一
转载注明出处 : http://blog.csdn.net/xhz1234/article/details/44257293 Copyright 徐洪志(Macrosan). All rights reserved.
近期项目基本功能完成,开始IT,现对IT打桩做一个总结
- 创建一个模块参数 int stub_location,有必要的话可以单独创建一个内核模块test_err_stub
1.内核态流程测试
- 内核态代码可以直接使用stub_location。
2.用户态流程测试
- 用户态代码必须通过一个function从/sys/module/test_err_stub/stub_location中读取
修改stub_location的值
echo x > /sys/module/test_err_stub/stub_location
x是修改的值
用户态获取stub_location方法
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int get_stub_location(void)
{
int loc = -1;
FILE *fp = NULL;
char buff[10];
memset(buff, 0, sizeof(char)*10);
if((fp = fopen("/sys/module/test_err_stub/stub_location","r"))==NULL)
{
printf("Failed to get stub_location,for open file /sys/module/test_err_stub/stub_location!\n");
goto abort;
}
fread(buff,sizeof(char)*10,1,fp);
fclose(fp);
loc = atoi(buff);
abort:
return loc;
}