Rolling restart configuration

2014-04-25 Thread Bráulio Bhavamitra
Hello all,

I would like to invite you to review the configuration I've done
focusing on a seamless restart for the user. Please follow
https://gist.github.com/brauliobo/11298486

I've used Rack::MockRequest to make a request to the worker's
homepage, warming it up and letting it ready for requests.

best regards,
bráulio

-- 
Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos.
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
___
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying


[PATCH] tests: switch to minitest

2014-04-25 Thread Ken Dreyer
Ruby 1.9+ uses Minitest as the backend for Test::Unit. As of Minitest 5,
the shim has lost some backwards compatibility. It is time to make the
jump to minitest.

Adjust the unicorn test suite to support Minitest 5's syntax.

Minitest versions 4 and below do not support the newer Minitest::Test
class that arrived in version 5. For that case, use the
MiniTest::Unit::TestCase class as a fallback.
---
Please keep me in the CC as I'm not subscribed to the unicorn email list.

 setup.rb  | 12 
 test/exec/test_exec.rb| 16 
 test/test_helper.rb   | 13 ++---
 test/unit/test_configurator.rb|  8 +++-
 test/unit/test_droplet.rb |  4 ++--
 test/unit/test_http_parser.rb |  2 +-
 test/unit/test_http_parser_ng.rb  | 12 ++--
 test/unit/test_http_parser_xftrust.rb |  2 +-
 test/unit/test_request.rb |  2 +-
 test/unit/test_response.rb|  2 +-
 test/unit/test_server.rb  |  2 +-
 test/unit/test_signals.rb |  2 +-
 test/unit/test_sni_hostnames.rb   |  4 ++--
 test/unit/test_socket_helper.rb   |  2 +-
 test/unit/test_stream_input.rb|  4 ++--
 test/unit/test_tee_input.rb   |  4 ++--
 test/unit/test_upload.rb  |  4 ++--
 test/unit/test_util.rb|  2 +-
 unicorn.gemspec   |  1 +
 19 files changed, 50 insertions(+), 48 deletions(-)

diff --git a/setup.rb b/setup.rb
index cf1abd9..42ce95c 100644
--- a/setup.rb
+++ b/setup.rb
@@ -1458,14 +1458,10 @@ class Installer
   return
 end
 $stderr.puts 'Running tests...' if verbose?
-begin
-  require 'test/unit'
-rescue LoadError
-  setup_rb_error 'test/unit cannot loaded.  You need Ruby 1.8 or later to 
invoke this task.'
-end
-runner = Test::Unit::AutoRunner.new(true)
-runner.to_run  TESTDIR
-runner.run
+$dir = File.dirname(File.expand_path(__FILE__))
+$LOAD_PATH.unshift $dir
+$LOAD_PATH.unshift $dir + '/lib/'
+Dir.glob ./test/**/test_*.rb, method(:require)
   end
 
   #
diff --git a/test/exec/test_exec.rb b/test/exec/test_exec.rb
index 10a1bae..dd13931 100644
--- a/test/exec/test_exec.rb
+++ b/test/exec/test_exec.rb
@@ -20,7 +20,7 @@ unless try_require('rack')
   do_test = false
 end
 
-class ExecTest  Test::Unit::TestCase
+class ExecTest  Minitest::Test
   trap(:QUIT, 'IGNORE')
 
   HI = -EOS
@@ -316,7 +316,7 @@ EOF
   assert(system($unicorn_bin, -h), help text returns true)
 end
 assert_equal 0, File.stat(test_stderr.#$$.log).size
-assert_not_equal 0, File.stat(test_stdout.#$$.log).size
+refute_equal 0, File.stat(test_stdout.#$$.log).size
 lines = File.readlines(test_stdout.#$$.log)
 
 # Be considerate of the on-call technician working from their
@@ -386,7 +386,7 @@ EOF
 wait_for_file(old_file)
 wait_for_file(pid_file)
 new_pid = File.read(pid_file).to_i
-assert_not_equal current_pid, new_pid
+refute_equal current_pid, new_pid
 assert_equal current_pid, File.read(old_file).to_i
 results = retry_hit([http://#{@addr}:#{@port}/;,
  http://#{@addr}:#{port2}/;])
@@ -448,7 +448,7 @@ EOF
 wait_for_file(old_file)
 wait_for_file(pid_file)
 new_pid = File.read(pid_file).to_i
-assert_not_equal current_pid, new_pid
+refute_equal current_pid, new_pid
 assert_equal current_pid, File.read(old_file).to_i
 results = retry_hit([http://#{@addr}:#{@port}/;])
 assert_equal String, results[0].class
@@ -520,7 +520,7 @@ EOF
 results = retry_hit([http://#{@addr}:#{@port}/;])
 assert_equal String, results[0].class
 worker_pid = results[0].to_i
-assert_not_equal pid, worker_pid
+refute_equal pid, worker_pid
 s = UNIXSocket.new(tmp.path)
 s.syswrite(GET / HTTP/1.0\r\n\r\n)
 results = ''
@@ -755,7 +755,7 @@ EOF
   assert_equal String, results.class
 end
 
-assert_not_equal 0, new_log.size
+refute_equal 0, new_log.size
 reexec_usr2_quit_test(pid, pid_file)
   end
 
@@ -777,7 +777,7 @@ EOF
 assert_equal String, results[0].class
 wait_for_file(pid_file)
 new_pid = File.read(pid_file).to_i
-assert_not_equal pid, new_pid
+refute_equal pid, new_pid
 pid, status = Process.waitpid2(pid)
 assert status.success?, original process exited successfully
 Process.kill(0, new_pid)
@@ -845,7 +845,7 @@ EOF
 File.truncate(log.path, 0)
 wait_for_file(pid_file)
 pid = File.read(pid_file).to_i
-assert_not_equal orig_pid, pid
+refute_equal orig_pid, pid
 curr_fds = `ls -l /proc/#{pid}/fd`.split(/\n/)
 assert $?.success?
 
diff --git a/test/test_helper.rb b/test/test_helper.rb
index c65f2f3..db7def1 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -18,7 +18,7 @@ ENV['NO_PROXY'] ||= ENV['UNICORN_TEST_ADDR'] || '127.0.0.1'
 DEFAULT_TRIES = 1000
 DEFAULT_RES = 0.2
 
-require 'test/unit'
+require