A python cli tool to test competitive programming solutions(code) against multiple test cases and measure execution time.
Project description
competester
A python cli tool to test competitive programming solutions(code) against multiple test cases and measure execution time. This tool becomes handy when the programmer is dealing with a problem having larger amount of test cases.
INSTALLATION
To install it using pip (for Linux, MacOS and Windows users)
sudo pip3 install --upgrade competest
Alternatively, Windows users can download the latest competest.exe file from releases.
DESCRIPTION & USAGE
competest is a command line program to test competitive coding problems for test cases. It requires python 3.6+ to be installed. It is licensed under GPL-v3 License.
As of now, supported Languages are:
- java
- python
- pypy
- exe(i.e. compiled executables)
Usage:
competest [OPTIONS] [python|java|pypy|exe] PROGRAM_FILE
Example:
competest python program.py -t test_cases.json
TEST CASES FORMAT
Test cases are written in json format like this:
[
{
"input":[
"5",
"3 2 4 5 6"
],
"output":[
"2",
"1 2"
]
}
]
Note: input
and output
are arrays of strings where each string is a line of input/output
For multiple test cases:
[
{
"input":[
"5",
"3 2 4 5 6"
],
"output":[
"2",
"1 2"
]
},
{
"input":[
"7",
"3 2 4 5 6 10 16"
],
"output":["10"]
}
]
OPTIONS
-t, --test-cases FILENAME File containing test cases. [required]
-h, --help Show this message and exit.
BUILD INSTRUCTIONS
To run competest directly use
python3 run.py
To run the tests use
python3 tests/test_platform.py
To build competest binary (install pyinstaller first)
pyinstaller -F run.py
TODO
- Add a simpler test case format
- Improve Documentation
- Add more metadata to setup.py
- Add more language support
Made with ♥️ by Shailesh Aanand
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 Distribution
Built Distribution
Hashes for competest-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cf2d714f56e24e15f277426483300fe8b3422e8acccd042e8f4af73dc51165d |
|
MD5 | 1dfb55d240f399708cd76ed84216361b |
|
BLAKE2b-256 | 95e8c1f469d02a8e5652ea82d5003cdc12df6bf6cc75a31eade89de2000ea9f5 |