You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by bo...@apache.org on 2010/11/16 06:19:37 UTC
svn commit: r1035533 - in /buildr/trunk: CHANGELOG buildr.gemspec
lib/buildr/java/bdd.rb lib/buildr/java/test_result.rb
Author: boisvert
Date: Tue Nov 16 05:19:36 2010
New Revision: 1035533
URL: http://svn.apache.org/viewvc?rev=1035533&view=rev
Log:
Upgrade to RSpec 2.1.0
Upgrade to JtestR 0.6
This commit breaks JtestR specs (to be resuscitated in due time)
Modified:
buildr/trunk/CHANGELOG
buildr/trunk/buildr.gemspec
buildr/trunk/lib/buildr/java/bdd.rb
buildr/trunk/lib/buildr/java/test_result.rb
Modified: buildr/trunk/CHANGELOG
URL: http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1035533&r1=1035532&r2=1035533&view=diff
==============================================================================
--- buildr/trunk/CHANGELOG (original)
+++ buildr/trunk/CHANGELOG Tue Nov 16 05:19:36 2010
@@ -1,10 +1,10 @@
1.4.4 (Pending)
* Added: BUILDR-550 Add support for groovydoc
-* Added: BUILDR-521: System tray notifications for Linux systems
+* Added: BUILDR-521: System tray notifications for Linux systems
(via libnotify/notify-send)
* Added: BUILDR-537 Shell tasks should use JAVA_OPTS by default
* Added: BUILDR-538 Shell tasks should support passing :java_args
-* Change: BUILDR-540 Upgrade to rspec 2.0.0
+* Change: BUILDR-540 Upgrade to rspec 2.1.0
* Fixed: BUILDR-542 Release task: SVN tagging fails if parent tag directory
does not exist yet (Gerolf Seitz)
* Fixed: BUILDR-543 POMs are installed and uploaded twice when using artifacts
Modified: buildr/trunk/buildr.gemspec
URL: http://svn.apache.org/viewvc/buildr/trunk/buildr.gemspec?rev=1035533&r1=1035532&r2=1035533&view=diff
==============================================================================
--- buildr/trunk/buildr.gemspec (original)
+++ buildr/trunk/buildr.gemspec Tue Nov 16 05:19:36 2010
@@ -62,7 +62,7 @@ for those one-off tasks, with a language
spec.add_dependency 'rjb', '1.2.5' if spec.platform.to_s == 'ruby'
spec.add_dependency 'rjb', '1.2.5' if spec.platform.to_s == 'x86-mswin32'
spec.add_dependency 'atoulme-Antwrap', '0.7.1'
- spec.add_dependency 'rspec', '= 2.0.1'
+ spec.add_dependency 'rspec', '= 2.1.0'
spec.add_dependency 'xml-simple', '1.0.12'
spec.add_dependency 'minitar', '0.5.3'
spec.add_dependency 'jruby-openssl', '>= 0.7' if spec.platform.to_s == 'java'
Modified: buildr/trunk/lib/buildr/java/bdd.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/bdd.rb?rev=1035533&r1=1035532&r2=1035533&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/bdd.rb (original)
+++ buildr/trunk/lib/buildr/java/bdd.rb Tue Nov 16 05:19:36 2010
@@ -107,9 +107,11 @@ module Buildr
else
cmd_options = task.options.only(:properties, :java_args)
cmd_options.update(:classpath => dependencies, :project => task.project)
- jruby runner.file, tests, cmd_options
+ jruby runner.file, tests, cmd_options rescue nil
end
+ fail "Missing result YAML file: #{runner.result}" unless File.exist? runner.result
+
result = YAML.load(File.read(runner.result))
if Exception === result
raise [result.message, result.backtrace].flatten.join("\n")
@@ -197,7 +199,8 @@ module Buildr
runner.gems ||= {}
runner.rspec ||= ['--format', 'progress', '--format', "html:#{runner.html_report}"]
runner.format.each { |format| runner.rspec << '--format' << format } if runner.format
- runner.rspec.push '--format', "Buildr::TestFramework::TestResult::YamlFormatter:#{runner.result}"
+ runner.rspec.push '--format', "Buildr::TestFramework::TestResult::YamlFormatter"
+ runner.rspec.push '-o', runner.result
runner
end
@@ -240,8 +243,8 @@ module Buildr
def runner_config
runner = super
- runner.gems.update 'rspec' => '>0'
- runner.requires.unshift 'spec'
+ runner.gems.update 'rspec' => '=2.1.0'
+ runner.requires.unshift 'rspec'
runner
end
@@ -258,14 +261,12 @@ module Buildr
<% else %>
output = STDOUT
<% end %>
- parser = ::Spec::Runner::OptionParser.new(output, output)
+ parser = ::RSpec::Core::Parser.new
argv = <%= runner.rspec.inspect %> || []
argv.push *<%= tests.inspect %>
- parser.order!(argv)
- $rspec_options = parser.options
Buildr::TestFramework::TestResult::Error.guard('<%= runner.result %>') do
- ::Spec::Runner::CommandLine.run($rspec_options)
+ ::RSpec::Core::CommandLine.new(argv).run(output, output)
end
exit 0 # let buildr figure the result from the yaml file
}
@@ -296,7 +297,7 @@ module Buildr
include TestFramework::JRubyBased
- VERSION = '0.5'
+ VERSION = '0.6'
# pattern for rspec stories
STORY_PATTERN = /_(steps|story)\.rb$/
@@ -368,9 +369,11 @@ module Buildr
def runner_config
runner = super
- # JtestR 0.3.1 comes with rspec 1.1.4 (and any other jtestr dependency) included,
+ # JtestR 0.6.0 comes with rspec 1.3.0 (and any other jtestr dependency) included,
# so the rspec version used depends on the jtestr jar.
runner.requires.unshift 'jtestr'
+ runner.gems.update 'rspec' => '=1.3.0'
+ runner.requires.unshift 'rspec'
runner
end
Modified: buildr/trunk/lib/buildr/java/test_result.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/test_result.rb?rev=1035533&r1=1035532&r2=1035533&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/test_result.rb (original)
+++ buildr/trunk/lib/buildr/java/test_result.rb Tue Nov 16 05:19:36 2010
@@ -14,8 +14,10 @@
# the License.
# necessary to require YAML even if it is mentioned by autoload as it fails on some platforms.
-require 'yaml'
+require 'yaml'
require 'fileutils'
+require 'rspec/core/formatters/base_formatter'
+
module Buildr #:nodoc:
module TestFramework
@@ -52,57 +54,47 @@ module Buildr #:nodoc:
end
# An Rspec formatter used by buildr
- class YamlFormatter
+ class YamlFormatter < ::RSpec::Core::Formatters::BaseFormatter
attr_reader :result
- attr_accessor :example_group, :options, :where
+ # attr_accessor :example_group, :options, :output
- def initialize(options, where)
- @options = options
- @where = where
+ def initialize(output)
+ super(output)
@result = Hash.new
@result[:succeeded] = []
@result[:failed] = []
end
- %w[ example_started
- start_dump dump_failure dump_summary dump_pending ].each do |meth|
- module_eval "def #{meth}(*args); end"
- end
-
- def example_group_started(example_group)
- @example_group = example_group
- end
-
def example_passed(example)
+ super(example)
result.succeeded << example_name(example)
end
- def example_pending(example, counter)
+ def example_pending(example)
+ super(example)
result.succeeded << example_name(example)
end
- def example_failed(example, counter, failure)
+ def example_failed(example)
+ super(example)
result.failed << example_name(example)
end
def start(example_count)
+ super(example_count)
@result = TestResult.new
end
def close
+ super
result.succeeded = result.succeeded - result.failed
- FileUtils.mkdir_p File.dirname(where)
- File.open(where, 'w') { |f| f.puts YAML.dump(result) }
+ output.puts YAML.dump(result)
end
private
def example_name(example)
- if Spec::Example::ExampleProxy === example
- example_group.location.gsub(/:\d+$/, '')
- else
- example.name.gsub(/(.+)(\..+\(\))/, '\1')
- end
+ example.file_path
end
end # YamlFormatter