Skip to main content

Lightweight markup for the description of running sessions of input/output based programs in the context of an online judge

Project description

The IoSpec format is a lightweight markup for specifying the expected inputs and outputs for running a program in an online judge setting. It is designed to be unobtrusive in the simple cases, while still having some some advanced features. This package defines the IoSpec format and provides a Python parser for it.

Basic syntax

A basic session of an input/output based program running on an online judge is specified like this:

Say your name: <John>
Hello, John!

In this example, the string between angle brackets is considered to be an input and everything else is the expected output. Different runs should be separated by blank lines:

Say your name: <John>
Hello, John!

Say your name: <Mary>
Hello, Mary!

We call each of these runs an iospec “test case”. The above example is declaring an interaction in which given the input John, the program should print Hello, John! while in the second run, when the input will be Mary, and the program will print Hello, Mary!.

A IoSpec source file consists of any number of test cases and some special blocks and directives that will be discussed afterwards.

This example is just the surface: IoSpec syntax has commands to define automatic inputs, capture patterns, execution errors and more! Check the manual if you want to learn more.

Project details

Download files

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

Files for iospec, version 0.3.16
Filename, size File type Python version Upload date Hashes
Filename, size iospec-0.3.16.tar.gz (30.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page