Skip to main content

No project description provided

Project description

Online Judge Verify Helper

Actions Status GitHub Pages PyPI LICENSE

なにこれ

競プロライブラリの 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/ GitHub Pages

$ 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

online_judge_verify_helper-3.4.0-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

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

Hashes for online_judge_verify_helper-3.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f39566a670f1df8b6322c70f197e2572fb3ce139175006e0c5a12bf4f2c0c25
MD5 1aa43bbc8b10bcd3a4da713a12eeea92
BLAKE2b-256 325c3a435e18088e6cd3d6d205d5a44acb548af9c6653820083f46f29a034c99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page