void test_ xxx_driver (void) // 测试xxx驱动函数
{
typedef struct _TEST_CASE // 测试用例结构体
{
UINT8* pBuf; //读写缓冲区指针
int len; //读写数据长度
STATUS result; // 测试结果,OK或ERROR
} TESTCASE;
#define TEST_NUM 4 // 测试用例数
UINT8* rBuf;
TESTCASE testCase[TEST_NUM]={
{0,DATA_MAX_LEN+1,ERROR}, // DATA_MAX_LEN指允许读写的大长度
{"a",1,OK},
{"12",2,OK},
{0,DATA_MAX_LEN,OK}
};
for (int i=0;i< TEST_NUM;i++)
{
if(write(testCase[i].pBuf,testCase[i].len) != testCase[i].result) // 写测试
LOG ("test write failed!");
if(read(rBuf,testCase[i].len) != testCase[i].result) // 读测试
LOG ("test read failed! ");
if(bcmp(testCase[i].pBuf,rBuf,testCase[i].len) != 0) // 比较读写数据
LOG ("compare data failed! ");
}
}