autotest 4.3.2 → 4.4.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/History.txt +23 -0
- data/VERSION +1 -1
- data/autotest.gemspec +2 -2
- data/bin/autotest +5 -4
- data/lib/autotest.rb +43 -2
- data/lib/autotest/rcov.rb +8 -4
- data/lib/autotest/restart.rb +4 -3
- data/test/test_autotest.rb +16 -8
- metadata +4 -4
data/History.txt
CHANGED
@@ -1,3 +1,26 @@
|
|
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
|
+
|
17
|
+
=== 4.3.3 / 2010-06-17
|
18
|
+
|
19
|
+
* 2 minor enhancements:
|
20
|
+
|
21
|
+
* Added options and removed pattern from Autotest::RCov
|
22
|
+
* update_rubygems now deletes cached rubygems installs
|
23
|
+
|
1
24
|
=== 4.3.2 / 2010-06-02
|
2
25
|
|
3
26
|
* 1 minor enhancement:
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.
|
1
|
+
4.4.0
|
data/autotest.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{autotest}
|
8
|
-
s.version = "4.
|
8
|
+
s.version = "4.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ryan Davis"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-29}
|
13
13
|
s.executables = ["autotest", "unit_diff"]
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"README.markdown"
|
data/bin/autotest
CHANGED
@@ -5,7 +5,7 @@ require 'optparse'
|
|
5
5
|
options = {}
|
6
6
|
OptionParser.new do |opts|
|
7
7
|
opts.banner = <<BANNER
|
8
|
-
|
8
|
+
Continuous testing for your ruby app.
|
9
9
|
|
10
10
|
Usage:
|
11
11
|
autotest [options]
|
@@ -20,7 +20,7 @@ BANNER
|
|
20
20
|
opts.on("-h", "--help","Show this.") { puts opts;exit }
|
21
21
|
end.parse!
|
22
22
|
|
23
|
-
#
|
23
|
+
# remove warnings from Dir.[]
|
24
24
|
class Dir
|
25
25
|
class << self
|
26
26
|
alias :old_index :[]
|
@@ -34,12 +34,13 @@ class Dir
|
|
34
34
|
end
|
35
35
|
|
36
36
|
#run the correct Autotest variant fitting to the local structure
|
37
|
-
$LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib")
|
38
|
-
|
37
|
+
$LOAD_PATH.unshift(File.expand_path("#{File.dirname(__FILE__)}/../lib"))
|
39
38
|
require 'autotest'
|
39
|
+
|
40
40
|
Autotest.options.merge!(options)
|
41
41
|
target = Autotest
|
42
42
|
style = Autotest.autodiscover
|
43
|
+
|
43
44
|
unless style.empty? then
|
44
45
|
mod = "autotest/#{style.join("_")}"
|
45
46
|
puts "loading #{mod}" unless options[:quiet]
|
data/lib/autotest.rb
CHANGED
@@ -80,6 +80,45 @@ class Autotest
|
|
80
80
|
|
81
81
|
@@discoveries = []
|
82
82
|
|
83
|
+
##
|
84
|
+
# Provide some help
|
85
|
+
def self.usage
|
86
|
+
help = [
|
87
|
+
"autotest [options]",
|
88
|
+
nil,
|
89
|
+
"Autotest automatically tests code that has changed.",
|
90
|
+
"It assumes the code is in lib, and tests are in tests.",
|
91
|
+
"Autotest uses plugins to control what happens.",
|
92
|
+
"You configure plugins with require statements in the",
|
93
|
+
".autotest file in your project base directory,",
|
94
|
+
"and a default configuration for all your projects",
|
95
|
+
"in the .autotest file in your home directory.",
|
96
|
+
|
97
|
+
nil,
|
98
|
+
"options:",
|
99
|
+
"\t-h",
|
100
|
+
"\t-help\t\tYou're looking at it.",
|
101
|
+
nil,
|
102
|
+
"\t-v\t\tBe verbose.",
|
103
|
+
"\t\t\tPrints files that autotest doesn't know how to map to",
|
104
|
+
"\t\t\ttests.",
|
105
|
+
nil,
|
106
|
+
"\t-q\t\tBe more quiet.",
|
107
|
+
nil,
|
108
|
+
"\t-f\t\tFast start.",
|
109
|
+
"\t\t\tDoesn't initially run tests at start.",
|
110
|
+
]
|
111
|
+
STDERR.puts help.join("\n")
|
112
|
+
end
|
113
|
+
|
114
|
+
##
|
115
|
+
# Call Autotest.usage then exit with 1.
|
116
|
+
def self.usage_with_exit
|
117
|
+
self.usage
|
118
|
+
exit 1
|
119
|
+
end
|
120
|
+
|
121
|
+
|
83
122
|
##
|
84
123
|
# Add a proc to the collection of discovery procs. See
|
85
124
|
# +autodiscover+.
|
@@ -157,6 +196,8 @@ class Autotest
|
|
157
196
|
:unit_diff,
|
158
197
|
:wants_to_quit)
|
159
198
|
|
199
|
+
alias tainted? tainted
|
200
|
+
|
160
201
|
##
|
161
202
|
# Initialize the instance and then load the user's .autotest file, if any.
|
162
203
|
|
@@ -223,14 +264,14 @@ class Autotest
|
|
223
264
|
loop do
|
224
265
|
begin # ^c handler
|
225
266
|
get_to_green
|
226
|
-
if
|
267
|
+
if tainted? and not options[:no_full_after_failed]
|
227
268
|
rerun_all_tests
|
228
269
|
else
|
229
270
|
hook :all_good
|
230
271
|
end
|
231
272
|
wait_for_changes
|
232
273
|
rescue Interrupt
|
233
|
-
break if
|
274
|
+
break if wants_to_quit
|
234
275
|
reset
|
235
276
|
end
|
236
277
|
end
|
data/lib/autotest/rcov.rb
CHANGED
@@ -1,16 +1,21 @@
|
|
1
1
|
module Autotest::RCov
|
2
|
-
@@command, @@
|
2
|
+
@@command, @@options = "rcov", nil
|
3
3
|
|
4
4
|
def self.command= o
|
5
5
|
@@command = o
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.pattern= o
|
9
|
-
|
9
|
+
warn "RCov.pattern= no longer has any functionality. please remove."
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.options= o
|
13
|
+
@@options = o
|
10
14
|
end
|
11
15
|
|
12
16
|
Autotest.add_hook :all_good do |at|
|
13
|
-
|
17
|
+
options = @@options ? "RCOVOPTS=\"#{@@options}\"" : ""
|
18
|
+
system "rake #{@@command} #{options}"
|
14
19
|
false
|
15
20
|
end
|
16
21
|
|
@@ -20,4 +25,3 @@ module Autotest::RCov
|
|
20
25
|
false
|
21
26
|
end
|
22
27
|
end
|
23
|
-
|
data/lib/autotest/restart.rb
CHANGED
@@ -2,10 +2,11 @@ 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
|
-
cmd =
|
5
|
+
cmd = %w(autotest)
|
6
6
|
cmd << " -v" if $v
|
7
|
-
|
8
|
-
|
7
|
+
cmd += ARGV
|
8
|
+
|
9
|
+
exec(*cmd)
|
9
10
|
end
|
10
11
|
end
|
11
12
|
end
|
data/test/test_autotest.rb
CHANGED
@@ -110,7 +110,10 @@ class TestAutotest < Test::Unit::TestCase
|
|
110
110
|
|
111
111
|
@a.find_order = @files.keys.sort
|
112
112
|
|
113
|
-
input = [['test_fail1',
|
113
|
+
input = [['test_fail1', @test_class],
|
114
|
+
['test_fail2', @test_class],
|
115
|
+
['test_error1', @test_class],
|
116
|
+
['test_error2', @test_class]]
|
114
117
|
result = @a.consolidate_failures input
|
115
118
|
expected = { @test => %w( test_fail1 test_fail2 test_error1 test_error2 ) }
|
116
119
|
assert_equal expected, result
|
@@ -133,10 +136,10 @@ class TestAutotest < Test::Unit::TestCase
|
|
133
136
|
|
134
137
|
def test_consolidate_failures_nested_classes
|
135
138
|
@files.clear
|
136
|
-
@files['lib/outer.rb']
|
139
|
+
@files['lib/outer.rb'] = Time.at(5)
|
137
140
|
@files['lib/outer/inner.rb'] = Time.at(5)
|
138
|
-
@files[@inner_test]
|
139
|
-
@files[@outer_test]
|
141
|
+
@files[@inner_test] = Time.at(5)
|
142
|
+
@files[@outer_test] = Time.at(5)
|
140
143
|
|
141
144
|
@a.find_order = @files.keys.sort
|
142
145
|
|
@@ -363,9 +366,14 @@ test_error2(#{@test_class}):
|
|
363
366
|
}
|
364
367
|
|
365
368
|
unit_diff = File.expand_path("#{File.dirname(__FILE__)}/../bin/unit_diff")
|
369
|
+
pre = "#{RUBY} -I.:lib:test -rubygems"
|
370
|
+
req = ".each { |f| require f }\""
|
371
|
+
post = "| #{unit_diff} -u"
|
366
372
|
|
367
|
-
expected = [
|
368
|
-
|
373
|
+
expected = [
|
374
|
+
"#{pre} -e \"['test/unit', '#{@test}']#{req} #{post}",
|
375
|
+
"#{pre} test/test_fooby.rb -n \"/^(test_something1|test_something2)$/\" #{post}"
|
376
|
+
].join("; ")
|
369
377
|
|
370
378
|
result = @a.make_test_cmd f
|
371
379
|
assert_equal expected, result
|
@@ -429,8 +437,8 @@ test_error2(#{@test_class}):
|
|
429
437
|
|
430
438
|
assert @a.find_files_to_test(files)
|
431
439
|
assert_equal expected, @a.files_to_test
|
432
|
-
assert_equal t,
|
433
|
-
assert_equal "",
|
440
|
+
assert_equal t, @a.last_mtime
|
441
|
+
assert_equal "", @a.output.string
|
434
442
|
end
|
435
443
|
|
436
444
|
def util_mappings
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 4
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 4.
|
7
|
+
- 4
|
8
|
+
- 0
|
9
|
+
version: 4.4.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Ryan Davis
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-09-29 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|