2つのシリアルポートを一緒に接続します。

2つのシリアルポートを一緒に接続します。

私のアプリケーションをテストするためにJUnitテストを書いています。このアプリケーションはJavaで書かれており、purejavacommライブラリを使用しています。シリアルパーサーをテストするために、テストがパーサーと通信できるように仮想シリアルポートを設定したいと思います。単に解析するだけでなく、シリアルポートが利用可能になると動的に接続されるため、たとえば使用したくありませんPipedInputStream

ライブラリは、またはで始まるデバイスファイルのみを検索しますttyS。したがって、通常のタスク(シリアルポートを作成するタスク)を実行することはできません。ttyUSBttyACM/dev/pts/x

socat -d -d pty,raw,echo=0 pty,raw,echo=0

私はこれを試みます:

socat /dev/ttyS20 /dev/ttyS21

しかし、うまくいきません。終了せず、エラーを印刷しません。/dev/ttyS20画面に接続しようとしましたが、というメッセージのみが表示されました[screen is terminating]

(および21)に対するユーザー権限を調べたttyS20結果、すべて私のユーザー(chris)が属するグループdialout(user:root)があります。

sudoテストでシリアルバインディングを作成したいので、何も使用したくありません。だからrootでテストを実行したくありません。

権限について私が見落とした部分がありますか?これらすべてを同時に実行するより良い方法はありますか?

関連情報