2015年4月28日火曜日

Wandbox が複数ファイル対応したので試してみた



Wandbox が複数ファイルに対応したようなので、早速試してみました。
iuwandbox
iuwandbox は私が作っている C++ テスティングフレームワーク iutest を Wandbox 使うためのツールです。
今回はこちらを複数ファイル対応しました。

以前の、iuwandbox では iutest の実装をすべて1つのファイルに展開し、実現していました。
Wandbox の複数ファイル対応によって、この展開が不要になります。
以前の iuwandbox については、Boost.勉強会の LT でもお話しましたので、そちらのスライドを参考にしてください。

ブログズミ: Boost.勉強会#16 大阪に行ってきました > 発表資料
ブログズミ: Shippable + Wandbox で C++ の CI 環境構築

Wandbox の複数ファイル対応にあたって、API に codes パラメータが追加されています。
https://github.com/melpon/wandbox/blob/master/kennel2/API.rst
codes には、file にファイル名を code に内容を書いて配列データとして追加します。
Wandbox の API に関わる部分だけ切り出して公開してますので、ご自由にお使い下さい。
https://github.com/srz-zumix/wandbox-api

続いて、iuwandbox 側の修正です。
これまでは #include "path/iutest.hpp" という(パスは何でも良い)行があったら、そこにコードを全展開していました。
これを iutest.hpp という別ファイルと #include "iutest.hpp" として処理するようにしました。
また、--expand_include オプションを指定しなかった場合に、対象のファイルも追加ファイルとして送るように修正しています。

こちらの修正は github から取得できます。
https://github.com/srz-zumix/iutest

サンプル
https://github.com/srz-zumix/iutest/tree/master/tools/wandbox
こちらにあるサンプルの実行結果が以下になります。

複数ファイル対応前の結果:http://melpon.org/wandbox/permlink/rxop0vcJGIrj9BwC
複数ファイル対応後の結果:http://melpon.org/wandbox/permlink/HTCDKqWvJ8TlvmUa
※対応前のリンクは開くのに時間がかかるので注意!

複数ファイル対応後の方を開いていただくとわかると思いますが、ページを開くのがとっても速くなってます!
また、一番見たいテストコード部分がすぐに確認できるようにもなりました。

Wandbox ますます便利になりましたね\(^o^)/

0 件のコメント:

コメントを投稿