Skip to main content

A command line tool for media editing

Project description

CODE_TESTER

contributions welcome Open Source Love Build Status HitCount

Code_tester is a command-line code testing tool used to test your codes against codes of your friends/brute-force code.

Installation

Build from Source

  • git clone https://github.com/srbcheema1/code_tester
  • cd code_tester
  • sudo python3 setup.py install

Install using pip

linux and mac users
sudo python3 -m pip install code_tester

you may use --user option to install locally for user only in ~/.local/bin don't forget ~/.local/bin should be in your PATH. Add line export PATH=$PATH="~/.local/bin" in your .bashrc

windows users

for windows users you should have python3 installed in your system

pip install code_tester

Usage

srb@srb-pc:$ code_tester --help
usage: code_tester [-h] [-f FILE] [-o OTHER] [-t TEST] [-i ID] [-n NUM]
                   [-s SEC] [-c]
                   [legacy [legacy ...]]

positional arguments:
  legacy                legacy way of args

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Input file name, ex: one.cpp
  -o OTHER, --other OTHER
                        Other input file name, ex: brute.cpp
  -t TEST, --test TEST  Test generator, ex: testgen.py
  -i ID, --id ID        Unique_id, ex: 111
  -n NUM, --num NUM     Maximum number of test cases, ex: 1000
  -s SEC, --sec SEC     Maximum time in seconds for a test file, ex: 4
  -c, --clean           Clean the files generated by tester



srb@srb-pc:$ code_tester -f one.cpp -o brute_one.cpp -t testgen.py -n 500
tested 100
tested 200
tested 300
tested 400
tested 500
passed 500 testcases

srb@srb-pc:$ code_tester wrong.cpp brute.cpp testgen.py
Difference detected in outputs
---------Failed Test Case----------
10 11 4
1 0 0 0 0 0 0 1 1 1
!?!!?!?!!!!

---------End of Test Case----------
first difference in line 3
+---+-----------+-----------+
| # | wrong.cpp | brute.cpp |
+---+-----------+-----------+
| 1 | 2         | 2         |
| 2 | 4         | 4         |
| 3 | 3         | 4         |
+---+-----------+-----------+

Smart enough

  • smart enough to detect that 1 is same as 1.0
  • able to detect and ignore difference of less than 1e-6 in float values
  • able to ignore trailing white spaces
srb@srb-pc:$ code_tester wrong.cpp brute.cpp testgen.py
Difference detected in outputs
---------Failed Test Case----------
10
5 1
13 9
15 2
11 10
16 2
18 9
17 16
13 2
16 16
19 16

---------End of Test Case----------
first difference in line 8
+----+-------------+-----------+
| #  | wrong.cpp   | brute.cpp |
+----+-------------+-----------+
| 1  | 0.33333333  | 0.3333333 |    ignore percision differences smaller than 1e-6
| 2  | 1.00000000  | 1         |    it will detect values are same in 1.0, 1.000 and 1
| 3  | 0.25000000  | 0.2500000 |
| 4  | 1.00000000  | 1         |
| 5  | 0.25000000  | 0.2500000 |
| 6  | 1.00000000  | 1         |
| 7  | 0.14285714  | 0.1428571 |    this line is not marked as diff(smart to detect negligible change)
| 8  | 0.33333333  | 0.2500000 |    this one is 7th line which actually differs
| 9  | 1.00000000  | 1         |
| 10 | 1.00000000  | 1         |
+----+-------------+-----------+

Supported Languages

  • c++
  • c
  • python3
  • java
  • ruby

Contact / Social Media

Github LinkedIn Facebook

Development by

Developer / Author: Srb Cheema

Project details


Download files

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

Source Distribution

code_tester-0.0.6.tar.gz (11.2 kB view details)

Uploaded Source

File details

Details for the file code_tester-0.0.6.tar.gz.

File metadata

  • Download URL: code_tester-0.0.6.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for code_tester-0.0.6.tar.gz
Algorithm Hash digest
SHA256 2d13f65979dd1aa31bb50997cab4dcaa7a0e118406e6bb615a7cd087fbc6592e
MD5 98c5a437c29bb946a438af84eb434fac
BLAKE2b-256 509846bdadc5d47a2441f3cc7c09395121af6d95d3f8a81375033c8e9b288fbb

See more details on using hashes here.

Supported by

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