online-judge-tools / verification-helper

a testing framework for snippet libraries used in competitive programming
MIT License
207 stars 53 forks source link

oj-verifyがローカルで実行できない #405

Closed Coki628 closed 6 months ago

Coki628 commented 2 years ago

Summary / 概要

oj verifyがローカルで実行できない

Steps to reproduce / 再現方法

  1. Windowsのローカル環境でoj-verify run(allでも)を実行
  2. 「FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。」といったエラーが出る。

environments:

想定される原因と対処方法

エラーを追ってみたところ、oj downloadする前のsleep 2の所で落ちていて、おそらくWindowsのcmdにsleepコマンドが存在しないのが原因かと思われます。 (https://github.com/online-judge-tools/verification-helper/blob/master/onlinejudge_verify/verify.pyの79行目) 試しに該当箇所exec_command(['sleep', '2'])をPythonのtime.sleep(2)に置き換えてみたところ、問題なく動作しました。 この2秒止める処理をPython側ではなくOS側の処理でやっていることには何が理由があるのでしょうか?

Other notes / その他

特に2秒止めるのをPython側でやることに全体として問題がないのであれば、該当箇所を修正したプルリクを出すことは、こちらで対応できるとは思います。

kzrnm commented 2 years ago

Pull request 作成済みです。 #400

Coki628 commented 2 years ago

PR既に出してくださってたんですね! 気が付かず申し訳ありません。 ご対応ありがとうございました。