1.12.0 24-09-2020

  • [Feature] #1032: Allow specifying directories when reading tests from files
  • [Bug]: Fix to filter class based test based on the tagging in parameter
  • [Bug] #1034: Added filtering during session resume

1.11.0 06-08-2020

  • [Bug] #899: Fix slash.exclude decorator for fixtures
  • [Bug]: Fix iter_suite_file_paths to get test path of the tests as relative if relative path is provided in suite file

1.10.0 21-04-2020

  • [Feature]: Require newer emport and dessert versions (use importlib instead of imp)
  • [Bug] #1007: Safe set markers on exceptions
  • [Bug] #1013: Allow slash.use_fixtures application on other fixtures

1.9.0 02-12-2019

  • [Feature]: Added a plugin which provides links to test logs which have been archived by a CI system
  • [Feature]: Added support for tagging test parameterization values
  • [Feature] #598: Drop support for python version < 3.6
  • [Feature] #979: Change Ordered set implementation from orderedset to ordered-set, as the former is not maintained anymore
  • [Feature] #982: Read files as binary to avoid decoding errors
  • [Feature] #241: Support ‘slashconf’ directory
  • [Feature] #998: Choose IPython colors scheme for interactive test
  • [Bug]: Corrected behaviour of float and int test details in xunit output
  • [Bug] #985: Fix a bug where Slash did not expand parameterizations used through use_fixture properly
  • [Bug] #991: Fix detection of yield-fixture when combined with parametrization

1.8.0 03-07-2019

  • [Feature]: Resuming sessions now supports --failed-only and --unstarted-only to control which tests to resume
  • [Feature]: Add slash.ignored_warnings context
  • [Feature]: Add tests and suite execution time to xunit plugin
  • [Feature] #950: Slash now emits a log record when handling fatal errors
  • [Feature] #925: Support was added for terminals with light backgrounds by changing log.console_theme.dark_background configuration
  • [Feature] #952: Added support for getting the currently active scope (test, module or session) through the new get_current_scope API. session.scope_manager.current_scope is also available.
  • [Feature] #452: Drop support for old-style assertions
  • [Feature] #945: Drop support for deprecated arguments of add_cleanup

1.7.10 30-04-2019

  • [Bug] #928: Fixed a bug causing requirements to leak across sibling test classes
  • [Bug] #934: Parallel sessions now honor fatal exceptions encountered in worker sessions
  • [Bug] #930: Restore behavior of exceptions propagating out of the test_start or test_end hooks. Correct behavior is for those to fail the test (thanks @pierreluctg)

1.7.9 09-03-2019

  • [Bug]: Revert console coloring change, as it does not behave consistently across different terminals

1.7.8 04-03-2019

  • [Bug] #926: Return code for failed sessions was changed to 1 (from -1)
  • [Bug] #925: Fix background color for session start and test collection messages

1.7.7 21-01-2019

  • [Bug]: Fix swallowing of broken-pipe errors from console reporter - will not add errors
  • [Bug]: Several Windows-specific fixes (thanks @pierreluctg)
  • [Bug]: Fix test_start triggering when exceptions are thrown in class-based tests (thanks @pierreluctg)
  • [Bug] #907: Fix parallel worker timeout issues

1.7.6 16-12-2018

  • [Bug] #895: Wrap log_file_closed hook with handling_exceptions
  • [Bug] #904: Fix list-plugins output for new normalized names
  • [Bug]: Fix parallel execution on Windows systems (thanks @pierreluctg!)
  • [Bug]: Fix state saving of unstarted tests during interruptions

1.7.5 23-10-2018

  • [Bug] #897: Fix handling of -k patterns beginning with not

1.7.4 23-10-2018

  • [Bug]: Fix backslash-python dependency check

1.7.3 21-10-2018

  • [Bug] #878: Fix notification plugin’s handling of backslash plugin with no active session
  • [Bug] #879: Fix handling exceptions during entering_debugger hook triggered by Application.__exit__()
  • [Bug]: Correctly call fixture.test_end on test errors (Thanks @pierreluctg!)

1.7.2 11-10-2018

  • [Bug] #882: Fix fixture reuse logic regression causing fixtures to be evaluated more than once in some cases

1.7.1 7-10-2018

  • [Bug] #876: Support disabling convertion of log error to slash-error by extra’s capture=False

