编程 - 循环buffer读写, 释放UT测试case

1. 写测试

1) 单次写入的数据超过了buf的长度

  预期结果: 程序返回EINVAL

  测试结果:

2) 单次写入的数据小于buf的长度

  预期结果: 成功写入数据, 返回写入数据的长度

  测试结果:

3) 单次写入的数据小于free size, 但是写入多次后超过了buf长度

  预期结果: 当最后写入的数据buf已经没有足够的free空间来存放时, 会返回EBUFFULL

  测试结果:

4)单次写入的长度小于free size, 但是需要wrap, 因为已经写到了buf的最后了

  预期结果:程序会将部分data写入buf的最后, 部分data写到buf的开始

2. 读测试

1. 单次希望读入的数据长度超过了buf的长度

  预期结果: 成功读到数据, 返回可读的数据

  测试结果:

2. buf里没有数据可读

  预期结果: 返回0

  测试结果:

3. buf里有数据, 读取的长度没有那么长

  预期结果: 返回0

  测试结果:

4. buf里有数据,长度比有效数据长

  预期结果: 返回真实的数据

  测试结果:

5. buffer里有数据, 读取时需要读buf最后的一部分, 以及前面的一部分

3. 释放测试

1. buffer里写了一笔数据

  1) 剩余的长度不够写入新的数据

  预期结果: 释放这笔数据, 整个buffer变为free, 从该笔数据的最后开始写

  测试结果:

  2) 整个buffer里都没有关键str

  预期结果: 释放整个buffer

  测试结果:

2. buffer里写了多笔数据, free空间在buffer最后

  1) 剩余的长度不够写入新的数据

  预期结果:

  测试结果:

  2) 整个buffer里都没有关键str

  预期结果: 释放整个buffer

  测试结果:

3. buffer里写了多笔数据, free的空间在buffer的中间

  1) 剩余的长度不够写入新的数据

  预期结果: 释放这笔数据, 如果还是不够接着free, 直到free到空间够用

  测试结果:

  2) 整个buffer里都没有关键str

  预期结果: 释放整个buffer

  测试结果:

4. buffer里写了多笔数据,\r在buffer的最后, \n咋buffer的开始

  1) 剩余的长度不够写入新的数据

  预期结果:

  测试结果:

  2) 整个buffer里都没有关键str

  预期结果:

  测试结果

5. buffer是满的, 没有free size

  1) 剩余的长度不够写入新的数据

  2) 整个buffer里都没有str

posted @ 2019-07-25 15:12  青青子衿-大果粒  阅读(340)  评论(0编辑  收藏  举报