【发布时间】:2010-10-26 07:50:22
【问题描述】:
我目前正在为测试硬件通信端口的程序编写一些 CPPunit 测试(是的,我正在为测试应用程序编写单元测试 ;-))。我正在测试的一个类基本上是设备文件描述符的包装器;我对文件描述符进行read() 和write() 调用。 Linux 上是否有设备文件/驱动程序,如果您向它write(),当您从它read() 时,您会读回您写的内容(如 FIFO 队列设备)?如果我有这个设备文件,在我的包装器中替换实际的设备文件真的很简单,并且可以很容易地模拟现实世界硬件上可能发生的“环回”场景。
基本上我正在寻找的是一种假设的"/dev/echo" 设备。
例如:设备的行为如下:
open("/dev/echo", O_RDRW);
write(fdEcho, 123, sizeof(int));
write(fdEcho, 456, sizeof(int));
write(fdEcho, 789, sizeof(int));
read(fdEcho, iData, sizeof(int); // returns 123
read(fdEcho, iData2, sizeof(int); // returns 456
read(fdEcho, iData3, sizeof(int); // returns 789
【问题讨论】:
-
感谢您的回复;我已经使用 /dev/echo 发现了几个错误!
标签: c++ linux unit-testing linux-device-driver cppunit