rspec-core 2.6.0.rc6 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,6 +5,15 @@
5
5
  - basic_structure.feature
6
6
  - shared_example_group.feature
7
7
  - shared_context.feature
8
+ - command_line:
9
+ - configure.feature
10
+ - example_name_option.feature
11
+ - format_option.feature
12
+ - line_number_option.feature
13
+ - tag.feature
14
+ - line_number_appended_to_path.feature
15
+ - exit_status.feature
16
+ - rake_task.feature
8
17
  - pending:
9
18
  - pending_examples.feature
10
19
  - hooks:
@@ -29,15 +38,6 @@
29
38
  - exclusion_filters.feature
30
39
  - if_and_unless.feature
31
40
  - run_all_when_everything_filtered.feature
32
- - command_line:
33
- - configure.feature
34
- - example_name_option.feature
35
- - format_option.feature
36
- - line_number_option.feature
37
- - tag.feature
38
- - line_number_appended_to_path.feature
39
- - exit_status.feature
40
- - rake_task.feature
41
41
  - configuration:
42
42
  - read_options_from_file.feature
43
43
  - fail_fast.feature
@@ -1,21 +1,6 @@
1
- ### 2.6.0.rc6 / 2011-05-06
1
+ ### 2.6.0 / 2011-05-12
2
2
 
