gorgon 0.7.0.rc4 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjNhMGExNjljNThiZWI4MjE2NzEyZDYxZWM1YTc5NjVhZTNhMjIwYw==
4
+ Njg4ZmM0YTg5NWRkZTk0ZWU4ZWY4OTRiNjEwYTcxMmYwNGI1MzdjZQ==
5
5
  data.tar.gz: !binary |-
6
- NGE1Y2UxMmM3NzEwYjk5MWI3NmFhMDdjYmU3YmYwYjY4M2E4ZTBjNA==
6
+ ODAxYjJlMDgyNjFhMDM1YjI2ZTU4ZTJiNzE3OTI4MzViNThmZTM2Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzczOGFhYzMzYTBkZDM1ZGY3OTg5Zjg3N2JhMmIyNzk4MjZkNDAxOTk5NTQ1
10
- ZjBiNjNkYzlkNzc4OWNlNmYwZmRhMmZiNjRkYThmN2MyOGM2MTc0YTk3ODM0
11
- MDNkZjU1M2Y2NGQyMTc4ZmI1ZmMzNmMwMzkyM2EyMjU3ZTdmZTY=
9
+ MWYxYzg1NzAwNThjOTEzZDhjODZmMWU5Y2VmNTI4ODI3NWUyZWM5M2JhNWI0
10
+ YzI3NzE4N2RiODY0NDM1NmIzOGRlNzY5NjY2MTFiN2ZiNGM1NWIwNDEyOGJh
11
+ NzZmOTE0YzQyYTY2NGJlOTk1NGZkODFjODgyNDQ5MzQ4NGQ4MzA=
12
12
  data.tar.gz: !binary |-
13
- MjZkNmU3OWU0OGY3MmQwOGI5NTE0ODA1YzFlOGUyNmYzMTA2MTYxOGIxMDM4
14
- ZTNlYWVmNzBhMGYwMzhmYjE0Mzk4NDVhOWNlMjJiOWMzZjE2MWI5NTczZDJj
15
- OWI4NjJiOWU1ZDI5NWI2OTBkMTYwMTYyOWEzODNjNzg5MDI0MDY=
13
+ ZjE2ZjQyMzI5NmExYzBkYTJlZjVkMzczNGNiMzIzMTcyZjUwZWFkYzJiODAz
14
+ MjkyYTZkZTAwMmI4Nzc3NTJkZGQ2NjU3MGNiM2E3NzI3NDUyZmI5OWU3YTVk
15
+ MDdkNTA4ZDgwYTA0MDE2ZWY1OTcwMWJiY2IzNzExMGE2MmIzN2Y=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gorgon (0.7.0.rc4)
4
+ gorgon (0.7.0)
5
5
  amqp (~> 1.1.0)
6
6
  awesome_print
7
7
  colorize (~> 0.5.8)
@@ -21,7 +21,7 @@ GEM
21
21
  colorize (0.5.8)
22
22
  diff-lcs (1.1.3)
23
23
  eventmachine (1.0.3)
24
- open4 (1.3.3)
24
+ open4 (1.3.0)
25
25
  rake (0.9.2.2)
26
26
  rspec (2.11.0)
27
27
  rspec-core (~> 2.11.0)
@@ -1,3 +1,3 @@
1
1
  module Gorgon
2
- VERSION = "0.7.0.rc4"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require 'gorgon/crash_reporter'
2
2
 
3
3
  describe "CrashReporter" do
4
- let(:exchange) { stub("GorgonBunny Exchange", :publish => nil) }
4
+ let(:exchange) { double("GorgonBunny Exchange", :publish => nil) }
5
5
  let(:info) { {
6
6
  :out_file => "stdout_file", :err_file => "stderr_file", :footer_text => "Text"
7
7
  } }
@@ -22,14 +22,14 @@ describe "CrashReporter" do
22
22
  end
23
23
 
24
24
  it "calls send_crash_message" do
25
- container_class.stub!(:'`').and_return "stdout text", "stderr text "
25
+ container_class.stub(:'`').and_return "stdout text", "stderr text "
26
26
  container_class.should_receive(:send_crash_message).with(exchange, "stdout text", "stderr text Text")
27
27
  container_class.report_crash exchange, info
28
28
  end
29
29
 
30
30
  it "returns last lines of output from stderr message and footer text" do
31
- container_class.stub!(:'`').and_return "stdout text", "stderr text "
32
- container_class.stub!(:send_crash_message)
31
+ container_class.stub(:'`').and_return "stdout text", "stderr text "
32
+ container_class.stub(:send_crash_message)
33
33
  result = container_class.report_crash exchange, info
34
34
  result.should == "stdout text\nstderr text Text"
35
35
  end
@@ -1,11 +1,11 @@
1
1
  require 'gorgon/failures_printer'
2
2
 
3
3
  describe FailuresPrinter do
