wip
This commit is contained in:
+12
-25
@@ -24,8 +24,9 @@ describe "Foreman::Engine" do
|
||||
describe "start" do
|
||||
it "forks the processes" do
|
||||
write_procfile
|
||||
mock(subject).fork(subject.procfile["alpha"])
|
||||
mock(subject).fork(subject.procfile["bravo"])
|
||||
mock.instance_of(Foreman::Process).run_process("./alpha")
|
||||
mock.instance_of(Foreman::Process).run_process("./bravo")
|
||||
mock(subject).watch_for_output
|
||||
mock(subject).watch_for_termination
|
||||
subject.start
|
||||
end
|
||||
@@ -33,29 +34,14 @@ describe "Foreman::Engine" do
|
||||
it "handles concurrency" do
|
||||
write_procfile
|
||||
engine = Foreman::Engine.new("Procfile",:concurrency => "alpha=2")
|
||||
mock(engine).fork_individual(engine.procfile["alpha"], 1, 5000)
|
||||
mock(engine).fork_individual(engine.procfile["alpha"], 2, 5001)
|
||||
mock(engine).fork_individual(engine.procfile["bravo"], 1, 5100)
|
||||
mock.instance_of(Foreman::Process).run_process("./alpha").twice
|
||||
mock.instance_of(Foreman::Process).run_process("./bravo")
|
||||
mock(engine).watch_for_output
|
||||
mock(engine).watch_for_termination
|
||||
engine.start
|
||||
end
|
||||
end
|
||||
|
||||
describe "execute" do
|
||||
it "runs the processes" do
|
||||
write_procfile
|
||||
mock(subject).fork(subject.procfile["alpha"])
|
||||
mock(subject).watch_for_termination
|
||||
subject.execute("alpha")
|
||||
end
|
||||
|
||||
it "shows an error running a process that doesnt exist" do
|
||||
write_procfile
|
||||
mock(subject).puts("ERROR: no such process: foo")
|
||||
lambda { subject.execute("foo") }.should raise_error(SystemExit)
|
||||
end
|
||||
end
|
||||
|
||||
describe "environment" do
|
||||
before(:each) do
|
||||
write_procfile
|
||||
@@ -66,9 +52,10 @@ describe "Foreman::Engine" do
|
||||
File.open("/tmp/env", "w") { |f| f.puts("FOO=baz") }
|
||||
engine = Foreman::Engine.new("Procfile", :env => "/tmp/env")
|
||||
stub(engine).info
|
||||
mock(engine).spawn_processes
|
||||
mock(engine).watch_for_termination
|
||||
engine.environment.should == {"FOO"=>"baz"}
|
||||
engine.execute("alpha")
|
||||
engine.start
|
||||
end
|
||||
|
||||
it "should read more than one if specified" do
|
||||
@@ -76,9 +63,10 @@ describe "Foreman::Engine" do
|
||||
File.open("/tmp/env2", "w") { |f| f.puts("BAZ=qux") }
|
||||
engine = Foreman::Engine.new("Procfile", :env => "/tmp/env1,/tmp/env2")
|
||||
stub(engine).info
|
||||
mock(engine).spawn_processes
|
||||
mock(engine).watch_for_termination
|
||||
engine.environment.should == { "FOO"=>"bar", "BAZ"=>"qux" }
|
||||
engine.execute("alpha")
|
||||
engine.start
|
||||
end
|
||||
|
||||
it "should fail if specified and doesnt exist" do
|
||||
@@ -89,11 +77,10 @@ describe "Foreman::Engine" do
|
||||
it "should read .env if none specified" do
|
||||
File.open(".env", "w") { |f| f.puts("FOO=qoo") }
|
||||
engine = Foreman::Engine.new("Procfile")
|
||||
stub(engine).info
|
||||
mock(engine).spawn_processes
|
||||
mock(engine).watch_for_termination
|
||||
mock(engine).fork_individual(anything, anything, anything)
|
||||
engine.environment.should == {"FOO"=>"qoo"}
|
||||
engine.execute("bravo")
|
||||
engine.start
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,8 +13,7 @@ describe Foreman::Export::Bluepill do
|
||||
|
||||
it "exports to the filesystem" do
|
||||
bluepill.export("/tmp/init", :concurrency => "alpha=2")
|
||||
|
||||
File.read("/tmp/init/app.pill").should == example_export_file("bluepill/app.pill")
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -19,7 +19,7 @@ Bluepill.application("app", :foreground => false, :log_file => "/var/log/bluepil
|
||||
process.monitor_children do |children|
|
||||
children.stop_command "kill -QUIT {{PID}}"
|
||||
end
|
||||
|
||||
|
||||
process.group = "app-alpha"
|
||||
end
|
||||
|
||||
@@ -37,7 +37,7 @@ Bluepill.application("app", :foreground => false, :log_file => "/var/log/bluepil
|
||||
process.monitor_children do |children|
|
||||
children.stop_command "kill -QUIT {{PID}}"
|
||||
end
|
||||
|
||||
|
||||
process.group = "app-alpha"
|
||||
end
|
||||
|
||||
@@ -57,7 +57,7 @@ Bluepill.application("app", :foreground => false, :log_file => "/var/log/bluepil
|
||||
process.monitor_children do |children|
|
||||
children.stop_command "kill -QUIT {{PID}}"
|
||||
end
|
||||
|
||||
|
||||
process.group = "app-bravo"
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user