Wandbox の利用

iuwandbox

Wandbox で iutest を使ったテストコードを書けるように対応しました。
様々なコンパイラー・バージョンでビルド・テストができるため、あなたのプログラムのコンパイラー対応を助けます。

使い方

tools/wandbox/iuwandbox.py を使用します。
iuwandbox は python で書かれていますので、python が利用可能な環境で実行してください。
実行は簡単です。ビルド・実行したいソースコードファイルを引数に渡すだけです。

例)
iuwandbox.py sample.cpp
ソースコードに特別な記述は必要ありません。
重要なのは iutest.hpp を include することです。このとき、iutest.hpp にパスが通っていなくても問題ありません。
#include "../../include/iutest.hpp"
#include <iostream>

int main(int argc, char** argv)
{
    int x = 0;
    std::cout << "hoge" << std::endl;
    
    IUTEST_INIT(&argc, argv);
    return IUTEST_RUN_ALL_TESTS();
}

IUTEST(Foo, Bar)
{
    IUTEST_ASSERT_EQ(1, abs(-1));
}
サンプルの実行結果はこちらになります。
サンプル実行結果 http://melpon.org/wandbox/permlink/VspJQN4s3NzUR3C9

コンパイラーの選択などは後述のコマンドラインオプションの項をご覧ください。

コマンドラインオプション

-c--compiler COMPILER コンパイラーを選択します。選択できるコンパイラーは Wandbox を確認するか、--list_compiler オプションで確認してください。デフォルト:[gcc-head]
-x--options OPTIONS オプションを選択します。選択できるコンパイラーは Wandbox を確認するか、--list_options オプションで確認してください。
--default Wandbox のデフォルトオプションを使用します。廃止されました。デフォルトで有効です。
--no-default Wandbox のデフォルトオプションを使用しないようにします。
--std VERSION 使用する C++ のバージョンを指定します。
--boost VERSION 使用する boost のバージョンを指定します。nothing を指定すると boost を使用しません。
--cpp-verbose Wandbox の Verbose を有効にします。
--optimize Wandbox の Optimization を有効します。
--sprout Sprout を使用します。
--msgpack MessagePack を使用します。
-f--compiler-options-raw OPTIONSコンパイラーのオプションを直接指定します。複数のオプションを指定する場合は、[ -f"-Dx=hogefuga -O3" ] とするか、[ -f"-Dx=hogefuga" -f"-O3" ] のように記述できます。
-r--runtime-options-raw OPTIONSビルドした実行ファイルのコマンドラインオプションを指定します。複数のオプションを指定する場合は、[ -r"--iutest_shuffle --iutest_random_seed=1" ] とするか、[ -r"--iutest_shuffle" -r"--iutest_random_seed=1" ] のように複数オプションを記述してください。
--list-compiler 利用可能なコンパイラーを列挙します。
--list-options COMPILERCOMPILER で利用可能なオプションを列挙します。
--stdin 実行時の stdin の内容を指定します。
--encoding ENCODING 入力ソースコードファイルのエンコードを指定します。
--expand_include 入力ソースコードファイルに含まれる include を展開します。
-o--output FILE ソースコードを FILE に書き出します。
--xml FILE テスト結果 xml を FILE に書き出します。
--junit FILE テスト結果 xml を junit 形式で FILE に書き出します。
-s--save permarnent link を生成します。
--verbose 実行前にパラメータを表示します。
--dryrun Wandbox で実行せず終了します。
--permlink ID ID の permarnent link の情報を取得します。--output オプションを指定すると、ソースコードをファイルに書き出します。
-v--version バージョンを表示します
-h--help ヘルプを表示します