4
- let(:job_state) { stub("Job State", :add_observer => nil,
4
+ let(:job_state) { double("Job State", :add_observer => nil,
5
5
  :is_job_complete? => true, :is_job_cancelled? => false,
6
6
  :each_failed_test => nil,
7
7
  :each_running_file => nil)}
8
- let(:fd) {stub("File descriptor", :write => nil)}
8
+ let(:fd) {double("File descriptor", :write => nil)}
9
9
 
10
10
  subject do
11
11
  FailuresPrinter.new(job_state)
@@ -27,7 +27,7 @@ describe FailuresPrinter do
27
27
 
28
28
  context "job is not completed nor cancelled" do
29
29
  it "doesn't output anything" do
30
- job_state.stub!(:is_job_complete? => false)
30
+ job_state.stub(:is_job_complete? => false)
31
31
  File.should_not_receive(:open)
32
32
  @printer.update({})
33
33
  end
@@ -35,7 +35,7 @@ describe FailuresPrinter do
35
35
 
36
36
  context "job is completed" do
37
37
  it "outputs failed tests return by job_state#each_failed_test" do
38
- job_state.stub!(:each_failed_test).and_yield({:filename => "file1.rb"}).and_yield({:filename => "file2.rb"})
38
+ job_state.stub(:each_failed_test).and_yield({:filename => "file1.rb"}).and_yield({:filename => "file2.rb"})
39
39
  File.should_receive(:open).with(FailuresPrinter::OUTPUT_FILE, 'w+').and_yield fd
40
40
  fd.should_receive(:write).with(Yajl::Encoder.encode(["file1.rb", "file2.rb"]))
41
41
  @printer.update({})
@@ -44,20 +44,20 @@ describe FailuresPrinter do
44
44
 
45
45
  context "job is cancelled" do
46
46
  before do
47
- job_state.stub!(:is_job_complete?).and_return(false)
48
- job_state.stub!(:is_job_cancelled?).and_return(true)
47
+ job_state.stub(:is_job_complete?).and_return(false)
48
+ job_state.stub(:is_job_cancelled?).and_return(true)
49
49
  end
50
50
 
51
51
  it "outputs failed tests return by job_state#each_failed_test" do
52
- job_state.stub!(:each_failed_test).and_yield({:filename => "file1.rb"}).and_yield({:filename => "file2.rb"})
52
+ job_state.stub(:each_failed_test).and_yield({:filename => "file1.rb"}).and_yield({:filename => "file2.rb"})
53
53
  File.should_receive(:open).with(FailuresPrinter::OUTPUT_FILE, 'w+').and_yield fd
54
54
  fd.should_receive(:write).once.with(Yajl::Encoder.encode(["file1.rb", "file2.rb"]))
55
55
  @printer.update({})
56
56
  end
57
57
 
58
58
  it "outputs still-running files returns by job_state#each_running_file" do
59
- job_state.stub!(:each_running_file).and_yield("host1", "file1.rb").and_yield("host2", "file2.rb")
60
- File.stub!(:open).and_yield fd
59
+ job_state.stub(:each_running_file).and_yield("host1", "file1.rb").and_yield("host2", "file2.rb")
60
+ File.stub(:open).and_yield fd
61
61
  fd.should_receive(:write).once.with(Yajl::Encoder.encode(["file1.rb", "file2.rb"]))
62
62
  @printer.update({})
63
63
  end
@@ -1,17 +1,17 @@
1
1
  require 'gorgon/gem_command_handler'
2
2
 
3
3
  describe GemCommandHandler do
4
- let(:exchange) { stub("GorgonBunny Exchange", :publish => nil) }
5
- let(:bunny) { stub("GorgonBunny", :exchange => exchange, :stop => nil) }
4
+ let(:exchange) { double("GorgonBunny Exchange", :publish => nil) }
5
+ let(:bunny) { double("GorgonBunny", :exchange => exchange, :stop => nil) }
6
6
 
7
7
  let(:payload) {
8
8
  {:type => :update, :reply_exchange_name => "name",
9
9
  :body => {:gem_command => "cmd"}}
10
10
  }
11
- let(:stdin) { stub("IO object", :close => nil)}
12
- let(:stdout) { stub("IO object", :read => "output", :close => nil)}
13
- let(:stderr) { stub("IO object", :read => "errors", :close => nil)}
14
- let(:status) { stub("Process Status", :exitstatus => 0)}
11
+ let(:stdin) { double("IO object", :close => nil)}
12
+ let(:stdout) { double("IO object", :read => "output", :close => nil)}
13
+ let(:stderr) { double("IO object", :read => "errors", :close => nil)}
14
+ let(:status) { double("Process Status", :exitstatus => 0)}
15
15
 
16
16
  describe "#handle" do
17
17
  before do
@@ -76,9 +76,9 @@ describe GemCommandHandler do
76
76
  end
77
77
 
78
78
  def stub_methods
79
- Open4.stub!(:popen4).and_return([1, stdin, stdout, stderr])
80
- Process.stub!(:waitpid2).and_return([nil, status])
81
- Yajl::Encoder.stub!(:encode).and_return :json_msg
82
- @handler.stub!(:exit)
79
+ Open4.stub(:popen4).and_return([1, stdin, stdout, stderr])
80
+ Process.stub(:waitpid2).and_return([nil, status])
81
+ Yajl::Encoder.stub(:encode).and_return :json_msg
82
+ @handler.stub(:exit)
83
83
  end
84
84
  end
@@ -2,18 +2,18 @@ require 'gorgon/gem_service'
2
2
 
3
3
  describe GemService do
4
4
  let(:configuration){ {:connection => {:host => "host"}, :originator_log_file => "file.log"}}
5
- let(:protocol) { stub("OriginatorProtocol", :connect => nil,
5
+ let(:protocol) { double("OriginatorProtocol", :connect => nil,
6
6
  :receive_payloads => nil, :disconnect => nil,
7
7
  :send_message_to_listeners => nil)}
8
- let(:logger){ stub("Originator Logger", :log => nil, :log_message => nil)}
8
+ let(:logger){ double("Originator Logger", :log => nil, :log_message => nil)}
9
9
 
10
10
  before do
11
- $stdout.stub!(:write)
11
+ $stdout.stub(:write)
12
12
  GemService.any_instance.stub(:load_configuration_from_file).and_return configuration
13
- EM.stub!(:run).and_yield
14
- EM.stub!(:add_periodic_timer).and_yield
15
- OriginatorLogger.stub!(:new).and_return logger
16
- OriginatorProtocol.stub!(:new).and_return(protocol)
13
+ EM.stub(:run).and_yield
14
+ EM.stub(:add_periodic_timer).and_yield
15
+ OriginatorLogger.stub(:new).and_return logger
16
+ OriginatorProtocol.stub(:new).and_return(protocol)
17
17
  @service = GemService.new
18
18
  @command = "install"
19
19
  end
@@ -38,7 +38,7 @@ describe GemService do
38
38
  context "when it receives an running_command message" do
39
39
  before do
40
40
  payload = {:type => "running_command", :hostname => "host"}
41
- protocol.stub!(:receive_payloads).and_yield Yajl::Encoder.encode(payload)
41
+ protocol.stub(:receive_payloads).and_yield Yajl::Encoder.encode(payload)
42
42
  end
43
43
 
44
44
  it "writes to console" do
@@ -56,7 +56,7 @@ describe GemService do
56
56
  before do
57
57
  running_command_payload = {:type => "running_command", :hostname => "host"}
58
58
  complete_payload = {:type => "command_completed", :hostname => "host"}
59
- protocol.stub!(:receive_payloads).and_yield(Yajl::Encoder.encode(running_command_payload))
59
+ protocol.stub(:receive_payloads).and_yield(Yajl::Encoder.encode(running_command_payload))
60
60
  .and_yield(Yajl::Encoder.encode(complete_payload))
61
61
  end
62
62
 
@@ -3,26 +3,26 @@ require 'gorgon/gorgon_rspec_formatter'
3
3
  BaseFormatter = RSpec::Core::Formatters::GorgonRspecFormatter
4
4
 
5
5
  describe RSpec::Core::Formatters::GorgonRspecFormatter do
6
- let(:example) {stub("Example", :description => "description",
6
+ let(:example) {double("Example", :description => "description",
7
7
  :full_description => "Full_Description",
8
8
  :metadata => {:file_path => "path/to/file", :line_number => 2},
9
9
  :execution_result => {:status => "passed"}, :exception => nil)}
10
- let(:fail_example) {stub("Example", :description => "description",
10
+ let(:fail_example) {double("Example", :description => "description",
11
11
  :full_description => "Full_Description",
12
12
  :metadata => {:file_path => "path/to/file", :line_number => 2},
13
13
  :execution_result => {:status => "failed"}, :exception => nil)}
14
14
 
15
- let(:exception) { stub("Exception", :class => Object, :message => "some msg",
15
+ let(:exception) { double("Exception", :class => Object, :message => "some msg",
16
16
  :backtrace => "backtrace")}
17
17
 
18
- let(:output) { stub("StringIO", :write => nil, :close => nil) }
18
+ let(:output) { double("StringIO", :write => nil, :close => nil) }
19
19
 
20
20
  before do
21
21
  @formatter = BaseFormatter.new(output)
22
22
  end
23
23
 
24
24
  it "returns an array of hashes when there are failures" do
25
- @formatter.stub!(:examples).and_return([example, fail_example])
25
+ @formatter.stub(:examples).and_return([example, fail_example])
26
26
 
27
27
  expected_result = [{:test_name => "Full_Description: line 2", :description => "description",
28
28
  :full_description => "Full_Description", :status => "failed",
@@ -33,7 +33,7 @@ describe RSpec::Core::Formatters::GorgonRspecFormatter do
33
33
  end
34
34
 
35
35
  it "returns an empty array when all examples pass" do
36
- @formatter.stub!(:examples).and_return([example, example])
36
+ @formatter.stub(:examples).and_return([example, example])
37
37
 
38
38
  output.should_receive(:write).with("[]")
39
39
  @formatter.stop
@@ -41,8 +41,8 @@ describe RSpec::Core::Formatters::GorgonRspecFormatter do
41
41
  end
42
42
 
43
43
  it "returns an empty array when all examples are pending" do
44
- example.stub!(:execution_result).and_return(:status => "pending")
45
- @formatter.stub!(:examples).and_return([example, example])
44
+ example.stub(:execution_result).and_return(:status => "pending")
45
+ @formatter.stub(:examples).and_return([example, example])
46
46
 
47
47
  output.should_receive(:write).with("[]")
48
48
  @formatter.stop
@@ -50,8 +50,8 @@ describe RSpec::Core::Formatters::GorgonRspecFormatter do
50
50
  end
51
51
 
52
52
  it "returns exception details if there is an exception" do
53
- fail_example.stub!(:exception).and_return(exception)
54
- @formatter.stub!(:examples).and_return([fail_example])
53
+ fail_example.stub(:exception).and_return(exception)
54
+ @formatter.stub(:examples).and_return([fail_example])
55
55
  expected_result = [{:test_name => "Full_Description: line 2", :description => "description",
56
56
  :full_description => "Full_Description", :status => "failed",
57
57
  :file_path => "path/to/file", :line_number => 2, :class => Object.name,
@@ -6,7 +6,7 @@ describe JobState do
6
6
  :type => "pass", :failures => []}
7
7
  }
8
8
 
9
- let (:host_state){ stub("Host State", :file_started => nil, :file_finished => nil)}
9
+ let (:host_state){ double("Host State", :file_started => nil, :file_finished => nil)}
10
10
 
11
11
  subject { JobState.new 5 }
12
12
  it { should respond_to :failed_files_count }
@@ -62,14 +62,14 @@ describe JobState do
62
62
  end
63
63
 
64
64
  it "doesn't create a new HostState object if this is not the first file started by 'hostname'" do
65
- HostState.stub!(:new).and_return host_state
65
+ HostState.stub(:new).and_return host_state
66
66
  @job_state.file_started(payload)
67
67
  HostState.should_not_receive(:new)
68
68
  @job_state.file_started(payload)
69
69
  end
70
70
 
71
71
  it "calls #file_started on HostState object representing 'hostname'" do
72
- HostState.stub!(:new).and_return host_state
72
+ HostState.stub(:new).and_return host_state
73
73
  host_state.should_receive(:file_started).with("worker_id", "file_name")
74
74
  @job_state.file_started({:hostname => "hostname",
75
75
  :worker_id => "worker_id",
@@ -85,7 +85,7 @@ describe JobState do
85
85
 
86
86
  describe "#file_finished" do
87
87
  before do
88
- HostState.stub!(:new).and_return host_state
88
+ HostState.stub(:new).and_return host_state
89
89
  @job_state.file_started payload
90
90
  end
91
91
 
@@ -124,7 +124,7 @@ describe JobState do
124
124
  end
125
125
 
126
126
  it "tells to the proper HostState object that a file finished in that host" do
127
- HostState.stub!(:new).and_return host_state
127
+ HostState.stub(:new).and_return host_state
128
128
  @job_state.file_started({:hostname => "hostname",
129
129
  :worker_id => "worker_id",
130
130
  :filename => "file_name"})
@@ -2,10 +2,10 @@ require 'gorgon/listener'
2
2
 
3
3
  describe Listener do
4
4
  let(:connection_information) { double }
5
- let(:queue) { stub("GorgonBunny Queue", :bind => nil) }
6
- let(:exchange) { stub("GorgonBunny Exchange", :publish => nil) }
7
- let(:bunny) { stub("GorgonBunny", :start => nil, :queue => queue, :exchange => exchange) }
8
- let(:logger) { stub("Logger", :info => true, :datetime_format= => "")}
5
+ let(:queue) { double("GorgonBunny Queue", :bind => nil) }
6
+ let(:exchange) { double("GorgonBunny Exchange", :publish => nil) }
7
+ let(:bunny) { double("GorgonBunny", :start => nil, :queue => queue, :exchange => exchange) }
8
+ let(:logger) { double("Logger", :info => true, :datetime_format= => "")}
9
9
 
10
10
  before do
11
11
  Logger.stub(:new).and_return(logger)
@@ -138,7 +138,7 @@ describe Listener do
138
138
  let(:ping_payload) { [nil, nil, Yajl::Encoder.encode({:type => "ping", :reply_exchange_name => "name", :body => {}}) ] }
139
139
 
140
140
  before do
141
- queue.stub!(:pop => ping_payload)
141
+ queue.stub(:pop => ping_payload)
142
142
  listener.stub(:configuration).and_return({:worker_slots => 3})
143
143
  end
144
144
 
@@ -160,10 +160,10 @@ describe Listener do
160
160
  :body => {:command => command}}
161
161
  }
162
162
 
163
- let(:gem_command_handler) { stub("GemCommandHandler", :handle => nil) }
163
+ let(:gem_command_handler) { double("GemCommandHandler", :handle => nil) }
164
164
  let(:configuration) { {:worker_slots => 3} }
165
165
  before do
166
- queue.stub!(:pop => [nil, nil, Yajl::Encoder.encode(payload)])
166
+ queue.stub(:pop => [nil, nil, Yajl::Encoder.encode(payload)])
167
167
  listener.stub(:configuration).and_return(configuration)
168
168
  end
169
169
 
@@ -181,14 +181,14 @@ describe Listener do
181
181
  :sync_exclude => ["log"], :callbacks => {:a_callback => "path/to/callback"}
182
182
  }}
183
183
 
184
- let(:syncer) { stub("SourceTreeSyncer", :sync => nil, :exclude= => nil, :success? => true,
184
+ let(:syncer) { double("SourceTreeSyncer", :sync => nil, :exclude= => nil, :success? => true,
185
185
  :output => "some output", :errors => "some errors",
186
186
  :remove_temp_dir => nil, :sys_command => "rsync ...")}
187
- let(:process_status) { stub("Process Status", :exitstatus => 0)}
188
- let(:callback_handler) { stub("Callback Handler", :after_sync => nil) }
189
- let(:stdin) { stub("IO object", :write => nil, :close => nil)}
190
- let(:stdout) { stub("IO object", :read => nil, :close => nil)}
191
- let(:stderr) { stub("IO object", :read => nil, :close => nil)}
187
+ let(:process_status) { double("Process Status", :exitstatus => 0)}
188
+ let(:callback_handler) { double("Callback Handler", :after_sync => nil) }
189
+ let(:stdin) { double("IO object", :write => nil, :close => nil)}
190
+ let(:stdout) { double("IO object", :read => nil, :close => nil)}
191
+ let(:stderr) { double("IO object", :read => nil, :close => nil)}
192
192
 
193
193
  before do
194
194
  stub_classes
@@ -205,9 +205,9 @@ describe Listener do
205
205
 
206
206
  context "syncer#sync fails" do
207
207
  before do
208
- syncer.stub!(:success?).and_return false
209
- syncer.stub!(:output).and_return "some output"
210
- syncer.stub!(:errors).and_return "some errors"
208
+ syncer.stub(:success?).and_return false
209
+ syncer.stub(:output).and_return "some output"
210
+ syncer.stub(:errors).and_return "some errors"
211
211
  end
212
212
 
213
213
  it "aborts current job" do
@@ -254,11 +254,11 @@ describe Listener do
254
254
  private
255
255
 
256
256
  def stub_classes
257
- SourceTreeSyncer.stub!(:new).and_return syncer
258
- CallbackHandler.stub!(:new).and_return callback_handler
259
- Open4.stub!(:popen4).and_return([1, stdin, stdout, stderr])
260
- Process.stub!(:waitpid2).and_return([0, process_status])
261
- Socket.stub!(:gethostname).and_return("hostname")
257
+ SourceTreeSyncer.stub(:new).and_return syncer
258
+ CallbackHandler.stub(:new).and_return callback_handler
259
+ Open4.stub(:popen4).and_return([1, stdin, stdout, stderr])
260
+ Process.stub(:waitpid2).and_return([0, process_status])
261
+ Socket.stub(:gethostname).and_return("hostname")
262
262
  end
263
263
  end
264
264
  end
@@ -7,7 +7,7 @@ describe MiniTestRunner do
7
7
 
8
8
  describe "#run_file" do
9
9
 
10
- let(:runner) {stub("MiniTestUnitRunner", :run => nil, :report => ["report"])}
10
+ let(:runner) {double("MiniTestUnitRunner", :run => nil, :report => ["report"])}
11
11
  before do
12
12
  Object.stub(:load)
13
13
  MiniTestUnitRunner.stub(:new).and_return(runner)
@@ -1,17 +1,17 @@
1
1
  require 'gorgon/originator_protocol'
2
2
 
3
3
  describe OriginatorProtocol do
4
- let(:connection) { stub("Connection", :disconnect => nil, :on_closed => nil)}
5
- let(:queue) { stub("Queue", :bind => nil, :subscribe => nil, :name => "queue", :purge => nil,
4
+ let(:connection) { double("Connection", :disconnect => nil, :on_closed => nil)}
5
+ let(:queue) { double("Queue", :bind => nil, :subscribe => nil, :name => "queue", :purge => nil,
6
6
  :delete => nil) }
7
- let(:exchange) { stub("Exchange", :publish => nil, :name => "exchange", :delete => nil) }
8
- let(:channel) { stub("Channel", :queue => queue, :direct => exchange, :fanout => exchange,
7
+ let(:exchange) { double("Exchange", :publish => nil, :name => "exchange", :delete => nil) }
8
+ let(:channel) { double("Channel", :queue => queue, :direct => exchange, :fanout => exchange,
9
9
  :default_exchange => exchange) }
10
- let(:logger){ stub("Logger", :log => nil)}
10
+ let(:logger){ double("Logger", :log => nil)}
11
11
 
12
12
  before do
13
- AMQP.stub!(:connect).and_return connection
14
- AMQP::Channel.stub!(:new).and_return channel
13
+ AMQP.stub(:connect).and_return connection
14
+ AMQP::Channel.stub(:new).and_return channel
15
15
  @originator_p = OriginatorProtocol.new logger
16
16
  @conn_information = {:host => "host"}
17
17
  end
@@ -38,13 +38,13 @@ describe OriginatorProtocol do
38
38
  end
39
39
 
40
40
  it "opens a reply and exchange queue" do
41
- UUIDTools::UUID.stub!(:timestamp_create).and_return 1
41
+ UUIDTools::UUID.stub(:timestamp_create).and_return 1
42
42
  channel.should_receive(:queue).once.with("reply_queue_1", :auto_delete => true)
43
43
  @originator_p.connect @conn_information
44
44
  end
45
45
 
46
46
  it "opens a reply exchange and binds reply queue to it" do
47
- UUIDTools::UUID.stub!(:timestamp_create).and_return 1
47
+ UUIDTools::UUID.stub(:timestamp_create).and_return 1
48
48
  channel.should_receive(:direct).with("reply_exchange_1", :auto_delete => true)
49
49
  queue.should_receive(:bind).with(exchange)
50
50
  @originator_p.connect @conn_information
@@ -1,16 +1,16 @@
1
1
  require 'gorgon/originator'
2
2
 
3
3
  describe Originator do
4
- let(:protocol){ stub("Originator Protocol", :connect => nil, :publish_files => nil,
4
+ let(:protocol){ double("Originator Protocol", :connect => nil, :publish_files => nil,
5
5
  :publish_job => nil, :receive_payloads => nil, :cancel_job => nil,
6
6
  :disconnect => nil)}
7
7
 
8
8
  let(:configuration){ {:job => {}, :files => ["some/file"], :file_server => {:host => 'host-name'}}}
9
- let(:job_state){ stub("JobState", :is_job_complete? => false, :file_finished => nil,
9
+ let(:job_state){ double("JobState", :is_job_complete? => false, :file_finished => nil,
10
10
  :add_observer => nil)}
11
- let(:progress_bar_view){ stub("Progress Bar View", :show => nil)}
12
- let(:originator_logger){ stub("Originator Logger", :log => nil, :log_message => nil)}
13
- let(:source_tree_syncer) { stub("Source Tree Syncer", :push => nil, :exclude= => nil, :success? => true,
11
+ let(:progress_bar_view){ double("Progress Bar View", :show => nil)}
12
+ let(:originator_logger){ double("Originator Logger", :log => nil, :log_message => nil)}
13
+ let(:source_tree_syncer) { double("Source Tree Syncer", :push => nil, :exclude= => nil, :success? => true,
14
14
  :sys_command => 'command')}
15
15
 
16
16
  before do
@@ -26,14 +26,14 @@ describe Originator do
26
26
  end
27
27
 
28
28
  it "creates a JobState instance and passes total files" do
29
- @originator.stub!(:files).and_return ["a file", "other file"]
29
+ @originator.stub(:files).and_return ["a file", "other file"]
30
30
  JobState.should_receive(:new).with(2).and_return job_state
31
31
 
32
32
  @originator.publish
33
33
  end
34
34
 
35
35
  it "creates a ProgressBarView and show" do
36
- JobState.stub!(:new).and_return job_state
36
+ JobState.stub(:new).and_return job_state
37
37
  ProgressBarView.should_receive(:new).with(job_state).and_return progress_bar_view
38
38
  progress_bar_view.should_receive(:show)
39
39
  @originator.publish
@@ -64,7 +64,7 @@ describe Originator do
64
64
 
65
65
  it 'tells ShutdownManager to cancel_job' do
66
66
  shutdown_manager = double('ShutdownManager')
67
- JobState.stub!(:new).and_return job_state
67
+ JobState.stub(:new).and_return job_state
68
68
 
69
69
  ShutdownManager.should_receive(:new).
70
70
  with(hash_including(protocol: protocol, job_state: job_state)).
@@ -79,7 +79,7 @@ describe Originator do
79
79
  describe "#cleanup_if_job_complete" do
80
80
  before do
81
81
  stub_methods
82
- JobState.stub!(:new).and_return job_state
82
+ JobState.stub(:new).and_return job_state
83
83
  @originator.publish
84
84
  end
85
85
 
@@ -89,7 +89,7 @@ describe Originator do
89
89
  end
90
90
 
91
91
  it "disconnect if job is complete" do
92
- job_state.stub!(:is_job_complete?).and_return true
92
+ job_state.stub(:is_job_complete?).and_return true
93
93
  protocol.should_receive(:disconnect)
94
94
  @originator.cleanup_if_job_complete
95
95
  end
@@ -98,7 +98,7 @@ describe Originator do
98
98
  describe "#handle_reply" do
99
99
  before do
100
100
  stub_methods
101
- JobState.stub!(:new).and_return job_state
101
+ JobState.stub(:new).and_return job_state
102
102
  @originator.publish
103
103
  end
104
104
 
@@ -130,14 +130,14 @@ describe Originator do
130
130
 
131
131
  describe "#job_definition" do
132
132
  it "returns a JobDefinition object" do
133
- @originator.stub!(:configuration).and_return configuration
133
+ @originator.stub(:configuration).and_return configuration
134
134
  job_definition = JobDefinition.new
135
135
  JobDefinition.should_receive(:new).and_return job_definition
136
136
  @originator.job_definition.should equal job_definition
137
137
  end
138
138
 
139
139
  it "builds source_tree_path if it was not specified in the configuration" do
140
- @originator.stub!(:configuration).and_return(configuration.merge(:file_server => {:host => 'host-name'}))
140
+ @originator.stub(:configuration).and_return(configuration.merge(:file_server => {:host => 'host-name'}))
141
141
  Socket.stub(:gethostname => 'my-host')
142
142
  Dir.stub(:pwd => 'dir')
143
143
 
@@ -145,7 +145,7 @@ describe Originator do
145
145
  end
146
146
 
147
147
  it "returns source_tree_path specified in configuration if it is present" do
148
- @originator.stub!(:configuration).and_return({:job => {:source_tree_path => "login@host:path/to/dir"}})
148
+ @originator.stub(:configuration).and_return({:job => {:source_tree_path => "login@host:path/to/dir"}})
149
149
  @originator.job_definition.source_tree_path.should == "login@host:path/to/dir"
150
150
  end
151
151
  end
@@ -153,12 +153,12 @@ describe Originator do
153
153
  private
154
154
 
155
155
  def stub_methods
156
- EventMachine.stub!(:run).and_yield
157
- ProgressBarView.stub!(:new).and_return progress_bar_view
158
- OriginatorProtocol.stub!(:new).and_return protocol
159
- @originator.stub!(:configuration).and_return configuration
160
- @originator.stub!(:connection_information).and_return 'host'
161
- @originator.stub!(:job_definition).and_return JobDefinition.new
156
+ EventMachine.stub(:run).and_yield
157
+ ProgressBarView.stub(:new).and_return progress_bar_view
158
+ OriginatorProtocol.stub(:new).and_return protocol
159
+ @originator.stub(:configuration).and_return configuration
160
+ @originator.stub(:connection_information).and_return 'host'
161
+ @originator.stub(:job_definition).and_return JobDefinition.new
162
162
  end
163
163
 
164
164
  def start_payload
@@ -3,17 +3,17 @@ require 'gorgon/ping_service'
3
3
  describe "PingService" do
4
4
  describe "#ping_listeners" do
5
5
  let(:configuration){ {:connection => {:host => "host"}, :originator_log_file => "file.log"}}
6
- let(:protocol) { stub("OriginatorProtocol", :connect => nil, :ping => nil,
6
+ let(:protocol) { double("OriginatorProtocol", :connect => nil, :ping => nil,
7
7
  :receive_payloads => nil, :disconnect => nil,
8
8
  :send_message_to_listeners => nil)}
9
- let(:logger){ stub("Originator Logger", :log => nil, :log_message => nil)}
9
+ let(:logger){ double("Originator Logger", :log => nil, :log_message => nil)}
10
10
 
11
11
  before do
12
- $stdout.stub!(:write)
12
+ $stdout.stub(:write)
13
13
  PingService.any_instance.stub(:load_configuration_from_file).and_return configuration
14
- EventMachine.stub!(:run).and_yield
15
- EM.stub!(:add_timer).and_yield
16
- OriginatorLogger.stub!(:new).and_return logger
14
+ EventMachine.stub(:run).and_yield
15
+ EM.stub(:add_timer).and_yield
16
+ OriginatorLogger.stub(:new).and_return logger
17
17
  end
18
18
 
19
19
  it "connnects and calls OriginatorProtocol#send_message_to_listeners" do
@@ -25,7 +25,7 @@ describe "PingService" do
25
25
 
26
26
  context "after sending ping messages" do
27
27
  before do
28
- OriginatorProtocol.stub!(:new).and_return(protocol)
28
+ OriginatorProtocol.stub(:new).and_return(protocol)
29
29
  @service = PingService.new
30
30
  end
31
31
 
@@ -1,8 +1,8 @@
1
1
  require 'gorgon/pipe_forker'
2
2
 
3
3
  describe PipeForker do
4
- let(:io_pipe) { stub("IO object", :close => nil)}
5
- let(:pipe) {stub("Pipe", :write => io_pipe)}
4
+ let(:io_pipe) { double("IO object", :close => nil)}
5
+ let(:pipe) {double("Pipe", :write => io_pipe)}
6
6
 
7
7
  let(:container_class) do
8
8
  Class.new do
@@ -11,10 +11,10 @@ describe PipeForker do
11
11
  end
12
12
 
13
13
  before do
14
- IO.stub!(:pipe).and_return([io_pipe, io_pipe])
15
- STDIN.stub!(:reopen)
16
- container_class.stub!(:fork).and_yield.and_return(1)
17
- container_class.stub!(:exit)
14
+ IO.stub(:pipe).and_return([io_pipe, io_pipe])
15
+ STDIN.stub(:reopen)
16
+ container_class.stub(:fork).and_yield.and_return(1)
17
+ container_class.stub(:exit)
18
18
  end
19
19
 
20
20
  describe ".pipe_fork" do
@@ -28,7 +28,7 @@ describe ProgressBarView do
28
28
  end
29
29
 
30
30
  describe "#update" do
31
- let(:progress_bar) { stub("Progress Bar", :title= => nil, :progress= => nil, :format => nil,
31
+ let(:progress_bar) { double("Progress Bar", :title= => nil, :progress= => nil, :format => nil,
32
32
  :finished? => false)}
33
33
  let(:payload) {
34
34
  { :filename => "path/file.rb",
@@ -37,11 +37,11 @@ describe ProgressBarView do
37
37
  }
38
38
 
39
39
  before do
40
- ProgressBar.stub!(:create).and_return progress_bar
40
+ ProgressBar.stub(:create).and_return progress_bar
41
41
  @job_state = JobState.new 2
42
- @job_state.stub!(:state).and_return :running
42
+ @job_state.stub(:state).and_return :running
43
43
  @progress_bar_view = ProgressBarView.new @job_state
44
- $stdout.stub!(:write)
44
+ $stdout.stub(:write)
45
45
  @progress_bar_view.show
46
46
  end
47
47
 
@@ -74,8 +74,8 @@ describe ProgressBarView do
74
74
 
75
75
  it "prints failures and finish progress_bar when job is done" do
76
76
  @progress_bar_view.update
77
- @job_state.stub!(:each_failed_test).and_yield(payload)
78
- @job_state.stub!(:is_job_complete?).and_return :true
77
+ @job_state.stub(:each_failed_test).and_yield(payload)
78
+ @job_state.stub(:is_job_complete?).and_return :true
79
79
  $stdout.should_receive(:write).with(/Failure messages/)
80
80
  @progress_bar_view.update
81
81
  end
@@ -83,11 +83,11 @@ describe ProgressBarView do
83
83
  context "when job is cancelled" do
84
84
  before do
85
85
  @progress_bar_view.update
86
- @job_state.stub!(:is_job_cancelled?).and_return :true
86
+ @job_state.stub(:is_job_cancelled?).and_return :true
87
87
  end
88
88
 
89
89
  it "prints failures and finish progress_bar when job is cancelled" do
90
- @job_state.stub!(:each_failed_test).and_yield(payload)
90
+ @job_state.stub(:each_failed_test).and_yield(payload)
91
91
  $stdout.should_receive(:write).with(/Failure messages/)
92
92
  @progress_bar_view.update
93
93
  end
@@ -103,7 +103,7 @@ describe ProgressBarView do
103
103
  let(:crash_message) {{:type => "crash", :hostname => "host",
104
104
  :stdout => "some output", :stderr => "some errors"}}
105
105
  it "prints info about crash in standard error" do
106
- $stderr.stub!(:write)
106
+ $stderr.stub(:write)
107
107
  $stderr.should_receive(:write).with(/crash.*host/i)
108
108
  $stderr.should_receive(:write).with(/some output/i)
109
109
  $stderr.should_receive(:write).with(/some errors/i)
@@ -11,8 +11,7 @@ describe RspecRunner do
11
11
 
12
12
  before do
13
13
  RSpec::Core::Runner.stub(:run)
14
- RSpec.stub(configuration: configuration,
15
- instance_variable_set: nil)
14
+ RspecRunner.stub(:keep_config_modules).and_yield
16
15
  end
17
16
 
18
17
  it "uses Rspec runner to run filename and uses the correct options" do
@@ -30,19 +29,11 @@ describe RspecRunner do
30
29
  end
31
30
 
32
31
  it "parses the output of the Runner and returns it" do
33
- str_io = stub("StringIO", :rewind => nil, :read => :content)
34
- StringIO.stub!(:new).and_return(str_io)
32
+ str_io = double("StringIO", :rewind => nil, :read => :content)
33
+ StringIO.stub(:new).and_return(str_io)
35
34
  Yajl::Parser.any_instance.should_receive(:parse).with(:content).and_return :result
36
35
  RspecRunner.run_file("file").should == :result
37
36
  end
38
-
39
- # since configuration is reset on each run
40
- # https://github.com/rspec/rspec-core/issues/621
41
- it 'restore initial rspec configuration' do
42
- RSpec.should_receive(:instance_variable_set).
43
- with(:@configuration, configuration)
44
- RspecRunner.run_file "file"
45
- end
46
37
  end
47
38
 
48
39
  describe "#runner" do
@@ -1,9 +1,9 @@
1
1
  require 'gorgon/shutdown_manager'
2
2
 
3
3
  describe ShutdownManager do
4
- let(:protocol){ stub("Originator Protocol", :cancel_job => nil, :disconnect => nil)}
4
+ let(:protocol){ double("Originator Protocol", :cancel_job => nil, :disconnect => nil)}
5
5
 
6
- let(:job_state){ stub("JobState", cancel: nil)}
6
+ let(:job_state){ double("JobState", cancel: nil)}
7
7
 
8
8
  describe '#cancel_job' do
9
9
  it "call JobState#cancel" do
@@ -10,10 +10,10 @@ describe SourceTreeSyncer.new("") do
10
10
  it { should respond_to :output }
11
11
  it { should respond_to :errors }
12
12
 
13
- let(:stdin) { stub("IO object", :close => nil)}
14
- let(:stdout) { stub("IO object", :read => nil, :close => nil)}
15
- let(:stderr) { stub("IO object", :read => nil, :close => nil)}
16
- let(:status) { stub("Process Status", :exitstatus => 0)}
13
+ let(:stdin) { double("IO object", :close => nil)}
14
+ let(:stdout) { double("IO object", :read => nil, :close => nil)}
15
+ let(:stderr) { double("IO object", :read => nil, :close => nil)}
16
+ let(:status) { double("Process Status", :exitstatus => 0)}
17
17
 
18
18
  before do
19
19
  @syncer = SourceTreeSyncer.new "path/to/source"
@@ -112,11 +112,11 @@ describe SourceTreeSyncer.new("") do
112
112
  private
113
113
 
114
114
  def stub_utilities_methods
115
- Dir.stub!(:mktmpdir).and_return("tmp/dir")
116
- Dir.stub!(:chdir)
117
- Open4.stub!(:popen4).and_return([1, stdin, stdout, stderr])
118
- Process.stub!(:waitpid2).and_return([nil, status])
119
- FileUtils.stub!(:remove_entry_secure)
120
- @syncer.stub!(:system)
115
+ Dir.stub(:mktmpdir).and_return("tmp/dir")
116
+ Dir.stub(:chdir)
117
+ Open4.stub(:popen4).and_return([1, stdin, stdout, stderr])
118
+ Process.stub(:waitpid2).and_return([nil, status])
119
+ FileUtils.stub(:remove_entry_secure)
120
+ @syncer.stub(:system)
121
121
  end
122
122
  end
@@ -1,20 +1,20 @@
1
1
  require 'gorgon/worker_manager'
2
2
 
3
3
  describe WorkerManager do
4
- let(:exchange) { stub("GorgonBunny Exchange", :publish => nil) }
5
- let(:queue) { stub("Queue", :bind => nil, :subscribe => nil, :delete => nil,
4
+ let(:exchange) { double("GorgonBunny Exchange", :publish => nil) }
5
+ let(:queue) { double("Queue", :bind => nil, :subscribe => nil, :delete => nil,
6
6
  :pop => {:payload => :queue_empty}) }
7
- let(:bunny) { stub("GorgonBunny", :start => nil, :exchange => exchange,
7
+ let(:bunny) { double("GorgonBunny", :start => nil, :exchange => exchange,
8
8
  :queue => queue, :stop => nil) }
9
9
  before do
10
- STDIN.stub!(:read).and_return "{}"
11
- STDOUT.stub!(:reopen)
12
- STDERR.stub!(:reopen)
13
- STDOUT.stub!(:sync)
14
- STDERR.stub!(:sync)
15
- GorgonBunny.stub!(:new).and_return(bunny)
16
- Configuration.stub!(:load_configuration_from_file).and_return({})
17
- EventMachine.stub!(:run).and_yield
10
+ STDIN.stub(:read).and_return "{}"
11
+ STDOUT.stub(:reopen)
12
+ STDERR.stub(:reopen)
13
+ STDOUT.stub(:sync)
14
+ STDERR.stub(:sync)
15
+ GorgonBunny.stub(:new).and_return(bunny)
16
+ Configuration.stub(:load_configuration_from_file).and_return({})
17
+ EventMachine.stub(:run).and_yield
18
18
  end
19
19
 
20
20
  describe ".build" do
data/spec/worker_spec.rb CHANGED
@@ -16,8 +16,8 @@ describe Worker do
16
16
  let(:file_queue) { double("Queue") }
17
17
  let(:reply_exchange) { double("Exchange", :publish => nil) }
18
18
  let(:fake_amqp) { fake_amqp = FakeAmqp.new file_queue, reply_exchange }
19
- let(:callback_handler) { stub("Callback Handler", :before_start => nil, :after_complete => nil) }
20
- let(:job_definition) {stub("JobDefinition", :callbacks => ["/path/to/callback"],
19
+ let(:callback_handler) { double("Callback Handler", :before_start => nil, :after_complete => nil) }
20
+ let(:job_definition) {double("JobDefinition", :callbacks => ["/path/to/callback"],
21
21
  :file_queue_name => "queue",
22
22
  :reply_exchange_name => "exchange")}
23
23
 
@@ -36,9 +36,9 @@ describe Worker do
36
36
  let(:config) { {:connection => "", :log_file => "path/to/log_file"} }
37
37
  before do
38
38
  stub_streams
39
- AmqpService.stub!(:new).and_return fake_amqp
40
- CallbackHandler.stub!(:new).and_return callback_handler
41
- Worker.stub!(:new)
39
+ AmqpService.stub(:new).and_return fake_amqp
40
+ CallbackHandler.stub(:new).and_return callback_handler
41
+ Worker.stub(:new)
42
42
  end
43
43
 
44
44
  it "redirects output to a file since writing to a pipe may block when pipe is full" do
@@ -70,7 +70,7 @@ few lines of output and send it to originator. Order matters" do
70
70
  end
71
71
 
72
72
  it "creates a new worker" do
73
- JobDefinition.stub!(:new).and_return job_definition
73
+ JobDefinition.stub(:new).and_return job_definition
74
74
  Worker.should_receive(:new).with(params)
75
75
  Worker.build 1, config
76
76
  end
@@ -82,7 +82,7 @@ few lines of output and send it to originator. Order matters" do
82
82
  stub_const("MiniTest", :test)
83
83
  Worker.any_instance.stub(:initialize_logger)
84
84
  @worker = Worker.new params
85
- @worker.stub!(:require_relative)
85
+ @worker.stub(:require_relative)
86
86
  end
87
87
 
88
88
  it 'should do nothing if the file queue is empty' do
@@ -100,7 +100,7 @@ few lines of output and send it to originator. Order matters" do
100
100
  end
101
101
  reply_exchange.should_receive(:publish).with(any_args())
102
102
 
103
- TestRunner.stub!(:run_file).and_return({:type => :pass, :time => 0})
103
+ TestRunner.stub(:run_file).and_return({:type => :pass, :time => 0})
104
104
 
105
105
  @worker.work
106
106
  end
@@ -115,13 +115,13 @@ few lines of output and send it to originator. Order matters" do
115
115
  msg[:filename].should == 'testfile1'
116
116
  end
117
117
 
118
- TestRunner.stub!(:run_file).and_return({:type => :pass, :time => 0})
118
+ TestRunner.stub(:run_file).and_return({:type => :pass, :time => 0})
119
119
 
120
120
  @worker.work
121
121
  end
122
122
 
123
123
  it "should send finish message when test run has failures" do
124
- failures = stub
124
+ failures = double
125
125
 
126
126
  file_queue.should_receive(:pop).and_return("testfile1", nil)
127
127
 
@@ -133,7 +133,7 @@ few lines of output and send it to originator. Order matters" do
133
133
  msg[:failures].should == failures
134
134
  end
135
135
 
136
- TestRunner.stub!(:run_file).and_return({:type => :fail, :time => 0, :failures => failures})
136
+ TestRunner.stub(:run_file).and_return({:type => :fail, :time => 0, :failures => failures})
137
137
 
138
138
  @worker.work
139
139
  end
@@ -165,8 +165,8 @@ few lines of output and send it to originator. Order matters" do
165
165
 
166
166
  # ruby 1.9 defines MiniTest by default, so let's remove it for these test cases
167
167
  Object.send(:remove_const, :MiniTest)
168
- file_queue.stub!(:pop).and_return("file_test.rb", nil)
169
- File.stub!(:read).and_return("")
168
+ file_queue.stub(:pop).and_return("file_test.rb", nil)
169
+ File.stub(:read).and_return("")
170
170
  end
171
171
 
172
172
  it "runs file using TestUnitRunner when file doesn't end in _spec and Test is defined" do
@@ -179,7 +179,7 @@ few lines of output and send it to originator. Order matters" do
179
179
  end
180
180
 
181
181
  it "runs file using RspecRunner when file finishes in _spec.rb and Rspec is defined" do
182
- file_queue.stub!(:pop).and_return("file_spec.rb", nil)
182
+ file_queue.stub(:pop).and_return("file_spec.rb", nil)
183
183
 
184
184
  @worker.should_receive(:require_relative).with "rspec_runner"
185
185
  TestRunner.should_receive(:run_file).with("file_spec.rb", RspecRunner).and_return({})
@@ -197,7 +197,7 @@ few lines of output and send it to originator. Order matters" do
197
197
 
198
198
  it "runs file using TestUnitRunner when file doesn't end in _spec.rb, MiniTest is defined but project is using test-unit gem" do
199
199
  MiniTest = Temp
200
- File.stub!(:read).and_return("test-unit")
200
+ File.stub(:read).and_return("test-unit")
201
201
  stub_const("Test", :test_unit)
202
202
 
203
203
  @worker.should_receive(:require_relative).with "test_unit_runner"
@@ -208,7 +208,7 @@ few lines of output and send it to originator. Order matters" do
208
208
 
209
209
  it "uses UnknownRunner if the framework is unknown" do
210
210
  stub_const("UnknownRunner", :unknown_runner)
211
- file_queue.stub!(:pop).and_return("file.rb", nil)
211
+ file_queue.stub(:pop).and_return("file.rb", nil)
212
212
 
213
213
  @worker.should_receive(:require_relative).with "unknown_runner"
214
214
  TestRunner.should_receive(:run_file).with("file.rb", UnknownRunner).and_return({})
@@ -226,10 +226,10 @@ few lines of output and send it to originator. Order matters" do
226
226
  private
227
227
 
228
228
  def stub_streams
229
- STDIN.stub!(:read).and_return "{}"
230
- STDOUT.stub!(:reopen)
231
- STDERR.stub!(:reopen)
232
- STDOUT.stub!(:sync)
233
- STDERR.stub!(:sync)
229
+ STDIN.stub(:read).and_return "{}"
230
+ STDOUT.stub(:reopen)
231
+ STDERR.stub(:reopen)
232
+ STDOUT.stub(:sync)
233
+ STDERR.stub(:sync)
234
234
  end
235
235
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gorgon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.rc4
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Fitzsimmons
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-05-03 00:00:00.000000000 Z
15
+ date: 2014-05-13 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rake
@@ -360,9 +360,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
360
360
  version: '0'
361
361
  required_rubygems_version: !ruby/object:Gem::Requirement
362
362
  requirements:
363
- - - ! '>'
363
+ - - ! '>='
364
364
  - !ruby/object:Gem::Version
365
- version: 1.3.1
365
+ version: '0'
366
366
  requirements: []
367
367
  rubyforge_project: gorgon
368
368
  rubygems_version: 2.1.11