man/man0/VERSION.markdown in tork-20.0.0 vs man/man0/VERSION.markdown in tork-20.0.1
- old
+ new
@@ -1,1693 +1 @@
-## Version 20.0.0 (2014-10-26)
-
-### Major:
-
- * tork-runner(1): percentage lied; print counts instead.
-
- The percentage of completion is not accurate because it only measures
- how many tests that have started running _so far_ have been completed.
- This makes the percentage jump from 100% to lesser values as tests run.
-
- Also drop the `tork-runner:` prefix from progress messages and replace
- VT100 escape codes for reprinting in-place with a \r (carriage return).
-
- * Shorten all status message tokens to ~4 characters.
-
- * In tork-driver(1):
- * `reabsorb` is now `over`
-
- * In tork-engine(1):
- * `idle` is now `done`
- * `pass_now_fail` is now `fail!`
- * `fail_now_pass` is now `pass!`
-
- * In tork-master(1):
- * `absorb` is now `boot`
-
- * Shorten all commands names down to ~4 characters.
-
- * In tork(1):
- * the `o` input command character is now named `b`
-
- * In tork-driver(1):
- * the `run_all_test_files` command is now named `test!`
- * the `over` message is now named `boot!`
-
- * In tork-engine(1):
- * the `reabsorb_overhead` command is now named `boot!`
- * the `run_test_file` command is now named `test`
- * the `run_test_files` command is now named `test`
- * the `stop_running_test_files` command is now named `stop`
- * the `rerun_passed_test_files` command is now named `pass!`
- * the `rerun_failed_test_files` command is now named `fail!`
- * the `list_failed_test_files` command is now named `fail?`
- * the `over` status message is now named `boot!`
-
-### Minor:
-
- * tork-engine(1): add `test?` and `pass?` listing commands.
-
- * tork(1): emit "tork:" prefix on all messages sent to user.
-
-### Other:
-
- * Upgrade to md2man 4.0 and binman 4.0.
-
-## Version 19.11.1 (2014-10-24)
-
-This release improves support for RSpec 3 and Rails 4.
-
-### Patch:
-
- * GH-61: `uninitialized constant RSpec` for rspec > 3 (Jonathan Cairns).
-
- * Fix TypeError in driver when multiple globs are used (Jonathan Cairns).
-
- * Simple fix for detecting rails 4 apps (Jonathan Cairns).
-
-## Version 19.10.0 (2014-08-06)
-
-This release improves responsiveness and adds a command to list failed files.
-
-### Minor:
-
- * tork-engine(1): list most recently ran test files in `:idle` event. This
- allows tork(1) to summarize a run after tests finish running, as follows:
-
- tork: 10 tested, 10 passed, 0 failed
-
- * tork-engine(1): add `list_failed_test_files` command that lists all test
- files that have failed during their most recent run.
-
- tork(1): add `l` key (bound to the `list_failed_test_files` command).
-
- Thanks to Chris Scharf for contributing this feature in issue-60:
- https://github.com/sunaku/tork/pull/60
-
-### Patch:
-
- * tork/config: auto-detect `$TORK_CONFIGS` values only once per session.
- This makes Tork load configuration helpers faster on slow file-systems.
-
- * Use block-form of Dir.glob() to react more quickly on slow file-systems.
- This makes tork-driver(1)'s `run_all_test_files` command more responsive.
-
-### Other:
-
- * Align error/help message wording with manual pages.
-
-## Version 19.9.0 (2014-07-17)
-
-### Minor:
-
- * Add support for testing outside `test/` and `spec/` directories. This
- change lets you run test files directly from the current working directory
- without having to put them inside special `test/` and `spec/` directories.
-
- This can be useful if you are learning Ruby or writing tests for simple
- scripts because you need not create a directory structure that is fit for
- a larger application just for the sole purpose of running your tests!
-
- * Drop the `default` configuration helper and load the `config.rb` files of
- all configuration helpers on startup instead. This way, each helper can
- itself detect whether it is needed from inside its own `config.rb` file.
-
- * Censor Tork internals from test failure backtraces so that users can
- inspect them quickly to find where errors are arising in their code.
-
-### Patch:
-
- * Only 1 worker was being used on a dual-core system.
-
-### Other:
-
- * tork(1): use complete sentences in the help message.
-
-## Version 19.8.2 (2014-07-01)
-
-This release adds support for RSpec 3+ in the `spec` configuration helper.
-
-### Patch:
-
- * GH-58: RSpec 3.0 removed `--line_number` command-line option.
-
- Thanks to Jonathan Cairns for reporting this issue in GH-58:
- https://github.com/sunaku/tork/issues/58
-
-## Version 19.8.1 (2014-06-28)
-
-### Patch:
-
- * tork-driver(1): sanitize the file paths reported by tork-herald(1).
-
- This allows a user to override tork-herald(1) with their own program
- that reports changed file paths in a less than ideal, but valid, way.
- For example, with relative directory traversals and redundant slashes.
-
- * tork-remote(1): deal with stale server socket files; don't just exit.
-
- A stale socket file is left behind by a server that was prematurely
- killed so it should be safe to delete it and start up a new server.
-
- * tork/server: ensure that tork-remote(1) gets the same ARGV we did.
-
-### Other:
-
- * Rename `*.md` file extension to the full `*.markdown`.
-
- * README: link to manuals index; demote package link.
-
-## Version 19.8.0 (2014-06-23)
-
-### Minor:
-
- * Add `bundler` configuration helper to load a bundle into tork-master(1).
-
- This lets you run Tork inside any application that uses Bundler without
- having to first add Tork to its `Gemfile` and then `bundle install` it.
- In fact, installing the Tork gem _outside_ of the bundle is sufficient.
-
- Try it: go into a bundled application and call `tork` to run its tests!
-
-### Patch:
-
- * Server: fix crash when Fixnum is sent as a message.
-
- lib/tork/server.rb:45:in `block (2 levels) in loop':
- undefined method `empty?' for 6:Fixnum (NoMethodError)
-
- lib/tork/cliapp.rb:59:in `recv':
- undefined method `lstrip' for 6:Fixnum (NoMethodError)
-
- Because JSON.load() and JSON.parse() are different:
-
- $ irb -r json
- >> JSON.load '6'
- 6
- >> JSON.parse '6'
- JSON::ParserError: A JSON text must at least contain two octets!
- from /usr/lib/ruby/2.1.0/json/common.rb:155:in `initialize'
- from /usr/lib/ruby/2.1.0/json/common.rb:155:in `new'
- from /usr/lib/ruby/2.1.0/json/common.rb:155:in `parse'
- from (irb):2
- from /usr/bin/irb:11:in `<main>'
-
-### Other:
-
- * Upgrade to md2man 3.0 for improved HTML manuals.
-
-## Version 19.7.0 (2014-03-04)
-
-This release automatically re-runs failed tests after reabsorbing overhead.
-
-### Minor:
-
- * Re-run failed tests after reabsorbing overhead.
-
- Thanks to Chris Scharf for [contributing this
- patch](https://github.com/sunaku/tork/pull/57).
-
-## Version 19.6.1 (2014-03-04)
-
-This release improves support for old Rails versions.
-
-### Patch:
-
- * Rails < 3.1.0 does not have `connection_config()`.
-
- * `schema_cache()` is only defined in Rails >= 4.
-
-## Version 19.6.0 (2014-01-02)
-
-This release improves tork-runner(1) responsiveness and fixes tork-engine(1).
-
-### Minor:
-
- * tork-runner(1) now prints the percentage of completed tests to stderr.
-
-### Patch:
-
- * tork-engine(1) emitted the `idle` event when tests were still running.
-
-## Version 19.5.1 (2013-12-02)
-
-This release restores support for Capybara integration tests in the `rails`
-configuration helper, corrects the `idle` event in tork-engine(1), and fixes
-some minor bugs in tork-runner(1) and tork(1).
-
-### Patch:
-
- * Rails: keep sub-Rails connected to in-memory SQLite3 test database.
-
- When another Rails instance is started by Capybara, it sets up a new
- connection to the test database instead of re-using our in-memory DB.
-
- http://www.spacevatican.org/2012/8/18/threading-the-rat/
-
- * tork-engine(1) sent `idle` event when 1 test was still running.
-
- * tork-runner(1): prevent Test::Unit from running in `at_exit` hook.
-
- Test::Unit is finding and running 0 tests in tork-runner(1) itself.
-
- * tork(1): forgot to update man page: ENTER by itself does nothing now.
-
-## Version 19.5.0 (2013-11-30)
-
-This release adds a tork-runner(1) program for non-interactive test execution,
-makes connections to tork subprocesses self-healing, eliminates "address
-already in use" errors, and fixes bugs in tork-herald(1) and tork-notify(1).
-
-### Minor:
-
- * Add tork-runner(1) to run tests once, non-interactively, and then exit.
-
- You can use tork-runner(1) to run your test suite in one shot and then
- exit with a nonzero status if tests failed, similar to `rake test`.
-
- * Add Tork::Bridge to make connections to tork subprocesses self-healing.
-
- When a tork subprocess terminates, its parent process now replaces it
- with a fresh instance. Thus the tork process tree is now self-healing.
-
- * Server: become a remote control to existing instance on socket fail.
-
- If an another instance of this tork program is already running, then
- become a remote to it rather than failing on binding its socket file.
-
- This lets you run the same tork program more than once in the same working
- directory; latter runs will become remote controls for the first instance!
-
- This also lets you run an instance of tork(1) for interactive usage and
- then run tork-runner(1) in another terminal in the same working directory
- to re-use the former's resources to run your test suite non-interactively.
-
- * tork(1): show help message to clients upon connecting.
-
- * tork(1): tell user to input 'h' key for help message.
-
-### Patch:
-
- * tork-notify(1): must pass mutable local variables into Thread.new.
-
- The `icon` local variable would be overwritten (to nil sometimes)
- outside of the thread and cause the thread body to silently fail.
-
- See http://stackoverflow.com/q/16745840 for details.
-
- * Socket files were always deleted: even if not ours.
-
- If a tork instance was already running and a new tork instance was
- started up in the same directory, then the latter would always delete
- the common socket files (currently belonging to the former) upon exit.
-
- * Fail earlier on socket bind: avoid wasted overhead.
-
- Before this patch, tork-master(1) would first pay the price of absorbing
- the test execution overhead before trying to bind its socket. In case
- of socket bind failure, the process would exit and the overhead wasted.
-
- * Server: don't call method for empty command array.
-
- This error would occur when pressing ENTER in tork-remote tork-driver:
-
- tork-driver: #<ArgumentError: no method name given>
- tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:74:in `recv'
- tork-driver: /home/skurapati/lab/tork/lib/tork/driver.rb:64:in `recv'
- tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:46:in `block (2 levels) in loop'
- tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:37:in `each'
- tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:37:in `block in loop'
- tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:35:in `catch'
- tork-driver: /home/skurapati/lab/tork/lib/tork/server.rb:35:in `loop'
- tork-driver: /home/skurapati/lab/tork/lib/tork/driver.rb:21:in `loop'
- tork-driver: /home/skurapati/lab/tork/bin/tork-driver:173:in `<top (required)>'
- tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `load'
- tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `<main>'
-
- * tork-herald(1): listen 2.2.0 gem is non-blocking and gives absolute paths.
-
- * Calling #start no longer blocks the caller.
-
- * The `:relative_paths` option no longer works:
- https://github.com/guard/listen/issues/170
-
- * tork-herald(1): downgrade to listen 1.x gem to maintain Ruby 1.8 support.
-
-### Other:
-
- * GH-56: specify license in gemspec for rubygems.org.
-
- * Document sh(1) word splitting in manual pages of all tork servers.
-
- * README: use `ps uf` to visualize process hierarchy.
-
-## Version 19.4.0 (2013-11-25)
-
-### Minor:
-
- * The "rails" configuration helper now automatically sets up your test
- database for Tork's parallel testing system if your test database is
- SQLite3 and you are using Rails 3 or newer.
-
-### Other:
-
- * rails: remove unused capture of rescued exception
-
- * coverage: document the use of Ruby 1.9 hash syntax
-
- * rename `*.markdown` file extension to shorter `*.md`
-
-## Version 19.3.2 (2013-10-29)
-
-### Other:
-
- * GH-55: upgrade listen & rake gem dependencies.
-
- Thanks to Matthew Albright for reporting this issue in GH-55:
- https://github.com/sunaku/tork/issues/55
-
-## Version 19.3.1 (2013-06-07)
-
-### Patch:
-
- * server: rescue from failed writes to asynchronously closed clients.
-
- Thanks to Jonathan Cairns for reporting and fixing this bug in GH-53:
- https://github.com/sunaku/tork/issues/53
-
-### Other:
-
- * Upgrade to md2man 2.0.
-
-## Version 19.3.0 (2013-05-05)
-
-### Minor:
-
- * tork-engine(1) now emits `["idle"]` messages whenever all tests
- have finished running and no more tests are queued for running.
-
- Thanks to Jonathan Cairns for requesting this feature in GH-50:
- https://github.com/sunaku/tork/issues/50
-
-### Other:
-
- * add man/man0 subdir containing README and VERSION
-
- * README: use manpage xrefs for linking in HTML mans
-
-## Version 19.2.2 (2013-05-04)
-
-This release makes Tork resilient to `Errno::EADDRINUSE` errors that may occur
-sometimes, intermittently, when test execution overhead is being reabsorbed.
-
-### Patch:
-
- * server: retry until the socket opens successfully
-
-### Other:
-
- * include md2man rake tasks in developer's rakefile
-
-## Version 19.2.1 (2013-02-08)
-
-### Patch:
-
- * GH-46: allow reassigning `$tork_*` variable values. Thanks to Joe
- Escalante for reminding me to fix this issue.
-
- * GH-48: disable class caching at the ActiveSupport level for Devise.
- Thanks to Ryan Ahearn for fixing this issue and to Jonathan Cairns for
- reporting it.
-
-## Version 19.2.0 (2012-12-30)
-
-### Minor:
-
- * Add "devise" configuration helper that adds support for testing Rails
- applications that use the Devise authentication framework. Thanks to Ryan
- Ahearn for this contribution.
-
-### Patch:
-
- * gemspec: upgrade to *listen* 0.7.0 to fix issue #43. Thanks to Ryan
- Ahearn for reporting this issue and helping debug it, and to Thibaud
- Guillaume-Gentil for fixing this issue upstream in the *listen* library.
-
- * Fix `undefined method 'path' for nil` error on socket file removal.
-
-## Version 19.1.0 (2012-12-12)
-
-### Minor:
-
- * tork-driver: don't run overhead files as test files
-
-### Patch:
-
- * rails: run dependent tests when `app/views/*` change
-
- * Clear FactoryGirl sequences and traits on fork in the `factory_girl`
- configuration helper. Thanks to Ryan Ahearn for this contribution.
-
- * server: fix clean up of socket files upon exit
-
-## Version 19.0.2 (2012-11-07)
-
-### Patch:
-
- * Monkeypatch `at_exit()` to fix RSpec and MiniTest:
-
- https://github.com/rspec/rspec-core/pull/720
-
- https://github.com/seattlerb/minitest/pull/183
-
-### Other:
-
- * README: document RSpec 2.9.0+ autorun skipping bug
-
- * README: MiniTest 1.3.2+ also has autorun skip bug
-
-## Version 19.0.1 (2012-10-26)
-
-### Patch:
-
- * Support testing projects that have both test/ and spec/ directories.
-
- I assumed that users would only have either test/ or spec/ but not both.
- Do you know what happens when a test/ is run by RSpec or vice versa? :-)
-
- Thanks to Kyle Peyton for reporting this issue.
-
- * Automatically load the "autorun" helpers for RSpec and MiniTest.
-
- RSpec users are accustomed to not having `require "rspec/autorun"` in
- their spec/spec_helper.rb file because they use the rspec(1) executable
- to run their tests. This commit makes things Just Work for them again.
-
-### Other:
-
- * test whether input is JSON by actually parsing it
-
- * server: use Set instead of Array for faster lookup
-
-## Version 19.0.0 (2012-10-17)
-
-### Major:
-
- * The `.tork.rb` configuration file has been replaced by the `.tork/`
- directory, which contains specially-named Ruby scripts. Refer to the
- `TORK_CONFIGS` environment variable in tork(1) for more information.
-
- * The `Tork::Config` object has been replaced by various data structures in
- the `Tork::` namespace. See the "FILES" sections in the manual pages of
- tork programs for information on the data structures that replaced it.
-
- * `Tork::Config.test_event_hooks` has been removed. Instead, you must now
- monitor the STDOUT of tork-master(1) or tork-engine(1) either directly
- or indirectly, via tork-remote(1), and react to their status messages.
- See the tork-notify(1) program for an example of how to implement this.
-
- * tork(1): 't' now runs a specified test, whereas 'a' runs all tests.
-
- * tork-engine(1): the `run_test_file` command now takes line numbers as a
- variable-length list of arguments (varargs) rather than as an array.
-
- * tork-engine(1): the `run_test_file` command now runs an entire test file
- when zero is given as one of the line numbers to be run.
-
- * tork-master(1): the `load` command is no longer accepted. Instead, you
- must specify load paths and overhead files in the `.tork/master.rb` file.
-
- * The `TORK_CONFIGS` env-var is now a colon delimited list of directories.
-
- * The `tork/client` library has been removed. The threaded IO and popen()
- wrappers that it provided have been replaced by the powerful IO.select().
-
-### Minor:
-
- * tork(1): allow user to specify arguments after command key
-
- * tork(1): add 'k' to stop all currently running tests with SIGKILL
-
- * add tork-remote(1) to remotely control any tork program. This feature is
- made possible by the awesome power of IO.select() and UNIX domain sockets.
-
- * add tork-notify(1) as example of using tork-remote(1) and tork-engine(1)
-
- * tork-engine(1): add `["run_test_files"]` command to run multiple files
-
- * tork-engine(1): emit edge-triggered `pass_now_fail` and `fail_now_pass`
- events to notify you about changes in a test file's pass/fail status.
-
- * typing Control-D now breaks tork programs out of `Tork::Server#loop()`
-
-### Patch:
-
- * tork-master(1): stop workers with SIGKILL when quitting
-
-### Other:
-
- * tork(1): document parameters for `t` and `s` commands
-
- * README: add tip about rlwrap for better interactive
-
- * README: simplify watch command using pgrep & xargs
-
- * README: use standard bundle exec; no `--binstubs`
-
-## Version 18.2.4 (2012-10-10)
-
-### Other:
-
- * GH-39: upgrade listen gem version to fix a bug in OSX.
- Thanks to Adam Grant for reporting this issue.
-
-## Version 18.2.3 (2012-09-26)
-
-### Patch:
-
- * Restored support for building Tork from its gemspec under Ruby 1.8.
- Thanks to Ohno Shin'ichi for reporting this issue and contributing a
- preliminary fix.
-
- * Add resilience against failed command dispatch in `Tork::Server#loop()`.
-
-### Other:
-
- * It's not worth rescuing Interrupt only to exit silently.
- Let the user see stack traces when they press Control-C.
-
- * Update old comments about SIGCHLD handler, which was
- replaced by reaping threads quite a few releases ago.
-
- * Use $0 instead of hard-coding the program name.
-
-## Version 18.2.2 (2012-07-11)
-
-### Patch:
-
- * GH-35: resume dispatched but not yet started tests.
-
- After reabsorbing overhead, we need to resume previously dispatched test
- files that have not yet finished running. This includes the waiting set
- (dispatched but not yet running) as well as the running set (dispatched
- and already started running). Otherwise, we encounter a bug where test
- files in the waiting set can NEVER be run again!
-
-## Version 18.2.1 (2012-07-05)
-
-### Patch:
-
- * GH-37: switch from Guard::Listener to Listen gem.
- Thanks to Jesse Cooke for reporting this issue.
-
-### Other:
-
- * gemspec: need to provide .0 suffix for ~> operator.
-
- * gemspec: LICENSE file contains UTF-8 author names.
-
-## Version 18.2.0 (2012-03-27)
-
-### Minor:
-
- * Emit warnings when commands cannot be performed. This improves the user
- experience by giving them immediate feedback. For example, if you issue
- the "rerun_failed_tests" command and no tests have failed yet, you will
- now see a warning message that explains the situation. Thanks to
- NagaChaitanya Vellanki (@chaitanyav) for suggesting this change.
-
-### Patch:
-
- * GH-32: Restore support for Selenium and Capybara by replacing the global
- SIGCHLD handler in tork-master(1) with individual threads, one per forked
- worker process. Thanks to Bjørn Trondsen (@Sharagoz) for reporting this
- issue and verifying the fix.
-
- * README: Recommend a newer fork of the "memory_test_fix" Rails plugin.
-
-## Version 18.1.0 (2012-02-26)
-
-### Minor:
-
- * Add `tork/config/coverage` configuration helper for Ruby 1.9, which prints
- a coverage report at the end of your log file in YAML format. The report
- is a hash containing the following information per each loaded Ruby file
- that exist in or beneath the current working directory:
-
- * :grade - percentage of C0 code coverage for source lines of code
- * :nsloc - total number of source lines of code in the file
- * :holes - line numbers of source lines that were not covered
-
-## Version 18.0.1 (2012-02-13)
-
-### Alert:
-
- * If you're on Ruby 1.9, please use 1.9.3 or newer because 1.9.2 is
- known to segfault under RSpec and Rails. See GH-30 and GH-32.
-
-### Patch:
-
- * GH-27: Cucumber features now run correctly under RSpec. Thanks to Scott
- Radcliff for reporting this issue and to David Burrows for solving it!
-
- * tork(1): fix undefined method `strip' for nil:NilClass error.
-
- * tork/config: ignore directories given as configuration files.
-
-## Version 18.0.0 (2012-02-06)
-
-### Alert:
-
- * RSpec 2.8.0 and older contain [a bug](
- https://github.com/sunaku/tork/issues/31 ) where a nonzero
- exit status (caused by an uncaught exception) is overridden
- by RSpec's `Kernel#at_exit` handler to be zero, thereby
- falsely indicating that a spec had passed. [This patch](
- https://github.com/rspec/rspec-core/pull/569/files) fixes the
- problem. Thanks to Gumaro Melendez for reporting this issue.
-
-### Major:
-
- * Dropped first parameter to `Tork::Config::test_file_globbers`.
-
- * GH-31: tork-master now emits separate exit code and info.
- Update your `Tork::Config::test_event_hooks` accordingly.
-
- * tork/server: switch from modules to class inheritance.
-
- * tork/config: switch to Struct to prevent misspellings.
-
-### Minor:
-
- * tork-driver now recursively expands dependent test files while globbing.
-
- * Extracted bookkeeping stuff from tork-driver into tork-engine component.
-
-### Other:
-
- * tork/config: do not reabsorb when .tork.rb
- changes. Since the configuration is loaded in
- multiple processes, it is difficult to reload
- the configuration on the fly without adding
- significant complexity to Tork. Instead, it's
- easier to accept the limitation that you must
- restart Tork if you change your configuration.
-
- * GH-29: bump guard version requirement to v1 series.
-
- * Improve documentation; revise markdown; clean up.
-
-## Version 17.1.0 (2012-01-30)
-
-### Minor:
-
- * Added `Tork::Config.test_event_hooks` configuration option.
-
- * Added `tork/config/notify` configuration helper for receiving
- edge-triggered notifications (via libnotify, growl, or
- xmessage) about changes in test files' pass/fail status.
-
- * Added `tork/config/factory_girl` configuration helper for properly
- clearing factory definitions before forking and then finding them after
- forking to avoid `FactoryGirl::DuplicateDefinitionError`. (Mark Hayes)
-
- * Lambda functions in `Tork::Config.test_file_globbers` can now return
- multiple globs in an array, in addition to just a single glob or `nil`.
-
- * Added support for the MiniTest convention of naming test files as
- `test/**/test_*.rb` and `spec/**/spec_*.rb`. (Jose Pablo Barrantes)
-
-## Version 17.0.1 (2012-01-29)
-
-### Patch:
-
- * tork-herald(1) *sometimes* reported changed test files twice.
-
- * tork/driver: only whole test file runs should qualify as pass.
-
- * tork/config/cucumber: only set ARGV for `*.feature` test files.
-
- * Tork::Client::Transceiver needs to stop both TX & RX loops.
-
-### Other:
-
- * tork/driver: store test file lists in Set, not Array.
-
- * HISTORY: use single-word change-set descriptions.
-
-## Version 17.0.0 (2012-01-27)
-
-### Major:
-
- * tork-herald(1) now emits batches of single-line JSON arrays instead of
- printing one (raw) path per line. This makes IPC uniform across Tork.
-
- * tork-master(1) now emits log_file and worker_number in status messages.
-
- * The order of parameters for before/after fork hooks has been changed to
- better reflect the order of items in tork-master(1)'s status messages.
-
- * The old order was: worker_number, log_file, test_file, line_numbers.
-
- * The new order is: test_file, line_numbers, log_file, worker_number.
-
-### Minor:
-
- * GH-24: add `tork/config/dotlog` configuration helper to "hide" log files.
- (Nicolas Fouché)
-
- * GH-25: add `tork/config/logdir` configuration helper to isolate log files.
- (Jose Pablo Barrantes)
-
- * tork(1) now strips all whitespace from your input, in case you pressed
- spacebar or tab a few times, by accident, before entering your command.
-
-### Other:
-
- * tork/client: Replace write lock with queue to support SIGCHLD handler.
-
- The SIGCHLD handler in tork-master(1) can be triggered at any time, even
- in the middle of writing to the standard output stream! Locking access
- to the output stream in normal code (outside the signal handler) would
- freeze the program because the signal handler, waiting for the lock to
- be released, would never return!
-
- One solution is to maintain a thread-safe queue of outgoing items that
- need to be written to the output stream. Both normal code and the
- signal handler can quickly push an outgoing item onto the queue and
- proceed with their business. A separate thread can then have the sole
- responsibility of (and access to) continually writing those outgoing
- items to the output stream.
-
- * README: revise instructions, reorganize document, and other improvements.
-
-## Version 16.0.0 (2012-01-25)
-
-### Major:
-
- * Drop the `Tork::Config.test_name_extractor` configuration option.
-
- * Pass line numbers instead of test names to before/after fork hooks.
-
- * Pass $~ (MatchData) to `Tork::Config::test_file_globbers` functions.
-
-### Minor:
-
- * tork/config/cucumber: only run changed scenarios in changed features.
-
-### Other:
-
- * README: update instructions on running Tork directly from Git clone.
-
-## Version 15.1.0 (2012-01-25)
-
-### Minor:
-
- * GH-19: add `tork cucumber` for running cucumber features.
-
-### Patch:
-
- * tork/config/rails: support Rails 2 and don't assume AR is used. (Benjamin
- Quorning)
-
- * tork/config: settings from configuration helpers specified in
- $TORK_CONFIGS should override settings from the `.tork.rb` file.
-
- * README: need to set $PATH to run this project from a git clone.
-
- * LICENSE: give copyright to major contributors only.
- See <http://stackoverflow.com/questions/1497756>.
- Also added forgotten Luke Wendling to the list.
-
-## Version 15.0.1 (2012-01-24)
-
-### Patch:
-
- * GH-21: Ruby 1.9 class_eval() is smarter than 1.8.
-
- * GH-20: forgot `require 'thread'` for Mutex class. (Jesse Cooke)
-
-### Other:
-
- * tork(1): fix shadowed variable names. (Jose Pablo Barrantes)
-
- * GH-22: fix command to build & install gem from source.
-
- * GH-22: add m2dman as development dependency in gemspec.
-
- * GH-18: windows not supported; lacks fork & SIGCHLD.
-
- * README: spruce up introduction and features list.
-
- * README: missed a testr => tork rename in watch cmd.
-
- * README: add tip about Guard's FS watching backends.
-
-## Version 15.0.0 (2012-01-23)
-
-### Major:
-
- * This project has been renamed from TestR to Tork (test with fork) in order
- to better compete with rival projects, namely Spork! >:-) Credit goes to
- Brian D. Burns for thinking of this most succinct & awesome project name!
- He also created the snazzy ASCII-art logo featured in the project README.
-
- * tork(1): rename `r` command, which runs all tests, to `t`, for *t*ork.
-
-## Version 14.3.0 (2012-01-20)
-
-### Minor:
-
- * testr(1): notify user while dispatching their commands. This is especially
- useful when the "rerun_passed_test_files" command has been dispatched but
- there are no passed test files, so nothing happens and from the user's
- perspective: TestR sucks because it's unresponsive.
-
- * config/testr/rails: Reopen connections in forked workers to fix errors:
-
- Mysql2::Error: MySQL server has gone away
- PGError: connection not open
-
- Thanks to Spencer Steffen for [contributing this solution](
- https://github.com/sunaku/tork/issues/14#issuecomment-3539470).
-
- * testr-driver(1): document the "over" status message in manual page.
-
-### Other:
-
- * testr-driver(1): keep same herald; only replace master.
-
- * testr(1): shorten code for loop break on quit command.
-
- * server: rename `@upstream` to `@client` for coherence.
-
- * Can pass lambda and proc with block to `<<` method.
-
- * Explain `$0` override at the start of bin/ scripts.
-
- * LICENSE: credit our most recent contributors.
-
-## Version 14.2.0 (2012-01-16)
-
-### Minor:
-
- * Add ability to run `testr rails` without needing a `.testr.rb` file.
-
- * testr(1) no longer shows command menu at startup. Press ENTER to see it.
-
- * testr(1) now notifies you before absorbing overhead at startup.
-
-### Patch:
-
- * testr(1) now accepts death silently when Control-C is pressed.
-
-## Version 14.1.3 (2012-01-13)
-
-### Patch:
-
- * Add support Guard v0.9.0 and newer in `testr-herald`. (Jose Pablo
- Barrantes)
-
-### Other:
-
- * Tighten version constraints for gem dependencies to avoid future
- breakages.
-
-## Version 14.1.2 (2012-01-09)
-
-### Minor:
-
- * Don't consider partial test file pass as full pass.
-
-### Other:
-
- * Upgrade to binman 3 for better bundler support.
-
-## Version 14.1.1 (2011-12-07)
-
-### Patch:
-
- * Do not fail when given test file no longer exists.
-
- * Make xUnit `--name` option regexp case-insensitive.
-
- * RSpec does not accept regexp for `--example` option;
- see https://github.com/rspec/rspec-core/issues/445
- and https://github.com/dchelimsky/rspec/issues/44
-
- * Ruby 187 does not have Symbol#upcase() method.
-
-### Other:
-
- * README: add another SQLite3 error to known issues.
- Thanks to Luke Wendling for contributing this patch.
-
- * README: add a section explaining usage and theory.
-
- * README: show example earlier in factory_girl tip.
-
- * README: update lines of code statistic: 372 SLOC.
-
- * Better variable naming for self-documentation.
-
- * Upgrade to binman 2.0.0 for UNIX man pages.
-
-## Version 14.1.0 (2011-11-03)
-
-### Minor:
-
- * Make servers responsive to quit request (SIGTERM) from upstream.
-
- This change lets the user quit testr-master(1) while it is loading
- test execution overhead (which can be a lengthy, blocking operation).
-
- By sending a signal to the server, we don't have to wait for it to
- finish processing its current command before seeing our :quit command.
-
- * Add embedded BinMan manual pages to bin scripts. All TestR scripts now
- have a `--help` option which displays their UNIX manual page. Try it!
-
- The single-line JSON message protocol used by these scripts is now
- documented in their manual pages, so you should have everything you
- need to create *your own custom user interface to TestR* if you wish! :-)
-
-### Patch:
-
- * SIGCHLD does not awaken main thread in Ruby 1.9.3p0.
-
-### Other:
-
- * Simplify watch(1) ps(1) process title monitoring.
-
- * Testr: tell user to press ENTER after command key.
-
- * README: add tip on loading factory_girl factories.
-
-## Version 14.0.3 (2011-10-11)
-
-### Patch:
-
- * Forgot to migrate the `testr/config/rails` configuration helper to use the
- new TestR configuration parameter names.
-
-## Version 14.0.2 (2011-10-11)
-
-### Patch:
-
- * Fix updating passed/failed test files bookkeeping. Once a test file
- failed, it was (incorrectly) always considered failed, even if it passed
- later on.
-
- * Do not requeue test files that are waiting to run.
-
-### Other:
-
- * Rename `*.md` files to `*.markdown` to avoid ambiguity.
-
-## Version 14.0.1 (2011-10-10)
-
-### Patch:
-
- * Use blue/red for pass/fail instead of green/red to accommodate the color
- blind.
-
- * Incorrect test name regexp was passed down to Test::Unit. This broke
- focused testing, where only changed tests in a changed test file are run.
-
-### Other:
-
- * Make `testr-master` wait for killed worker processes before exiting.
-
-## Version 14.0.0 (2011-10-09)
-
-### Major:
-
- * Renamed this project and its resources from test-loop to TestR.
-
- * Renamed the `reabsorb_file_globs` configuration parameter to
- `reabsorb_file_greps`. It now contains regular expressions.
-
- * Renamed the `test_file_matchers` configuration parameter to
- `test_file_globbers`. Its keys are now regular expressions.
-
- * Renamed the `test_name_parser` configuration parameter to
- `test_name_extractor`.
-
- * Renamed the `max_concurrent_tests` configuration parameter to
- `max_forked_workers`.
-
- * Renamed the `before_each_test` configuration parameter to
- `after_fork_hooks`. Its function parameters have also changed.
-
- * Removed the `delay_per_iteration` and `after_each_test` configuration
- parameters.
-
- * Removed the `test/loop/notify` and `test-loop/coco` libraries.
-
-### Minor:
-
- * The file system is no longer polled to detect modified files. Instead, it
- is monitored for file modification events in a portable and efficient
- manner using the [Guard](https://github.com/guard/guard) library.
-
- * The number of processors on your system is automatically detected for the
- `max_forked_workers` configuration parameter.
-
- * Added `overhead_load_paths`, `all_test_file_globs`, and
- `before_fork_hooks` configuration parameters.
-
- * Added ability to re-run passed and failed tests in the `testr` script.
-
-### Other:
-
- * The monolithic `test-loop` script has been replaced by several smaller
- ones that communicate with each other using single-line JSON messages via
- their standard input & output streams. See "Architecture" in the README.
-
- * Now using Bundler to manage development dependencies and gem packaging.
-
-## Version 13.0.1 (2011-09-21)
-
-### Other:
-
- * Forgot to include `test/loop/coco` preset in gem package.
-
- * Forgot to mention `test/loop/parallel_tests` preset in README.
-
-## Version 13.0.0 (2011-08-24)
-
-### Major:
-
- * Pass worker sequence number as the last argument to lambda functions in
- `Test::Loop.before_each_test` and `Test::Loop.after_each_test` arrays.
-
-### Minor:
-
- * In the `test/loop/rails` configuration preset:
-
- * Automatically test a controller when its model or factory is modified.
-
- * Warn the user if Railtie (Rails 3) is not available for automatic
- disabling of Rails' class caching mechanism under the test environment.
-
- * Add `test/loop/parallel_tests` configuration preset for parallel_tests
- gem. (Corné Verbruggen)
-
- * Assign rotating sequence numbers to workers so that you can handle parallel
- processes like connecting to separate databases better. (Corné
- Verbruggen)
-
-### Other:
-
- * README: move configuration presets above options.
-
- * Eliminate 1 SLOC: .rb extension used in file glob.
-
- * Turn off executable bit on loop.rb file mode.
-
- * Pass child ENV directly to exec() for atomicity.
-
-## Version 12.3.1 (2011-07-19)
-
-### Patch:
-
- * Binary data could not be stored in environment variable values.
-
-### Other:
-
- * Forgot to add Jacob Helwig to the gemspec's authors list.
-
-## Version 12.3.0 (2011-07-19)
-
-### Minor:
-
- * Add `Test::Loop::max_concurrent_tests` configuration parameter to limit
- the number of test files run concurrently (default 4). Otherwise, with
- large test suites, we could end up swamping the machine running the tests
- by forking hundreds of test files at once. (Jacob Helwig)
-
- * Rails: add matcher for `test/factories/*_factory.rb`.
-
-### Other:
-
- * ENV returns a Hash with duplicate/frozen keys/values. (Brian D. Burns)
-
- * Use Marshal to propagate resume_files to reabsorb.
-
- * Store test_files in a Set instead of an Array.
-
-## Version 12.2.0 (2011-06-01)
-
- * Prevent empty test suite run in master process. (Brian D. Burns)
-
- * Report test execution statistics in `test/loop/notify` preset as
- requested by Juan G. Hurtado..
-
- * Add `test/loop/coco` preset for integrating the [Coco code coverage
- library](http://lkdjiin.github.com/coco/).
-
-## Version 12.1.0 (2011-04-29)
-
-### Minor:
-
- * Add `Test::Loop.delay_per_iteration` parameter to control the number of
- seconds (or fractions thereof) to sleep in between test-loop iterations.
-
-## Version 12.0.4 (2011-04-29)
-
-### Patch:
-
- * Reabsorb overhead when user's configuration file changes. (Brian D. Burns
- and Daniel Pittman)
-
- * `Thread.new { system() }` really is backgrounded so `fork { system() }` is
- not necessary! [This issue](https://github.com/sunaku/test-loop/issues/5)
- was solved by upgrading to the newer 2.6.38.4-1 Linux kernel on my system.
-
-## Version 12.0.3 (2011-04-25)
-
-### Patch:
-
- * Fix SIGCHLD handling and test completion reporting (Daniel Pittman).
-
- We need to reap all ready children in SIGCHLD, not just the first, and
- should not be reporting completion in the signal handler.
-
- On a fast machine, or where there is a slow hook executed at the
- completion of a test run, more than one test child can terminate before
- the SIGCHLD handler is invoked, or while it is running.
-
- In that event we will only get another SIGCHLD when a new child
- terminates, not to signal that there was more than one current
- termination. We need to loop to collect all terminated children during
- each invocation of the handler.
-
- Since we don't know which child terminated, we wait on any terminated
- child with NOHANG, until it informs us that there are no more zombies
- hanging about.
-
- Doing all the work of finishing the test case, cleaning up, and running
- user hooks inside the SIGCHLD handler block was pretty slow. This could
- lead to a big pile-up of children that needed to be cleaned up, especially
- if the user hook did something like run another external process to signal
- completion.
-
- Moving the heavy work of completion outside the signal handler makes the
- whole thing a lot faster, and less likely to bump into the low limit for
- per-user processes on Mac OS-X.
-
- * Send SIGTERM to each worker PGID to kill workers (Brian D. Burns).
-
- Using Process.setsid() in the workers establishes each process "as a new
- session and process group leader". So, the SIGTERM sent to the master's
- process group was not recieved by the workers. kill_workers was simply
- waiting for the workers to finish.
-
- * Revert "skip at_exit() handlers defined in master process".
-
- This reverts commit 0a0837f0b7ec92810e1c81d7506f2c8309f25f62 which was
- originally written to skip the reporting of an empty test suite (master
- does not load test files, workers do) by Test::Unit and Minitest in the
- master process.
-
- Such a harmless annoyance should not warrant the crippling of at_exit in
- the master process because that would inhibit its valid uses as well:
-
- > "UNIX was not designed to stop you from doing stupid things, because
- > that would also stop you from doing clever things." ~Doug Gwyn
-
- * `Thread.new { system() }` is not really backgrounded so `fork()` instead!
- Many thanks to Brian D. Burns and Daniel Pittman for helping solve [this
- issue](https://github.com/sunaku/test-loop/issues/5).
-
-## Version 12.0.2 (2011-04-21)
-
-### Patch:
-
- * Consider DB schema dump file as overhead in Rails.
-
- * Do not consider test factories as overhead in Rails.
-
- * Run test files when test factory files change in Rails.
-
-### Other:
-
- * Detach worker from master's terminal device sooner.
-
- * All required signals must be present in irb check.
-
- * Prevent ps(1) from truncating lines to $TERM width.
-
- * Retain ps(1) column header in watch command output.
-
- * Begin parameter descriptions with the noun itself.
-
-## Version 12.0.1 (2011-04-20)
-
-### Patch:
-
- * Restore support for Ruby 1.8.7.
-
- * Allow user's test execution overhead to fork.
-
-### Other:
-
- * Freeze master's ENV properly; keep resume key.
-
- * Remove completed test from running list sooner.
-
- * Add instructions to check for POSIX prerequisites.
-
- * Support multiple test-loop instances in watch command.
-
-## Version 12.0.0 (2011-04-19)
-
-### Major:
-
- * You must now explicitly `require 'test/loop/rails'` for Rails support
- because we can only *automatically* apply our Railtie (to disable class
- caching) after the overhead has been loaded, and by then it's too late:
- your models are already loaded & cached by the Rails environment.
-
- * Your tests can no longer read from the user's terminal (master's STDIN);
- instead they will read from an empty stream (the reading end of IO.popen).
-
-### Patch:
-
- * Replace threads with SIGCHLD for reporting test results.
-
- This fixes deadlock errors that sometimes occurred when the user's chosen
- test library tried to print something to STDOUT/STDERR (even though those
- streams were redirected to a log file in the worker process).
-
- Thanks to Brian D. Burns for suggesting and verifying that the use of
- threads to monitor workers was the culprit behind the deadlocks errors.
-
- * Ctrl-C did not raise Interrupt in my Rails 3 test suite.
-
-### Other:
-
- * Ensure a clean ENV when reabsorbing overhead. Environment variables set
- by your test execution overhead are not propagated to subsequent
- reabsorptions. (Brian D. Burns)
-
- * Call `setsid()` to detach worker from master's terminal.
- <http://stackoverflow.com/questions/1740308#1740314>
-
- * Mutex is not needed since we only use GIL'ed array methods.
- <http://www.ruby-forum.com/topic/174086#762788>
-
- * Remove redundant STDOUT coercion after loading user's testing library.
-
- * Further simplify `Test::Loop.run()` by higher-order programming.
-
- * Add LICENSE file to gem package.
-
- * Add prerequisites section about POSIX environment.
-
- * Add tip about annihilating test-loop processes.
-
- * Fix markdown formatting.
-
-## Version 11.0.1 (2011-04-14)
-
-### Patch:
-
- * Only attempt to define Railtie if the current Rails version supports it.
-
-## Version 11.0.0 (2011-04-14)
-
-### Major:
-
- * The `test/loop/rails` preset has been internalized and is now applied
- automatically if your test execution overhead includes Ruby on Rails.
-
-### Minor:
-
- * If you are using Rails 3, test-loop will automatically set
- `config.cache_classes = false` for your test environment. (Brian D.
- Burns)
-
-### Patch:
-
- * Avoid deadlock errors when printing output from Test::Unit and MiniTest.
- (Brian D. Burns)
-
- `write': deadlock detected (fatal)
-
- * Signaled worker termination is neither pass nor fail.
- Do not treat it as a failure by printing the log file.
-
- * Ignore SIGINT in workers; only master must honor it.
-
-## Version 10.0.1 (2011-04-08)
-
-### Patch:
-
- * Workers must ignore SIGTSTP, otherwise master waits forever before
- exiting.
-
- * Unregister trap in workers upon first reception instead of racing to
- unregister the trap handlers inherited from the master process.
-
- * Prevent uncaught throw error on subsequent Ctrl-C.
-
- * Simpler solution for terminating loop upon Ctrl-C.
-
-## Version 10.0.0 (2011-04-06)
-
-### Major:
-
- * The `Test::Loop.before_each_test` and `Test::Loop.after_each_test`
- parameters are arrays now.
-
-## Version 9.4.0 (2011-04-06)
-
-### Minor:
-
- * Allow lambda functions in `Test::Loop.test_file_matchers` to return `nil`
- so that you can exclude certain tests from being executed. (Brian D.
- Burns)
-
- * Prefix worker process title with "test-loop" for easier ps(1)
- searchability. The monitoring command in the README is now simplified to
- the following:
-
- watch 'ps xf | grep test-loop | sed 1,3d'
-
-### Patch:
-
- * Skip `at_exit()` when exiting master process. This prevents an empty test
- from being run when exiting the loop after having processed a test/spec
- helper that loads the Test::Unit library. (Brian D. Burns)
-
-### Other:
-
- * Use throw/catch to break loop instead of raising SystemExit exception.
-
- * Trap SIGTERM with IGNORE/DEFAULT instead of using a closure in master.
-
- * Unregister master's custom signal handlers inside worker processes.
-
- * Separate configuration parameters into subsections in README.
-
-## Version 9.3.0 (2011-04-01)
-
-### Minor:
-
- * Resume currently running tests--as well as those currently needing to be
- run--after reabsorbing test execution overhead. (Brian D. Burns)
-
- * Stop currently running tests (and wait for them to finish) before
- reabsorbing overhead. This greatly improves responsiveness because worker
- processes are no longer there to compete with the new master process for
- system resources.
-
- * Notify user when running all tests and when exiting. (Brian D. Burns)
-
- * Notify user when overhead changes instead of when restarting the loop.
-
- * Use ANSI clear line command to erase control-key combinations outputted by
- shells such as BASH and ZSH in test-loop's output. (Brian D. Burns)
-
-### Patch:
-
- * `@last_ran_at` was being set during every iteration of the loop. This is
- problematic when Ruby's `Time.now` is more precise than your filesystem's
- modification timestamp. For example, in the ext3 filesystem under Linux,
- file modification timestamps have a precision of 1 second. (Brian D.
- Burns)
-
- * Exit gently on SIGINT by sending SIGTERM to all worker processes and then
- running waitall(), instead of sending SIGKILL to the entire process group.
- As a result, test-loop no longer exits with a non-zero status upon SIGINT.
-
- * Remove 'ansi' gem dependency. (Brian D. Burns)
-
-### Other:
-
- * Add tip on deleting logs for passing tests. (Brian D. Burns)
-
- * Add tip on monitoring test processes with watch(1) in README.
-
-## Version 9.2.0 (2011-03-28)
-
- * Extract Rails-specific configuration to 'test/loop/rails' sublibrary.
-
- * Add 'test/loop/notify' sublibrary for OSD notifications on failures.
-
-## Version 9.1.1 (2011-03-15)
-
- * $0 does not work from RubyGems wrapper executable.
- Thanks to Brian D. Burns for reporting this issue.
-
- * Add information about sqlite3 errors & workaround in README.
-
-## Version 9.1.0 (2011-02-23)
-
- * Print the status of completed tests in ANSI color.
-
- * Print the failure log of failing tests to STDERR.
-
- * `$?` is not defined when Errno::ECHILD is raised.
-
-## Version 9.0.1 (2011-02-18)
-
- * Shield normal output from control-key combos printed into the terminal.
-
- * Do not print worker PID in status messages because every test file has
- exactly one worker anyway.
-
- * Reabsorb on any `*.{rb,yml}` changes beneath the `config/` directory.
-
- * Do not reabsorb overhead when the configuration file changes.
-
- * Add `after_each_test` example for failure-only notifications.
-
-## Version 9.0.0 (2011-02-15)
-
- * Remove SIGUSR1 for killing worker processes.
-
- * Handle Ctrl-Z signal from the very beginning.
-
-## Version 8.0.0 (2011-02-12)
-
- * Move configuration into `Test::Loop` object itself.
-
- * Allow loading `bin/test-loop` into IRB for testing.
-
- * Simplify initialization of default configuration.
-
- * Revise README: delete needless cruft; add examples.
-
- * Add example on extending `before_each_test` function.
-
- * DRY `sleep 1` commands into higher order function.
-
- * Accept > 80 character lines in some cases.
-
- * Freeze more constant values against modification.
-
-## Version 7.0.1 (2011-02-10)
-
- * Fix minitest deadlock issues with I/O redirection.
-
- * Do not signal to restart loop when overhead changes.
-
-## Version 7.0.0 (2011-02-10)
-
- * Switch from shell-script style to modular Ruby style in the source code.
- This yields more lines of code, but the result is much easier to read.
-
- * Replace the `$test_loop_config` global variable with the
- `Test::Loop::Config` constant.
-
- * Do not wait for all test runs to finish before detecting more changes.
-
- * Replace the `after_all_tests` parameter with `after_each_test`.
-
- * Capture test run output into separate log files; one log per test file.
-
- * The `before_each_test` function is now passed the path to a log file.
-
- * Register signal handlers at the earliest and act upon signals immediately.
-
- * Previously, SIGQUIT did not work if there were no test helpers.
-
- * Send the SIGUSR1 signal to terminate workers and their subprocesses.
-
- * Break long lines at 80 characters in the source code.
-
-## Version 6.0.0 (2011-02-09)
-
- * Only consider `{test,spec}_helper.rb` as overhead, not all `*_helper.rb`.
-
- * Give the user freedom to inspect and change the default configuration by
- storing it in a `$test_loop_config` global variable instead of returning
- the user's desired configuration as a hash from the user's configuration
- file.
-
- * Change the method signature of the `after_all_tests` lambda function.
-
- * Add support for growl and xmessage in the `after_all_tests` example.
-
- * Add note about disabling class caching in Rails test environment.
-
- * Add better explanation for the `test_file_matchers` example.
-
-## Version 5.0.3 (2011-01-25)
-
- * Use "diff/lcs" library instead of "diff" for RSpec compatibility.
-
- Thanks to millisami for reporting this bug:
- https://github.com/sunaku/test-loop/issues/3
-
- * Terminate worker processes when user presses Control-C.
-
- * Reabsorb when bundler is run, not when Gemfile changes.
-
-## Version 5.0.2 (2011-01-19)
-
- * Support string interpolations that yield empty strings in test names.
-
- * Accept extra characters before test name in test definition:
- * Whitespace between `def` and `test_` in traditional test methods.
- * Opening parenthesis between test name and test definition keyword.
-
- * Mention that diff gem is necessary for manual git clone installation.
-
-## Version 5.0.1 (2011-01-18)
-
- * Sanitize string interpolation in parsed test names.
-
- * Remove useless use of #map; result is not reused.
-
- * Mention parallelism and revise the introduction.
-
- * DRY the mentioning of .test-loop file in README.
-
-## Version 5.0.0 (2011-01-17)
-
- * The configuration file must now yield a Ruby
- hash instead of polluting the global Object
- private environment with instance variables.
-
- * Shortened the `:source_file_glob_to_test_file_mapping`
- configuration parameter name to `:test_file_matchers`.
-
-## Version 4.0.1 (2011-01-14)
-
- * Print how much time it took to run all tests.
-
- * Do not print test file before loading because it
- is hard to follow parallel test execution anyway.
-
- * Print rescued top-level exceptions to STDERR.
-
- * Strip surrounding spaces from parsed test names.
-
- * Use long options when passing test names in ARGV.
-
- * Only prepend lib/, test/, and spec/ to $LOAD_PATH.
-
-## Version 4.0.0 (2011-01-13)
-
- * Only run changed tests inside changed test files.
-
- * Run tests in parallel: one worker per test file.
-
- * Print the status of each test file after execution.
-
- * Rename `@after_test_execution` to `@after_all_tests`
- and change its function signature.
-
- * Clean up implementation and improve documentation.
-
-## Version 3.0.2 (2011-01-11)
-
- * Reabsorb overhead upon Gemfile changes (Rails 3).
-
- * Try to recover from all kinds of exceptions.
-
-## Version 3.0.1 (2011-01-05)
-
- * Be resilient to $0 and ARGV being changed by tests.
-
- * Reduce pollution by making `notify()` into lambda.
-
- * Beautify markdown formatting and revise the README.
-
-## Version 3.0.0 (2011-01-04)
-
- * Replace Rake pathmap usage with lambda functions
- in the `@source_file_to_test_file_mapping` hash.
-
- * Be resilient to syntax errors from loaded files.
-
-## Version 2.0.2 (2011-01-02)
-
- * Do not print stack trace when Control-C pressed.
-
- * Reduce the amount of notifications shown to user.
-
-## Version 2.0.1 (2011-01-01)
-
- * Fix syntax error caused by a dangling comma. Thanks
- to darthdeus (Jakub Arnold) for reporting [this bug](
- https://github.com/sunaku/test-loop/issues#issue/1 ).
-
- * Notify user before reabsorbing overhead.
-
-## Version 2.0.0 (2010-12-31)
-
- * Add support for loading configuration file, which
- allows you to define additional test file globs
- and mappings, from the current working directory.
-
- * Add support for executing arbitrary logic after every test run
- via the `@after_test_execution` hook in the configuration file.
-
- * Before running tests, print out their file paths.
-
- * Automatically retry when overhead absorption fails.
-
-## Version 1.2.0 (2010-11-23)
-
- * Notify user when absorbing overhead initially.
-
- * DRY up the repetition of Time.at(0) calculation.
-
-## Version 1.1.0 (2010-11-22)
-
- * All `*_{test,spec}_helper.rb` files inside `test/` and
- `spec/` are now considered to be absorable overhead.
-
-## Version 1.0.2 (2010-10-16)
-
- * All *_helper.rb files inside test/ and spec/
- were absorbed as overhead instead of just
- the test_helper.rb and spec_helper.rb files.
-
-## Version 1.0.1 (2010-10-16)
-
- * Ensure that $LOAD_PATH reflects `ruby -Ilib:test`.
-
-## Version 1.0.0 (2010-10-15)
-
- * Remove ability to install as a Rails plugin.
-
- * Move logic from `lib/` into `bin/` to keep it simple.
-
- * Rely on $LOAD_PATH in `bin/` instead of relative paths.
-
- * Display status messages for better user interactivity.
-
-## Version 0.0.2 (2010-10-11)
-
- * Forgot to register `bin/test-loop` as gem executable.
-
- * Revise Usage section into Invocation and Operation.
-
-## Version 0.0.1 (2010-10-10)
-
- * First public release. Enjoy!
\ No newline at end of file