1.7.0 7-10-2018

  • [Feature] #797: Add ability to filter tests of slash list with -k
  • [Feature] #799: Tags can now be set more than once on a test, providing that they are set in the same way (same value or without a value)
  • [Feature] #693: Remove backwards compatibility for log.errors_subpath configuration. Use log.highlights_subpath configuration instead.
  • [Feature] #803: Add exception class for internal Slash errors: SlashInternalError
  • [Feature] #650: Fixtures can now be tagged the same way as tests
  • [Feature] #824: Support API to determine cleanup phase - get_current_cleanup_phase() and is_in_cleanup()
  • [Feature] #738: Collect warnings that were omitted before session started
  • [Feature] #648: Add support for use_fixtures decotaror
  • [Feature] #843: Add slash.app_quit hook, a hook that is called whenever the Slash process finishes. This is useful to allow certain plugins to perform important cleanups on session-wide errors
  • [Feature] #836: Resuming sessions now supports --failed-first and --unstarted-first to control the resuming priority
  • [Feature] #12: Added a signal handling plugin (see documentation for more details)
  • [Feature] #825: Support capturing error logs as actual errors, when run.capture.error_logs_as_errors is enabled
  • [Bug] #810: Fixed handling of notification messages containing curly braces
  • [Bug] #812: Fixed debug_if_needed when called before session initialized
  • [Bug] #804: Swallow IO Errors from console reporter
  • [Bug] #846: Use AND operator between ignore_warnings parameters
  • [Bug] #864: Fix handling of exceptions during _run_single_test() before test started

1.6.5 2-9-2018

  • [Bug] #837: Fix handling exceptions during _log_file_handler_context

1.6.4 19-7-2018

  • [Bug] #820: Fix error handling when capturing distilled tracebacks

1.6.1 1-7-2018

  • [Bug]: Fix support for Python 3.7

1.6.0 6-5-2018

  • [Feature] #782: Added new hooks: before_session_cleanup, after_session_end
  • [Feature] #779: Added, which can be configured to hold the name of the current project. It defaults to the name of the directory in which your project’s .slashrc is located
  • [Feature] #785: Plugins can now be marked to indicate whether or not they support parallel execution, using slash.plugins.parallel_mode. To avoid errors, Slash assumes that unmarked plugins do not support parallel execution.
  • [Feature] #528: slash.exclude can now exclude combinations of parameter values
  • [Feature] #769: Added a new configuration flag, log.show_raw_param_values, defaulting to False. If set to True, log lines for beginnings of tests will contain actual parametrization values instead of format-safe strings.
  • [Feature] #771: Keyword arguments to registers_on now get forwarded to Gossip’s register API
  • [Bug] #772: Fix handling exceptions which raised from None in interactive session
  • [Bug] #783: Session errors in children are now handled and reported when running with parallel

1.5.1 10-3-2018

  • [Bug] #767: Fixed traceback variable capture for cases where self=None

