testr 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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!