testr 14.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in testr.gemspec
4
+ gemspec
@@ -0,0 +1,768 @@
1
+ ------------------------------------------------------------------------------
2
+ Version 14.0.0 (2011-10-09)
3
+ ------------------------------------------------------------------------------
4
+
5
+ Incompatible changes:
6
+
7
+ * Renamed this project and its resources from test-loop to TestR.
8
+
9
+ * Renamed the `reabsorb_file_globs` configuration parameter to
10
+ `reabsorb_file_greps`. It now contains regular expressions.
11
+
12
+ * Renamed the `test_file_matchers` configuration parameter to
13
+ `test_file_globbers`. Its keys are now regular expressions.
14
+
15
+ * Renamed the `test_name_parser` configuration parameter to
16
+ `test_name_extractor`.
17
+
18
+ * Renamed the `max_concurrent_tests` configuration parameter to
19
+ `max_forked_workers`.
20
+
21
+ * Renamed the `before_each_test` configuration parameter to
22
+ `after_fork_hooks`. Its function parameters have also changed.
23
+
24
+ * Removed the `delay_per_iteration`, `after_each_test` configuration
25
+ parameters.
26
+
27
+ * Removed the `test/loop/notify` and `test-loop/coco` libraries.
28
+
29
+ New features:
30
+
31
+ * The file system is no longer polled to detect modified files. Instead, the
32
+ file system is monitored for file modification events in a portable and
33
+ efficient manner using the [Guard](https://github.com/guard/guard) library.
34
+
35
+ * Added ability to re-run passed and failed tests in the `testr` script.
36
+
37
+ * Added `overhead_load_paths`, `all_test_file_globs`, and `before_fork_hooks`
38
+ configuration parameters.
39
+
40
+ Housekeeping:
41
+
42
+ * The monolithic `test-loop` script has been replaced by several smaller ones
43
+ that communicate with each other using single-line JSON messages via their
44
+ standard input & output streams. See "Architecture" in README for details.
45
+
46
+ * Now using Bundler to manage development dependencies and gem packaging.
47
+
48
+ ------------------------------------------------------------------------------
49
+ Version 13.0.1 (2011-09-21)
50
+ ------------------------------------------------------------------------------
51
+
52
+ Housekeeping:
53
+
54
+ * Forgot to include `test/loop/coco` preset in gem package.
55
+
56
+ * Forgot to mention `test/loop/parallel_tests` preset in README.
57
+
58
+ ------------------------------------------------------------------------------
59
+ Version 13.0.0 (2011-08-24)
60
+ ------------------------------------------------------------------------------
61
+
62
+ Incompatible changes:
63
+
64
+ * Pass worker sequence number as the last argument to lambda functions in
65
+ `Test::Loop.before_each_test` and `Test::Loop.after_each_test` arrays.
66
+
67
+ New features:
68
+
69
+ * In the `test/loop/rails` configuration preset:
70
+
71
+ * Automatically test a controller when its model or factory is modified.
72
+
73
+ * Warn the user if Railtie (Rails 3) is not available for automatic
74
+ disabling of Rails' class caching mechanism under the test environment.
75
+
76
+ * Add `test/loop/parallel_tests` configuration preset for parallel_tests gem.
77
+ ([Corné Verbruggen](https://github.com/sunaku/test-loop/issues/9))
78
+
79
+ * Assign rotating sequence numbers to workers so that you can handle parallel
80
+ processes like connecting to separate databases better. ([Corné
81
+ Verbruggen](https://github.com/sunaku/test-loop/pull/10))
82
+
83
+ Housekeeping:
84
+
85
+ * README: move configuration presets above options.
86
+
87
+ * Eliminate 1 SLOC: .rb extension used in file glob.
88
+
89
+ * Turn off executable bit on loop.rb file mode.
90
+
91
+ * Pass child ENV directly to exec() for atomicity.
92
+
93
+ ------------------------------------------------------------------------------
94
+ Version 12.3.1 (2011-07-19)
95
+ ------------------------------------------------------------------------------
96
+
97
+ Bug fixes:
98
+
99
+ * Binary data could not be stored in environment variable values.
100
+
101
+ Housekeeping:
102
+
103
+ * Forgot to add Jacob Helwig to the gemspec's authors list.
104
+
105
+ ------------------------------------------------------------------------------
106
+ Version 12.3.0 (2011-07-19)
107
+ ------------------------------------------------------------------------------
108
+
109
+ New features:
110
+
111
+ * Add `Test::Loop::max_concurrent_tests` configuration parameter to limit the
112
+ number of test files run concurrently (default 4). Otherwise, with large
113
+ test suites, we could end up swamping the machine running the tests by
114
+ forking hundreds of test files at once. (Jacob Helwig)
115
+
116
+ * Rails: add matcher for `test/factories/*_factory.rb`.
117
+
118
+ Housekeeping:
119
+
120
+ * ENV returns a Hash with duplicate/frozen keys/values. (Brian D. Burns)
121
+
122
+ * Use Marshal to propagate resume_files to reabsorb.
123
+
124
+ * Store test_files in a Set instead of an Array.
125
+
126
+ ------------------------------------------------------------------------------
127
+ Version 12.2.0 (2011-06-01)
128
+ ------------------------------------------------------------------------------
129
+
130
+ * Prevent empty test suite run in master process. (Brian D. Burns)
131
+
132
+ * Report test execution statistics in `test/loop/notify` preset as
133
+ requested by Juan G. Hurtado..
134
+
135
+ * Add `test/loop/coco` preset for integrating the [Coco code coverage
136
+ library](http://lkdjiin.github.com/coco/).
137
+
138
+ ------------------------------------------------------------------------------
139
+ Version 12.1.0 (2011-04-29)
140
+ ------------------------------------------------------------------------------
141
+
142
+ New features:
143
+
144
+ * Add `Test::Loop.delay_per_iteration` parameter to control the number of
145
+ seconds (or fractions thereof) to sleep in between test-loop iterations.
146
+
147
+ ------------------------------------------------------------------------------
148
+ Version 12.0.4 (2011-04-29)
149
+ ------------------------------------------------------------------------------
150
+
151
+ Bug fixes:
152
+
153
+ * Reabsorb overhead when user's configuration file changes.
154
+ (Brian D. Burns and Daniel Pittman)
155
+
156
+ * `Thread.new { system() }` really is backgrounded, so `fork { system() }` is
157
+ not necessary! [This issue](https://github.com/sunaku/test-loop/issues/5)
158
+ was solved by upgrading to the newer 2.6.38.4-1 Linux kernel on my system.
159
+
160
+ ------------------------------------------------------------------------------
161
+ Version 12.0.3 (2011-04-25)
162
+ ------------------------------------------------------------------------------
163
+
164
+ Bug fixes:
165
+
166
+ * Fix SIGCHLD handling and test completion reporting (Daniel Pittman).
167
+
168
+ We need to reap all ready children in SIGCHLD, not just the first, and
169
+ should not be reporting completion in the signal handler.
170
+
171
+ On a fast machine, or where there is a slow hook executed at the
172
+ completion of a test run, more than one test child can terminate before
173
+ the SIGCHLD handler is invoked, or while it is running.
174
+
175
+ In that event we will only get another SIGCHLD when a new child
176
+ terminates, not to signal that there was more than one current
177
+ termination. We need to loop to collect all terminated children during
178
+ each invocation of the handler.
179
+
180
+ Since we don't know which child terminated, we wait on any terminated
181
+ child with NOHANG, until it informs us that there are no more zombies
182
+ hanging about.
183
+
184
+ Doing all the work of finishing the test case, cleaning up, and running
185
+ user hooks inside the SIGCHLD handler block was pretty slow. This could
186
+ lead to a big pile-up of children that needed to be cleaned up, especially
187
+ if the user hook did something like run another external process to signal
188
+ completion.
189
+
190
+ Moving the heavy work of completion outside the signal handler makes the
191
+ whole thing a lot faster, and less likely to bump into the low limit for
192
+ per-user processes on Mac OS-X.
193
+
194
+ * Send SIGTERM to each worker PGID to kill workers (Brian D. Burns).
195
+
196
+ Using Process.setsid() in the workers establishes each process "as a new
197
+ session and process group leader". So, the SIGTERM sent to the master's
198
+ process group was not recieved by the workers. kill_workers was simply
199
+ waiting for the workers to finish.
200
+
201
+ * Revert "skip at_exit() handlers defined in master process".
202
+
203
+ This reverts commit 0a0837f0b7ec92810e1c81d7506f2c8309f25f62 which was
204
+ originally written to skip the reporting of an empty test suite (master
205
+ does not load test files, workers do) by Test::Unit and Minitest in the
206
+ master process.
207
+
208
+ Such a harmless annoyance should not warrant the crippling of at_exit in
209
+ the master process because that would inhibit its valid uses as well:
210
+
211
+ > "UNIX was not designed to stop you from doing stupid things, because
212
+ > that would also stop you from doing clever things." ~Doug Gwyn
213
+
214
+ * `Thread.new { system() }` is not really backgrounded so `fork()` instead!
215
+ Many thanks to Brian D. Burns and Daniel Pittman for helping solve [this
216
+ issue](https://github.com/sunaku/test-loop/issues/5).
217
+
218
+ ------------------------------------------------------------------------------
219
+ Version 12.0.2 (2011-04-21)
220
+ ------------------------------------------------------------------------------
221
+
222
+ Bug fixes:
223
+
224
+ * Consider DB schema dump file as overhead in Rails.
225
+
226
+ * Do not consider test factories as overhead in Rails.
227
+
228
+ * Run test files when test factory files change in Rails.
229
+
230
+ Housekeeping:
231
+
232
+ * Detach worker from master's terminal device sooner.
233
+
234
+ Documentation:
235
+
236
+ * All required signals must be present in irb check.
237
+
238
+ * Prevent ps(1) from truncating lines to $TERM width.
239
+
240
+ * Retain ps(1) column header in watch command output.
241
+
242
+ * Begin parameter descriptions with the noun itself.
243
+
244
+ ------------------------------------------------------------------------------
245
+ Version 12.0.1 (2011-04-20)
246
+ ------------------------------------------------------------------------------
247
+
248
+ Bug fixes:
249
+
250
+ * Restore support for Ruby 1.8.7.
251
+
252
+ * Allow user's test execution overhead to fork.
253
+
254
+ Housekeeping:
255
+
256
+ * Freeze master's ENV properly; keep resume key.
257
+
258
+ * Remove completed test from running list sooner.
259
+
260
+ Documentation:
261
+
262
+ * Add instructions to check for POSIX prerequisites.
263
+
264
+ * Support multiple test-loop instances in watch command.
265
+
266
+ ------------------------------------------------------------------------------
267
+ Version 12.0.0 (2011-04-19)
268
+ ------------------------------------------------------------------------------
269
+
270
+ Incompatible changes:
271
+
272
+ * You must now explicitly `require 'test/loop/rails'` for Rails support
273
+ because we can only *automatically* apply our Railtie (to disable class
274
+ caching) after the overhead has been loaded, and by then it's too late:
275
+ your models are already loaded & cached by the Rails environment.
276
+
277
+ * Your tests can no longer read from the user's terminal (master's STDIN);
278
+ instead they will read from an empty stream (the reading end of IO.popen).
279
+
280
+ Bug fixes:
281
+
282
+ * Replace threads with SIGCHLD for reporting test results.
283
+
284
+ This fixes deadlock errors that sometimes occurred when the user's chosen
285
+ test library tried to print something to STDOUT/STDERR (even though those
286
+ streams were redirected to a log file in the worker process).
287
+
288
+ Thanks to Brian D. Burns for suggesting and verifying that the use of
289
+ threads to monitor workers was the culprit behind the deadlocks errors.
290
+
291
+ * Ctrl-C did not raise Interrupt in my Rails 3 test suite.
292
+
293
+ Housekeeping:
294
+
295
+ * Ensure a clean ENV when reabsorbing overhead. Environment variables set
296
+ by your test execution overhead are not propagated to subsequent
297
+ reabsorptions. (Brian D. Burns)
298
+
299
+ * Call `setsid()` to detach worker from master's terminal.
300
+ <http://stackoverflow.com/questions/1740308#1740314>
301
+
302
+ * Mutex is not needed since we only use GIL'ed array methods.
303
+ <http://www.ruby-forum.com/topic/174086#762788>
304
+
305
+ * Remove redundant STDOUT coercion after loading user's testing library.
306
+
307
+ * Further simplify `Test::Loop.run()` by higher-order programming.
308
+
309
+ * Add LICENSE file to gem package.
310
+
311
+ Documentation:
312
+
313
+ * Add prerequisites section about POSIX environment.
314
+
315
+ * Add tip about annihilating test-loop processes.
316
+
317
+ * Fix markdown formatting.
318
+
319
+ ------------------------------------------------------------------------------
320
+ Version 11.0.1 (2011-04-14)
321
+ ------------------------------------------------------------------------------
322
+
323
+ Bug fixes:
324
+
325
+ * Only attempt to define Railtie if the current Rails version supports it.
326
+
327
+ ------------------------------------------------------------------------------
328
+ Version 11.0.0 (2011-04-14)
329
+ ------------------------------------------------------------------------------
330
+
331
+ Incompatible changes:
332
+
333
+ * The `test/loop/rails` preset has been internalized and is now applied
334
+ automatically if your test execution overhead includes Ruby on Rails.
335
+
336
+ New features:
337
+
338
+ * If you are using Rails 3, test-loop will automatically set
339
+ `config.cache_classes = false` for your test environment.
340
+ (Brian D. Burns)
341
+
342
+ Bug fixes:
343
+
344
+ * Avoid deadlock errors when printing output from Test::Unit and MiniTest.
345
+ (Brian D. Burns)
346
+
347
+ `write': deadlock detected (fatal)
348
+
349
+ * Signaled worker termination is neither pass nor fail.
350
+ Do not treat it as a failure by printing the log file.
351
+
352
+ * Ignore SIGINT in workers; only master must honor it.
353
+
354
+ ------------------------------------------------------------------------------
355
+ Version 10.0.1 (2011-04-08)
356
+ ------------------------------------------------------------------------------
357
+
358
+ Bug fixes:
359
+
360
+ * Workers must ignore SIGTSTP, otherwise master waits forever before
361
+ exiting.
362
+
363
+ * Unregister trap in workers upon first reception instead of racing to
364
+ unregister the trap handlers inherited from the master process.
365
+
366
+ * Prevent uncaught throw error on subsequent Ctrl-C.
367
+
368
+ * Simpler solution for terminating loop upon Ctrl-C.
369
+
370
+ ------------------------------------------------------------------------------
371
+ Version 10.0.0 (2011-04-06)
372
+ ------------------------------------------------------------------------------
373
+
374
+ Incompatible changes:
375
+
376
+ * The `Test::Loop.before_each_test` and `Test::Loop.after_each_test`
377
+ parameters are arrays now.
378
+
379
+ ------------------------------------------------------------------------------
380
+ Version 9.4.0 (2011-04-06)
381
+ ------------------------------------------------------------------------------
382
+
383
+ New features:
384
+
385
+ * Allow lambda functions in `Test::Loop.test_file_matchers` to return `nil`
386
+ so that you can exclude certain tests from being executed.
387
+ (Brian D. Burns)
388
+
389
+ * Prefix worker process title with "test-loop" for easier ps(1)
390
+ searchability. The monitoring command in the README is now simplified to
391
+ the following:
392
+
393
+ watch 'ps xf | grep test-loop | sed 1,3d'
394
+
395
+ Bug fixes:
396
+
397
+ * Skip `at_exit()` when exiting master process. This prevents an empty test
398
+ from being run when exiting the loop after having processed a test/spec
399
+ helper that loads the Test::Unit library. (Brian D. Burns)
400
+
401
+ Housekeeping:
402
+
403
+ * Use throw/catch to break loop instead of raising SystemExit exception.
404
+
405
+ * Trap SIGTERM with IGNORE/DEFAULT instead of using a closure in master.
406
+
407
+ * Unregister master's custom signal handlers inside worker processes.
408
+
409
+ * Separate configuration parameters into subsections in README.
410
+
411
+ ------------------------------------------------------------------------------
412
+ Version 9.3.0 (2011-04-01)
413
+ ------------------------------------------------------------------------------
414
+
415
+ New features:
416
+
417
+ * Resume currently running tests--as well as those currently needing to be
418
+ run--after reabsorbing test execution overhead. (Brian D. Burns)
419
+
420
+ * Stop currently running tests (and wait for them to finish) before
421
+ reabsorbing overhead. This greatly improves responsiveness because worker
422
+ processes are no longer there to compete with the new master process for
423
+ system resources.
424
+
425
+ * Notify user when running all tests and when exiting. (Brian D. Burns)
426
+
427
+ * Notify user when overhead changes instead of when restarting the loop.
428
+
429
+ * Use ANSI clear line command to erase control-key combinations outputted by
430
+ shells such as BASH and ZSH in test-loop's output. (Brian D. Burns)
431
+
432
+ Bug fixes:
433
+
434
+ * `@last_ran_at` was being set during every iteration of the loop. This is
435
+ problematic when Ruby's `Time.now` is more precise than your filesystem's
436
+ modification timestamp. For example, in the ext3 filesystem under Linux,
437
+ file modification timestamps have a precision of 1 second.
438
+ (Brian D. Burns)
439
+
440
+ * Exit gently on SIGINT by sending SIGTERM to all worker processes and then
441
+ running waitall(), instead of sending SIGKILL to the entire process group.
442
+ As a result, test-loop no longer exits with a non-zero status upon SIGINT.
443
+
444
+ * Remove 'ansi' gem dependency. (Brian D. Burns)
445
+
446
+ Documentation:
447
+
448
+ * Add tip on deleting logs for passing tests. (Brian D. Burns)
449
+
450
+ * Add tip on monitoring test processes with watch(1) in README.
451
+
452
+ ------------------------------------------------------------------------------
453
+ Version 9.2.0 (2011-03-28)
454
+ ------------------------------------------------------------------------------
455
+
456
+ * Extract Rails-specific configuration to 'test/loop/rails' sublibrary.
457
+
458
+ * Add 'test/loop/notify' sublibrary for OSD notifications on failures.
459
+
460
+ ------------------------------------------------------------------------------
461
+ Version 9.1.1 (2011-03-15)
462
+ ------------------------------------------------------------------------------
463
+
464
+ * $0 does not work from RubyGems wrapper executable.
465
+ Thanks to Brian D. Burns for reporting this issue.
466
+
467
+ * Add information about sqlite3 errors & workaround in README.
468
+
469
+ ------------------------------------------------------------------------------
470
+ Version 9.1.0 (2011-02-23)
471
+ ------------------------------------------------------------------------------
472
+
473
+ * Print the status of completed tests in ANSI color.
474
+
475
+ * Print the failure log of failing tests to STDERR.
476
+
477
+ * `$?` is not defined when Errno::ECHILD is raised.
478
+
479
+ ------------------------------------------------------------------------------
480
+ Version 9.0.1 (2011-02-18)
481
+ ------------------------------------------------------------------------------
482
+
483
+ * Shield normal output from control-key combos printed into the terminal.
484
+
485
+ * Do not print worker PID in status messages because every test file has
486
+ exactly one worker anyway.
487
+
488
+ * Reabsorb on any `*.{rb,yml}` changes beneath the config/ directory.
489
+
490
+ * Do not reabsorb overhead when the configuration file changes.
491
+
492
+ * Add `after_each_test` example for failure-only notifications.
493
+
494
+ ------------------------------------------------------------------------------
495
+ Version 9.0.0 (2011-02-15)
496
+ ------------------------------------------------------------------------------
497
+
498
+ * Remove SIGUSR1 for killing worker processes.
499
+
500
+ * Handle Ctrl-Z signal from the very beginning.
501
+
502
+ ------------------------------------------------------------------------------
503
+ Version 8.0.0 (2011-02-12)
504
+ ------------------------------------------------------------------------------
505
+
506
+ * Move configuration into `Test::Loop` object itself.
507
+
508
+ * Allow loading `bin/test-loop` into IRB for testing.
509
+
510
+ * Simplify initialization of default configuration.
511
+
512
+ * Revise README: delete needless cruft; add examples.
513
+
514
+ * Add example on extending `before_each_test` function.
515
+
516
+ * DRY `sleep 1` commands into higher order function.
517
+
518
+ * Accept > 80 character lines in some cases.
519
+
520
+ * Freeze more constant values against modification.
521
+
522
+ ------------------------------------------------------------------------------
523
+ Version 7.0.1 (2011-02-10)
524
+ ------------------------------------------------------------------------------
525
+
526
+ * Fix minitest deadlock issues with I/O redirection.
527
+
528
+ * Do not signal to restart loop when overhead changes.
529
+
530
+ ------------------------------------------------------------------------------
531
+ Version 7.0.0 (2011-02-10)
532
+ ------------------------------------------------------------------------------
533
+
534
+ * Switch from shell-script style to modular Ruby style in the source code.
535
+ This yields more lines of code, but the result is much easier to read.
536
+
537
+ * Replace the `$test_loop_config` global variable with the
538
+ `Test::Loop::Config` constant.
539
+
540
+ * Do not wait for all test runs to finish before detecting more changes.
541
+
542
+ * Replace the `after_all_tests` parameter with `after_each_test`.
543
+
544
+ * Capture test run output into separate log files; one log per test file.
545
+
546
+ * The `before_each_test` function is now passed the path to a log file.
547
+
548
+ * Register signal handlers at the earliest and act upon signals immediately.
549
+
550
+ * Previously, SIGQUIT did not work if there were no test helpers.
551
+
552
+ * Send the SIGUSR1 signal to terminate workers and their subprocesses.
553
+
554
+ * Break long lines at 80 characters in the source code.
555
+
556
+ ------------------------------------------------------------------------------
557
+ Version 6.0.0 (2011-02-09)
558
+ ------------------------------------------------------------------------------
559
+
560
+ * Only consider `{test,spec}_helper.rb` as overhead, not all `*_helper.rb`.
561
+
562
+ * Give the user freedom to inspect and change the default configuration by
563
+ storing it in a `$test_loop_config` global variable instead of returning
564
+ the user's desired configuration as a hash from the user's configuration
565
+ file.
566
+
567
+ * Change the method signature of the `after_all_tests` lambda function.
568
+
569
+ * Add support for growl and xmessage in the `after_all_tests` example.
570
+
571
+ * Add note about disabling class caching in Rails test environment.
572
+
573
+ * Add better explanation for the `test_file_matchers` example.
574
+
575
+ ------------------------------------------------------------------------------
576
+ Version 5.0.3 (2011-01-25)
577
+ ------------------------------------------------------------------------------
578
+
579
+ * Use "diff/lcs" library instead of "diff" for RSpec compatibility.
580
+
581
+ Thanks to millisami for reporting this bug:
582
+ https://github.com/sunaku/test-loop/issues/3
583
+
584
+ * Terminate worker processes when user presses Control-C.
585
+
586
+ * Reabsorb when bundler is run, not when Gemfile changes.
587
+
588
+ ------------------------------------------------------------------------------
589
+ Version 5.0.2 (2011-01-19)
590
+ ------------------------------------------------------------------------------
591
+
592
+ * Support string interpolations that yield empty strings in test names.
593
+
594
+ * Accept extra characters before test name in test definition:
595
+ * Whitespace between `def` and `test_` in traditional test methods.
596
+ * Opening parenthesis between test name and test definition keyword.
597
+
598
+ * Mention that diff gem is necessary for manual git clone installation.
599
+
600
+ ------------------------------------------------------------------------------
601
+ Version 5.0.1 (2011-01-18)
602
+ ------------------------------------------------------------------------------
603
+
604
+ * Sanitize string interpolation in parsed test names.
605
+
606
+ * Remove useless use of #map; result is not reused.
607
+
608
+ * Mention parallelism and revise the introduction.
609
+
610
+ * DRY the mentioning of .test-loop file in README.
611
+
612
+ ------------------------------------------------------------------------------
613
+ Version 5.0.0 (2011-01-17)
614
+ ------------------------------------------------------------------------------
615
+
616
+ * The configuration file must now yield a Ruby
617
+ hash instead of polluting the global Object
618
+ private environment with instance variables.
619
+
620
+ * Shortened the `:source_file_glob_to_test_file_mapping`
621
+ configuration parameter name to `:test_file_matchers`.
622
+
623
+ ------------------------------------------------------------------------------
624
+ Version 4.0.1 (2011-01-14)
625
+ ------------------------------------------------------------------------------
626
+
627
+ * Print how much time it took to run all tests.
628
+
629
+ * Do not print test file before loading because it
630
+ is hard to follow parallel test execution anyway.
631
+
632
+ * Print rescued top-level exceptions to STDERR.
633
+
634
+ * Strip surrounding spaces from parsed test names.
635
+
636
+ * Use long options when passing test names in ARGV.
637
+
638
+ * Only prepend lib/, test/, and spec/ to $LOAD_PATH.
639
+
640
+ ------------------------------------------------------------------------------
641
+ Version 4.0.0 (2011-01-13)
642
+ ------------------------------------------------------------------------------
643
+
644
+ * Only run changed tests inside changed test files.
645
+
646
+ * Run tests in parallel: one worker per test file.
647
+
648
+ * Print the status of each test file after execution.
649
+
650
+ * Rename `@after_test_execution` to `@after_all_tests`
651
+ and change its function signature.
652
+
653
+ * Clean up implementation and improve documentation.
654
+
655
+ ------------------------------------------------------------------------------
656
+ Version 3.0.2 (2011-01-11)
657
+ ------------------------------------------------------------------------------
658
+
659
+ * Reabsorb overhead upon Gemfile changes (Rails 3).
660
+
661
+ * Try to recover from all kinds of exceptions.
662
+
663
+ ------------------------------------------------------------------------------
664
+ Version 3.0.1 (2011-01-05)
665
+ ------------------------------------------------------------------------------
666
+
667
+ * Be resilient to $0 and ARGV being changed by tests.
668
+
669
+ * Reduce pollution by making `notify()` into lambda.
670
+
671
+ * Beautify markdown formatting and revise the README.
672
+
673
+ ------------------------------------------------------------------------------
674
+ Version 3.0.0 (2011-01-04)
675
+ ------------------------------------------------------------------------------
676
+
677
+ * Replace Rake #pathmap usage with lambda functions
678
+ in the `@source_file_to_test_file_mapping` hash.
679
+
680
+ * Be resilient to syntax errors from loaded files.
681
+
682
+ ------------------------------------------------------------------------------
683
+ Version 2.0.2 (2011-01-02)
684
+ ------------------------------------------------------------------------------
685
+
686
+ * Do not print stack trace when Control-C pressed.
687
+
688
+ * Reduce the amount of notifications shown to user.
689
+
690
+ ------------------------------------------------------------------------------
691
+ Version 2.0.1 (2011-01-01)
692
+ ------------------------------------------------------------------------------
693
+
694
+ * Fix syntax error caused by a dangling comma. Thanks
695
+ to darthdeus (Jakub Arnold) for reporting [this bug](
696
+ https://github.com/sunaku/test-loop/issues#issue/1 ).
697
+
698
+ * Notify user before reabsorbing overhead.
699
+
700
+ ------------------------------------------------------------------------------
701
+ Version 2.0.0 (2010-12-31)
702
+ ------------------------------------------------------------------------------
703
+
704
+ * Add support for loading configuration file, which
705
+ allows you to define additional test file globs
706
+ and mappings, from the current working directory.
707
+
708
+ * Add support for executing arbitrary logic after every test run
709
+ via the `@after_test_execution` hook in the configuration file.
710
+
711
+ * Before running tests, print out their file paths.
712
+
713
+ * Automatically retry when overhead absorption fails.
714
+
715
+ ------------------------------------------------------------------------------
716
+ Version 1.2.0 (2010-11-23)
717
+ ------------------------------------------------------------------------------
718
+
719
+ * Notify user when absorbing overhead initially.
720
+
721
+ * DRY up the repetiton of Time.at(0) calculation.
722
+
723
+ ------------------------------------------------------------------------------
724
+ Version 1.1.0 (2010-11-22)
725
+ ------------------------------------------------------------------------------
726
+
727
+ * All *_{test,spec}_helper.rb files inside test/ and
728
+ spec/ are now considered to be absorable overhead.
729
+
730
+ ------------------------------------------------------------------------------
731
+ Version 1.0.2 (2010-10-16)
732
+ ------------------------------------------------------------------------------
733
+
734
+ * All *_helper.rb files inside test/ and spec/
735
+ were absorbed as overhead instead of just
736
+ the test_helper.rb and spec_helper.rb files.
737
+
738
+ ------------------------------------------------------------------------------
739
+ Version 1.0.1 (2010-10-16)
740
+ ------------------------------------------------------------------------------
741
+
742
+ * Ensure that $LOAD_PATH reflects `ruby -Ilib:test`.
743
+
744
+ ------------------------------------------------------------------------------
745
+ Version 1.0.0 (2010-10-15)
746
+ ------------------------------------------------------------------------------
747
+
748
+ * Remove ability to install as a Rails plugin.
749
+
750
+ * Move logic from lib/ into bin/ to keep it simple.
751
+
752
+ * Rely on $LOAD_PATH in bin/ instead of relative paths.
753
+
754
+ * Display status messages for better user interactivity.
755
+
756
+ ------------------------------------------------------------------------------
757
+ Version 0.0.2 (2010-10-11)
758
+ ------------------------------------------------------------------------------
759
+
760
+ * Forgot to register bin/test-loop as gem executable.
761
+
762
+ * Revise Usage section into Invocation and Operation.
763
+
764
+ ------------------------------------------------------------------------------
765
+ Version 0.0.1 (2010-10-10)
766
+ ------------------------------------------------------------------------------
767
+
768
+ * First public release. Enjoy!