Skip to main content

A command line tool for media editing

Project description

CODE_TESTER

contributions welcome Open Source Love 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.4.tar.gz (10.6 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: code_tester-0.0.4.tar.gz
  • Upload date:
  • Size: 10.6 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.4.tar.gz
Algorithm Hash digest
SHA256 1053d4ddd50f2ff60f822341afe985369053b10a535e22e90d7e580689af6a85
MD5 8d501b6d9fe1249435be527739ed268a
BLAKE2b-256 7b5ed3d9f7e495f907d1b00526b42e585b34d634e9111aa601247fc55ebca481

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