3
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.0.rc4...v2.6.0.rc6)
4
-
5
- * Enhancements
6
- * Restore --pattern/-P command line option from rspec-1
7
- * Support false as well as true in config.full_backtrace= (Andreas Tolf Tolfsen)
8
-
9
- ### 2.6.0.rc4 / 2011-05-01
10
-
11
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.0.rc2...v2.6.0.rc4)
12
-
13
- * Enhancements
14
- * Clean up messages for filters/tags.
15
-
16
- ### 2.6.0.rc2 / 2011-04-18
17
-
18
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.5.1...v2.6.0.rc2)
3
+ [full changelog](http://github.com/rspec/rspec-core/compare/v2.5.1...v2.6.0)
19
4
 
20
5
  * Enhancements
21
6
  * `shared_context` (Damian Nurzynski)
@@ -31,8 +16,11 @@
31
16
  defined. (Myron Marston)
32
17
  * Pass the exit status of a DRb run to the invoking process. This causes
33
18
  specs run via DRb to not just return true or false. (Ilkka Laukkanen)
34
- * Refactoring of ConfigurationOptions#parse_options (Rodrigo Rosenfeld Rosas)
19
+ * Refactoring of `ConfigurationOptions#parse_options` (Rodrigo Rosenfeld Rosas)
35
20
  * Report excluded filters in runner output (tip from andyl)
21
+ * Clean up messages for filters/tags.
22
+ * Restore --pattern/-P command line option from rspec-1
23
+ * Support false as well as true in config.full_backtrace= (Andreas Tolf Tolfsen)
36
24
 
37
25
  * Bug fixes
38
26
  * Don't stumble over an exception without a message (Hans Hasselberg)
@@ -43,12 +31,15 @@
43
31
  * Include RSpec::Matchers when first example group is defined, rather
44
32
  than just before running the examples. This works around an obscure
45
33
  bug in ruby 1.9 that can cause infinite recursion. (Myron Marston)
46
- * Don't send example_group_[started|finished] to formatters for empty groups.
34
+ * Don't send `example_group_[started|finished]` to formatters for empty groups.
47
35
  * Get specs passing on jruby (Sidu Ponnappa)
48
36
  * Fix bug where mixing nested groups and outer-level examples gave
49
37
  unpredictable :line_number behavior (Artur Małecki)
50
38
  * Regexp.escape the argument to --example (tip from Elliot Winkler)
51
39
  * Correctly pass/fail pending block with message expectations
40
+ * CommandLine returns exit status (0/1) instead of true/false
41
+ * Create path to formatter output file if it doesn't exist (marekj).
42
+
52
43
 
53
44
  ### 2.5.1 / 2011-02-06
54
45
 
@@ -4,3 +4,25 @@ behavior, including output formats, filtering examples, etc.
4
4
  For a full list of options, run the `rspec` command with the `--help` flag:
5
5
 
6
6
  $ rspec --help
7
+
8
+ ### Run with `ruby`
9
+
10
+ Generally, life is simpler if you just use the `rspec` command. If you must use the `ruby`
11
+ command, however, you'll want to do the following:
12
+
13
+ * `require 'rspec/autorun'`
14
+
15
+ This tells RSpec to run your examples. Do this in any file that you are
16
+ passing to the `ruby` command.
17
+
18
+ * Update the `LOAD_PATH`
19
+
20
+ It is conventional to put configuration in and require assorted support files
21
+ from `spec/spec_helper.rb`. It is also conventional to require that file from
22
+ the spec files using `require 'spec_helper'`. This works because RSpec
23
+ implicitly adds the `spec` directory to the `LOAD_PATH`. It also adds `lib`, so
24
+ your implementation files will be on the `LOAD_PATH` as well.
25
+
26
+ If you're using the `ruby` command, you'll need to do this yourself:
27
+
28
+ ruby -Ilib -Ispec path/to/spec.rb
@@ -7,8 +7,6 @@ Feature: text formatter
7
7
  Scenario: Backtrace formatting for failing specs in multiple files
8
8
  Given a file named "string_spec.rb" with:
9
9
  """
10
- require 'rspec/core'
11
-
12
10
  describe String do
13
11
  it "has a failing example" do
14
12
  "foo".reverse.should == "ofo"
@@ -17,7 +15,7 @@ Feature: text formatter
17
15
  """
18
16
  And a file named "integer_spec.rb" with:
19
17
  """
20
- require 'rspec/core'
18
+ require 'rspec/autorun'
21
19
 
22
20
  describe Integer do
23
21
  it "has a failing example" do
@@ -40,6 +38,6 @@ Feature: text formatter
40
38
  Failure/Error: "foo".reverse.should == "ofo"
41
39
  expected: "ofo"
42
40
  got: "oof" (using ==)
43
- # ./string_spec.rb:5
41
+ # ./string_spec.rb:3
44
42
  """
45
43
 
@@ -9,6 +9,13 @@ Feature: around hooks
9
9
  example, if your database library offers a transaction method that receives
10
10
  a block, you can use an around hook as described in the first scenario:
11
11
 
12
+ WARNING: around hooks do not share state with the example the way before and
13
+ after hooks do. This means that you can not share instance variables between
14
+ around hooks and examples.
15
+
16
+ Also, mock frameworks are set up and torn down within the context of running
17
+ the example, so you can not interact with them directly in around hooks.
18
+
12
19
  Scenario: use the example as a proc within the block passed to around()
13
20
  Given a file named "example_spec.rb" with:
14
21
  """
@@ -5,7 +5,7 @@ Feature: User-defined metadata
5
5
  `context` or `it`. RSpec supports many configuration options that apply
6
6
  only to certain examples or groups based on the metadata.
7
7
 
8
- Metadata defined on an example group is available (and can be overriden)
8
+ Metadata defined on an example group is available (and can be overridden)
9
9
  by any sub-group or from any example in that group or a sub-group.
10
10
 
11
11
  In addition, there is a configuration option (which will be the default
@@ -68,12 +68,12 @@ Feature: User-defined metadata
68
68
  Given a file named "override_metadata_spec.rb" with:
69
69
  """
70
70
  describe "a group with user-defined metadata", :foo => 'bar' do
71
- it 'can be overriden by an example', :foo => 'bazz' do
71
+ it 'can be overridden by an example', :foo => 'bazz' do
72
72
  example.metadata[:foo].should == 'bazz'
73
73
  end
74
74
 
75
75
  describe "a sub-group with an override", :foo => 'goo' do
76
- it 'can be overriden by a sub-group' do
76
+ it 'can be overridden by a sub-group' do
77
77
  example.metadata[:foo].should == 'goo'
78
78
  end
79
79
  end
@@ -49,6 +49,13 @@ module RSpec
49
49
  @world ||= RSpec::Core::World.new
50
50
  end
51
51
 
52
+ # Used internally to ensure examples get reloaded between multiple runs in
53
+ # the same process.
54
+ def self.reset
55
+ world.reset
56
+ configuration.reset
57
+ end
58
+
52
59
  def self.configuration
53
60
  @configuration ||= RSpec::Core::Configuration.new
54
61
  end
@@ -21,7 +21,7 @@ module RSpec
21
21
  @configuration.reporter.report(@world.example_count) do |reporter|
22
22
  begin
23
23
  @configuration.run_hook(:before, :suite)
24
- @world.example_groups.map {|g| g.run(reporter)}.all?
24
+ @world.example_groups.map {|g| g.run(reporter)}.all? ? 0 : 1
25
25
  ensure
26
26
  @configuration.run_hook(:after, :suite)
27
27
  end
@@ -1,4 +1,5 @@
1
1
  require "rbconfig"
2
+ require 'fileutils'
2
3
 
3
4
  module RSpec
4
5
  module Core
@@ -59,6 +60,10 @@ module RSpec
59
60
  self.exclusion_filter = CONDITIONAL_FILTERS.dup
60
61
  end
61
62
 
63
+ def reset
64
+ @reporter = nil
65
+ end
66
+
62
67
  # :call-seq:
63
68
  # add_setting(:name)
64
69
  # add_setting(:name, :default => "default_value")
@@ -269,13 +274,13 @@ EOM
269
274
  filter_run({ :full_description => /#{description}/ }, true)
270
275
  end
271
276
 
272
- def add_formatter(formatter_to_use, output=nil)
277
+ def add_formatter(formatter_to_use, path=nil)
273
278
  formatter_class =
274
279
  built_in_formatter(formatter_to_use) ||
275
280
  custom_formatter(formatter_to_use) ||
276
281
  (raise ArgumentError, "Formatter '#{formatter_to_use}' unknown - maybe you meant 'documentation' or 'progress'?.")
277
282
 
278
- formatters << formatter_class.new(output ? File.new(output, 'w') : self.output)
283
+ formatters << formatter_class.new(path ? file_at(path) : output)
279
284
  end
280
285
 
281
286
  alias_method :formatter=, :add_formatter
@@ -486,6 +491,12 @@ MESSAGE
486
491
  word.downcase!
487
492
  word
488
493
  end
494
+
495
+ def file_at(path)
496
+ FileUtils.mkdir_p(File.dirname(path))
497
+ File.new(path, 'w')
498
+ end
499
+
489
500
  end
490
501
  end
491
502
  end
@@ -1,14 +1,15 @@
1
1
  module RSpec
2
2
  module Core
3
3
  class ExampleGroup
4
+ extend MetadataHashBuilder::WithDeprecationWarning
4
5
  extend Extensions::ModuleEvalWithArgs
5
- include Extensions::InstanceEvalWithArgs
6
- extend Hooks
7
6
  extend Subject::ClassMethods
7
+ extend Hooks
8
+
9
+ include Extensions::InstanceEvalWithArgs
8
10
  include Subject::InstanceMethods
9
- include Let
10
11
  include Pending
11
- extend MetadataHashBuilder::WithDeprecationWarning
12
+ include Let
12
13
 
13
14
  attr_accessor :example
14
15
 
@@ -22,7 +23,6 @@ module RSpec
22
23
  end
23
24
 
24
25
  def self.register
25
- RSpec::Core::Runner.autorun
26
26
  world.register(self)
27
27
  end
28
28
 
@@ -4,31 +4,32 @@ module RSpec
4
4
  module Core
5
5
  class Runner
6
6
 
7
+ # Register an at_exit hook that runs the suite.
7
8
  def self.autorun
8
9
  return if autorun_disabled? || installed_at_exit? || running_in_drb?
9
10
  @installed_at_exit = true
10
- at_exit { run(ARGV, $stderr, $stdout) ? exit(0) : exit(1) }
11
+ at_exit { exit(run(ARGV, $stderr, $stdout)) }
11
12
  end
12
13
  AT_EXIT_HOOK_BACKTRACE_LINE = "#{__FILE__}:#{__LINE__ - 2}:in `autorun'"
13
14
 
14
- def self.autorun_disabled?
15
- @autorun_disabled ||= false
16
- end
17
-
18
15
  def self.disable_autorun!
19
16
  @autorun_disabled = true
20
17
  end
21
18
 
22
- def self.installed_at_exit?
19
+ def self.autorun_disabled? # :nodoc:
20
+ @autorun_disabled ||= false
21
+ end
22
+
23
+ def self.installed_at_exit? # :nodoc:
23
24
  @installed_at_exit ||= false
24
25
  end
25
26
 
26
- def self.running_in_drb?
27
- (DRb.current_server rescue false) &&
27
+ def self.running_in_drb? # :nodoc:
28
+ (DRb.current_server rescue false) &&
28
29
  DRb.current_server.uri =~ /druby\:\/\/127.0.0.1\:/
29
30
  end
30
31
 
31
- def self.trap_interrupt
32
+ def self.trap_interrupt # :nodoc:
32
33
  trap('INT') do
33
34
  exit!(1) if RSpec.wants_to_quit
34
35
  RSpec.wants_to_quit = true
@@ -36,7 +37,23 @@ module RSpec
36
37
  end
37
38
  end
38
39
 
39
- def self.run(args, err, out)
40
+ # Run a suite of RSpec examples.
41
+ #
42
+ # This is used internally by RSpec to run a suite, but is available
43
+ # for use by any other automation tool.
44
+ #
45
+ # If you want to run this multiple times in the same process, and you
46
+ # want files like spec_helper.rb to be reloaded, be sure to load `load`
47
+ # instead of `require`.
48
+ #
49
+ # ==== Parameters
50
+ # * +args+ - an array of command-line-supported arguments
51
+ # * +err+ - error stream (Default: $stderr)
52
+ # * +out+ - output stream (Default: $stdout)
53
+ #
54
+ # ==== Returns
55
+ # * +Fixnum+ - exit status code (0/1)
56
+ def self.run(args, err=$stderr, out=$stdout)
40
57
  trap_interrupt
41
58
  options = ConfigurationOptions.new(args)
42
59
  options.parse_options
@@ -51,13 +68,15 @@ module RSpec
51
68
  else
52
69
  run_in_process(options, err, out)
53
70
  end
71
+ ensure
72
+ RSpec.reset
54
73
  end
55
74
 
56
- def self.run_over_drb(options, err, out)
75
+ def self.run_over_drb(options, err, out) # :nodoc:
57
76
  DRbCommandLine.new(options).run(err, out)
58
77
  end
59
78
 
60
- def self.run_in_process(options, err, out)
79
+ def self.run_in_process(options, err, out) # :nodoc:
61
80
  CommandLine.new(options, RSpec::configuration, RSpec::world).run(err, out)
62
81
  end
63
82
 
@@ -1,7 +1,7 @@
1
1
  module RSpec # :nodoc:
2
2
  module Core # :nodoc:
3
3
  module Version # :nodoc:
4
- STRING = '2.6.0.rc6'
4
+ STRING = '2.6.0'
5
5
  end
6
6
  end
7
7
  end
@@ -41,6 +41,10 @@ module RSpec
41
41
  }
42
42
  end
43
43
 
44
+ def reset
45
+ example_groups.clear
46
+ end
47
+
44
48
  def register(example_group)
45
49
  example_groups << example_group
46
50
  example_group
@@ -112,7 +116,7 @@ module RSpec
112
116
  reporter.message(
113
117
  "No examples were matched. Perhaps #{exclusion_filter.description} is excluding everything?")
114
118
  end
115
- else
119
+ elsif !filter_announcements.empty?
116
120
  reporter.message("Run filtered #{filter_announcements.join(', ')}")
117
121
  end
118
122
  end
@@ -1,3 +1,4 @@
1
+ # TODO (2011-05-08) - remove this as soon as spork 0.9.0 is released
1
2
  if defined?(Spork::TestFramework::RSpec)
2
3
  class Spork::TestFramework::RSpec < Spork::TestFramework
3
4
  def run_tests(argv, err, out)
@@ -4,6 +4,42 @@ require 'tmpdir'
4
4
 
5
5
  module RSpec::Core
6
6
  describe CommandLine do
7
+
8
+ describe "#run" do
9
+ include_context "spec files"
10
+
11
+ let(:out) { StringIO.new }
12
+ let(:err) { StringIO.new }
13
+
14
+ def config_options(argv=[])
15
+ options = RSpec::Core::ConfigurationOptions.new(argv)
16
+ options.parse_options
17
+ options
18
+ end
19
+
20
+ def command_line(args)
21
+ RSpec::Core::CommandLine.new(config_options(args))
22
+ end
23
+
24
+ def config_options(argv=[])
25
+ options = RSpec::Core::ConfigurationOptions.new(argv)
26
+ options.parse_options
27
+ options
28
+ end
29
+
30
+ it "returns 0 if spec passes" do
31
+ err, out = StringIO.new, StringIO.new
32
+ result = command_line([passing_spec_filename]).run(err, out)
33
+ result.should be(0)
34
+ end
35
+
36
+ it "returns 1 if spec passes" do
37
+ err, out = StringIO.new, StringIO.new
38
+ result = command_line([failing_spec_filename]).run(err, out)
39
+ result.should be(1)
40
+ end
41
+ end
42
+
7
43
  context "given an Array of options" do
8
44
  it "assigns ConfigurationOptions built from Array to @options" do
9
45
  config_options = ConfigurationOptions.new(%w[--color])
@@ -5,18 +5,20 @@ describe "::DRbCommandLine", :ruby => "!jruby" do
5
5
  let(:out) { StringIO.new }
6
6
  let(:err) { StringIO.new }
7
7
 
8
+ include_context "spec files"
9
+
10
+ def command_line(args)
11
+ RSpec::Core::DRbCommandLine.new(config_options(args))
12
+ end
13
+
8
14
  def config_options(argv=[])
9
15
  options = RSpec::Core::ConfigurationOptions.new(argv)
10
16
  options.parse_options
11
17
  options
12
18
  end
13
19
 
14
- def drb_command_line(args)
15
- RSpec::Core::DRbCommandLine.new(config_options(args))
16
- end
17
-
18
20
  def run_with(args)
19
- drb_command_line(args).run(err, out)
21
+ command_line(args).run(err, out)
20
22
  end
21
23
 
22
24
  context "without server running" do
@@ -39,14 +41,14 @@ describe "::DRbCommandLine", :ruby => "!jruby" do
39
41
  context "without RSPEC_DRB environment variable set" do
40
42
  it "defaults to 8989" do
41
43
  with_RSPEC_DRB_set_to(nil) do
42
- drb_command_line([]).drb_port.should == 8989
44
+ command_line([]).drb_port.should == 8989
43
45
  end
44
46
  end
45
47
 
46
48
  it "sets the DRb port" do
47
49
  with_RSPEC_DRB_set_to(nil) do
48
- drb_command_line(["--drb-port", "1234"]).drb_port.should == 1234
49
- drb_command_line(["--drb-port", "5678"]).drb_port.should == 5678
50
+ command_line(["--drb-port", "1234"]).drb_port.should == 1234
51
+ command_line(["--drb-port", "5678"]).drb_port.should == 5678
50
52
  end
51
53
  end
52
54
  end
@@ -56,7 +58,7 @@ describe "::DRbCommandLine", :ruby => "!jruby" do
56
58
  context "without config variable set" do
57
59
  it "uses RSPEC_DRB value" do
58
60
  with_RSPEC_DRB_set_to('9000') do
59
- drb_command_line([]).drb_port.should == "9000"
61
+ command_line([]).drb_port.should == "9000"
60
62
  end
61
63
  end
62
64
  end
@@ -64,7 +66,7 @@ describe "::DRbCommandLine", :ruby => "!jruby" do
64
66
  context "and config variable set" do
65
67
  it "uses configured value" do
66
68
  with_RSPEC_DRB_set_to('9000') do
67
- drb_command_line(%w[--drb-port 5678]).drb_port.should == 5678
69
+ command_line(%w[--drb-port 5678]).drb_port.should == 5678
68
70
  end
69
71
  end
70
72
  end
@@ -80,59 +82,30 @@ describe "::DRbCommandLine", :ruby => "!jruby" do
80
82
  end
81
83
  end
82
84
 
83
- def dummy_spec_filename
84
- @dummy_spec_filename ||= File.expand_path(File.dirname(__FILE__)) + "/_dummy_spec#{@drb_example_file_counter}.rb"
85
- end
86
-
87
85
  before(:all) do
88
86
  @drb_port = 8990
89
87
  @drb_example_file_counter = 0
90
88
  DRb::start_service("druby://127.0.0.1:#{@drb_port}", ::FakeDrbSpecServer)
91
89
  end
92
90
 
93
- before(:each) do
94
- @drb_example_file_counter += 1
95
- create_dummy_spec_file
96
- end
97
-
98
- after(:each) do
99
- File.delete(dummy_spec_filename)
100
- end
101
-
102
91
  after(:all) do
103
92
  DRb::stop_service
104
93
  end
105
94
 
106
- def create_dummy_spec_file
107
- File.open(dummy_spec_filename, 'w') do |f|
108
- f.write %q{
109
- describe "DUMMY CONTEXT for 'DrbCommandLine with -c option'" do
110
- it "should be output with green bar" do
111
- true.should be_true
112
- end
113
-
114
- it "should be output with red bar" do
115
- raise("I want to see a red bar!")
116
- end
117
- end
118
- }
119
- end
120
- end
121
-
122
- it "returns true" do
95
+ it "returns 0 if spec passes" do
123
96
  err, out = StringIO.new, StringIO.new
124
- result = drb_command_line(["--drb-port", @drb_port.to_s]).run(err, out)
125
- result.should be_true
97
+ result = command_line(["--drb-port", @drb_port.to_s, passing_spec_filename]).run(err, out)
98
+ result.should be(0)
126
99
  end
127
100
 
128
- it "integrates via Runner.new.run" do
101
+ it "returns 1 if spec passes" do
129
102
  err, out = StringIO.new, StringIO.new
130
- result = RSpec::Core::Runner.run(%W[ --drb --drb-port #{@drb_port} #{dummy_spec_filename}], err, out)
131
- result.should be_false
103
+ result = command_line(["--drb-port", @drb_port.to_s, failing_spec_filename]).run(err, out)
104
+ result.should be(1)
132
105
  end
133
106
 
134
107
  def run_spec_via_druby
135
- run_with([dummy_spec_filename, "--colour", "--drb-port", @drb_port.to_s])
108
+ run_with([failing_spec_filename, "--colour", "--drb-port", @drb_port.to_s])
136
109
  out.rewind
137
110
  out.read
138
111
  end
@@ -21,9 +21,16 @@ module RSpec::Core
21
21
  end
22
22
 
23
23
  describe "#run" do
24
+ let(:err) { StringIO.new }
25
+ let(:out) { StringIO.new }
26
+
27
+ it "resets world and configuration" do
28
+ RSpec.configuration.should_receive(:reset)
29
+ RSpec.world.should_receive(:reset)
30
+ RSpec::Core::Runner.run([], err, out)
31
+ end
32
+
24
33
  context "with --drb or -X" do
25
- let(:err) { StringIO.new }
26
- let(:out) { StringIO.new }
27
34
 
28
35
  before(:each) do
29
36
  @options = RSpec::Core::ConfigurationOptions.new(%w[--drb --drb-port 8181 --color])
@@ -236,6 +236,17 @@ module RSpec::Core
236
236
  end
237
237
  end
238
238
  end
239
+
240
+ context "with examples" do
241
+ before { world.stub(:example_count) { 1 } }
242
+
243
+ context "with no filters" do
244
+ it "does not announce" do
245
+ reporter.should_not_receive(:message)
246
+ world.announce_filters
247
+ end
248
+ end
249
+ end
239
250
  end
240
251
 
241
252
  describe "#inclusion_filter" do
@@ -0,0 +1,44 @@
1
+ shared_context "spec files" do
2
+ def failing_spec_filename
3
+ @failing_spec_filename ||= File.expand_path(File.dirname(__FILE__)) + "/_failing_spec.rb"
4
+ end
5
+
6
+ def passing_spec_filename
7
+ @passing_spec_filename ||= File.expand_path(File.dirname(__FILE__)) + "/_passing_spec.rb"
8
+ end
9
+
10
+ def create_passing_spec_file
11
+ File.open(passing_spec_filename, 'w') do |f|
12
+ f.write %q{
13
+ describe "passing spec" do
14
+ it "passes" do
15
+ 1.should eq(1)
16
+ end
17
+ end
18
+ }
19
+ end
20
+ end
21
+
22
+ def create_failing_spec_file
23
+ File.open(failing_spec_filename, 'w') do |f|
24
+ f.write %q{
25
+ describe "failing spec" do
26
+ it "fails" do
27
+ 1.should eq(2)
28
+ end
29
+ end
30
+ }
31
+ end
32
+ end
33
+
34
+ before(:all) do
35
+ create_passing_spec_file
36
+ create_failing_spec_file
37
+ end
38
+
39
+ after(:all) do
40
+ File.delete(passing_spec_filename)
41
+ File.delete(failing_spec_filename)
42
+ end
43
+
44
+ end
metadata CHANGED
@@ -1,15 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424057
5
- prerelease: 6
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 6
9
9
  - 0
10
- - rc
11
- - 6
12
- version: 2.6.0.rc6
10
+ version: 2.6.0
13
11
  platform: ruby
14
12
  authors:
15
13
  - Chad Humphries
@@ -18,7 +16,7 @@ autorequire:
18
16
  bindir: bin
19
17
  cert_chain: []
20
18
 
21
- date: 2011-05-06 00:00:00 -05:00
19
+ date: 2011-05-12 00:00:00 -05:00
22
20
  default_executable:
23
21
  dependencies: []
24
22
 
@@ -206,10 +204,10 @@ files:
206
204
  - spec/rspec/core/subject_spec.rb
207
205
  - spec/rspec/core/world_spec.rb
208
206
  - spec/rspec/core_spec.rb
209
- - spec/ruby_forker.rb
210
207
  - spec/spec_helper.rb
211
208
  - spec/support/matchers.rb
212
209
  - spec/support/shared_example_groups.rb
210
+ - spec/support/spec_files.rb
213
211
  has_rdoc: true
214
212
  homepage: http://github.com/rspec
215
213
  licenses: []
@@ -231,21 +229,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
229
  required_rubygems_version: !ruby/object:Gem::Requirement
232
230
  none: false
233
231
  requirements:
234
- - - ">"
232
+ - - ">="
235
233
  - !ruby/object:Gem::Version
236
- hash: 25
234
+ hash: 3
237
235
  segments:
238
- - 1
239
- - 3
240
- - 1
241
- version: 1.3.1
236
+ - 0
237
+ version: "0"
242
238
  requirements: []
243
239
 
244
240
  rubyforge_project: rspec
245
241
  rubygems_version: 1.6.2
246
242
  signing_key:
247
243
  specification_version: 3
248
- summary: rspec-core-2.6.0.rc6
244
+ summary: rspec-core-2.6.0
249
245
  test_files:
250
246
  - features/Autotest.md
251
247
  - features/Changelog.md
@@ -349,7 +345,7 @@ test_files:
349
345
  - spec/rspec/core/subject_spec.rb
350
346
  - spec/rspec/core/world_spec.rb
351
347
  - spec/rspec/core_spec.rb
352
- - spec/ruby_forker.rb
353
348
  - spec/spec_helper.rb
354
349
  - spec/support/matchers.rb
355
350
  - spec/support/shared_example_groups.rb
351
+ - spec/support/spec_files.rb
@@ -1,13 +0,0 @@
1
- require 'rbconfig'
2
-
3
- module RubyForker
4
- # Forks a ruby interpreter with same type as ourself.
5
- # jruby will fork jruby, ruby will fork ruby etc.
6
- def ruby(args, stderr=nil)
7
- config = ::RbConfig::CONFIG
8
- interpreter = File::join(config['bindir'], config['ruby_install_name']) + config['EXEEXT']
9
- cmd = "#{interpreter} #{args}"
10
- cmd << " 2> #{stderr}" unless stderr.nil?
11
- `#{cmd}`
12
- end
13
- end