1.5.0 7-3-2018

  • [Feature] #662: Change email notification icon based on session success status
  • [Feature] #660: Add configuration for notifications plugin --notify-only-on-failure
  • [Feature] #661: Support PDB notifications by notifications plugin
  • [Feature] #675: Emit native python warnings for logbook warning level
  • [Feature] #686: assert_raises raises ExpectedExceptionNotCaught if exception wasn’t caught also allowing inspection of the expected exception object
  • [Feature] #689: Added a new hook, interruption_added, for registering exceptions which cause test/session interruptions
  • [Feature] #658: Deprecate PluginInterface.get_config() and rename it to PluginInterface.get_default_config()
  • [Feature] #692: Enhance errors summary log to session highlights log (configuration changed: log.errors_subpath -> log.highlights_subpath)
  • [Feature] #685: use.X is now a shortcut for use(‘x’) for fixture annotations
  • [Feature]: Suite files can now have a repeat: X marker to make the test run multiple times (Thanks @pierreluctg!)
  • [Feature]: During the execution of error_added hooks, traceback frame objects now have python_frame, containing the original Pythonic frame that yielded them. Those are cleared soon after the hook is called.
  • [Feature] #704: Error objects now have their respective exc_info attribute containing the exception info for the current info (if available). This deprecates the use of the locals/globals attributes on traceback frames.
  • [Feature] #698: By setting log.traceback_variables to True, traceback variable values will now be written to the debug log upon failures/errors
  • [Feature] #712: Added --pdb-filter - a new command-line flag that allows the user to enter pdb only on specific caught exceptions, based on pattern matching (similar to -k)
  • [Feature]: Support fixture keyword arguments for generator_fixture
  • [Feature] #723: Add configuration for resume state path location
  • [Feature] #711: Logs can now optionally be compressed on-the-fly through the log.compression.enabled configuration parameter
  • [Feature]: -X can now be used to turn off stop-on-error behavior. Useful if you have it on by default through a configuration file
  • [Feature] #719: Added log.core_log_level, allowing limiting the verbosity of logs initiated from Slash itself
  • [Feature] #681: Added a new hook, log_file_closed, and added configuration log.cleanup to enable removing log files after they are closed
  • [Feature] #702: Rename log.traceback_level to log.console_traceback_level
  • [Feature] #740: session.results.current is now a complete synonym for slash.context.result
  • [Feature]: Add slash rerun - given a session_id, run all the tests of this session
  • [Feature] #747: session.results.global_result.is_success() now returns False if any test in the session isn’t successful
  • [Feature] #755: timestamp can now be used when formatting log path names
  • [Feature] #757: slash list tests now accepts the --warnings-as-errors flag, making it treat warnings it encounters as errors
  • [Feature] #752: Added slash.ignore_warnings to filter unwanted warnings during sessions
  • [Feature] #664: Added metadata.set_file_path, allowing integrations to set a custom file path to be associated with a loaded test
  • [Feature]: Added a configuration option preventing slash.g from being available in interactive namespaces
  • [Feature] #697: Added slash.before_interactive_shell hook
  • [Feature] #590: Add support for labeling parametrization variations
  • [Bug] #679: Fix coloring console for non TTY stdout
  • [Bug] #684: Optimize test loading with --repeat-each and --repeat-all
  • [Bug]: Fix tests loading order for some FS types
  • [Bug] #671: Help for slash resume is now more helpful
  • [Bug] #710: Fix sorting when repeat-all option is use
  • [Bug] #669: Session-scoped fixtures now properly register cleanups on session scope as expected
  • [Bug] #714: Session cleanups now happen under the global result object
  • [Bug] #721: Add timeout to sending emails through SMTP

1.4.6 3-12-2017

  • [Bug] #700: Fixed handling of non-exception errors in session scope
  • [Bug] #701: Fixed error in coverage reporter cleanup

1.4.3 14-9-2017

  • [Bug] #665: Support overriding notifications plugin’s from_email by configuration
  • [Bug] #668: Properly initialize colorama under Windows
  • [Bug] #670: Improve handling of interruption exceptions - custom interruption exceptions will now properly cause the session and test to trigger the session_interrupt and test_interrupt hooks. Unexpected exceptions like SystemExit from within tests are now also reported properly instead of silently ignored

1.4.2 13-8-2017

  • [Bug]: Add current_config property to plugins

1.4.1 9-8-2017

  • [Bug]: Restore default enabled state for Prowl/NMA/Pushbullet notifications
  • [Bug]: Add ability to include details in email notifications

1.4.0 8-8-2017

  • [Feature] #647: Support installing plugins as “internal” – thus not letting users disable or enable them through the command line
  • [Feature] #647: Support internal plugins
  • [Feature] #651: Add host_fqdn and host_name attributes to session
  • [Feature] #662: Improve notifications plugin, add support for email notifications
  • [Feature]: Added new hook prepare_notification to process notifications before being sent by the notifications plugin

