두 개의 직렬 포트를 함께 연결하십시오.

두 개의 직렬 포트를 함께 연결하십시오.

내 애플리케이션을 테스트하기 위해 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테스트에서 직렬 바인딩을 생성하기를 원하기 때문에 아무것도 사용하고 싶지 않습니다 . 그래서 루트로 테스트를 실행하고 싶지 않습니다.

권한에 대해 제가 간과한 부분이 있나요? 이 모든 것을 동시에 수행할 수 있는 더 좋은 방법이 있습니까?

관련 정보