Skip to main content

python tests for Hadassah Academic Collage intro2cs courses

Project description

Inferno Tests

Github licence

Github release Github tag PyPI version

Code style: black

This project is an automation for teats for the Hadassah Academic College courses
Intro2cs and Intro2cs2.

The tests will:

  1. Check the differences between your output and the school solution output.
  2. Check the differences between your errors (cerr) and the school solution errors.
  3. Check for leak memory using valgrind.

How to Install

Virtual Machine

Because the virtual machine has internet connection you may only use the following terminal command:

python -m pip install --user hac-intro2cs-tests

NoMachine

The NoMachine has no internet connection so you must download the package file from PyPI page (the .whl file is recommended).
Now add the file to the NoMachine and run the following command:

python -m pip install --user <file_name>

Replace the <file_name> with the name of the file you downloaded

How to Use

  1. Open the linux (NoMachine or Virtual Machine) and make directory with the following files:

    • School solution files, must be with the extension "sol",
    • Your executable file, must be the same name as the school solution files names without the "sol".
    • Tests files, must contain "_test" in their name. if there are more then 1 sol file, the file must start with the executable file name following by "_test"

    For example, directory with the following files:

    • ex1asol
    • ex1a
    • ex1a.cc (optional)
    • ex1a_test00.in
    • ex1a_test01.in
    • ex1a_test02.in
    • ex1asol
    • ex1b
    • ex1b.cc (optional)
    • ex1b_test00.in
    • ex1b_test01.in
    • ex1b_test02.in
  2. Open the terminal at the directory and write the following command:

    python -m test_ex
    

    For each test the program will print the name of the test and the problem with the test (if there is outputs diff, if there is errors (cerr) diff, if there is a memory leak).

Alias

You can add alias to the command by writing the next line to the file ~/.tcshrc:

alias test_ex python -m test_ex

You may run the following command to do so:

echo "alias test_ex python -m test_ex" >> ~/.tcshrc

Now you can run the command:

test_ex

Instead of:

python -m test_ex

A Little Bit More

Timeout

The tests automatically run with timeout of 5 seconds to your program.
To change the timeout you may use the -t or --timeout flag:
To run the program with X seconds timeout, run the following command

test_ex --timeout X

To run with no timeout (Strongly recommended not to), set the timeout flag to 0:

test_ex --timeout 0

Specific Test

If you want to test specific test you may use the -s or --specific in the following way

test all tests for ex1a:

test_ex --specific ex1a

test specific tests for ex1a (ex1a_test01.in):

test_ex --specific ex1a_test01.in

More

For more information run:

test_ex --help

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

hac-intro2cs-tests-1.3.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

hac_intro2cs_tests-1.3.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file hac-intro2cs-tests-1.3.1.tar.gz.

File metadata

  • Download URL: hac-intro2cs-tests-1.3.1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.4

File hashes

Hashes for hac-intro2cs-tests-1.3.1.tar.gz
Algorithm Hash digest
SHA256 e69eba8c57b0f0f749d806aa64c87f0f438731fa5b2f388fa87a0538d8716a06
MD5 b0e089f1dbec51cf88ef046c7432cc64
BLAKE2b-256 5b1c13429db4f8a270d5c9a8908775bb70cf7341abce73a54cab97b6ccc57926

See more details on using hashes here.

File details

Details for the file hac_intro2cs_tests-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hac_intro2cs_tests-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6004004e2f0a063711641b8601dd0d619c443dcecc6f9551f8b78346ba85bc73
MD5 d7cb82d7d6d754852f7e8a529ef691e4
BLAKE2b-256 8c1918231dc5a8726b320742963bef6bf33b5c3a6428141e18c1bc5707081326

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