1.3.0 24-07-2017

  • [Feature]: Assertions coming from plugins and modules loaded from the project’s .slashrc now also have assertion rewriting introspection enabled
  • [Feature] #556: Long variable representations are now capped by default when distilling tracebacks
  • [Feature]: Slash now detects test functions being redefined, hiding previous tests, and warns about it
  • [Feature]: Added session.results.has_fatal_errors to check for fatal errors within a session
  • [Feature] #595: Add allowing_exceptions context letting tests allow specific exceptions in selective context
  • [Feature] #600: Use vintage package for deprecations
  • [Feature] #592: Added exception_attributes dict to Error objects
  • [Feature]: Added SLASH_USER_SETTINGS=x environment variable to give a possibility to override the user slashrc file
  • [Feature] #633: When using the handling_exceptions, it is now possible to obtain the exception object that was handled
  • [Feature] #635: slash run now supports --force-color/--no-color flags.
  • [Feature] #617: Support inhibit_unhandled_exception_traceback
  • [Feature] #642: Support multiple registrations on the same plugin method with plugins.registers_on
  • [Feature] #596: Slash now supports a flag to disable assertion introspection on assertions containing messages (run.message_assertion_introspection)
  • [Feature] #213: Added parallel execution capability (still considered experimental) - tests can be run in parallel by multiple subprocess “workers”. See the documentation for more information
  • [Bug]: Several Windows-specific fixes (thanks Pierre-Luc Tessier Gagné)
  • [Bug]: Honor run.default_sources configuration when using slash list (thanks Pierre-Luc Tessier Gagné)
  • [Bug] #606: Swallow python warnings during ast.parse

1.2.5 19-06-2017

  • [Bug]: Add exception_str shortcut for future compatibility on error objects

1.2.4 19-06-2017

  • [Bug] #580: tests_loaded hooks now get called with a list of tests including the interactive test if applicable
  • [Bug] #581: Fix slash.exclude to work across fixture namespaces

1.2.2 29-05-2017

  • [Bug] #564: Fix test collection bug causing tests to not be loaded with some plugins

1.2.0 30-04-2017

  • [Feature] #502: Added session_interrupt hook for when sessions are interrupted
  • [Feature] #511: Support adding external logs Result.add_extra_log_path which will be retrieved by Result.get_log_paths()
  • [Feature] #507: Test id can now be obtained via
  • [Feature] #467: Yield fixtures are now automatically detected by Slash – using yield_fixture explicitly is no longer required
  • [Feature] #497: Major overhaul of CLI mechanics – improve help message and usage, as well as cleaner error exits during the session configuration phase
  • [Feature] #519: Add --no-output flag for slash list
  • [Feature] #512: slash list-config now receives a path filter for config paths to display
  • [Feature] #513: Add deep parametrization info (including nested fixtures) to the metadata variation info
  • [Feature] #524: slash list, slash list-config and slash list-plugins now supports --force-color/--no-color flags. The default changed from colored to colored only for tty
  • [Feature] #476: slash resume was greatly improved, and can now also fetch resumed tests from a recorded session in Backslash, if its plugin is configured
  • [Feature] #544: Added debug.debugger configuration to enable specifying preferred debugger. You can now pass -o debug.debugger=ipdb to prefer ipdb over pudb, for example
  • [Feature] #508: Added optional end_message argument to notify_if_slow_context, allowing better verbosity of long operations
  • [Feature] #529: Switch to PBR
  • [Bug] #510: Explicitly fail fixtures which name is valid for tests (currently: test_ prefix)
  • [Bug] #516: Fire test_interrupt earlier and properly mark session as interrupted when a test is interrupted
  • [Bug] #490: Fixed behavior of plugin dependencies in cases involving mixed usage of plugin-level and hook-level dependencies
  • [Bug] #551: Fix stopping on error behavior when errors are reported on previous tests

