ci_reporter 1.6.0 → 1.6.1

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 CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.6.1
2
+
3
+ - Add 'skipped' flag for pending RSpec examples (Aaron Unger)
4
+
1
5
  == 1.6.0
2
6
 
3
7
  - Add support for Cucumber (tested against 0.3.0 - 0.3.2); (Graeme Mathieson)
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person
4
4
  # obtaining a copy of this software and associated documentation files
data/README.txt CHANGED
@@ -10,10 +10,6 @@ CI::Reporter is available as a gem. To install the gem, use the usual gem comman
10
10
 
11
11
  gem install ci_reporter
12
12
 
13
- To use CI::Reporter as a Rails plugin, first install the gem, and then install the plugin as follows:
14
-
15
- script/plugin install http://svn.caldersphere.net/svn/main/plugins/ci_reporter
16
-
17
13
  == Usage
18
14
 
19
15
  CI::Reporter works best with projects that use a +Rakefile+ along with the standard <code>Rake::TestTask</code> or <code>Spec::Rake::SpecTask</code> tasks for running tests or examples, respectively. In this fashion, it hooks into <code>Test::Unit</code> or +RSpec+ using environment variables recognized by these custom tasks to inject the CI::Reporter code into the test or spec runs. If you're using the Rails plugin, step 1 is unnecessary; skip to step 2.
@@ -64,7 +60,7 @@ There's a bit of a chicken and egg problem because rubygems needs to be loaded b
64
60
 
65
61
  You can get the CI::Reporter source using Git, in any of the following ways:
66
62
 
67
- git clone http://git.caldersphere.net/ci_reporter.git
63
+ git clone git://git.caldersphere.net/ci_reporter.git
68
64
  git clone git://github.com/nicksieger/ci_reporter.git
69
65
 
70
66
  You can also download a tarball of the latest CI::Reporter source at http://github.com/nicksieger/ci_reporter/tree/master.
data/Rakefile CHANGED
@@ -8,7 +8,8 @@ begin
8
8
  File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f << "#{n}\n"} }
9
9
  require 'hoe'
10
10
  require File.dirname(__FILE__) + '/lib/ci/reporter/version'
11
- hoe = Hoe.new("ci_reporter", CI::Reporter::VERSION) do |p|
11
+ hoe = Hoe.spec("ci_reporter") do |p|
12
+ p.version = CI::Reporter::VERSION
12
13
  p.rubyforge_name = "caldersphere"
13
14
  p.url = "http://caldersphere.rubyforge.org/ci_reporter"
14
15
  p.author = "Nick Sieger"
@@ -28,7 +29,11 @@ end
28
29
 
29
30
  # Hoe insists on setting task :default => :test
30
31
  # !@#$ no easy way to empty the default list of prerequisites
31
- Rake::Task['default'].send :instance_variable_set, "@prerequisites", FileList[]
32
+ # Leave my tasks alone, Hoe
33
+ %w(default spec rcov).each do |task|
34
+ Rake::Task[task].prerequisites.clear
35
+ Rake::Task[task].actions.clear
36
+ end
32
37
 
33
38
  # No RCov on JRuby at the moment
34
39
  if RUBY_PLATFORM =~ /java/
@@ -1,6 +1,6 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
5
5
  require 'ci/reporter/test_suite'
6
- require 'ci/reporter/report_manager'
6
+ require 'ci/reporter/report_manager'
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2009 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,6 +1,6 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
5
5
  $: << File.dirname(__FILE__) + "/../../.."
6
- require 'ci/reporter/cucumber'
6
+ require 'ci/reporter/cucumber'
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,6 +1,6 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
5
5
  $: << File.dirname(__FILE__) + "/../../.."
6
- require 'ci/reporter/rspec'
6
+ require 'ci/reporter/rspec'
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -18,4 +18,4 @@ module Test #:nodoc:all
18
18
  end
19
19
  end
20
20
  end
21
- end
21
+ end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -20,4 +20,4 @@ module CI #:nodoc:
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2009 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -97,6 +97,7 @@ module CI
97
97
  spec = @suite.testcases.last
98
98
  spec.finish
99
99
  spec.name = "#{spec.name} (PENDING)"
100
+ spec.skipped = true
100
101
  end
101
102
 
102
103
  def start_dump
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -36,7 +36,7 @@ module CI
36
36
  end
37
37
 
38
38
  # Basic structure representing the running of a test suite. Used to time tests and store results.
39
- class TestSuite < Struct.new(:name, :tests, :time, :failures, :errors, :assertions)
39
+ class TestSuite < Struct.new(:name, :tests, :time, :failures, :errors, :skipped, :assertions)
40
40
  attr_accessor :testcases
41
41
  attr_accessor :stdout, :stderr
42
42
  def initialize(name)
@@ -59,6 +59,7 @@ module CI
59
59
  self.time = Time.now - @start
60
60
  self.failures = testcases.inject(0) {|sum,tc| sum += tc.failures.select{|f| f.failure? }.size }
61
61
  self.errors = testcases.inject(0) {|sum,tc| sum += tc.failures.select{|f| f.error? }.size }
62
+ self.skipped = testcases.inject(0) {|sum,tc| sum += (tc.skipped? ? 1 : 0) }
62
63
  self.stdout = @capture_out.finish if @capture_out
63
64
  self.stderr = @capture_err.finish if @capture_err
64
65
  end
@@ -103,6 +104,7 @@ module CI
103
104
  # Structure used to represent an individual test case. Used to time the test and store the result.
104
105
  class TestCase < Struct.new(:name, :time, :assertions)
105
106
  attr_accessor :failures
107
+ attr_accessor :skipped
106
108
 
107
109
  def initialize(*args)
108
110
  super
