online-judge-tools/oj

テスト用途に用いているjsonデータをファイルに出力するように変更する

ryo-n opened this issue · 1 comments

ryo-n commented

Description

ojでは--output-json-for-test(旧 --json)というオプションを用いるとテスト用の統計情報を出力する機能がある。
今までは統計情報のみが標準出力されていたので、テストコード内でjsonをロードすることが容易であった。
しかし、#825 で通常のojの出力結果も標準出力されるようになったため、標準出力からjson部分を抜き出しロードする必要がでてきて複雑になった。
この問題を解決するため、テスト用の統計情報は別途ファイルに出力できるように変更をする。
また、出力先のパスもオプションで指定できるようにする。これに伴いオプション名も変更される。

例:)--log-file=path/to.json

Other notes

  • Will you try to create a pull request?
    • yes
kmyk commented

補足: --log-file は非公開の内部用オプションであってほしい。
「公開してもユーザの役には立たない」かつ「公開すると開発側は後方互換性を気にする必要があってしんどい」ためです。 oj の各サブコマンドは shell script で 1 行程度の自明なことしかやってないので、各々で再実装してもらった方が柔軟かつ安定するはず。