1.1.0 22-11-2016

  • [Feature] #466: Add –relative-paths flag to slash list
  • [Feature] #344: Exceptions recorded with handling_exceptions context now properly report the stack frames above the call
  • [Feature]: Added the entering_debugger hook to be called before actually entering a debugger
  • [Feature] #468: Slash now detects tests that accidentally contain yield statements and fails accordingly
  • [Feature] #461: yield_fixture now honors the scope argument
  • [Feature] #403: add slash list-plugins to show available plugins and related information
  • [Feature] #462: Add log.errors_subpath to enable log files only recording added errors and failures.
  • [Feature] #400: slash.skipped decorator is now implemented through the requirements mechanism. This saves a lot of time in unnecessary setup, and allows multiple skips to be assigned to a single test
  • [Feature] #384: Accumulate logs in the configuration phase of sessions and emit them to the session log. Until now this happened before logging gets configured so the logs would get lost
  • [Feature] #195: Added this.test_start and this.test_end to enable fixture-specific test start and end hooks while they’re active
  • [Feature] #287: Add support for “facts” in test results, intended for coverage reports over relatively narrow sets of values (like OS, product configuration etc.)
  • [Feature] #352: Suite files can now contain filters on specific items via a comment beginning with filter:, e.g. /path/to/ # filter: x and not y
  • [Feature] #362: Add ability to intervene during test loading and change run order. This is done with a new tests_loaded hook and a new field in the test metadata controlling the sort order. See the cookbook for more details
  • [Feature] #359: Add trace logging of fixture values, including dependent fixtures
  • [Feature] #417: add_error/add_failure can now receive both message and exc_info information
  • [Feature] #484: slash list now indicates fixtures that are overriding outer fixtures (e.g. from
  • [Feature] #369: Add slash.exclude to only skip specific parametrizations of a specific test or a dependent fixture. See the cookbook section for more details
  • [Feature] #485: xunit plugin now saves the run results even when the session doesn’t end gracefully (Thanks @eplaut)
  • [Bug] #464: Fix exc_info leaks outside of assert_raises & handling_exceptions
  • [Bug] #477: Fix assert_raises with message for un-raised exceptions
  • [Bug] #479: When installing and activating plugins and activation fails due to incompatibility, the erroneous plugins are now automatically uninstalled
  • [Bug] #483: Properly handle possible exceptions when examining traceback object attributes

1.0.2 19-10-2016

  • [Bug] #481: Fixed tuple parameters for fixtures

1.0.1 07-08-2016

  • [Bug] #457: Fixed initialization order for autouse fixtures
  • [Bug] #464: Fix reraising behavior from handling_exceptions

1.0.0 26-06-2016

  • [Feature] #412: Add is_in_test_code to traceback json
  • [Feature] #413: Test names inside files are now sorted
  • [Feature] #416: Add –no-params for “slash list”
  • [Feature] #427: Drop support for Python 2.6
  • [Feature] #428: Requirements using functions can now have these functions return tuples of (fullfilled, requirement_message) specifying the requirement message to display
  • [Feature] #430: Added coverage plugin to generate code coverage report at the end of the run (--with-coverage)
  • [Feature] #435: Added swallow_types argument to exception_handling context to enable selective swallowing of specific exceptions
  • [Feature] #436: slash list now fails by default if no tests are listed. This can be overriden by specifying --allow-empty
  • [Feature] #424: slash internal app context can now be instructed to avoid reporting to console (use report=False)
  • [Feature] #437: Added test_avoided hook to be called when tests are completely skipped (e.g. requirements)
  • [Feature] #423: Added support for generator fixtures
  • [Feature] #401: session_end no longer called on plugins when session_start isn’t called (e.g. due to errors with other plugins)
  • [Feature] #441: variation in test metadata now contains both id and values. The former is a unique identification of the test variation, whereas the latter contains the actual fixture/parameter values when the test is run
  • [Feature] #439: Added support yield_fixture
  • [Feature] #276: Added support for fixture aliases using slash.use
  • [Feature] #407: Added --repeat-all option for repeating the entire suite several times
  • [Feature] #397: Native Python warnings are now captured during testing sessions
  • [Feature] #446: Exception tracebacks now include instance attributes to make debugging easier
  • [Feature] #447: Added a more stable sorting logic for cartesian products of parametrizations
  • [Bug] #442: Prevent session_end from being called when session_start doesn’t complete successfully

0.20.2 03-04-2016

  • [Bug] #432: Fixed a bug where session cleanups happened before test_end hooks are fired
  • [Bug] #434: Fixed a bug where class names were not deduced properly when loading tests

0.20.1 01-03-2016

  • [Bug] #409: Improve session startup/shutdown logic to avoid several potentially invalid states
  • [Bug] #410: Fixed bug causing incorrect test frame highlighting in tracebacks

