online-judge-tools / oj

Tools for various online judges. Downloading sample cases, generating additional test cases, testing your code, and submitting it.
MIT License
1.03k stars 92 forks source link

oj test-reactive で複数のテストケースを実行したい #899

Open NyaanNyaan opened 3 years ago

NyaanNyaan commented 3 years ago

Description / 説明

インタラクティブ問題でのデバッグを速やかに行うために、 oj test-reactive に複数のテストケースを実行するオプションがあると大変ありがたいです。

Motivation / 動機

コンテスト中に自分のプログラムのバグを特定したいとき、インタラクティブでない場合は oj generate-input を利用することで WA を返すケースを発見することができます。このとき適切なオプションをつけることで hack できるまで連続実行することが可能になり、テストケースを1秒に数十ケース単位で実行することができて非常に便利です。

一方、インタラクティブでも oj test-reactive を利用すれば可能ですが、連続実行を行うオプションがありません。シェルの機能を利用すればループさせることは可能ですが、毎回 oj を起動して終了させるのが重いのか(ここきちんと検証していません、すみません) 小さいケースでも手元で一回あたり 0.5 秒程度かかってしまいます。 oj test-reactive にも hack されるまでケースを実行するオプションがあるとありがたいです。

rsk0315 commented 2 years ago

元々自分のローカル用に実装していたものでしたが、issue に上がっていたので PR (https://github.com/online-judge-tools/oj/pull/915) を出してみました。オプションのインタフェースなどには議論の余地があると思うので、何かあれば言っていただけるとうれしいです。