ZenTest 4.4.2 → 4.5.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.
- data.tar.gz.sig +3 -2
- data/.gemtest +0 -0
- data/History.txt +19 -0
- data/Manifest.txt +1 -0
- data/bin/autotest +0 -1
- data/lib/autotest.rb +50 -6
- data/lib/autotest/isolate.rb +1 -1
- data/lib/autotest/preload.rb +56 -0
- data/lib/autotest/restart.rb +1 -5
- data/lib/multiruby.rb +1 -1
- data/lib/zentest.rb +1 -1
- data/test/test_autotest.rb +18 -1
- metadata +22 -11
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
�����J�Z��<�bFG�NS��&7��#)u~��p'���Ѝb���H1�i���kw�L�Tw#�2��k��{MK�����8 �{��Z�D[�����P��b3�Ǹ��7Ȗ�����%���*�/{��k@ڀ�����2�b��C���=�W&/��d9��
|
2
|
+
A��^���pDO4��Z{ʤp� �hz��\���l�f��
|
3
|
+
c�W�eԐ#6e�O��*%..��2,ij �9n�a��a�z�WhK��H
|
data/.gemtest
ADDED
File without changes
|
data/History.txt
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
=== 4.5.0 / 2011-02-18
|
2
|
+
|
3
|
+
* 6 minor enhancements:
|
4
|
+
|
5
|
+
* Added autotest -w flag to turn on warnings. Turned off warnings by default.
|
6
|
+
* Added autotest/preload.rb to deal with rails being egregiously slow.
|
7
|
+
* Added child process handling/cleanup on signals.
|
8
|
+
* Added postinitialize hook.
|
9
|
+
* Improved restart mechanism to include all flags.
|
10
|
+
* Refactored restart plugin to Autotest#restart.
|
11
|
+
|
12
|
+
* 5 bug fixes:
|
13
|
+
|
14
|
+
* Added sigquit handler to restart app straight up.
|
15
|
+
* Fixed autotest/isolate so it works
|
16
|
+
* Fixed parse_options to take args array (default ARGV) and to be non-destructive.
|
17
|
+
* Strip ascii color to avoid false positives. (graemeworthy)
|
18
|
+
* Use RbConfig to remove warning
|
19
|
+
|
1
20
|
=== 4.4.2 / 2010-12-10
|
2
21
|
|
3
22
|
* 2 bug fixes:
|
data/Manifest.txt
CHANGED
data/bin/autotest
CHANGED
data/lib/autotest.rb
CHANGED
@@ -62,8 +62,9 @@ class Autotest
|
|
62
62
|
|
63
63
|
T0 = Time.at 0
|
64
64
|
|
65
|
-
ALL_HOOKS = [ :all_good, :died, :green, :initialize,
|
66
|
-
:
|
65
|
+
ALL_HOOKS = [ :all_good, :died, :green, :initialize,
|
66
|
+
:post_initialize, :interrupt, :quit, :ran_command,
|
67
|
+
:red, :reset, :run_command, :updated, :waiting ]
|
67
68
|
|
68
69
|
def self.options
|
69
70
|
@@options ||= {}
|
@@ -81,7 +82,7 @@ class Autotest
|
|
81
82
|
|
82
83
|
@@discoveries = []
|
83
84
|
|
84
|
-
def self.parse_options
|
85
|
+
def self.parse_options args = ARGV
|
85
86
|
require 'optparse'
|
86
87
|
options = {}
|
87
88
|
OptionParser.new do |opts|
|
@@ -125,11 +126,15 @@ class Autotest
|
|
125
126
|
options[:style] = Array(style)
|
126
127
|
end
|
127
128
|
|
129
|
+
opts.on("-w", "--warnings", "Turn on ruby warnings") do
|
130
|
+
$-w = true
|
131
|
+
end
|
132
|
+
|
128
133
|
opts.on "-h", "--help", "Show this." do
|
129
134
|
puts opts
|
130
135
|
exit 1
|
131
136
|
end
|
132
|
-
end.parse
|
137
|
+
end.parse args
|
133
138
|
|
134
139
|
Autotest.options.merge! options
|
135
140
|
|
@@ -268,6 +273,7 @@ class Autotest
|
|
268
273
|
# add/remove/clear accessor methods
|
269
274
|
@exception_list = []
|
270
275
|
@test_mappings = []
|
276
|
+
@child = nil
|
271
277
|
|
272
278
|
self.completed_re =
|
273
279
|
/\d+ tests, \d+ assertions, \d+ failures, \d+ errors(, \d+ skips)?/
|
@@ -312,6 +318,8 @@ class Autotest
|
|
312
318
|
|
313
319
|
def run
|
314
320
|
hook :initialize
|
321
|
+
hook :post_initialize
|
322
|
+
|
315
323
|
reset
|
316
324
|
add_sigint_handler
|
317
325
|
|
@@ -402,6 +410,8 @@ class Autotest
|
|
402
410
|
|
403
411
|
def add_sigint_handler
|
404
412
|
trap 'INT' do
|
413
|
+
Process.kill "KILL", @child if @child
|
414
|
+
|
405
415
|
if self.interrupted then
|
406
416
|
self.wants_to_quit = true
|
407
417
|
else
|
@@ -415,6 +425,32 @@ class Autotest
|
|
415
425
|
end
|
416
426
|
end
|
417
427
|
|
428
|
+
##
|
429
|
+
# Installs a sigquit handler
|
430
|
+
|
431
|
+
def add_sigquit_handler
|
432
|
+
trap 'QUIT' do
|
433
|
+
restart
|
434
|
+
end
|
435
|
+
end
|
436
|
+
|
437
|
+
def restart
|
438
|
+
Process.kill "KILL", @child if @child
|
439
|
+
|
440
|
+
cmd = [$0, *ARGV]
|
441
|
+
|
442
|
+
index = $LOAD_PATH.index RbConfig::CONFIG["sitelibdir"]
|
443
|
+
|
444
|
+
if index then
|
445
|
+
extra = $LOAD_PATH[0...index]
|
446
|
+
cmd = [Gem.ruby, "-I", extra.join(":")] + cmd
|
447
|
+
end
|
448
|
+
|
449
|
+
puts cmd.join(" ") if options[:verbose]
|
450
|
+
|
451
|
+
exec(*cmd)
|
452
|
+
end
|
453
|
+
|
418
454
|
##
|
419
455
|
# If there are no files left to test (because they've all passed),
|
420
456
|
# then all is good.
|
@@ -521,6 +557,7 @@ class Autotest
|
|
521
557
|
# there are failures record this.
|
522
558
|
|
523
559
|
def handle_results results
|
560
|
+
results = results.gsub(/\e\[\d+m/, '') # strip ascii color
|
524
561
|
failed = results.scan self.failed_results_re
|
525
562
|
completed = results[self.completed_re]
|
526
563
|
|
@@ -629,8 +666,8 @@ class Autotest
|
|
629
666
|
|
630
667
|
def ruby
|
631
668
|
ruby = ENV['RUBY']
|
632
|
-
ruby ||= File.join(
|
633
|
-
|
669
|
+
ruby ||= File.join(RbConfig::CONFIG['bindir'],
|
670
|
+
RbConfig::CONFIG['ruby_install_name'])
|
634
671
|
|
635
672
|
ruby.gsub! File::SEPARATOR, File::ALT_SEPARATOR if File::ALT_SEPARATOR
|
636
673
|
|
@@ -798,4 +835,11 @@ class Autotest
|
|
798
835
|
def self.add_hook name, &block
|
799
836
|
HOOKS[name] << block
|
800
837
|
end
|
838
|
+
|
839
|
+
add_hook :died do |at, args|
|
840
|
+
err = *args
|
841
|
+
warn "Unhandled exception: #{err}"
|
842
|
+
warn err.backtrace.join("\n ")
|
843
|
+
warn "Quitting"
|
844
|
+
end
|
801
845
|
end
|
data/lib/autotest/isolate.rb
CHANGED
@@ -0,0 +1,56 @@
|
|
1
|
+
module Autotest::Preload
|
2
|
+
def self.glob
|
3
|
+
@glob
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.glob= o
|
7
|
+
@glob = o
|
8
|
+
end
|
9
|
+
|
10
|
+
self.glob = "test/test_helper.rb"
|
11
|
+
|
12
|
+
Autotest.add_hook :post_initialize do |at, *args|
|
13
|
+
at.add_sigquit_handler
|
14
|
+
|
15
|
+
warn "pre-loading initializers"
|
16
|
+
t0 = Time.now
|
17
|
+
Dir[self.glob].each do |path|
|
18
|
+
require path
|
19
|
+
end
|
20
|
+
warn "done pre-loading initializers in %.2f seconds" % [Time.now - t0]
|
21
|
+
|
22
|
+
false
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Autotest
|
27
|
+
alias :old_run_tests :run_tests
|
28
|
+
|
29
|
+
def run_tests
|
30
|
+
hook :run_command
|
31
|
+
|
32
|
+
new_mtime = self.find_files_to_test
|
33
|
+
return unless new_mtime
|
34
|
+
self.last_mtime = new_mtime
|
35
|
+
|
36
|
+
begin
|
37
|
+
# TODO: deal with unit_diff and partial test runs later
|
38
|
+
original_argv = ARGV.dup
|
39
|
+
ARGV.clear
|
40
|
+
|
41
|
+
@child = fork do
|
42
|
+
trap "QUIT", "DEFAULT"
|
43
|
+
trap "INT", "DEFAULT"
|
44
|
+
files_to_test.keys.each do |file|
|
45
|
+
load file
|
46
|
+
end
|
47
|
+
end
|
48
|
+
Process.wait
|
49
|
+
ensure
|
50
|
+
@child = nil
|
51
|
+
ARGV.replace original_argv
|
52
|
+
end
|
53
|
+
|
54
|
+
hook :ran_command
|
55
|
+
end
|
56
|
+
end
|
data/lib/autotest/restart.rb
CHANGED
@@ -2,11 +2,7 @@ module Autotest::Restart
|
|
2
2
|
Autotest.add_hook :updated do |at, *args|
|
3
3
|
if args.flatten.include? ".autotest" then
|
4
4
|
warn "Detected change to .autotest, restarting"
|
5
|
-
|
6
|
-
cmd << " -v" if $v
|
7
|
-
cmd += ARGV
|
8
|
-
|
9
|
-
exec(*cmd)
|
5
|
+
at.restart
|
10
6
|
end
|
11
7
|
end
|
12
8
|
end
|
data/lib/multiruby.rb
CHANGED
@@ -45,7 +45,7 @@ require 'open-uri'
|
|
45
45
|
module Multiruby
|
46
46
|
def self.env name, fallback; ENV[name] || fallback; end # :nodoc:
|
47
47
|
|
48
|
-
TAGS = %w( 1_8_6 1_8_7 1_9_1)
|
48
|
+
TAGS = %w( 1_8_6 1_8_7 1_9_1 1_9_2)
|
49
49
|
BRANCHES = %w(1_8 1_8_6 1_8_7 trunk)
|
50
50
|
|
51
51
|
VERSIONS = env('VERSIONS', TAGS.join(":").gsub(/_/, '.')).split(/:/)
|
data/lib/zentest.rb
CHANGED
data/test/test_autotest.rb
CHANGED
@@ -30,7 +30,7 @@ class TestAutotest < MiniTest::Unit::TestCase
|
|
30
30
|
|
31
31
|
alias :deny :refute
|
32
32
|
|
33
|
-
RUBY = File.join(
|
33
|
+
RUBY = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) unless defined? RUBY
|
34
34
|
|
35
35
|
def setup
|
36
36
|
@test_class = 'TestBlah'
|
@@ -285,6 +285,23 @@ Finished in 0.001655 seconds.
|
|
285
285
|
exp = { "tests" => 12, "assertions" => 18, "failures" => 0, "errors" => 0 }
|
286
286
|
assert_equal exp, @a.latest_results
|
287
287
|
|
288
|
+
# when colours are in the error message
|
289
|
+
color_error = "
|
290
|
+
1) \e[31mFailure:\e[0m
|
291
|
+
test_fail1(#{@test_class}) [#{@test}:59]:
|
292
|
+
2) \e[31mFailure:\e[0m
|
293
|
+
test_fail2(#{@test_class}) [#{@test}:60]:
|
294
|
+
3) \e[31mError:\e[0m
|
295
|
+
test_error1(#{@test_class}):
|
296
|
+
3) \e[31mError:\e[0m
|
297
|
+
test_error2(#{@test_class}):
|
298
|
+
|
299
|
+
12 tests, 18 assertions, 2 failures, 2 errors
|
300
|
+
"
|
301
|
+
@a.handle_results(color_error)
|
302
|
+
assert @a.tainted
|
303
|
+
|
304
|
+
|
288
305
|
s2 = "
|
289
306
|
1) Failure:
|
290
307
|
test_fail1(#{@test_class}) [#{@test}:59]:
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ZenTest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 43
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 4
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 4.
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 4.5.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Ryan Davis
|
@@ -36,35 +37,39 @@ cert_chain:
|
|
36
37
|
FBHgymkyj/AOSqKRIpXPhjC6
|
37
38
|
-----END CERTIFICATE-----
|
38
39
|
|
39
|
-
date:
|
40
|
+
date: 2011-02-18 00:00:00 -08:00
|
40
41
|
default_executable:
|
41
42
|
dependencies:
|
42
43
|
- !ruby/object:Gem::Dependency
|
43
44
|
name: minitest
|
44
45
|
prerelease: false
|
45
46
|
requirement: &id001 !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
46
48
|
requirements:
|
47
49
|
- - ">="
|
48
50
|
- !ruby/object:Gem::Version
|
51
|
+
hash: 11
|
49
52
|
segments:
|
50
53
|
- 2
|
51
54
|
- 0
|
52
|
-
-
|
53
|
-
version: 2.0.
|
55
|
+
- 2
|
56
|
+
version: 2.0.2
|
54
57
|
type: :development
|
55
58
|
version_requirements: *id001
|
56
59
|
- !ruby/object:Gem::Dependency
|
57
60
|
name: hoe
|
58
61
|
prerelease: false
|
59
62
|
requirement: &id002 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
60
64
|
requirements:
|
61
65
|
- - ">="
|
62
66
|
- !ruby/object:Gem::Version
|
67
|
+
hash: 41
|
63
68
|
segments:
|
64
69
|
- 2
|
65
|
-
-
|
66
|
-
-
|
67
|
-
version: 2.
|
70
|
+
- 9
|
71
|
+
- 1
|
72
|
+
version: 2.9.1
|
68
73
|
type: :development
|
69
74
|
version_requirements: *id002
|
70
75
|
description: |-
|
@@ -128,6 +133,7 @@ files:
|
|
128
133
|
- lib/autotest/bundler.rb
|
129
134
|
- lib/autotest/isolate.rb
|
130
135
|
- lib/autotest/once.rb
|
136
|
+
- lib/autotest/preload.rb
|
131
137
|
- lib/autotest/rcov.rb
|
132
138
|
- lib/autotest/restart.rb
|
133
139
|
- lib/autotest/timestamp.rb
|
@@ -142,6 +148,7 @@ files:
|
|
142
148
|
- test/test_unit_diff.rb
|
143
149
|
- test/test_zentest.rb
|
144
150
|
- test/test_zentest_mapping.rb
|
151
|
+
- .gemtest
|
145
152
|
has_rdoc: true
|
146
153
|
homepage: http://www.zenspider.com/ZSS/Products/ZenTest/
|
147
154
|
licenses: []
|
@@ -153,23 +160,27 @@ rdoc_options:
|
|
153
160
|
require_paths:
|
154
161
|
- lib
|
155
162
|
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
156
164
|
requirements:
|
157
165
|
- - ">="
|
158
166
|
- !ruby/object:Gem::Version
|
167
|
+
hash: 3
|
159
168
|
segments:
|
160
169
|
- 0
|
161
170
|
version: "0"
|
162
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
+
none: false
|
163
173
|
requirements:
|
164
174
|
- - ">="
|
165
175
|
- !ruby/object:Gem::Version
|
176
|
+
hash: 3
|
166
177
|
segments:
|
167
178
|
- 0
|
168
179
|
version: "0"
|
169
180
|
requirements: []
|
170
181
|
|
171
182
|
rubyforge_project: zentest
|
172
|
-
rubygems_version: 1.
|
183
|
+
rubygems_version: 1.4.2
|
173
184
|
signing_key:
|
174
185
|
specification_version: 3
|
175
186
|
summary: "ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby"
|
metadata.gz.sig
CHANGED
Binary file
|