0.20.0 02-02-2016

  • [Feature] #339: Errors in interactive session (but not ones originating from IPython input itself) are now recorded as test errors
  • [Feature] #379: Allow exception marks to be used on both exception classes and exception values
  • [Feature] #385: Add test details to xunit plugin output
  • [Feature] #386: Make slash list support -f and other configuration parameters
  • [Feature] #391: Add result.details, giving more options to adding/appending test details
  • [Feature] #395: Add __slash__.variation, enabling investigation of exact parametrization of tests
  • [Feature] #398: Allow specifying exc_info for add_error
  • [Feature] #381: handling_exceptions now doesn’t handle exceptions which are currently expected by assert_raises
  • [Feature] #388: -k can now be specified multiple times, implying AND relationship
  • [Feature] #405: Add --show-tags flag to slash list
  • [Feature] #348: Color test code differently when displaying tracebacks
  • [Bug] #402: TerminatedException now causes interactive sessions to terminate
  • [Bug] #406: Fix error reporting for session scoped cleanups
  • [Bug] #408: Fix handling of cleanups registered from within cleanups

0.19.6 01-12-2015

  • [Bug]: Minor fixes

0.19.5 01-12-2015

  • [Bug] #390: Fix handling of add_failure and add_error with message strings in xunit plugin

0.19.5 25-11-2015

  • [Bug] #389: Fix deduction of function names for parametrized tests

0.19.3 05-11-2015

  • [Bug] #383: Fix fixture passing to before and after

0.19.2 13-10-2015

  • [Bug] #376: Fix xunit bug when using skip decorators without reasons

0.19.1 01-10-2015

  • [Bug] #374: Fix issue with xunit plugin

0.19.0 30-09-2015

  • [Feature] #349: Plugin configuration is now installed in the installation phase, not activation phase
  • [Feature] #371: Add warning_added hook
  • [Feature] #366: Added configure hook which is called after command-line processing but before plugin activation
  • [Feature] #366: --with-X and --without-X don’t immediately activate plugins, but rather use activate_later / deactivate_later
  • [Feature] #366: Added activate_later and deactivate_later to the plugin manager, allowing plugins to be collected into a ‘pending activation’ set, later activated with activate_pending_plugins
  • [Feature] #368: add slash list-config command
  • [Feature] #361: Demote slash logs to TRACE level
  • [Bug] #373: Fix test collection progress when outputting to non-ttys

0.18.2 30-09-2015

  • [Bug] #372: Fixed logbook compatibility issue

0.18.1 11-08-2015

  • [Bug] #350: Fixed scope mismatch bug when hooks raise exceptions

0.18.0 02-08-2015

  • [Feature] #319: Add class_name metadata property for method tests
  • [Feature] #324: Add test for cleanups with fatal exceptions
  • [Feature] #240: Add support for test tags
  • [Feature] #332: Add ability to filter by test tags - you can now filter with -k tag:sometag, -k sometag=2 and -k "not sometag=3"
  • [Feature] #333: Allow customization of console colors
  • [Feature] #337: Set tb level to 2 by default
  • [Feature] #233: slash.parametrize: allow argument tuples to be specified
  • [Feature] #279: Add option to silence manual add_error tracebacks (-o show_manual_errors_tb=no)
  • [Feature] #295: SIGTERM handling for stopping sessions gracefully
  • [Feature] #321: add Error.mark_fatal() to enable calls to mark_fatal right after add_error
  • [Feature] #335: Add ‘needs’ and ‘provides’ to plugins, to provide fine-grained flow control over plugin calling
  • [Feature] #347: Add slash.context.fixture to point at the ‘this’ variable of the currently computing fixture
  • [Bug] #320: Fix scope mechanism to allow cleanups to be added from test_start hooks
  • [Bug] #322: Fix behavior of skips thrown from cleanup callbacks
  • [Bug] #322: Refactored a great deal of the test running logic for easier maintenance and better solve some corner cases
  • [Bug] #329: handling_exceptions(swallow=True) now does not swallow SkipTest exceptions
  • [Bug] #341: Make sure tests are garbage collected after running

0.17.0 29-06-2015

  • [Feature] #308: Support registering private methods in plugins using registers_on
  • [Feature] #311: Support plugin methods avoiding hook registrations with registers_on(None)
  • [Feature] #312: Add before_session_start hook
  • [Feature] #314: Added Session.get_total_num_tests for returning the number of tests expected to run in a session

0.16.1 17-06-2015

  • [Bug]: fix strict emport dependency

0.16.0 20-05-2015

  • [Feature] #300: Add log.unified_session_log flag to make session log contain all logs from all tests
  • [Feature] #306: Allow class variables in plugins
  • [Feature] #307: Interactive test is now a first-class test and allows any operation that is allowed from within a regular test

