运行网络测试的方法

时间:2013-10-14 14:25:57

标签: c++ testing network-programming automated-tests

我在Linux上有一个实现网络应用程序的C ++项目。我在不同的计算机上通过CLI手动运行测试,测试相互连接并发送数据。测试完成后,会打印一些统计数据。

我想自动化我的测试,我需要一个脚本或框架,可以在不同的计算机上远程运行我的测试,可以控制它,并可以收集测试输出。

是否有可以满足我需要的测试框架,或者我应该通过Perl或Shell实现它还是......?

1 个答案:

答案 0 :(得分:0)

由于这个问题没有答案,我现在使用bash脚本通过ssh远程运行我的测试。它看起来类似于

remote_wait()
{
  host=$1
  shift
  ssh $host "for pid in \"$@\"; 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 $@ >$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