buildr 1.4.4-x86-mswin32 → 1.4.5-x86-mswin32
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/CHANGELOG +46 -0
- data/Rakefile +0 -1
- data/addon/buildr/bnd.rb +147 -0
- data/addon/buildr/jaxb_xjc.rb +72 -0
- data/addon/buildr/protobuf.rb +14 -1
- data/buildr.gemspec +6 -2
- data/doc/artifacts.textile +6 -0
- data/doc/contributing.textile +3 -0
- data/doc/download.textile +60 -0
- data/doc/index.textile +9 -15
- data/doc/installing.textile +23 -6
- data/doc/mailing_lists.textile +4 -0
- data/doc/more_stuff.textile +333 -6
- data/doc/packaging.textile +187 -1
- data/lib/buildr.rb +8 -1
- data/lib/buildr/clojure.rb +34 -0
- data/lib/buildr/clojure/shell.rb +52 -0
- data/lib/buildr/core.rb +3 -0
- data/lib/buildr/core/#application.rb# +700 -0
- data/lib/buildr/core/application.rb +18 -8
- data/lib/buildr/core/build.rb +2 -2
- data/lib/buildr/core/cc.rb +57 -63
- data/lib/buildr/core/checks.rb +4 -5
- data/lib/buildr/core/doc.rb +3 -1
- data/lib/buildr/core/generate.rb +2 -0
- data/lib/buildr/core/jrebel.rb +42 -0
- data/lib/buildr/core/linux.rb +30 -0
- data/lib/buildr/core/project.rb +9 -8
- data/lib/buildr/core/run.rb +3 -3
- data/lib/buildr/core/shell.rb +29 -90
- data/lib/buildr/core/test.rb +3 -3
- data/lib/buildr/core/transports.rb +5 -5
- data/lib/buildr/core/util.rb +2 -2
- data/lib/buildr/groovy.rb +1 -0
- data/lib/buildr/groovy/compiler.rb +12 -1
- data/lib/buildr/groovy/doc.rb +76 -0
- data/lib/buildr/groovy/shell.rb +24 -15
- data/lib/buildr/ide.rb +1 -1
- data/lib/buildr/ide/idea.rb +527 -141
- data/lib/buildr/java/bdd.rb +18 -13
- data/lib/buildr/java/ecj.rb +1 -3
- data/lib/buildr/java/jtestr_result.rb +295 -0
- data/lib/buildr/java/jtestr_runner.rb.erb +4 -6
- data/lib/buildr/java/packaging.rb +14 -3
- data/lib/buildr/java/pom.rb +6 -2
- data/lib/buildr/java/test_result.rb +15 -243
- data/lib/buildr/java/tests.rb +1 -1
- data/lib/buildr/packaging.rb +2 -1
- data/lib/buildr/packaging/#package.rb.rej# +19 -0
- data/lib/buildr/packaging/archive.rb +13 -3
- data/lib/buildr/packaging/artifact.rb +11 -12
- data/lib/buildr/packaging/tar.rb +4 -1
- data/lib/buildr/packaging/zip.rb +106 -1
- data/lib/buildr/resources/completed.png +0 -0
- data/lib/buildr/resources/failed.png +0 -0
- data/lib/buildr/resources/icons-license.txt +17 -0
- data/lib/buildr/run.rb +7 -14
- data/lib/buildr/scala/#Untitled-2# +7 -0
- data/lib/buildr/scala/bdd.rb +1 -1
- data/lib/buildr/scala/compiler.rb +1 -1
- data/lib/buildr/scala/doc.rb +20 -2
- data/lib/buildr/scala/shell.rb +14 -22
- data/lib/buildr/scala/tests.rb +2 -2
- data/lib/buildr/shell.rb +113 -108
- data/lib/buildr/version.rb +1 -1
- data/rakelib/checks.rake +9 -7
- data/rakelib/doc.rake +10 -0
- data/rakelib/release.rake +9 -0
- data/rakelib/rspec.rake +27 -28
- data/rakelib/setup.rake +1 -1
- data/rakelib/stage.rake +2 -2
- data/spec/addon/bnd_spec.rb +330 -0
- data/spec/addon/jaxb_xjc_spec.rb +125 -0
- data/spec/core/application_spec.rb +1 -1
- data/spec/core/build_spec.rb +7 -7
- data/spec/core/cc_spec.rb +154 -104
- data/spec/core/compile_spec.rb +3 -3
- data/spec/core/project_spec.rb +10 -0
- data/spec/core/run_spec.rb +1 -0
- data/spec/core/shell_spec.rb +146 -0
- data/spec/groovy/doc_spec.rb +65 -0
- data/spec/ide/eclipse_spec.rb +1 -1
- data/spec/ide/idea_spec.rb +1145 -0
- data/spec/java/bdd_spec.rb +3 -3
- data/spec/java/emma_spec.rb +2 -0
- data/spec/java/packaging_spec.rb +40 -11
- data/spec/java/test_coverage_helper.rb +1 -1
- data/spec/packaging/archive_spec.rb +76 -21
- data/spec/packaging/artifact_namespace_spec.rb +1 -1
- data/spec/packaging/artifact_spec.rb +14 -7
- data/spec/sandbox.rb +11 -4
- data/spec/scala/bdd_spec.rb +2 -2
- data/spec/scala/compiler_spec.rb +2 -2
- data/spec/scala/doc_spec.rb +24 -4
- data/spec/scala/scala.rb +2 -2
- data/spec/scala/tests_spec.rb +2 -2
- data/spec/spec_helpers.rb +9 -8
- data/spec/xpath_matchers.rb +121 -0
- metadata +246 -166
- data/lib/buildr/ide/idea.ipr.template +0 -300
- data/lib/buildr/ide/idea7x.ipr.template +0 -290
- data/lib/buildr/ide/idea7x.rb +0 -231
- data/spec/ide/idea7x_spec.rb +0 -96
data/lib/buildr/java/bdd.rb
CHANGED
@@ -17,7 +17,6 @@
|
|
17
17
|
require 'buildr/java/tests'
|
18
18
|
require 'buildr/java/test_result'
|
19
19
|
|
20
|
-
|
21
20
|
module Buildr
|
22
21
|
|
23
22
|
# Mixin for test frameworks using src/spec/{lang}
|
@@ -48,7 +47,7 @@ module Buildr
|
|
48
47
|
module TestFramework::JRubyBased
|
49
48
|
extend self
|
50
49
|
|
51
|
-
VERSION = '1.5.
|
50
|
+
VERSION = '1.5.6'
|
52
51
|
|
53
52
|
class << self
|
54
53
|
def version
|
@@ -107,9 +106,11 @@ module Buildr
|
|
107
106
|
else
|
108
107
|
cmd_options = task.options.only(:properties, :java_args)
|
109
108
|
cmd_options.update(:classpath => dependencies, :project => task.project)
|
110
|
-
jruby runner.file, tests, cmd_options
|
109
|
+
jruby runner.file, tests, cmd_options rescue nil
|
111
110
|
end
|
112
111
|
|
112
|
+
fail "Missing result YAML file: #{runner.result}" unless File.exist? runner.result
|
113
|
+
|
113
114
|
result = YAML.load(File.read(runner.result))
|
114
115
|
if Exception === result
|
115
116
|
raise [result.message, result.backtrace].flatten.join("\n")
|
@@ -197,7 +198,8 @@ module Buildr
|
|
197
198
|
runner.gems ||= {}
|
198
199
|
runner.rspec ||= ['--format', 'progress', '--format', "html:#{runner.html_report}"]
|
199
200
|
runner.format.each { |format| runner.rspec << '--format' << format } if runner.format
|
200
|
-
runner.rspec.push '--format', "Buildr::TestFramework::TestResult::YamlFormatter
|
201
|
+
runner.rspec.push '--format', "Buildr::TestFramework::TestResult::YamlFormatter"
|
202
|
+
runner.rspec.push '-o', runner.result
|
201
203
|
runner
|
202
204
|
end
|
203
205
|
|
@@ -240,8 +242,8 @@ module Buildr
|
|
240
242
|
|
241
243
|
def runner_config
|
242
244
|
runner = super
|
243
|
-
runner.gems.update 'rspec' => '~>1.
|
244
|
-
runner.requires.unshift '
|
245
|
+
runner.gems.update 'rspec' => '~> 2.1.0'
|
246
|
+
runner.requires.unshift 'rspec'
|
245
247
|
runner
|
246
248
|
end
|
247
249
|
|
@@ -258,14 +260,12 @@ module Buildr
|
|
258
260
|
<% else %>
|
259
261
|
output = STDOUT
|
260
262
|
<% end %>
|
261
|
-
parser = ::
|
263
|
+
parser = ::RSpec::Core::Parser.new
|
262
264
|
argv = <%= runner.rspec.inspect %> || []
|
263
265
|
argv.push *<%= tests.inspect %>
|
264
|
-
parser.order!(argv)
|
265
|
-
$rspec_options = parser.options
|
266
266
|
|
267
267
|
Buildr::TestFramework::TestResult::Error.guard('<%= runner.result %>') do
|
268
|
-
::
|
268
|
+
::RSpec::Core::CommandLine.new(argv).run(output, output)
|
269
269
|
end
|
270
270
|
exit 0 # let buildr figure the result from the yaml file
|
271
271
|
}
|
@@ -368,9 +368,15 @@ module Buildr
|
|
368
368
|
|
369
369
|
def runner_config
|
370
370
|
runner = super
|
371
|
-
# JtestR 0.
|
371
|
+
# JtestR 0.6.0 comes with rspec 1.3.0 (and any other jtestr dependency) included,
|
372
372
|
# so the rspec version used depends on the jtestr jar.
|
373
373
|
runner.requires.unshift 'jtestr'
|
374
|
+
runner.gems.update 'rspec' => '=1.3.0'
|
375
|
+
runner.requires.unshift 'spec'
|
376
|
+
runner.requires.unshift File.join(File.dirname(__FILE__), 'jtestr_result')
|
377
|
+
runner.rspec = ['--format', 'progress', '--format', "html:#{runner.html_report}"]
|
378
|
+
runner.format.each { |format| runner.rspec << '--format' << format } if runner.format
|
379
|
+
runner.rspec.push '--format', "Buildr::JtestR::YamlFormatter:#{runner.result}"
|
374
380
|
runner
|
375
381
|
end
|
376
382
|
|
@@ -378,10 +384,8 @@ module Buildr
|
|
378
384
|
runner_erb = File.join(File.dirname(__FILE__), 'jtestr_runner.rb.erb')
|
379
385
|
Filter::Mapper.new(:erb, binding).transform(File.read(runner_erb), runner_erb)
|
380
386
|
end
|
381
|
-
|
382
387
|
end
|
383
388
|
|
384
|
-
|
385
389
|
# JBehave is a Java BDD framework. To use in your project:
|
386
390
|
# test.using :jbehave
|
387
391
|
#
|
@@ -453,3 +457,4 @@ end
|
|
453
457
|
Buildr::TestFramework << Buildr::RSpec
|
454
458
|
Buildr::TestFramework << Buildr::JtestR
|
455
459
|
Buildr::TestFramework << Buildr::JBehave
|
460
|
+
|
data/lib/buildr/java/ecj.rb
CHANGED
@@ -23,14 +23,12 @@ module Buildr
|
|
23
23
|
specify :language=>:java, :sources => 'java', :source_ext => 'java',
|
24
24
|
:target=>'classes', :target_ext=>'class', :packaging=>:jar
|
25
25
|
|
26
|
-
|
27
|
-
|
28
26
|
def compile(sources, target, dependencies) #:nodoc:
|
29
27
|
check_options options, OPTIONS
|
30
28
|
cmd_args = []
|
31
29
|
# tools.jar contains the Java compiler.
|
32
30
|
dependencies << Java.tools_jar if Java.tools_jar
|
33
|
-
cmd_args << '-classpath' << dependencies.join(File::PATH_SEPARATOR) unless dependencies.empty?
|
31
|
+
cmd_args << '-classpath' << ('"' + dependencies.join(File::PATH_SEPARATOR) + '"') unless dependencies.empty?
|
34
32
|
source_paths = sources.select { |source| File.directory?(source) }
|
35
33
|
cmd_args << '-sourcepath' << source_paths.join(File::PATH_SEPARATOR) unless source_paths.empty?
|
36
34
|
cmd_args << '-d' << File.expand_path(target)
|
@@ -0,0 +1,295 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
# contributor license agreements. See the NOTICE file distributed with this
|
3
|
+
# work for additional information regarding copyright ownership. The ASF
|
4
|
+
# licenses this file to you under the Apache License, Version 2.0 (the
|
5
|
+
# "License"); you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
12
|
+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
13
|
+
# License for the specific language governing permissions and limitations under
|
14
|
+
# the License.
|
15
|
+
|
16
|
+
# necessary to require YAML even if it is mentioned by autoload as it fails on some platforms.
|
17
|
+
require 'yaml'
|
18
|
+
require 'fileutils'
|
19
|
+
|
20
|
+
module Buildr #:nodoc:
|
21
|
+
|
22
|
+
module JtestR
|
23
|
+
|
24
|
+
# An Rspec formatter used by JtestR
|
25
|
+
class YamlFormatter
|
26
|
+
attr_reader :result
|
27
|
+
|
28
|
+
attr_accessor :example_group, :options, :where
|
29
|
+
|
30
|
+
def initialize(options, where)
|
31
|
+
@options = options
|
32
|
+
@where = where
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[ example_started
|
36
|
+
start_dump dump_failure dump_summary dump_pending ].each do |meth|
|
37
|
+
module_eval "def #{meth}(*args); end"
|
38
|
+
end
|
39
|
+
|
40
|
+
def example_group_started(example_group)
|
41
|
+
@example_group = example_group
|
42
|
+
end
|
43
|
+
|
44
|
+
def example_passed(example)
|
45
|
+
result.succeeded << example_name(example)
|
46
|
+
end
|
47
|
+
|
48
|
+
def example_pending(example, counter)
|
49
|
+
result.succeeded << example_name(example)
|
50
|
+
end
|
51
|
+
|
52
|
+
def example_failed(example, counter, failure)
|
53
|
+
result.failed << example_name(example)
|
54
|
+
end
|
55
|
+
|
56
|
+
def start(example_count)
|
57
|
+
@result = Buildr::TestFramework::TestResult.new
|
58
|
+
end
|
59
|
+
|
60
|
+
def close
|
61
|
+
result.succeeded = result.succeeded - result.failed
|
62
|
+
FileUtils.mkdir_p File.dirname(where)
|
63
|
+
File.open(where, 'w') { |f| f.puts YAML.dump(result) }
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
def example_name(example)
|
68
|
+
if Spec::Example::ExampleProxy === example
|
69
|
+
example_group.location.gsub(/:\d+$/, '')
|
70
|
+
else
|
71
|
+
example.name.gsub(/(.+)(\..+\(\))/, '\1')
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end # YamlFormatter
|
75
|
+
|
76
|
+
# A JtestR ResultHandler
|
77
|
+
# Using this handler we can use RSpec formatters, like html/ci_reporter with JtestR
|
78
|
+
# Created for JTestrYamlFormatter
|
79
|
+
class ResultHandler
|
80
|
+
|
81
|
+
# Workaround for http://jira.codehaus.org/browse/JTESTR-68
|
82
|
+
module TestNGResultHandlerMixin
|
83
|
+
def onTestSuccess(test_result)
|
84
|
+
@result_handler.succeed_single(test_result.name)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
class BacktraceTweaker
|
89
|
+
attr_reader :ignore_patterns
|
90
|
+
def initialize
|
91
|
+
@ignore_patterns = ::Spec::Runner::QuietBacktraceTweaker::IGNORE_PATTERNS.dup
|
92
|
+
# ignore jruby/jtestr backtrace
|
93
|
+
ignore_patterns << /org\.jruby\.javasupport\.JavaMethod\./
|
94
|
+
ignore_patterns << /jtestr.*\.jar!/i << /runner\.rb/
|
95
|
+
end
|
96
|
+
|
97
|
+
def clean_up_double_slashes(line)
|
98
|
+
line.gsub!('//','/')
|
99
|
+
end
|
100
|
+
|
101
|
+
def tweak_backtrace(error)
|
102
|
+
return if error.backtrace.nil?
|
103
|
+
error.backtrace.collect! do |line|
|
104
|
+
clean_up_double_slashes(line)
|
105
|
+
ignore_patterns.each do |ignore|
|
106
|
+
if line =~ ignore
|
107
|
+
line = nil
|
108
|
+
break
|
109
|
+
end
|
110
|
+
end
|
111
|
+
line
|
112
|
+
end
|
113
|
+
error.backtrace.compact!
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
class << self
|
118
|
+
# an rspec reporter used to proxy events to rspec formatters
|
119
|
+
attr_reader :reporter
|
120
|
+
attr_accessor :test_files
|
121
|
+
|
122
|
+
def init(argv = [], out = STDOUT, err = STDERR)
|
123
|
+
::JtestR::TestNGResultHandler.module_eval { include TestNGResultHandlerMixin }
|
124
|
+
rspec_parser = ::Spec::Runner::OptionParser.new(err, out)
|
125
|
+
rspec_parser.order!(argv)
|
126
|
+
rspec_parser.options.backtrace_tweaker = BacktraceTweaker.new
|
127
|
+
@reporter = Spec::Runner::Reporter.new(rspec_parser.options)
|
128
|
+
end
|
129
|
+
|
130
|
+
def before
|
131
|
+
reporter.start(reporter.options.files.size)
|
132
|
+
end
|
133
|
+
|
134
|
+
def after
|
135
|
+
reporter.end
|
136
|
+
reporter.dump
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
|
141
|
+
module ExampleMethods
|
142
|
+
attr_accessor :name, :description, :__full_description, :location
|
143
|
+
end
|
144
|
+
|
145
|
+
def reporter
|
146
|
+
self.class.reporter
|
147
|
+
end
|
148
|
+
|
149
|
+
attr_accessor :example_group, :current_example, :current_failure
|
150
|
+
|
151
|
+
def initialize(name, desc, *args)
|
152
|
+
self.example_group = ::Spec::Example::ExampleGroup.new(desc)
|
153
|
+
example_group.extend ExampleMethods
|
154
|
+
example_group.name = name.to_s
|
155
|
+
if example_group.name[/Spec/]
|
156
|
+
example_group.description = desc.to_s
|
157
|
+
else
|
158
|
+
example_group.description = name.to_s
|
159
|
+
end
|
160
|
+
reporter.example_group_started(example_group)
|
161
|
+
end
|
162
|
+
|
163
|
+
|
164
|
+
def starting
|
165
|
+
end
|
166
|
+
|
167
|
+
def ending
|
168
|
+
end
|
169
|
+
|
170
|
+
def add_fault(fault)
|
171
|
+
self.current_failure = fault
|
172
|
+
end
|
173
|
+
|
174
|
+
def add_pending(pending)
|
175
|
+
end
|
176
|
+
|
177
|
+
def starting_single(name = nil)
|
178
|
+
self.current_failure = nil
|
179
|
+
self.current_example = Object.new
|
180
|
+
current_example.extend ::Spec::Example::ExampleMethods
|
181
|
+
current_example.extend ExampleMethods
|
182
|
+
name = name.to_s
|
183
|
+
current_example.location = name.to_s
|
184
|
+
current_example.name = name.gsub(/(.*)\((.+)\)/, '\2')
|
185
|
+
current_example.description = name
|
186
|
+
if example_group.name[/Spec/]
|
187
|
+
current_example.__full_description = "#{example_group.description} #{name}"
|
188
|
+
else
|
189
|
+
current_example.__full_description = "#{example_group.name}: #{name}"
|
190
|
+
end
|
191
|
+
reporter.example_started(current_example)
|
192
|
+
end
|
193
|
+
|
194
|
+
def succeed_single(name = nil)
|
195
|
+
reporter.example_finished(current_example, nil)
|
196
|
+
end
|
197
|
+
|
198
|
+
def fail_single(name = nil)
|
199
|
+
current_example.name = current_name
|
200
|
+
reporter.example_finished(current_example, current_error)
|
201
|
+
end
|
202
|
+
|
203
|
+
def error_single(name = nil)
|
204
|
+
current_example.name = current_name
|
205
|
+
reporter.example_finished(current_example, current_error)
|
206
|
+
end
|
207
|
+
|
208
|
+
def pending_single(name = nil)
|
209
|
+
error = ::Spec::Example::ExamplePendingError.new(name)
|
210
|
+
reporter.example_finished(current_example, error)
|
211
|
+
end
|
212
|
+
|
213
|
+
private
|
214
|
+
def detect_file(trace)
|
215
|
+
# find first matching test file in stacktrace
|
216
|
+
file = nil
|
217
|
+
first_pos = nil
|
218
|
+
ResultHandler.test_files.each do |f|
|
219
|
+
pos = trace.index(f)
|
220
|
+
if pos && (first_pos.nil? || pos < first_pos)
|
221
|
+
file = f
|
222
|
+
first_pos = pos
|
223
|
+
end
|
224
|
+
end
|
225
|
+
file || fail("JTestR::ResultHandler.detect_file failed: #{trace}")
|
226
|
+
end
|
227
|
+
|
228
|
+
def current_name(example = current_example, fault = current_failure)
|
229
|
+
return example.name unless fault
|
230
|
+
case fault
|
231
|
+
when Test::Unit::Error
|
232
|
+
detect_file(fault.long_display)
|
233
|
+
when Test::Unit::Failure
|
234
|
+
detect_file(fault.location.to_s)
|
235
|
+
when Spec::Runner::Reporter::Failure
|
236
|
+
detect_file(fault.exception.backtrace.to_s)
|
237
|
+
else
|
238
|
+
example.name
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
def current_error(fault = current_failure)
|
243
|
+
case fault
|
244
|
+
when nil
|
245
|
+
nil
|
246
|
+
when Test::Unit::Failure
|
247
|
+
Buildr::TestFramework::TestResult::Error.new(fault.message, fault.location)
|
248
|
+
when Test::Unit::Error
|
249
|
+
if fault.exception.is_a?(NativeException)
|
250
|
+
exception = fault.exception.cause
|
251
|
+
bt = exception.stack_trace.to_a
|
252
|
+
else
|
253
|
+
exception = fault.exception
|
254
|
+
bt = exception.backtrace
|
255
|
+
end
|
256
|
+
Buildr::TestFramework::TestResult::Error.new(exception.message, bt)
|
257
|
+
when Expectations::Results::Error
|
258
|
+
fault.exception
|
259
|
+
when Spec::Runner::Reporter::Failure
|
260
|
+
ex = fault.exception
|
261
|
+
Buildr::TestFramework::TestResult::Error.new(ex.message, ex.backtrace)
|
262
|
+
when Expectations::Results
|
263
|
+
file = fault.file
|
264
|
+
line = fault.line
|
265
|
+
Buildr::TestFramework::TestResult::Error.new(fault.message, ["#{fault.file}:#{fault.line}"])
|
266
|
+
else
|
267
|
+
if fault.respond_to?(:test_header)
|
268
|
+
fault.test_header[/\((.+)\)/]
|
269
|
+
test_cls, test_meth = $1.to_s, $`.to_s
|
270
|
+
exception = fault.exception
|
271
|
+
(class << exception; self; end).module_eval do
|
272
|
+
define_method(:backtrace) do
|
273
|
+
(["#{test_cls}:in `#{test_meth}'"] + stackTrace).map { |s| s.to_s }
|
274
|
+
end
|
275
|
+
end
|
276
|
+
exception
|
277
|
+
elsif fault.respond_to?(:method)
|
278
|
+
test_cls, test_meth = fault.method.test_class.name, fault.method.method_name
|
279
|
+
exception = fault.throwable
|
280
|
+
(class << exception; self; end).module_eval do
|
281
|
+
define_method(:backtrace) do
|
282
|
+
(["#{test_cls}:in `#{test_meth}'"] + stackTrace).map { |s| s.to_s }
|
283
|
+
end
|
284
|
+
end
|
285
|
+
exception
|
286
|
+
else
|
287
|
+
raise "Cannot handle fault #{fault.class}: #{fault.inspect}"
|
288
|
+
end
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
end # ResultHandler
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
@@ -26,7 +26,6 @@
|
|
26
26
|
# <%= user_config %>
|
27
27
|
|
28
28
|
begin
|
29
|
-
|
30
29
|
<%= jruby_gem %>
|
31
30
|
<%= dependencies.map(&:to_s).inspect %>.each { |dep| $CLASSPATH << dep }
|
32
31
|
<%= runner.gems.inspect %>.each { |ary| JRuby.gem(*ary.flatten) }
|
@@ -87,21 +86,20 @@ begin
|
|
87
86
|
output = STDOUT
|
88
87
|
<% end %>
|
89
88
|
|
90
|
-
|
91
89
|
args = [ '<%= spec_dir %>', # the directory to search for jtestr files
|
92
90
|
JtestR::SimpleLogger::ERR, # log level (DEBUG/WARN/ERR)
|
93
91
|
JtestR::GenericResultHandler::QUIET, #output level (QUIET/VERBOSE)
|
94
92
|
fake_out, # output STDOUT
|
95
93
|
[], # groups to run
|
96
94
|
# Use JtestR::GenericResultHandler for debugging
|
97
|
-
Buildr::
|
95
|
+
Buildr::JtestR::ResultHandler, # result handler
|
98
96
|
[] # classpath
|
99
97
|
]
|
100
98
|
|
101
99
|
argv = <%= runner.rspec.inspect %> || []
|
102
100
|
argv.push *<%= tests.inspect %>
|
103
|
-
Buildr::
|
104
|
-
Buildr::
|
101
|
+
Buildr::JtestR::ResultHandler.init(argv, output, output)
|
102
|
+
Buildr::JtestR::ResultHandler.test_files = <%= tests.inspect %>
|
105
103
|
|
106
104
|
jtestr.run *args
|
107
105
|
|
@@ -110,7 +108,7 @@ rescue => e
|
|
110
108
|
puts "-[--- ERROR ---]-", e.class, e.message, *e.backtrace
|
111
109
|
end
|
112
110
|
|
113
|
-
exit 0 # let buildr find the
|
111
|
+
exit 0 # let buildr find the errors from the result yaml
|
114
112
|
|
115
113
|
# Local Variables:
|
116
114
|
# mode: ruby
|