parallelized_specs 0.0.1 → 0.0.2

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.
Files changed (33) hide show
  1. data/Gemfile +1 -1
  2. data/Rakefile +2 -2
  3. data/Readme.md +32 -65
  4. data/VERSION +1 -1
  5. data/bin/parallelized_spec +2 -0
  6. data/bin/{parallel_test → parallelized_test} +6 -7
  7. data/lib/{parallel_specs.rb → parallelized_specs.rb} +4 -4
  8. data/lib/{parallel_specs → parallelized_specs}/spec_error_count_logger.rb +2 -2
  9. data/lib/{parallel_specs → parallelized_specs}/spec_error_logger.rb +2 -2
  10. data/lib/{parallel_specs → parallelized_specs}/spec_failures_logger.rb +3 -3
  11. data/lib/{parallel_specs → parallelized_specs}/spec_logger_base.rb +3 -3
  12. data/lib/{parallel_specs → parallelized_specs}/spec_runtime_logger.rb +1 -1
  13. data/lib/{parallel_specs → parallelized_specs}/spec_start_finish_logger.rb +2 -2
  14. data/lib/{parallel_specs → parallelized_specs}/spec_summary_logger.rb +2 -2
  15. data/lib/{parallel_tests.rb → parallelized_tests.rb} +4 -4
  16. data/lib/{parallel_tests → parallelized_tests}/grouper.rb +1 -1
  17. data/lib/{parallel_tests → parallelized_tests}/railtie.rb +2 -2
  18. data/lib/{parallel_tests → parallelized_tests}/runtime_logger.rb +4 -4
  19. data/lib/{parallel_tests → parallelized_tests}/tasks.rb +4 -4
  20. data/lib/tasks/parallelized_tests.rake +1 -0
  21. data/parallelized_specs.gemspec +26 -26
  22. data/spec/integration_spec.rb +3 -4
  23. data/spec/{parallel_specs → parallelized_specs}/spec_failure_logger_spec.rb +8 -8
  24. data/spec/{parallel_specs → parallelized_specs}/spec_runtime_logger_spec.rb +4 -4
  25. data/spec/{parallel_specs → parallelized_specs}/spec_summary_logger_spec.rb +2 -2
  26. data/spec/parallelized_specs_spec.rb +165 -0
  27. data/spec/{parallel_tests → parallelized_tests}/runtime_logger_spec.rb +13 -13
  28. data/spec/{parallel_tests_spec.rb → parallelized_tests_spec.rb} +39 -39
  29. data/spec/spec_helper.rb +1 -1
  30. metadata +29 -29
  31. data/bin/parallel_spec +0 -2
  32. data/lib/tasks/parallel_tests.rake +0 -1
  33. data/spec/parallel_specs_spec.rb +0 -165
@@ -1,80 +1,80 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe ParallelTests do
4
- test_tests_in_groups(ParallelTests, 'test', '_test.rb')
3
+ describe ParallelizedTests do
4
+ test_tests_in_groups(ParallelizedTests, 'test', '_test.rb')
5
5
 
6
6
  describe :parse_rake_args do
7
7
  it "should return the count" do
8
8
  args = {:count => 2}
9
- ParallelTests.parse_rake_args(args).should == [2, '', ""]
9
+ ParallelizedTests.parse_rake_args(args).should == [2, '', ""]
10
10
  end
11
11
 
12
12
  it "should default to the prefix" do
13
13
  args = {:count => "models"}
14
- ParallelTests.parse_rake_args(args).should == [Parallel.processor_count, "models", ""]
14
+ ParallelizedTests.parse_rake_args(args).should == [Parallel.processor_count, "models", ""]
15
15
  end
16
16
 
17
17
  it "should return the count and pattern" do
18
18
  args = {:count => 2, :pattern => "models"}
19
- ParallelTests.parse_rake_args(args).should == [2, "models", ""]
19
+ ParallelizedTests.parse_rake_args(args).should == [2, "models", ""]
20
20
  end
21
21
 
22
22
  it "should return the count, pattern, and options" do
