В настоящее время я пишу некоторые тесты CPPunit для программы, которая проверяет аппаратный коммуникационный порт (да, я пишу модульные тесты для приложения тестера ;-)). Один из классов, которые я тестирую, в основном представляет собой оболочку вокруг дескриптора файла устройства; Я делаю read()
и write()
вызывает дескриптор файла. Есть ли файл/драйвер устройства в Linux, где, если вы write()
, когда вы его получите read()
, вы прочтете то, что вы написали (например, устройство очереди FIFO)? Если бы у меня был этот файл устройства, было бы действительно просто перевернуть это вместо фактического файла устройства в моей обертке и облегчить эмулирование сценариев «loopback», которые могут возникнуть на аппаратном обеспечении реального мира.Устройство «Эхо» для тестирования модулей
По сути то, что я ищу бы своего рода гипотетическое "/dev/echo"
устройства.
Ex: Устройство будет вести себя следующим образом:
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! –