В настоящее время я пишу некоторые тесты 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