What is this?
This is a tool to easily automate the verify process of your code library for competitive programming.
How to use
Set up the repository for the library
Please read this: https://online-judge-tools.github.io/verification-helper/installer.html
Running the program
$ pip3 install online-judge-verify-helper
Python 3.6 or above is required.
Automating the verification
First, specify the problem URL to be used to verify the library in the file including
.test. in its path (e.g. for C++, write
#define PROBLEM "https://judge.yosupo.jp/problem/unionfind" in a file like
example.test.cpp; see the reference for other languages). Then, run the following command to check if the verification can be performed.
$ oj-verify run
include statements in your files in the form of
#include "foo.hpp" can be expanded,
The function can be used by running the following command:
$ oj-bundle main.cpp
If your competitive programming library resides outside the current directory, please specify the flag in the form of
-I path/to/your/library. I recommend make shell aliases like
alias oj-bundle='\oj-bundle -I path/to/your/library'.
Include guards like
#pragma once are partially supported. If you have files that will be included multiple times but you only want them to appear once in the generated code, add
#pragma once to the first line of the files.
Run the following command to generate documentation in
.verify-helper/markdown/. Example: https://online-judge-tools.github.io/verification-helper/
$ oj-verify docs
If documentation generators like Doxygen are found when generating documentation, they will be automatically used.
TeX expressions like
$(N \sum_i A_i)$ are also supported by the MathJax library.
For the details, see the reference.
- If you cannot find problems to verify your library, you can refer to other users' libraries. You can find all users of
- If you cannot find problems to verify your library anywhere, we suggest that you add a problem to Library Checker. You can use Hello World as a dummy problem to run your own stress tests.
- You do not need to display the MIT License if you call
online-judge-verify-helperfrom GitHub Actions (Details, in Japanese).
- This is tool to efficiently verify your library, not to check or prettify your code. If you need such functions, you can try formatters like clang-format or linters like cppcheck.