23
23
  args = {:count => 2, :pattern => "plain", :options => "-p default" }
24
- ParallelTests.parse_rake_args(args).should == [2, "plain", "-p default"]
24
+ ParallelizedTests.parse_rake_args(args).should == [2, "plain", "-p default"]
25
25
  end
26
26
 
27
27
  it "should use the PARALLEL_TEST_PROCESSORS env var for processor_count if set" do
28
28
  ENV['PARALLEL_TEST_PROCESSORS'] = '28'
29
- ParallelTests.parse_rake_args({}).should == [28, '', '']
29
+ ParallelizedTests.parse_rake_args({}).should == [28, '', '']
30
30
  end
31
31
 
32
32
  it "should use count over PARALLEL_TEST_PROCESSORS env var" do
33
33
  ENV['PARALLEL_TEST_PROCESSORS'] = '28'
34
34
  args = {:count => 2}
35
- ParallelTests.parse_rake_args(args).should == [2, '', ""]
35
+ ParallelizedTests.parse_rake_args(args).should == [2, '', ""]
36
36
  end
37
37
  end
38
38
 
39
39
  describe :run_tests do
40
40
  it "uses TEST_ENV_NUMBER=blank when called for process 0" do
41
- ParallelTests.should_receive(:open).with{|x,y|x=~/TEST_ENV_NUMBER= /}.and_return mocked_process
42
- ParallelTests.run_tests(['xxx'],0,{})
41
+ ParallelizedTests.should_receive(:open).with{|x,y|x=~/TEST_ENV_NUMBER= /}.and_return mocked_process
42
+ ParallelizedTests.run_tests(['xxx'],0,{})
43
43
  end
44
44
 
45
45
  it "uses TEST_ENV_NUMBER=2 when called for process 1" do
46
- ParallelTests.should_receive(:open).with{|x,y| x=~/TEST_ENV_NUMBER=2/}.and_return mocked_process
47
- ParallelTests.run_tests(['xxx'],1,{})
46
+ ParallelizedTests.should_receive(:open).with{|x,y| x=~/TEST_ENV_NUMBER=2/}.and_return mocked_process
47
+ ParallelizedTests.run_tests(['xxx'],1,{})
48
48
  end
49
49
 
50
50
  it "uses options" do
51
- ParallelTests.should_receive(:open).with{|x,y| x=~ %r{ruby -Itest .* -- -v}}.and_return mocked_process
52
- ParallelTests.run_tests(['xxx'],1,:test_options => '-v')
51
+ ParallelizedTests.should_receive(:open).with{|x,y| x=~ %r{ruby -Itest .* -- -v}}.and_return mocked_process
52
+ ParallelizedTests.run_tests(['xxx'],1,:test_options => '-v')
53
53
  end
54
54
 
55
55
  it "returns the output" do
56
56
  io = open('spec/spec_helper.rb')
57
- ParallelTests.stub!(:print)
58
- ParallelTests.should_receive(:open).and_return io
59
- ParallelTests.run_tests(['xxx'],1,{})[:stdout].should =~ /\$LOAD_PATH << File/
57
+ ParallelizedTests.stub!(:print)
58
+ ParallelizedTests.should_receive(:open).and_return io
59
+ ParallelizedTests.run_tests(['xxx'],1,{})[:stdout].should =~ /\$LOAD_PATH << File/
60
60
  end
61
61
  end
62
62
 
63
63
  describe :test_in_groups do
64
64
  it "does not sort when passed false do_sort option" do
65
- ParallelTests.should_not_receive(:smallest_first)
66
- ParallelTests.tests_in_groups [], 1, :no_sort => true
65
+ ParallelizedTests.should_not_receive(:smallest_first)
66
+ ParallelizedTests.tests_in_groups [], 1, :no_sort => true
67
67
  end
68
68
 
69
69
  it "does sort when not passed do_sort option" do
