現在、ハードウェア通信ポートをテストするプログラムの CPPunit テストをいくつか作成しています (はい、テスター アプリの単体テストを作成しています ;-) )。私がテストしているクラスの 1 つは、基本的にデバイスのファイル記述子のラッパーです。ファイル記述子を作成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