0.15.0 28-04-2015

  • [Feature] #271: Add passthrough_types=TYPES parameter to handling_exceptions context
  • [Feature] #275: Add get_no_deprecations_context to disable deprecation messages temporarily
  • [Feature] #274: Add optional separation between console log format and file log format
  • [Feature] #280: Add optional message argument to assert_raises
  • [Feature] #170: Add optional scope argument to add_cleanup, controlling when the cleanup should take place
  • [Feature] #267: Scoped cleanups: associate errors in cleanups to their respective result object. This means that errors can be added to tests after they finish from now on.
  • [Feature] #286: Better handling of unrun tests when using x or similar. Count of unrun tests is now reported instead of detailed console line for each unrun test.
  • [Feature] #282: Better handling of fixture dependency cycles
  • [Feature] #289: Added get_config optional method to plugins, allowing them to supplement configuration to config.root.plugin_config.<plugin_name>

0.14.3 31-03-2015

  • [Bug] #288: Fixed accidental log file line truncation

0.14.2 29-03-2015

  • [Bug] #285: Fixed representation of fixture values that should not be printable (strings with slashes, for instance)

0.14.1 04-03-2015

  • [Bug] #270: Fixed handling of directory names and class/method names in suite files

0.14.0 03-03-2015

  • [Feature] #264: Allow specifying location of .slashrc via configuration
  • [Feature] #263: Support writing colors to log files
  • [Feature] #257: slash fixtures is now slash list, and learned the ability to list both fixtures and tests
  • [Feature]: start_interactive_shell now automatically adds the contents of slash.g to the interactive namespace
  • [Feature] #268: Treat relative paths listed in suite files (-f) relative to the file’s location
  • [Feature] #269: Add option to specify suite files within suite files

0.13.0 22-02-2015

  • [Feature]: Slash now emits a console message when session_start handlers take too long
  • [Feature] #249: Added @slash.repeat decorator to repeat tests multiple times
  • [Feature] #140: Added --repeat-each command line argument to repeat each test multiple times
  • [Feature] #258: Added hooks.error_added, a hook that is called when an error is added to a test result or to a global result. Also works when errors are added after the test has ended.
  • [Feature] #261: Added a traceback to manually added errors (throush slash.add_error and friends)

0.12.0 01-02-2015

  • [Feature]: Add slash.session.reporter.report_fancy_message
  • [Feature] #177: Added ‘slash fixtures’ command line utility to list available fixtures

0.11.0 06-01-2015

  • [Feature] #211: Added log.last_session_dir_symlink to create symlinks to log directory of the last run session
  • [Feature] #220: slash.add_cleanup no longer receives arbitrary positional args or keyword args. The old form is still allowed for now but issues a deprecation warning.
  • [Feature] #226: Implemented slash.hooks.before_test_cleanups.

0.10.0 15-12-2014

  • [Feature] #189: add add_success_only_cleanup
  • [Feature] #196: Add ‘slash version’ to display current version
  • [Feature] #199: A separate configuration for traceback verbosity level (log.traceback_level, also controlled via --tb=[0-5])
  • [Feature] #203: Group result output by tests, not by error type
  • [Feature] #209: Test cleanups are now called before fixture cleanups
  • [Feature] #16: Added slash.requires decorator to formally specify test requirements
  • [Feature] #214: Added slash.nofixtures decorator to opt out of automatic fixture deduction.

0.9.3 1-12-2014

  • [Bug] #204: Fixed a console formatting issue causing empty lines to be emitted without reason

0.9.2 24-11-2014

  • [Bug] #198: fix test_methodname accidentally starting with a dot

0.9.0 30-10-2014

  • [Feature] #183: Add slash.parameters.toggle as a shortcut for iterating [True, False]
  • [Feature] #179: Documentation overhaul
  • [Feature] #190: Support __slash__.test_index0 and __slash__.test_index1 for easier enumeration in logs
  • [Feature] #194: add assert_almost_equal

