yukicoderのテストケースをダウンロードしローカルでテストを実行するツール(リアクティブジャッジ、スペシャルジャッジ対応)
yukicoderにログイン(twitter,github)した状態でブラウザのcookieから REVEL_SESSIONの値を取り出し、GOYUKI環境変数にその値を設定する
$ export GOYUKI=12345hogehoge # zshの場合
$ goyuki get problem_no
コンパイル後、テストを実行する
$ goyuki run problem_no source_file
-language=lang, -l 実行する言語を指定します (デフォルト 拡張子から判別)
-validater=validater, -V テストの一致方法を指定します (デフォルト diff validator)
-verbose, -vb コンパイル時、実行時の標準出力、標準エラー出力を表示する
-place=n, -p 出力される数値を小数点以下n桁に丸める (float validater時のみ) (0<=n<=15)
$ goyuki run -l pypy2 -V float -p 4 314 sample.py
リアクティブジャッジ、スペシャルジャッジの場合は無視されます
テストファイルと実行ファイルの出力が行単位で一致しているか確認する
テストファイルと実行ファイルの出力をFloat64型の数値へ変換し比較する
No.1 道のショートカットのテストを実行したい場合(ソースファイルをmain.goとした場合)
$ goyuki run 1 main.go
テストケースを取得する場合は
$ goyuki get 1
- C++11 (cpp)
- C (c)
- Java (java)
- Perl (pl) (perlのデフォルト)
- Perl6 (pl6)
- PHP (php)
- Python2 (py2)
- Python3 (py) (pythonのデフォルト)
- PyPy2 (pypy2)
- PyPy3 (pypy3)
- Ruby (rb)
- Go (go)
- Haskell (hs)
- Scala (scala)
- Rust (rs)
- Scheme (scm)
- OCaml (ml)
- JavaScript (js)
- Bash (sh)
- Text (txt)
- C# (cs)
- D (d)
- Nim (nim)
- Kotlin (kt)
- Crystal (cr)
- F# (fs)
- Fortran (f90)
go get
$ go get -d github.com/yukirin/goyuki
または Releases yukirin/goyuki Githubからバイナリをダウンロード
- Fork (https://github.com/yukirin/goyuki/fork)
- Create a feature branch
- Commit your changes
- Rebase your local changes against the master branch
- Run test suite with the
go test ./...
command and confirm that it passes - Run
gofmt -s
- Create a new Pull Request