Back to Sysbench

News

third_party/cram/NEWS.rst

1.0.206.4 KB
Original Source

====== News

Version 0.7 (Feb. 24, 2016)

  • Added the -d/--debug flag that disables diffing of expected/actual output and instead passes through script output to stdout/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 are all, build, check/test, clean, dist, install, and quicktest (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 the CRAMRC 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 print broken 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.

.. _Kamil Kisiel: http://kamilkisiel.net/ .. _Andrey Vlasovskikh: https://twitter.com/vlasovskikh .. _Douglas Creager: http://dcreager.net/

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 requires patch(1). Instead of .err files replacing .t files during merges, diffs are applied using patch(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_.

.. _contrib/cram.vim: https://bitbucket.org/brodie/cram/src/default/contrib/cram.vim .. _Steve Losh: http://stevelosh.com/

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 set TMPDIR, 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.