java使用時に`atcoder-tools test`で発生するエラーに対処した
atcoder-toolsというツールをありがたく使わさせていただいている。
各問のテストケースに対して、テストを自動で走らせてくれる機能があり、以下のコマンドで実行できる。
atcoder-tools test
しかし、java使用時に上記コマンドがうまく行かなかった。java Main
が実行されることを期待しているが、./Main.class
が実行されるようだ。
OSError: [Errno 88] Malformed Mach-o file: './Main.class'
やったこと
力技でどうにかした。
run.sh の用意
#!/bin/sh chmod 777 Main.class java Main
atcoder-tools gen
時にrun.shを作成
[codestyle] lang='java' [postprocess] exec_on_each_problem_dir='touch run.sh;chmod 777 run.sh;echo "#!/bin/sh" >> run.sh;echo "chmod 777 Main.class" >> run.sh;echo "java Main" >> run.sh'
Test時にrun.shを実行
javac main.java; atcoder-tools test -e "./run.sh"