Skip to main content

writeup v0 Dedicated to the public domain under CC0: https://creativecommons.org/publicdomain/zero/1.0/.

# iotest

iotest is a small tool for testing command line programs. By default it writes the stdout and stderr of the program under test to files, and then compares them to expected results using git diff. Here are some reasons I like it: - Specify complicated, multiline text expectations without fiddling with escape characters in test code. - Clearly differentiate between stdout and stderr, with default success/failure status code expectations. - Test output is placed sensibly in the _build directory for easy inspection. - Simple test case prototyping reduces test case redundancy without complicated inheritence overrides (conflicts result in an error).

iotest is available via pip for easy distribution. Alternatively, the script can be freely copied into a project; there is a single python dependency (pithy utility library), also available through pip.

# License

iotest dedicated to the public domain. It is written and maintained by George King.

# Usage

To run all tests in the test directory: $ iotest test/

iotest will look for test cases, which are indicated by the presence of a .iot, .out, or .err file. The filename stem (the part before dot/extension) indicates the name of the test case. This is then used to find a test executable with the matching stem. For example, if we have a test case file thing.iot and corresponding executable file thing.py, iotest will run thing.py and compare its output to the expectations specified in thing.iot. If there is more than one test case file, e.g. thing.iot and thing.err, then they will be combined together as long as they do not conflict (in other words, thing.iot cannot also specify a stderr expectation).

# Issues

Please file issues to the github repository: github.com/gwk/iotest.

Metadata

Release files for iotest 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iotest 0.1
File Size Uploaded Provenance Actions
iotest-0.1.tar.gz 13.8 kB Without provenance Details for iotest-0.1.tar.gz

Release files / iotest-0.1.tar.gz

Download URL iotest-0.1.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2988b3b0893fe3442017541f3aca3ef529e7b7df421cbe85eefce0bf7ab3ddf1
BLAKE2b-256 checksum
How to use checksums
e71c12cca0feb58cb45743ce6410269e80b0dcac5e1b7e07e876aeb4bbd640ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for iotest 0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file No provenance

0.0.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page