Windowsデスクトップアプリのテスト結果をコンソールに出力させたい
AppVeyorを利用してWin32デスクトップアプリケーションの自動テストを行いたいと考えています。
テスト結果をコンソールに出力させたいのですが、デスクトップアプリ本体から呼び出し元コンソールに直接文字列を書き込む方法はあるのでしょうか?
今のところは、ファイルにテストの実行結果を書き込み、アプリケーション終了後に中身をコンソールにまとめて出力する方法で代用しています。ただしアプリケーション終了まで結果が表示されないため、テスト実行中にAppVeyor側がタイムアウトするとテスト結果がごっそり抜け落ちてしまい実用性に欠けます。
また、AllocConsole
関数を利用したプログラムでは新規にコンソールが割り当てられるため、結果としてログに残りませんでした。
AllocConsole();
freopen("CONIN$", "r+t", stdin);
freopen("CONOUT$", "w+t", stdout);
printf("TEST TEST TEST");
追記
アプリからコンソールへの出力方法は解決しましたが、どういうわけかAppVeyor環境ではこの方法でもビルドコンソールにログを残すことができませんでした。