存储--IT打桩测试方法

存储–IT打桩测试方法一


近期项目基本功能完成,开始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 
#include 
#include 

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; 
}

你可能感兴趣的:(存储)