@@ -129,19 +131,27 @@ module CI
129
131
  !failures.empty? && failures.detect {|f| f.error? }
130
132
  end
131
133
 
134
+ def skipped?
135
+ return skipped
136
+ end
137
+
132
138
  # Writes xml representing the test result to the provided builder.
133
139
  def to_xml(builder)
134
140
  attrs = {}
135
141
  each_pair {|k,v| attrs[k] = builder.trunc!(v.to_s) unless v.nil? || v.to_s.empty?}
136
142
  builder.testcase(attrs) do
137
- failures.each do |failure|
138
- builder.failure(:type => builder.trunc!(failure.name), :message => builder.trunc!(failure.message)) do
139
- builder.text!(failure.message + " (#{failure.name})\n")
140
- builder.text!(failure.location)
143
+ if skipped
144
+ builder.skipped
145
+ else
146
+ failures.each do |failure|
147
+ builder.failure(:type => builder.trunc!(failure.name), :message => builder.trunc!(failure.message)) do
148
+ builder.text!(failure.message + " (#{failure.name})\n")
149
+ builder.text!(failure.location)
150
+ end
141
151
  end
142
152
  end
143
153
  end
144
154
  end
145
155
  end
146
156
  end
147
- end
157
+ end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -121,4 +121,4 @@ module CI
121
121
  end
122
122
  end
123
123
  end
124
- end
124
+ end
@@ -1,5 +1,5 @@
1
1
  module CI
2
2
  module Reporter
3
- VERSION = "1.6.0"
3
+ VERSION = "1.6.1"
4
4
  end
5
5
  end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2008 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -54,4 +54,4 @@ describe "Output capture" do
54
54
  @suite.stdout.should == "B"
55
55
  @suite.stderr.should == "B"
56
56
  end
57
- end
57
+ end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -36,4 +36,4 @@ describe "The ReportManager" do
36
36
  File.exist?(filename).should be_true
37
37
  File.open(filename) {|f| f.read.should == "<xml></xml>"}
38
38
  end
39
- end
39
+ end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2008 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -79,6 +79,7 @@ describe "TestSuite xml" do
79
79
 
80
80
  @suite.start
81
81
  @suite.testcases << CI::Reporter::TestCase.new("example test")
82
+ @suite.testcases << CI::Reporter::TestCase.new("skipped test").tap {|tc| tc.skipped = true }
82
83
  @suite.testcases << CI::Reporter::TestCase.new("failure test")
83
84
  @suite.testcases.last.failures << failure
84
85
  @suite.testcases << CI::Reporter::TestCase.new("error test")
@@ -94,7 +95,7 @@ describe "TestSuite xml" do
94
95
  testsuite.attributes["assertions"].should == "11"
95
96
 
96
97
  testcases = testsuite.elements.to_a("testcase")
97
- testcases.length.should == 3
98
+ testcases.length.should == 4
98
99
  end
99
100
 
100
101
  it "should contain full exception type and message in location element" do
@@ -147,4 +148,4 @@ describe "A TestCase" do
147
148
  @tc.finish
148
149
  @tc.time.should >= 0
149
150
  end
150
- end
151
+ end
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
@@ -149,4 +149,4 @@ describe "The TestUnit reporter" do
149
149
  @suite.testcases.length.should == 1
150
150
  @suite.testcases.first.name.should == "some unknown test"
151
151
  end
152
- end
152
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
data/stub.rake CHANGED
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
  #
@@ -1,4 +1,4 @@
1
- # (c) Copyright 2006-2007 Nick Sieger <nicksieger@gmail.com>
1
+ # Copyright (c) 2006-2010 Nick Sieger <nicksieger@gmail.com>
2
2
  # See the file LICENSE.txt included with the distribution for
3
3
  # software license details.
4
4
 
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ci_reporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 6
8
+ - 1
9
+ version: 1.6.1
5
10
  platform: ruby
6
11
  authors:
7
12
  - Nick Sieger
@@ -9,19 +14,23 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-05-05 00:00:00 -07:00
17
+ date: 2010-03-25 00:00:00 -05:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: builder
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 2
29
+ - 1
30
+ - 2
23
31
  version: 2.1.2
24
- version:
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  description: CI::Reporter is an add-on to Test::Unit, RSpec and Cucumber that allows you to generate XML reports of your test, spec and/or feature runs. The resulting files can be read by a continuous integration system that understands Ant's JUnit report XML format, thus allowing your CI system to track test/spec successes and failures.
26
35
  email: nick@nicksieger.com
27
36
  executables: []
@@ -64,6 +73,8 @@ files:
64
73
  - tasks/ci_reporter.rake
65
74
  has_rdoc: true
66
75
  homepage: http://caldersphere.rubyforge.org/ci_reporter
76
+ licenses: []
77
+
67
78
  post_install_message:
68
79
  rdoc_options:
69
80
  - --main
@@ -74,20 +85,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
85
  requirements:
75
86
  - - ">="
76
87
  - !ruby/object:Gem::Version
88
+ segments:
89
+ - 0
77
90
  version: "0"
78
- version:
79
91
  required_rubygems_version: !ruby/object:Gem::Requirement
80
92
  requirements:
81
93
  - - ">="
82
94
  - !ruby/object:Gem::Version
95
+ segments:
96
+ - 0
83
97
  version: "0"
84
- version:
85
98
  requirements: []
86
99
 
87
100
  rubyforge_project: caldersphere
88
- rubygems_version: 1.3.1
101
+ rubygems_version: 1.3.6
89
102
  signing_key:
90
- specification_version: 2
103
+ specification_version: 3
91
104
  summary: CI::Reporter allows you to generate reams of XML for use with continuous integration systems.
92
105
  test_files:
93
106
  - spec/ci/reporter/cucumber_spec.rb