70
- ParallelTests.stub!(:tests_with_runtime).and_return([])
71
- ParallelTests::Grouper.should_receive(:largest_first).and_return([])
72
- ParallelTests.tests_in_groups [], 1
70
+ ParallelizedTests.stub!(:tests_with_runtime).and_return([])
71
+ ParallelizedTests::Grouper.should_receive(:largest_first).and_return([])
72
+ ParallelizedTests.tests_in_groups [], 1
73
73
  end
74
74
 
75
75
  it "groups by single_process pattern and then via size" do
76
- ParallelTests.should_receive(:with_runtime_info).and_return([['aaa',5],['aaa2',5],['bbb',2],['ccc',1],['ddd',1]])
77
- result = ParallelTests.tests_in_groups [], 3, :single_process => [/^a.a/]
76
+ ParallelizedTests.should_receive(:with_runtime_info).and_return([['aaa',5],['aaa2',5],['bbb',2],['ccc',1],['ddd',1]])
77
+ result = ParallelizedTests.tests_in_groups [], 3, :single_process => [/^a.a/]
78
78
  result.should == [["aaa", "aaa2"], ["bbb"], ["ccc", "ddd"]]
79
79
  end
80
80
  end
@@ -97,7 +97,7 @@ Finished in 0.145069 seconds.
97
97
 
98
98
  EOF
99
99
 
100
- ParallelTests.find_results(output).should == ['10 tests, 20 assertions, 0 failures, 0 errors','14 tests, 20 assertions, 0 failures, 0 errors']
100
+ ParallelizedTests.find_results(output).should == ['10 tests, 20 assertions, 0 failures, 0 errors','14 tests, 20 assertions, 0 failures, 0 errors']
101
101
  end
102
102
 
103
103
  it "is robust against scrambled output" do
@@ -116,7 +116,7 @@ Finished in 0.145069 seconds.
116
116
  14 te.dsts, 20 assertions, 0 failures, 0 errors
117
117
  EOF
118
118
 
119
- ParallelTests.find_results(output).should == ['10 tests, 20 assertions, 0 failures, 0 errors','14 tedsts, 20 assertions, 0 failures, 0 errors']
119
+ ParallelizedTests.find_results(output).should == ['10 tests, 20 assertions, 0 failures, 0 errors','14 tedsts, 20 assertions, 0 failures, 0 errors']
120
120
  end
121
121
  end
122
122
 
@@ -127,35 +127,35 @@ EOF
127
127
 
128
128
  it "should return false" do
129
129
  use_temporary_directory_for do
130
- ParallelTests.send(:bundler_enabled?).should == false
130
+ ParallelizedTests.send(:bundler_enabled?).should == false
131
131
  end
132
132
  end
133
133
 
134
134
  it "should return true when there is a constant called Bundler" do
135
135
  use_temporary_directory_for do
136
136
  Object.stub!(:const_defined?).with(:Bundler).and_return true
137
- ParallelTests.send(:bundler_enabled?).should == true
137
+ ParallelizedTests.send(:bundler_enabled?).should == true
138
138
  end
139
139
  end
140
140
 
141
141
  it "should be true when there is a Gemfile" do
142
142
  use_temporary_directory_for do
143
143
  FileUtils.touch("Gemfile")
144
- ParallelTests.send(:bundler_enabled?).should == true
144
+ ParallelizedTests.send(:bundler_enabled?).should == true
145
145
  end
146
146
  end
147
147
 
148
148
  it "should be true when there is a Gemfile in the parent directory" do
149
149
  use_temporary_directory_for do
150
150
  FileUtils.touch(File.join("..", "Gemfile"))
151
- ParallelTests.send(:bundler_enabled?).should == true
151
+ ParallelizedTests.send(:bundler_enabled?).should == true
152
152
  end
153
153
  end
154
154
  end
155
155
 
156
156
  describe :find_tests do
157
157
  it "returns if root is an array" do
158
- ParallelTests.send(:find_tests, [1]).should == [1]
158
+ ParallelizedTests.send(:find_tests, [1]).should == [1]
159
159
  end
160
160
 
161
161
  it "finds all test files" do
