ZenTest 4.3.3 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.txt +16 -0
- data/bin/multiruby_setup +7 -0
- data/lib/autotest.rb +5 -3
- data/lib/multiruby.rb +25 -32
- data/lib/zentest.rb +1 -15
- data/test/test_autotest.rb +15 -8
- metadata +42 -10
- metadata.gz.sig +1 -0
data.tar.gz.sig
ADDED
Binary file
|
data/History.txt
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
=== 4.4.0 / 2010-09-01
|
2
|
+
|
3
|
+
* 1 major enhancement:
|
4
|
+
|
5
|
+
* Removed git building. I'm dropping direct support for rubinius.
|
6
|
+
|
7
|
+
* 3 minor enhancements:
|
8
|
+
|
9
|
+
* Added multiruby mri:list:x.y.z command so you can see what's available.
|
10
|
+
* Enabled installing specific patch versions of ruby.
|
11
|
+
* multiruby rubygems:update now forces a build to be less confusing.
|
12
|
+
|
13
|
+
* 1 bug fix:
|
14
|
+
|
15
|
+
* Removed redundant test_to_normal, now in zentest_mappings
|
16
|
+
|
1
17
|
=== 4.3.3 / 2010-06-17
|
2
18
|
|
3
19
|
* 2 minor enhancements:
|
data/bin/multiruby_setup
CHANGED
@@ -30,6 +30,7 @@ ARGV.each do |spec|
|
|
30
30
|
Multiruby.merge_rubygems
|
31
31
|
when "rubygems:update", "update:rubygems" then
|
32
32
|
Multiruby.update_rubygems
|
33
|
+
ARGV << "build"
|
33
34
|
when "update" then
|
34
35
|
Multiruby.update
|
35
36
|
when "tags" then
|
@@ -57,6 +58,12 @@ ARGV.each do |spec|
|
|
57
58
|
ARGV << "build"
|
58
59
|
when /mri:svn:tag:(.*)/ then
|
59
60
|
ARGV << "mri:svn:tag:#{$1}:#{$1}" << "build"
|
61
|
+
when /mri:list:(.*)/ then
|
62
|
+
v = $1
|
63
|
+
ver = v[/\d+\.\d+/]
|
64
|
+
url = "#{Multiruby::RUBY_URL}/#{ver}/"
|
65
|
+
|
66
|
+
puts Multiruby.matching_versions(url, v).join("\n")
|
60
67
|
when /mri:tar:(.*)/ then
|
61
68
|
Multiruby.fetch_tar $1
|
62
69
|
ARGV << "build"
|
data/lib/autotest.rb
CHANGED
@@ -144,6 +144,8 @@ class Autotest
|
|
144
144
|
:unit_diff,
|
145
145
|
:wants_to_quit)
|
146
146
|
|
147
|
+
alias tainted? tainted
|
148
|
+
|
147
149
|
##
|
148
150
|
# Initialize the instance and then load the user's .autotest file, if any.
|
149
151
|
|
@@ -196,14 +198,14 @@ class Autotest
|
|
196
198
|
loop do # ^c handler
|
197
199
|
begin
|
198
200
|
get_to_green
|
199
|
-
if
|
201
|
+
if tainted? then
|
200
202
|
rerun_all_tests
|
201
203
|
else
|
202
204
|
hook :all_good
|
203
205
|
end
|
204
206
|
wait_for_changes
|
205
207
|
rescue Interrupt
|
206
|
-
break if
|
208
|
+
break if wants_to_quit
|
207
209
|
reset
|
208
210
|
end
|
209
211
|
end
|
@@ -371,7 +373,7 @@ class Autotest
|
|
371
373
|
# if any file is newer than the previously recorded most recent
|
372
374
|
# file.
|
373
375
|
|
374
|
-
def find_files_to_test
|
376
|
+
def find_files_to_test files = find_files
|
375
377
|
updated = files.select { |filename, mtime| self.last_mtime < mtime }
|
376
378
|
|
377
379
|
p updated if $v unless updated.empty? || self.last_mtime.to_i == 0
|
data/lib/multiruby.rb
CHANGED
@@ -123,7 +123,7 @@ module Multiruby
|
|
123
123
|
def self.clean
|
124
124
|
self.each_scm_build_dir do |style|
|
125
125
|
case style
|
126
|
-
when :svn
|
126
|
+
when :svn then
|
127
127
|
if File.exist? "Rakefile" then
|
128
128
|
run "rake clean"
|
129
129
|
elsif File.exist? "Makefile" then
|
@@ -140,9 +140,8 @@ module Multiruby
|
|
140
140
|
Dir["*"].each do |dir|
|
141
141
|
next unless File.directory? dir
|
142
142
|
Dir.chdir dir do
|
143
|
-
if File.exist?(".svn")
|
144
|
-
|
145
|
-
yield scm
|
143
|
+
if File.exist?(".svn") then
|
144
|
+
yield :svn
|
146
145
|
else
|
147
146
|
yield :none
|
148
147
|
end
|
@@ -151,23 +150,31 @@ module Multiruby
|
|
151
150
|
end
|
152
151
|
end
|
153
152
|
|
154
|
-
def self.
|
153
|
+
def self.matching_versions url, matching=nil
|
155
154
|
file = URI.parse(url).read
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
155
|
+
|
156
|
+
map = {
|
157
|
+
"preview" => "beta",
|
158
|
+
"rc" => "beta2",
|
159
|
+
"p" => "release",
|
160
|
+
"tar" => "aargh",
|
161
|
+
"gz" => "aargh",
|
162
|
+
}
|
163
|
+
|
164
|
+
versions = file.scan(/href="(ruby.*tar.gz)"/).flatten.sort_by { |s|
|
165
|
+
s.scan(/\d+|[a-z]+/).map { |a| Integer(a) rescue map[a] || a }
|
166
|
+
}
|
161
167
|
|
162
168
|
versions = versions.grep(/#{Regexp.escape(matching)}/) if matching
|
163
|
-
|
169
|
+
|
170
|
+
versions
|
164
171
|
end
|
165
172
|
|
166
173
|
def self.fetch_tar v
|
167
174
|
in_versions_dir do
|
168
175
|
warn " Determining latest version for #{v}"
|
169
176
|
ver = v[/\d+\.\d+/]
|
170
|
-
base =
|
177
|
+
base = matching_versions("#{RUBY_URL}/#{ver}/", v).last
|
171
178
|
abort "Could not determine release for #{v}" unless base
|
172
179
|
url = File.join RUBY_URL, ver, base
|
173
180
|
unless File.file? base then
|
@@ -181,13 +188,6 @@ module Multiruby
|
|
181
188
|
end
|
182
189
|
end
|
183
190
|
|
184
|
-
def self.git_clone url, dir
|
185
|
-
Multiruby.in_versions_dir do
|
186
|
-
Multiruby.run "git clone #{url} #{dir}" unless File.directory? dir
|
187
|
-
FileUtils.ln_sf "../versions/#{dir}", "../build/#{dir}"
|
188
|
-
end
|
189
|
-
end
|
190
|
-
|
191
191
|
def self.gnu_utils_build inst_dir
|
192
192
|
run "autoconf" unless test ?f, "configure"
|
193
193
|
run "./configure --enable-shared --prefix #{inst_dir}", "log.configure" unless
|
@@ -201,31 +201,31 @@ module Multiruby
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def self.in_build_dir
|
204
|
-
|
204
|
+
in_root_dir "build" do
|
205
205
|
yield
|
206
206
|
end
|
207
207
|
end
|
208
208
|
|
209
209
|
def self.in_install_dir
|
210
|
-
|
210
|
+
in_root_dir "install" do
|
211
211
|
yield
|
212
212
|
end
|
213
213
|
end
|
214
214
|
|
215
|
-
def self.in_root_dir
|
216
|
-
Dir.chdir self.root_dir do
|
215
|
+
def self.in_root_dir subdir = ""
|
216
|
+
Dir.chdir File.join(self.root_dir, subdir) do
|
217
217
|
yield
|
218
218
|
end
|
219
219
|
end
|
220
220
|
|
221
221
|
def self.in_tmp_dir
|
222
|
-
|
222
|
+
in_root_dir "tmp" do
|
223
223
|
yield
|
224
224
|
end
|
225
225
|
end
|
226
226
|
|
227
227
|
def self.in_versions_dir
|
228
|
-
|
228
|
+
in_root_dir "versions" do
|
229
229
|
yield
|
230
230
|
end
|
231
231
|
end
|
@@ -370,13 +370,6 @@ module Multiruby
|
|
370
370
|
else
|
371
371
|
warn " update in this svn dir not supported yet: #{dir}"
|
372
372
|
end
|
373
|
-
when :git then
|
374
|
-
case dir
|
375
|
-
when /rubinius/ then
|
376
|
-
run "rake git:update build" # minor cheat by building here
|
377
|
-
else
|
378
|
-
warn " update in this git dir not supported yet: #{dir}"
|
379
|
-
end
|
380
373
|
else
|
381
374
|
warn " update in non-svn dir not supported yet: #{dir}"
|
382
375
|
end
|
data/lib/zentest.rb
CHANGED
@@ -53,7 +53,7 @@ end
|
|
53
53
|
|
54
54
|
class ZenTest
|
55
55
|
|
56
|
-
VERSION = '4.
|
56
|
+
VERSION = '4.4.0'
|
57
57
|
|
58
58
|
include ZenTestMapping
|
59
59
|
|
@@ -419,20 +419,6 @@ class ZenTest
|
|
419
419
|
end # @klasses[klassname]
|
420
420
|
end
|
421
421
|
|
422
|
-
def test_to_normal(_name, klassname=nil)
|
423
|
-
super do |name|
|
424
|
-
if defined? @inherited_methods then
|
425
|
-
known_methods = (@inherited_methods[klassname] || {}).keys.sort.reverse
|
426
|
-
known_methods_re = known_methods.map {|s| Regexp.escape(s) }.join("|")
|
427
|
-
|
428
|
-
name = name.sub(/^(#{known_methods_re})(_.*)?$/) { $1 } unless
|
429
|
-
known_methods_re.empty?
|
430
|
-
|
431
|
-
name
|
432
|
-
end
|
433
|
-
end
|
434
|
-
end
|
435
|
-
|
436
422
|
# create a given method at a given
|
437
423
|
# indentation. Returns an array containing
|
438
424
|
# the lines of the method.
|
data/test/test_autotest.rb
CHANGED
@@ -116,7 +116,10 @@ class TestAutotest < MiniTest::Unit::TestCase
|
|
116
116
|
|
117
117
|
@a.find_order = @files.keys.sort
|
118
118
|
|
119
|
-
input = [['test_fail1',
|
119
|
+
input = [['test_fail1', @test_class],
|
120
|
+
['test_fail2', @test_class],
|
121
|
+
['test_error1', @test_class],
|
122
|
+
['test_error2', @test_class]]
|
120
123
|
result = @a.consolidate_failures input
|
121
124
|
expected = { @test => %w( test_fail1 test_fail2 test_error1 test_error2 ) }
|
122
125
|
assert_equal expected, result
|
@@ -139,10 +142,10 @@ class TestAutotest < MiniTest::Unit::TestCase
|
|
139
142
|
|
140
143
|
def test_consolidate_failures_nested_classes
|
141
144
|
@files.clear
|
142
|
-
@files['lib/outer.rb']
|
145
|
+
@files['lib/outer.rb'] = Time.at(5)
|
143
146
|
@files['lib/outer/inner.rb'] = Time.at(5)
|
144
|
-
@files[@inner_test]
|
145
|
-
@files[@outer_test]
|
147
|
+
@files[@inner_test] = Time.at(5)
|
148
|
+
@files[@outer_test] = Time.at(5)
|
146
149
|
|
147
150
|
@a.find_order = @files.keys.sort
|
148
151
|
|
@@ -368,8 +371,12 @@ test_error2(#{@test_class}):
|
|
368
371
|
'test/test_fooby.rb' => [ 'test_something1', 'test_something2' ]
|
369
372
|
}
|
370
373
|
|
371
|
-
|
372
|
-
|
374
|
+
pre = "#{RUBY} -I.:lib:test -rubygems"
|
375
|
+
req = ".each { |f| require f }\""
|
376
|
+
post = "| unit_diff -u"
|
377
|
+
|
378
|
+
expected = [ "#{pre} -e \"%w[test/unit #{@test}]#{req} #{post}",
|
379
|
+
"#{pre} test/test_fooby.rb -n \"/^(test_something1|test_something2)$/\" #{post}" ].join("; ")
|
373
380
|
|
374
381
|
result = @a.make_test_cmd f
|
375
382
|
assert_equal expected, result
|
@@ -433,8 +440,8 @@ test_error2(#{@test_class}):
|
|
433
440
|
|
434
441
|
assert @a.find_files_to_test(files)
|
435
442
|
assert_equal expected, @a.files_to_test
|
436
|
-
assert_equal t,
|
437
|
-
assert_equal "",
|
443
|
+
assert_equal t, @a.last_mtime
|
444
|
+
assert_equal "", @a.output.string
|
438
445
|
end
|
439
446
|
|
440
447
|
def util_mappings
|
metadata
CHANGED
@@ -1,30 +1,54 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ZenTest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 47
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 4
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 4.
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 4.4.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Ryan Davis
|
13
14
|
- Eric Hodel
|
14
15
|
autorequire:
|
15
16
|
bindir: bin
|
16
|
-
cert_chain:
|
17
|
+
cert_chain:
|
18
|
+
- |
|
19
|
+
-----BEGIN CERTIFICATE-----
|
20
|
+
MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
21
|
+
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
22
|
+
GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
|
23
|
+
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
24
|
+
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
25
|
+
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
26
|
+
taCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT
|
27
|
+
oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
|
28
|
+
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
29
|
+
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
30
|
+
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
31
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
32
|
+
AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
|
33
|
+
vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
|
34
|
+
w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
|
35
|
+
l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
|
36
|
+
n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
|
37
|
+
FBHgymkyj/AOSqKRIpXPhjC6
|
38
|
+
-----END CERTIFICATE-----
|
17
39
|
|
18
|
-
date: 2010-
|
40
|
+
date: 2010-09-01 00:00:00 -07:00
|
19
41
|
default_executable:
|
20
42
|
dependencies:
|
21
43
|
- !ruby/object:Gem::Dependency
|
22
44
|
name: rubyforge
|
23
45
|
prerelease: false
|
24
46
|
requirement: &id001 !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
25
48
|
requirements:
|
26
49
|
- - ">="
|
27
50
|
- !ruby/object:Gem::Version
|
51
|
+
hash: 7
|
28
52
|
segments:
|
29
53
|
- 2
|
30
54
|
- 0
|
@@ -36,28 +60,32 @@ dependencies:
|
|
36
60
|
name: minitest
|
37
61
|
prerelease: false
|
38
62
|
requirement: &id002 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
39
64
|
requirements:
|
40
65
|
- - ">="
|
41
66
|
- !ruby/object:Gem::Version
|
67
|
+
hash: 11
|
42
68
|
segments:
|
43
69
|
- 1
|
44
|
-
-
|
70
|
+
- 7
|
45
71
|
- 0
|
46
|
-
version: 1.
|
72
|
+
version: 1.7.0
|
47
73
|
type: :development
|
48
74
|
version_requirements: *id002
|
49
75
|
- !ruby/object:Gem::Dependency
|
50
76
|
name: hoe
|
51
77
|
prerelease: false
|
52
78
|
requirement: &id003 !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
53
80
|
requirements:
|
54
81
|
- - ">="
|
55
82
|
- !ruby/object:Gem::Version
|
83
|
+
hash: 21
|
56
84
|
segments:
|
57
85
|
- 2
|
58
86
|
- 6
|
59
|
-
-
|
60
|
-
version: 2.6.
|
87
|
+
- 1
|
88
|
+
version: 2.6.1
|
61
89
|
type: :development
|
62
90
|
version_requirements: *id003
|
63
91
|
description: |-
|
@@ -144,23 +172,27 @@ rdoc_options:
|
|
144
172
|
require_paths:
|
145
173
|
- lib
|
146
174
|
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
147
176
|
requirements:
|
148
177
|
- - ">="
|
149
178
|
- !ruby/object:Gem::Version
|
179
|
+
hash: 3
|
150
180
|
segments:
|
151
181
|
- 0
|
152
182
|
version: "0"
|
153
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
154
185
|
requirements:
|
155
186
|
- - ">="
|
156
187
|
- !ruby/object:Gem::Version
|
188
|
+
hash: 3
|
157
189
|
segments:
|
158
190
|
- 0
|
159
191
|
version: "0"
|
160
192
|
requirements: []
|
161
193
|
|
162
194
|
rubyforge_project: zentest
|
163
|
-
rubygems_version: 1.3.
|
195
|
+
rubygems_version: 1.3.7
|
164
196
|
signing_key:
|
165
197
|
specification_version: 3
|
166
198
|
summary: "ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby"
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�ж/�Hl5�<����ņsm�8C�����8��9��S�ᷴ�{V���o۳�da�p--������i�#[���55����g�ggԏ�VD��8B������.�3] ���3�����}�E����Bb�4��F�����g!�T���R��x(�Z�y��~���c�C0LЯ-�Eu>ck�p����ϐ\��/�D�<��yï��zJ���5�.$,6��`�� �c]���F��;ﳎ��H�&<w���
|