test-loop 12.0.1 → 12.0.2

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.
data/README.md CHANGED
@@ -32,7 +32,7 @@ Features
32
32
 
33
33
  * Configurable through a `.test-loop` file in your working directory.
34
34
 
35
- * Implemented in less than 220 lines (SLOC) of pure Ruby code! :-)
35
+ * Implemented in less than 215 lines (SLOC) of pure Ruby code! :-)
36
36
 
37
37
  ------------------------------------------------------------------------------
38
38
  Prerequisites
@@ -44,9 +44,10 @@ Prerequisites
44
44
 
45
45
  To check if your system qualifies, launch `irb` and enter the following:
46
46
 
47
- Process.respond_to? :fork # must be true
47
+ Process.respond_to? :fork # must be true
48
48
 
49
- Signal.list.keys & %w[INT TSTP QUIT TERM CHLD] # must not be empty
49
+ signals = %w[INT TSTP QUIT TERM CHLD].sort
50
+ Signal.list.keys.sort & signals == signals # must be true
50
51
 
51
52
  ------------------------------------------------------------------------------
52
53
  Installation
@@ -75,7 +76,7 @@ If installed as a Git clone:
75
76
 
76
77
  You can monitor your test processes in another terminal:
77
78
 
78
- watch 'ps xf | fgrep test-loop | fgrep -v fgrep'
79
+ watch 'ps xfw | sed -n "1p; /test-loop/p" | fgrep -v sed'
79
80
 
80
81
  If it stops responding, you can annihilate test-loop from another terminal:
81
82
 
@@ -103,17 +104,17 @@ you can query and modify the `Test::Loop` OpenStruct configuration as follows:
103
104
 
104
105
  ### Test::Loop.overhead_file_globs
105
106
 
106
- An array of file globbing patterns that describe a set of Ruby scripts that
107
- are loaded into the main Ruby process as overhead.
107
+ Array of file globbing patterns that describe a set of Ruby scripts that are
108
+ loaded into the main Ruby process as overhead.
108
109
 
109
110
  ### Test::Loop.reabsorb_file_globs
110
111
 
111
- An array of file globbing patterns that describe a set of files which cause
112
- the overhead to be reabsorbed whenever they change.
112
+ Array of file globbing patterns that describe a set of files which cause the
113
+ overhead to be reabsorbed whenever they change.
113
114
 
114
115
  ### Test::Loop.test_file_matchers
115
116
 
116
- A hash that maps a file globbing pattern describing a set of source files to a
117
+ Hash that maps a file globbing pattern describing a set of source files to a
117
118
  lambda function yielding a file globbing pattern describing a set of test
118
119
  files that need to be run. In other words, whenever the source files (the
119
120
  hash key; left-hand side of the mapping) change, their associated test files
@@ -148,9 +149,9 @@ will return `nil`, thereby excluding those source files from being tested.
148
149
 
149
150
  ### Test::Loop.test_name_parser
150
151
 
151
- A lambda function that is passed a line of source code to determine whether
152
- that line can be considered as a test definition, in which case it must return
153
- the name of the test being defined.
152
+ Lambda function that is passed a line of source code to determine whether that
153
+ line can be considered as a test definition, in which case it must return the
154
+ name of the test being defined.
154
155
 
155
156
  ### Test::Loop.before_each_test
156
157
 
@@ -2,12 +2,12 @@ require 'test/loop'
2
2
 
3
3
  Test::Loop.reabsorb_file_globs.push(
4
4
  'config/**/*.{rb,yml}',
5
- 'test/factories/*.rb',
5
+ 'db/schema.rb',
6
6
  'Gemfile.lock'
7
7
  )
8
8
 
9
- Test::Loop.test_file_matchers['app/**/*.rb'] =
10
- Test::Loop.test_file_matchers['lib/**/*.rb']
9
+ Test::Loop.test_file_matchers['{app,lib,test,spec}/**/*.rb'] =
10
+ Test::Loop.test_file_matchers.delete('lib/**/*.rb')
11
11
 
12
12
  require 'rails/railtie'
13
13
  Class.new Rails::Railtie do
data/lib/test/loop.rb CHANGED
@@ -223,16 +223,13 @@ module Test
223
223
 
224
224
  started_at = Time.now
225
225
  worker_pid = fork do
226
- # handle signals meant for worker process
227
- [:TERM, :CHLD].each {|sig| trap sig, 'DEFAULT' }
228
-
229
- # ignore signals meant for master process
230
- [:INT, :TSTP, :QUIT].each {|sig| trap sig, 'IGNORE' }
231
-
232
226
  # detach worker from master's terminal device so that
233
227
  # it does not receieve the user's control-key presses
234
228
  Process.setsid
235
229
 
230
+ # unregister signal handlers inherited from master process
231
+ [:TERM, :CHLD, :INT, :TSTP, :QUIT].each {|sig| trap sig, 'DEFAULT' }
232
+
236
233
  # detach worker from master's standard input stream
237
234
  STDIN.reopen IO.pipe.first
238
235
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: test-loop
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 12.0.1
5
+ version: 12.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Suraj N. Kurapati
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-04-20 00:00:00 -07:00
14
+ date: 2011-04-21 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency