Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test や submit の --dir に相対パスを指定すると実行ファイルの実行に失敗する #239

Open
ymduu opened this issue Aug 9, 2021 · 0 comments

Comments

@ymduu
Copy link

ymduu commented Aug 9, 2021

表題の通り、 2.4.0 以降のバージョンで test や submit の --dir に相対パスを指定すると FileNotFoundError になります。
https://github.com/kyuridenamida/atcoder-tools/blob/stable/atcodertools/executils/run_program.py#L38
run_program に相対パスが渡ってきている かつ、 subprocess.run の引数 cwd が指定されているため、実行ファイルを cwd からの相対パスで探そうとしてそのパスに実行ファイルがないため失敗している様子です。

Python のドキュメント によると、

If cwd is not None, the function changes the working directory to cwd before executing the child. cwd can be a string, bytes or path-like object. In particular, the function looks for executable (or for the first item in args) relative to cwd if the executable path is a relative path.

とのことです。
実行ファイルのパスを cwd からの相対パスにしたいことはあまりない気がしますので、 run_program に渡る前に相対パスを解決する層を追加するのが良さそうでしょうか……(あまり全体を追えてないですが)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant