Ratchetのユニットテストを実行してみる(とりあえずPHPUnit側)
http://madroom-project.blogspot.jp/2013/05/ratchetphpunit.html
AutobahnTestsuiteのテストケースをMacで実行してみました。AutobahnTestsuiteはPython製です。解決できていないエラーも結構ありますが、情報も少ないですし、とりあえずの実行結果メモということでm(_ _)m
AutobahnTestsuite
http://autobahn.ws/testsuite
https://github.com/tavendo/AutobahnTestSuite
1.
AutobahnTestsuiteをインストールします。easy_installでインストールしてみました。
$ sudo easy_install autobahntestsuite # 略 Finished processing dependencies for autobahntestsuite $ wstest --help # ヘルプが表示されることGitHubからのインストール方法は以下を参考にして下さい。
https://github.com/tavendo/AutobahnTestSuite#installation
2.
次に、Twistedというものをインストールしました。(これがないとエラー(ワーニング?)が出ました。)
$ wget http://twistedmatrix.com/Releases/Twisted/13.0/Twisted-13.0.0.tar.bz2 $ tar zxvf Twisted-13.0.0.tar.bz2 $ cd Twisted-13.0.0 $ sudo python setup.py installLinuxもたぶんこの方法でいけるんだと思います。
Mac用のインストーラは http://twistedmatrix.com/trac/wiki/Downloads にありますが、バージョンが古いようです。Windowsのは、そのまま使えそうです。
3.
AutobahnTestsuiteのテスト(とりあえず"abtest")を実行してみます。尚、Makefileとtests/AutobahnTestSuiteの各jsonファイルに書かれているポート番号を、全て9000番台に変更しています。(いろいろぶつかるので。。。)
$ make abtest ulimit -n 2048 && php tests/AutobahnTestSuite/bin/fuzzingserver-stream.php 9000 & wstest -m fuzzingclient -s tests/AutobahnTestSuite/fuzzingclient-quick.json Using Twisted reactor class(終了したけどこれで良いのだろうか。)Autobahn WebSockets 0.5.3/0.5.14 Fuzzing Client Ok, will run 263 test cases against 1 servers # Running test case ID x.x.x for agent Ratchet from peer 127.0.0.1:9000 のようなメッセージがずらずらと出ました。 # 結構時間がかかります。 killall php $ /bin/sh: line 1: 4766 Terminated: 15 php tests/AutobahnTestSuite/bin/fuzzingserver-stream.php 9000
4.
"abtests"を実行してみます。
$ make abtests ulimit -n 2048 && php tests/AutobahnTestSuite/bin/fuzzingserver-libevent.php 9002 & ulimit -n 2048 && php tests/AutobahnTestSuite/bin/fuzzingserver-stream.php 9001 & ulimit -n 2048 && php tests/AutobahnTestSuite/bin/fuzzingserver-libev.php 9004 & ulimit -n 2048 && php tests/AutobahnTestSuite/bin/fuzzingserver-libuv.php 9005 & ulimit -n 2048 && php tests/AutobahnTestSuite/bin/fuzzingserver-noutf8.php 9003 & wstest -m testeeserver -w ws://localhost:9000 & wstest -m fuzzingclient -s tests/AutobahnTestSuite/fuzzingclient-all.json # 以下のエラーが出ました。 # Fatal error: Class 'libev\EventLoop' not found # Fatal error: Call to undefined function React\EventLoop\event_base_new() # Fatal error: Class 'libev\EventLoop' not found # でも進んでいるので、気長に様子を見てみます。(かなり時間がかかります。) killall php wstest macbook:Ratchet admin$ /bin/sh: line 1: 4980 Terminated: 15 php tests/AutobahnTestSuite/bin/fuzzingserver-noutf8.php 9003 /bin/sh: line 1: 4972 Terminated: 15 php tests/AutobahnTestSuite/bin/fuzzingserver-stream.php 9001(プロセス殺し切れてる?)
5.
"profile"を実行してみます。
$ make profile php -d 'xdebug.profiler_enable=1' tests/AutobahnTestSuite/bin/fuzzingserver-libevent.php 9000 & wstest -m fuzzingclient -s tests/AutobahnTestSuite/fuzzingclient-profile.json # 以下のエラーが出ました。 # Fatal error: Call to undefined function React\EventLoop\event_base_new() Connection to ws://localhost:9000 failed (Connection was refused by other side: 61: Connection refused.) killall php No matching processes belonging to you were found make: *** [profile] Error 1(コケた。)
P.S.
各エラーは、解決次第、追記しようと思います。。。
No comments:
Post a Comment