2013-10-14 5 views
1

리눅스에서 네트워크 어플리케이션을 구현하는 C++ 프로젝트가 있습니다. 다른 컴퓨터에서 CLI로 수동으로 테스트를 실행하면 테스트가 서로 연결되어 데이터를 전송합니다. 테스트가 완료되면 통계가 인쇄됩니다.네트워크 테스트를 실행하는 접근 방식

테스트를 자동화하고 싶습니다. 다른 컴퓨터에서 내 테스트를 원격으로 실행할 수있는 스크립트 또는 프레임 워크가 필요하고이를 제어 할 수 있으며 테스트 출력을 수집 할 수 있습니다.

내가 필요로하는 것을 수행 할 수있는 테스트 프레임 워크가 있습니까? 아니면 Perl이나 Shell을 통해 구현해야합니까? 아니면 ...?

+0

@ BЈовић OP와 비슷한 모양으로 보입니다. 어디서나 단위 테스트를하는 것은 아닙니다. – codeling

답변

0

이 질문에 대한 답변이 없기 때문에 지금은 ssh를 통해 원격으로 테스트를 실행하기 위해 bash 스크립트를 사용합니다.

remote_wait() 
{ 
    host=$1 
    shift 
    ssh $host "for pid in \"[email protected]\"; do while kill -0 \$pid; do sleep 1; done; done" 
} 

run_remote() 
{ 
    host=$1 
    shift 
    app=$1 
    shift 
    scp $app $host:/tmp/test_receiver 1>&2 || exit 1 
    ssh ${host} "{ $remote_app [email protected] >$app_log 2>&1 & }; echo \$! " 
} 

echo Starting receiver... 
receiver_pid=`run_remote $userhost $1` 

echo Starting sender... 
./sender & 
sender_pid=$! 

wait $sender_pid 
remote_wait $userhost $receiver_pid