No project description provided
Project description
Online Judge Verify Helper
なにこれ
競プロライブラリの verify をお手軽に自動化するためのツールです。
使い方
競プロライブラリのリポジトリに設定する
これ読んで: https://kmyk.github.io/online-judge-verify-helper/installer.html
手元で実行する
インストール
$ pip3 install online-judge-verify-helper
verify 自動実行
まず .test.cpp という拡張子の名前のファイルに #define PROBLEM "https://judge.yosupo.jp/problem/unionfind" のような形で verify 用問題の URL を書いておきます。このとき、次のコマンドで verify できているかを確認してくれます。
$ oj-verify run
利用できる問題は主に Library Checker の問題と Aizu Online Judge の問題です。 HackerRank の問題もたぶん動きますが保証はしません。 その他サービスについてはテストケースが利用できる形で公開されていないために対応していません。
#include の自動展開
与えられたファイル中の #include "foo.hpp" の形の include 文を展開して出力します。
JavaScript で言うところの webpack のような機能であり、ファイル分割をしても実際のオンラインジャッジへの提出が困難にならないようにするために存在しています。
以下のように実行します。
$ oj-verify bundle main.cpp
競プロライブラリのディレクトリの外側にいる状態で実行する場合は -I path/to/your/library のように指定してください。
#pragma once などの include guard に部分的に対応しています。複数回の include の対象になっているが出力には一度のみ含まれてほしいようなファイルがあれば、その 1 行目に #pragma once と書いておいてください。
ドキュメント生成
以下のコマンドを実行すると .verify-helper/markdown/ にドキュメントが生成されます。例: https://kmyk.github.io/online-judge-verify-helper/
$ oj-verify docs
ドキュメント生成時に Doxygen 風のコメントが見つかれば、それらは自動で利用されます。
TeX 記法の数式 (例: $O(N \sum_i A_i)$) の MathJax による表示にも対応しています。
(TODO: どのようなコメントが認識されるかについてのドキュメントを書く)
Tips
- ライブラリを verify するための問題が見つからないときは他の人のライブラリを参考にするとよいでしょう。online-judge-verify-helper のユーザの一覧は https://github.com/search?q=online-judge-verify-helper+path%3A.github から見ることができます
- ライブラリを verify するための問題がそれでも見つからないときは Library Checker に問題を追加してください
- 高速化したい場合は頑張れば全体で 100 倍速ぐらいにできます: https://kmyk.github.io/online-judge-verify-helper/speedup.html
- GitHub Actions から online-judge-verify-helper を呼び出すといった通常想定される利用法においては MIT License に関する著作権表示は要求されません (詳細)
- これはライブラリを効率良く verify するためのツールであり、コードの検査や整形をするためのツールではありません。必要なら clang-format などの formatter や cppcheck などの linter を利用してください
- 言語は C++ 以外でも利用可能です (例: examples/circle.test.awk)。
.verify-helper/config.tomlというファイルを作ってコンパイルや実行のためのコマンドを書いてください (例: .verify-helper/config.toml)
Authors
- committer: @kmyk (AtCoder: kimiyuki): pip での配布や online-judge-tools などその他の諸々の担当
- committer: @beet-aizu (AtCoder: beet): verify 機能担当
- committer: @tsutaj (AtCoder: Tsuta_J): documents 生成担当
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file online_judge_verify_helper-3.4.0-py3-none-any.whl.
File metadata
- Download URL: online_judge_verify_helper-3.4.0-py3-none-any.whl
- Upload date:
- Size: 27.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f39566a670f1df8b6322c70f197e2572fb3ce139175006e0c5a12bf4f2c0c25
|
|
| MD5 |
1aa43bbc8b10bcd3a4da713a12eeea92
|
|
| BLAKE2b-256 |
325c3a435e18088e6cd3d6d205d5a44acb548af9c6653820083f46f29a034c99
|