0.8.0 12-10-2014

  • [Feature] #171: Add error times to console reports
  • [Feature] #160: Add option to serialize warnings to dicts
  • [Feature]: Log symlinks can now be relative paths (considrered relative to the logging root directory)
  • [Feature] #162: Test loading and other setup operations now happen before session_start, causing faster failing on simple errors
  • [Feature] #163: Added -k for selecting tests by substrings
  • [Feature] #159: Add optional ‘last failed’ symlink to point to last failed test log
  • [Feature] #167: Fixed erroneous behavior in which skipped tasks after using -x caused log symlinks to move
  • [Feature]: removed the test contexts facility introduced in earlier versions. The implementation was partial and had serious drawbacks, and is inferior to fixtures.
  • [Feature] #127: py.test style fixture support, major overhaul of tests and loading code.

0.7.1 14-07-2014

  • [Bug]: Fixed error summary reporting

0.7.0 07-07-2014

  • [Feature] #144: Add option to colorize console logs in custom colors
  • [Feature] #149: Make console logs interact nicely with the console reporter non-log output
  • [Feature] #146: Add test id and error/failure enumeration in test details
  • [Feature] #145: Add option to save symlinks to the last session log and last test log
  • [Feature] #150: Add log links to results when reporting to console
  • [Feature] #137: Fixed parameter iteration across inheritence trees
  • [Feature]: Renamed debug_hooks to debug_hook_handlers. Debugging hook handlers will only trigger for slash hooks.
  • [Feature] #148: Detailed tracebacks now emitted to log file
  • [Feature] #152: Truncate long log lines in the console output
  • [Feature] #153: Report warnings at the end of sessions

0.6.1 27-05-2014

  • [Bug] #143: Use gossip’s inernal handler exception hook to debug hook failures when --pdb is used
  • [Bug] #142: Allow registering plugin methods on custom hooks

0.6.0 21-05-2014

  • [Feature]: Overhaul the reporting mechanism, make output more similar to py.test’s, including better error reporting.
  • [Feature] #128: Slash now loads tests eagerly, failing earlier for bad imports etc. This might change in the future to be an opt-out behavior (change back to lazy loading)
  • [Feature] #129: Overhaul rerunning logic (now called ‘resume’)
  • [Feature] #141: Add slash.utils.deprecated to mark internal facilities bound for removal
  • [Feature] #138: Move to gossip as hook framework.
  • [Feature]: Added assertion introspection via AST rewrite, borrowed from pytest.

0.5.0 09-04-2014

  • [Feature] #132: Support for providing hook requirements to help resolving callback order (useful on initialization)

0.4.0 15-12-2013

  • [Feature] #115: Add session.logging.extra_handlers to enable adding custom handlers to tests and the session itself
  • [Feature] #120: Support multiple exception types in should.raise_exception
  • [Feature] #121: Support ‘append’ for CLI arguments deduced from config
  • [Feature] #116: Support ‘-f’ to specify one or more files containing lists of files to run
  • [Feature] #114: Support for fatal exception marks

0.3.0 18-11-2013

  • [Feature] #113: Add option to debug hook exceptions (-o debug.debug_hooks=yes)

0.2.0 20-10-2013

  • [Feature] #19: Add ability to add non-exception errors and failures to test results
  • [Feature] #96: Add option to specify logging format
  • [Feature] #103: Add context.test_filename, context.test_classname, context.test_methodname

0.1.0 3-9-2013

  • [Feature] #75: Support matching by parameters in FQN, Support running specific or partial tests via FQN
  • [Feature]: Add should.be_empty, should.not_be_empty
  • [Feature] #69: Move slash.session to slash.core.session. slash.session is now the session context proxy, as documented
  • [Feature]: Documentation additions and enhancements
  • [Feature]: Coverage via coveralls
  • [Feature] #26: Support test rerunning via “slash rerun”
  • [Feature] #72: Clarify errors in plugins section
  • [Feature] #74: Enable local .slashrc file
  • [Feature] #45: Add option for specifying default tests to run

0.0.2 7-7-2013

  • [Feature] #5: add_critical_cleanup for adding cleanups that are always called (even on interruptions)
  • [Feature] #3: Handle KeyboardInterrupts (quit fast), added the test_interrupt hook
  • [Feature] #48:, #54: handle import errors and improve captured exceptions
  • [Feature]: Renamed slash.fixture to slash.g (fixture is an overloaded term that will maybe refer to test contexts down the road)
  • [Feature] #40:: Added test context support - you can now decorate tests to provide externally implemented contexts for more flexible setups
  • [Feature] #46:: Added plugin.activate() to provide plugins with the ability to control what happens upon activation