@@ -171,7 +171,7 @@ EOF
171
171
  `touch #{root}/b/test.rb`
172
172
  `ln -s #{root}/b #{root}/c`
173
173
  `ln -s #{root}/b #{root}/a/`
174
- ParallelTests.send(:find_tests, root).sort.should == [
174
+ ParallelizedTests.send(:find_tests, root).sort.should == [
175
175
  "#{root}/a/b/y_test.rb",
176
176
  "#{root}/a/x_test.rb",
177
177
  "#{root}/b/y_test.rb",
@@ -191,7 +191,7 @@ EOF
191
191
  `touch #{root}/a/x_test.rb`
192
192
  `touch #{root}/a/y_test.rb`
193
193
  `touch #{root}/a/z_test.rb`
194
- ParallelTests.send(:find_tests, root, :pattern => '^a/(y|z)_test').sort.should == [
194
+ ParallelizedTests.send(:find_tests, root, :pattern => '^a/(y|z)_test').sort.should == [
195
195
  "#{root}/a/y_test.rb",
196
196
  "#{root}/a/z_test.rb",
197
197
  ]
@@ -203,27 +203,27 @@ EOF
203
203
 
204
204
  describe :summarize_results do
205
205
  it "adds results" do
206
- ParallelTests.summarize_results(['1 foo 3 bar','2 foo 5 bar']).should == '8 bars, 3 foos'
206
+ ParallelizedTests.summarize_results(['1 foo 3 bar','2 foo 5 bar']).should == '8 bars, 3 foos'
207
207
  end
208
208
 
209
209
  it "adds results with braces" do
210
- ParallelTests.summarize_results(['1 foo(s) 3 bar(s)','2 foo 5 bar']).should == '8 bars, 3 foos'
210
+ ParallelizedTests.summarize_results(['1 foo(s) 3 bar(s)','2 foo 5 bar']).should == '8 bars, 3 foos'
211
211
  end
212
212
 
213
213
  it "adds same results with plurals" do
214
- ParallelTests.summarize_results(['1 foo 3 bar','2 foos 5 bar']).should == '8 bars, 3 foos'
214
+ ParallelizedTests.summarize_results(['1 foo 3 bar','2 foos 5 bar']).should == '8 bars, 3 foos'
215
215
  end
216
216
 
217
217
  it "adds non-similar results" do
218
- ParallelTests.summarize_results(['1 xxx 2 yyy','1 xxx 2 zzz']).should == '2 xxxs, 2 yyys, 2 zzzs'
218
+ ParallelizedTests.summarize_results(['1 xxx 2 yyy','1 xxx 2 zzz']).should == '2 xxxs, 2 yyys, 2 zzzs'
219
219
  end
220
220
 
221
221
  it "does not pluralize 1" do
222
- ParallelTests.summarize_results(['1 xxx 2 yyy']).should == '1 xxx, 2 yyys'
222
+ ParallelizedTests.summarize_results(['1 xxx 2 yyy']).should == '1 xxx, 2 yyys'
223
223
  end
224
224
  end
225
225
 
226
226
  it "has a version" do
227
- ParallelTests::VERSION.should =~ /^\d+\.\d+\.\d+$/
227
+ ParallelizedTests::VERSION.should =~ /^\d+\.\d+\.\d+$/
228
228
  end
229
229
  end
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,7 @@ require 'rubygems'
5
5
  FAKE_RAILS_ROOT = '/tmp/pspecs/fixtures'
6
6
 
7
7
  require 'tempfile'
8
- require 'parallel_specs'
8
+ require 'parallelized_specs'
9
9
  require 'parallel_specs/spec_runtime_logger'
10
10
  require 'parallel_specs/spec_summary_logger'
11
11
  require 'parallel_cucumber'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallelized_specs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jake Sorce, Bryan Madsen
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-04-17 00:00:00 Z
18
+ date: 2012-04-18 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: parallel
@@ -34,8 +34,8 @@ dependencies:
34
34
  description:
35
35
  email: jake@instructure.com
36
36
  executables:
37
- - parallel_test
38
- - parallel_spec
37
+ - parallelized_spec
38
+ - parallelized_test
39
39
  extensions: []
40
40
 
41
41
  extra_rdoc_files: []
@@ -46,32 +46,32 @@ files:
46
46
  - Rakefile
47
47
  - Readme.md
48
48
  - VERSION
49
- - bin/parallel_spec
50
- - bin/parallel_test
51
- - lib/parallel_specs.rb
52
- - lib/parallel_specs/spec_error_count_logger.rb
53
- - lib/parallel_specs/spec_error_logger.rb
54
- - lib/parallel_specs/spec_failures_logger.rb
55
- - lib/parallel_specs/spec_logger_base.rb
56
- - lib/parallel_specs/spec_runtime_logger.rb
57
- - lib/parallel_specs/spec_start_finish_logger.rb
58
- - lib/parallel_specs/spec_summary_logger.rb
59
- - lib/parallel_tests.rb
60
- - lib/parallel_tests/grouper.rb
61
- - lib/parallel_tests/railtie.rb
62
- - lib/parallel_tests/runtime_logger.rb
63
- - lib/parallel_tests/tasks.rb
64
- - lib/tasks/parallel_tests.rake
49
+ - bin/parallelized_spec
50
+ - bin/parallelized_test
51
+ - lib/parallelized_specs.rb
52
+ - lib/parallelized_specs/spec_error_count_logger.rb
53
+ - lib/parallelized_specs/spec_error_logger.rb
54
+ - lib/parallelized_specs/spec_failures_logger.rb
55
+ - lib/parallelized_specs/spec_logger_base.rb
56
+ - lib/parallelized_specs/spec_runtime_logger.rb
57
+ - lib/parallelized_specs/spec_start_finish_logger.rb
58
+ - lib/parallelized_specs/spec_summary_logger.rb
59
+ - lib/parallelized_tests.rb
60
+ - lib/parallelized_tests/grouper.rb
61
+ - lib/parallelized_tests/railtie.rb
62
+ - lib/parallelized_tests/runtime_logger.rb
63
+ - lib/parallelized_tests/tasks.rb
64
+ - lib/tasks/parallelized_tests.rake
65
65
  - parallelized_specs.gemspec
66
66
  - spec/integration_spec.rb
67
- - spec/parallel_specs/spec_failure_logger_spec.rb
68
- - spec/parallel_specs/spec_runtime_logger_spec.rb
69
- - spec/parallel_specs/spec_summary_logger_spec.rb
70
- - spec/parallel_specs_spec.rb
71
- - spec/parallel_tests/runtime_logger_spec.rb
72
- - spec/parallel_tests_spec.rb
67
+ - spec/parallelized_specs/spec_failure_logger_spec.rb
68
+ - spec/parallelized_specs/spec_runtime_logger_spec.rb
69
+ - spec/parallelized_specs/spec_summary_logger_spec.rb
70
+ - spec/parallelized_specs_spec.rb
71
+ - spec/parallelized_tests/runtime_logger_spec.rb
72
+ - spec/parallelized_tests_spec.rb
73
73
  - spec/spec_helper.rb
74
- homepage: http://github.com/jake/parallelized_specs
74
+ homepage: http://github.com/jakesorce/parallelized_specs
75
75
  licenses: []
76
76
 
77
77
  post_install_message:
data/bin/parallel_spec DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env ruby
2
- exec "#{File.join(File.dirname(__FILE__), 'parallel_test')} -t spec #{ARGV * ' '}"
@@ -1 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "/../parallel_tests/tasks")
@@ -1,165 +0,0 @@
1
- require 'spec_helper'
2
- require 'parallel_specs/spec_runtime_logger'
3
- require 'parallel_specs/spec_summary_logger'
4
- require 'parallel_specs/spec_failures_logger'
5
-
6
- describe ParallelSpecs do
7
- test_tests_in_groups(ParallelSpecs, 'spec', '_spec.rb')
8
-
9
- describe :run_tests do
10
- before do
11
- File.stub!(:file?).with('script/spec').and_return false
12
- File.stub!(:file?).with('spec/spec.opts').and_return false
13
- File.stub!(:file?).with('spec/parallel_spec.opts').and_return false
14
- ParallelSpecs.stub!(:bundler_enabled?).and_return false
15
- end
16
-
17
- it "uses TEST_ENV_NUMBER=blank when called for process 0" do
18
- ParallelSpecs.should_receive(:open).with{|x,y|x=~/TEST_ENV_NUMBER= /}.and_return mocked_process
19
- ParallelSpecs.run_tests(['xxx'],0,{})
20
- end
21
-
22
- it "uses TEST_ENV_NUMBER=2 when called for process 1" do
23
- ParallelSpecs.should_receive(:open).with{|x,y| x=~/TEST_ENV_NUMBER=2/}.and_return mocked_process
24
- ParallelSpecs.run_tests(['xxx'],1,{})
25
- end
26
-
27
- it "runs with color when called from cmdline" do
28
- ParallelSpecs.should_receive(:open).with{|x,y| x=~/ --tty /}.and_return mocked_process
29
- $stdout.should_receive(:tty?).and_return true
30
- ParallelSpecs.run_tests(['xxx'],1,{})
31
- end
32
-
33
- it "runs without color when not called from cmdline" do
34
- ParallelSpecs.should_receive(:open).with{|x,y| x !~ / --tty /}.and_return mocked_process
35
- $stdout.should_receive(:tty?).and_return false
36
- ParallelSpecs.run_tests(['xxx'],1,{})
37
- end
38
-
39
- it "runs with color for rspec 1 when called for the cmdline" do
40
- File.should_receive(:file?).with('script/spec').and_return true
41
- ParallelSpecs.should_receive(:open).with{|x,y| x=~/ RSPEC_COLOR=1 /}.and_return mocked_process
42
- $stdout.should_receive(:tty?).and_return true
43
- ParallelSpecs.run_tests(['xxx'],1,{})
44
- end
45
-
46
- it "runs without color for rspec 1 when not called for the cmdline" do
47
- File.should_receive(:file?).with('script/spec').and_return true
48
- ParallelSpecs.should_receive(:open).with{|x,y| x !~ / RSPEC_COLOR=1 /}.and_return mocked_process
49
- $stdout.should_receive(:tty?).and_return false
50
- ParallelSpecs.run_tests(['xxx'],1,{})
51
- end
52
-
53
- it "run bundle exec spec when on bundler rspec 1" do
54
- File.stub!(:file?).with('script/spec').and_return false
55
- ParallelSpecs.stub!(:bundler_enabled?).and_return true
56
- ParallelSpecs.stub!(:run).with("bundle show rspec").and_return "/foo/bar/rspec-1.0.2"
57
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{bundle exec spec}}.and_return mocked_process
58
- ParallelSpecs.run_tests(['xxx'],1,{})
59
- end
60
-
61
- it "run bundle exec rspec when on bundler rspec 2" do
62
- File.stub!(:file?).with('script/spec').and_return false
63
- ParallelSpecs.stub!(:bundler_enabled?).and_return true
64
- ParallelSpecs.stub!(:run).with("bundle show rspec").and_return "/foo/bar/rspec-2.0.2"
65
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{bundle exec rspec}}.and_return mocked_process
66
- ParallelSpecs.run_tests(['xxx'],1,{})
67
- end
68
-
69
- it "runs script/spec when script/spec can be found" do
70
- File.should_receive(:file?).with('script/spec').and_return true
71
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{script/spec}}.and_return mocked_process
72
- ParallelSpecs.run_tests(['xxx'],1,{})
73
- end
74
-
75
- it "runs spec when script/spec cannot be found" do
76
- File.stub!(:file?).with('script/spec').and_return false
77
- ParallelSpecs.should_receive(:open).with{|x,y| x !~ %r{script/spec}}.and_return mocked_process
78
- ParallelSpecs.run_tests(['xxx'],1,{})
79
- end
80
-
81
- it "uses no -O when no opts where found" do
82
- File.stub!(:file?).with('spec/spec.opts').and_return false
83
- ParallelSpecs.should_receive(:open).with{|x,y| x !~ %r{spec/spec.opts}}.and_return mocked_process
84
- ParallelSpecs.run_tests(['xxx'],1,{})
85
- end
86
-
87
- it "uses -O spec/spec.opts when found (with script/spec)" do
88
- File.stub!(:file?).with('script/spec').and_return true
89
- File.stub!(:file?).with('spec/spec.opts').and_return true
90
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{script/spec\s+ -O spec/spec.opts}}.and_return mocked_process
91
- ParallelSpecs.run_tests(['xxx'],1,{})
92
- end
93
-
94
- it "uses -O spec/parallel_spec.opts when found (with script/spec)" do
95
- File.stub!(:file?).with('script/spec').and_return true
96
- File.should_receive(:file?).with('spec/parallel_spec.opts').and_return true
97
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{script/spec\s+ -O spec/parallel_spec.opts}}.and_return mocked_process
98
- ParallelSpecs.run_tests(['xxx'],1,{})
99
- end
100
-
101
- it "uses -O spec/parallel_spec.opts with rspec1" do
102
- File.should_receive(:file?).with('spec/parallel_spec.opts').and_return true
103
-
104
- ParallelSpecs.stub!(:bundler_enabled?).and_return true
105
- ParallelSpecs.stub!(:run).with("bundle show rspec").and_return "/foo/bar/rspec-1.0.2"
106
-
107
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{spec\s+ -O spec/parallel_spec.opts}}.and_return mocked_process
108
- ParallelSpecs.run_tests(['xxx'],1,{})
109
- end
110
-
111
- it "uses -O spec/parallel_spec.opts with rspec2" do
112
- File.should_receive(:file?).with('spec/parallel_spec.opts').and_return true
113
-
114
- ParallelSpecs.stub!(:bundler_enabled?).and_return true
115
- ParallelSpecs.stub!(:run).with("bundle show rspec").and_return "/foo/bar/rspec-2.4.2"
116
-
117
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{rspec\s+ --color --tty -O spec/parallel_spec.opts}}.and_return mocked_process
118
- ParallelSpecs.run_tests(['xxx'],1,{})
119
- end
120
-
121
- it "uses options passed in" do
122
- ParallelSpecs.should_receive(:open).with{|x,y| x =~ %r{rspec -f n}}.and_return mocked_process
123
- ParallelSpecs.run_tests(['xxx'],1, :test_options => '-f n')
124
- end
125
-
126
- it "returns the output" do
127
- io = open('spec/spec_helper.rb')
128
- ParallelSpecs.stub!(:print)
129
- ParallelSpecs.should_receive(:open).and_return io
130
- ParallelSpecs.run_tests(['xxx'],1,{})[:stdout].should =~ /\$LOAD_PATH << File/
131
- end
132
- end
133
-
134
- describe :find_results do
135
- it "finds multiple results in spec output" do
136
- output = <<EOF
137
- ....F...
138
- ..
139
- failute fsddsfsd
140
- ...
141
- ff.**..
142
- 0 examples, 0 failures, 0 pending
143
- ff.**..
144
- 1 example, 1 failure, 1 pending
145
- EOF
146
-
147
- ParallelSpecs.find_results(output).should == ['0 examples, 0 failures, 0 pending','1 example, 1 failure, 1 pending']
148
- end
149
-
150
- it "is robust against scrambeled output" do
151
- output = <<EOF
152
- ....F...
153
- ..
154
- failute fsddsfsd
155
- ...
156
- ff.**..
157
- 0 exFampl*es, 0 failures, 0 pend.ing
158
- ff.**..
159
- 1 exampF.les, 1 failures, 1 pend.ing
160
- EOF
161
-
162
- ParallelSpecs.find_results(output).should == ['0 examples, 0 failures, 0 pending','1 examples, 1 failures, 1 pending']
163
- end
164
- end
165
- end