News#
Prysk#
Unreleased#
Internal#
Relock dependencies
Version 0.20.0 (May. 07, 2024)#
🚨 Attention:
* Printable UTF-8 isn’t escaped by default any more. Use --escape7bit
to get the old behaviour. (#232)
Internal#
Relock dependencies
Update github actions
Version 0.19.0 (March. 23, 2024)#
Fix cluttering site-packages root (#239).
❤️ Big thanks to Haelwenn Monnier for the PR!
Internal#
Relock dependencies
Fix outdated project reference
Update developer documentation
Version 0.18.0 (Feb. 10, 2024)#
Internal#
Relock dependencies
Fixes to prysk integration tests
Update contributors
Version 0.17.0 (Dec. 30, 2023)#
- Fix prysk test file lookup for explicitly specified hidden files/directories
Fixes #224
Update
pytest-prysk
dependency requirement
Version 0.16.0 (Nov. 24, 2023)#
Internal#
Fix typo in test
Relock dev dependencies
Update dependabot configuration to do group updates
Update contributors list
Version 0.15.2 (Nov. 4, 2023)#
Add error handling for cleaning up files on Windows
Internal#
Add github issue templates
Update lockfile
Version 0.15.1 (May. 1, 2023)#
Prevent prysk from crashing on platforms which do not support
os.environb
Update dependencies
Version 0.15.0 (April. 26, 2023)#
Add support for DOS to Unix line endings (rn to n)
Updated Contributors (Hall Of Fame!)
Version 0.14.0 (April. 16, 2023)#
Add support for $TMPDIR variable substitution in test output
Update dependencies
Version 0.13.1 (March. 4, 2023)#
Fix os.environ restore after leaving context
Narrow scope of contexts for test run
Fix pytest-plugin error message
Fix typo in pytest-plugin documentation
Add literal character in docs
Version 0.13.0 (Feb. 16, 2023)#
Added prysk pytest-plugin
Version 0.12.2 (June. 15, 2022)#
Fix prysk test file lookup for relative paths
Refactor xunit module
Refactor test module
Remove run module
Fix pylint warnings in cli module
Fix pylint warnings in run module
Fix pylint warnings in process module
Refactor _Cli class
Version 0.12.1 (May. 29, 2022)#
Fix version output of cli
Simplify prysk_news/changelog
Version 0.12.0 (May. 29, 2022)#
Add color support to cli interface
Port optparse based cli parser to argparse
Update dependencies
Update dev dependencies
Update dependencies of github actions
Version 0.11.0 (February. 11, 2022)#
Reorder publishing steps
Fix release notes of 0.10.0 release
Version 0.10.0 (February. 11, 2022)#
Add version sanity check
Add support for automated releases
Add support for retrieving project version from pyproject.toml
Version 0.9.0 (February. 11, 2022)#
Add support for automated releases
Add support for retrieving project version from pyproject.toml
Version 0.9 (Jan. 29, 2022)#
Add basic documentation
Release new version to account and cope with accidentally deleted (untagged prysk version 0.8)
Note
once a version is published on pipy it can’t be reused even if it has been deleted (see file name reuse).
Version 0.8 (Jan. 25, 2022)#
Rename cram to prysk
Warning
Also semantically relevant names have been renamed, e.g. env var CRAMTMP is now PRYSK_TEMP
Cram#
Version 0.7 (Feb. 24, 2016)#
Added the
-d
/--debug
flag that disables diffing of expected/actual output and instead passes through script output tostdout
/stderr
.Added the
--shell-opts
flag for specifying flags to invoke the shell with. By setting--shell-opts='-x'
and--debug
together, this can be used to see shell commands as they’re run and their output in real time which can be useful for debugging slow or hanging tests.Added xUnit XML output support (for better integration of test results with Bamboo and other continuous integration tools).
Added support for using (esc) on expected out lines that aren’t automatically escaped in actual output.
Added the
$TESTSHELL
environment variable. This allows a test to portably check what shell it was invoked with.Added an error message for when no tests are found in a directory.
Changed
Makefile
to install into/usr/local
by default.Simplified the
Makefile
’s targets. The targets available now areall
,build
,check
/test
,clean
,dist
,install
, andquicktest
(for running the test suite without checking test coverage).Fixed non-ASCII strings not being escaped with
(esc)
on Python 3.Fixed a crash on tests that don’t have a trailing newline.
Fixed a crash when using
set -x
with zsh.
Version 0.6 (Aug. 1, 2013)#
Added the long option
--preserve-env
for-E
.Added support for specifying options in
.cramrc
(configurable with theCRAMRC
environment variable).Added a
--shell
option to change the shell tests are run with. Contributed by Kamil Kisiel.Added Arch Linux package metadata (in
contrib/
). Contributed by Andrey Vlasovskikh.Fixed shell commands unintentionally inheriting Python’s
SIGPIPE
handler (causing commands that close pipes to printbroken pipe
messages).Fixed
EPIPE
under PyPy when applying patches in--interactive
mode.Added
TESTFILE
test environment variable (set to the name of the current test).Fixed GNU patch 2.7 compatibility by using relative paths instead of absolute paths. Contributed by Douglas Creager.
Fixed name clashes in temporary test directories (e.g., when running two tests with the same name in different folders).
Backwards compatibility: Fixed improper usage of the subprocess library under Python 3. This fixes Python 3.3 support, but breaks support for Python 3.1-3.2.3 due to a bug in Python. If you’re using Python 3.0-3.2, you must upgrade to Python 3.2.4 or newer.
Version 0.5 (Jan. 8, 2011)#
The test format has changed: Matching output not ending in a newline now requires the
(no-eol)
keyword instead of ending the line in%
.Matching output containing unprintable characters now requires the
(esc)
keyword. Real output containing unprintable characters will automatically receive(esc)
.If an expected line matches its real output line exactly, special matching like
(re)
or(glob)
will be ignored.Regular expressions ending in a trailing backslash are now considered invalid.
Added an
--indent
option for changing the default amount of indentation required to specify commands and output.Added support for specifying command line options in the
CRAM
environment variable.The
--quiet
and--verbose
options can now be used together.When running Cram under Python 3, Unicode-specific line break characters will no longer be parsed as newlines.
Tests are no longer required to end in a trailing newline.
Version 0.4 (Sep. 28, 2010)#
The test format has changed: Output lines containing regular expressions must now end in
(re)
or they’ll be matched literally. Lines ending with keywords are matched literally first, however.Regular expressions are now matched from beginning to end. In other words
\d (re)
is matched as^\d$
.In addition to
(re)
,(glob)
has been added. It supports*
,?
, and escaping both characters (and backslashes) using\
.Environment settings have changed: The
-D
flag has been removed,$TESTDIR
is now set to the directory containing the.t
file, and$CRAMTMP
is set to the test runner’s temporary directory.-i
/--interactive
now requirespatch(1)
. Instead of.err
files replacing.t
files during merges, diffs are applied usingpatch(1)
. This prevents matching regular expressions and globs from getting clobbered.Previous
.err
files are now removed when tests pass.Cram now exits with return code
1
if any tests failed.If a test exits with return code
80
, it’s considered a skipped a test. This is useful for intentionally disabling tests when they only work on certain platforms or in certain settings.The number of tests, the number of skipped tests, and the number of failed tests are now printed after all tests are finished.
Added
-q
/--quiet
to suppress diff output.Added contrib/cram.vim syntax file for Vim. Contributed by Steve Losh.
Version 0.3 (Sep. 20, 2010)#
Implemented resetting of common environment variables. This behavior can be disabled using the
-E
flag.Changed the test runner to first make its own overall random temporary directory, make
tmp
inside of it and setTMPDIR
, etc. to its path, and run each test with a random temporary working directory inside of that.Added
--keep-tmpdir
. Temporary directories are named by test filename (along with a random string).Added
-i
/--interactive
to merge actual output back to into tests interactively.Added ability to match command output not ending in a newline by suffixing output in the test with
%
.
Version 0.2 (Sep. 19, 2010)#
Changed the test runner to run tests with a random temporary working directory.
Version 0.1 (Sep. 19, 2010)#
Initial release.