unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: test failure on Mac OSX
  2010-06-25 18:35  7% ` Eric Wong
@ 2010-06-25 23:51  0%   ` Andrew Milkowski
  0 siblings, 0 replies; 2+ results
From: Andrew Milkowski @ 2010-06-25 23:51 UTC (permalink / raw)
  To: unicorn list

Thanks Eric!

wonderful, all test passed (with very minimal CPU strain) I also
enabled full 64 bit kernel so that helps I am sure.

and yes, very true var is symlinked under 10.6 (not sure if this was
the case <)

thanks that was wonderful weekend gift (I am now unblocked) and try
other things with this container

have a wonderful weekend!

bash-3.2$ ls -l var
lrwxr-xr-x@ 1 root  wheel  11 Feb  1 18:44 var -> private/var
bash-3.2$


bash-3.2$ make
* test/unit/test_configurator.rb
* test/unit/test_http_parser.rb
* test/unit/test_http_parser_ng.rb
* test/unit/test_request.rb
* test/unit/test_response.rb
* test/unit/test_socket_helper.rb
* test/unit/test_tee_input.rb
* test/unit/test_util.rb
* test/unit/test_server.rb -n test_preload_app_config
* test/unit/test_server.rb -n test_broken_app
* test/unit/test_server.rb -n test_simple_server
* test/unit/test_server.rb -n test_client_shutdown_writes
* test/unit/test_server.rb -n test_client_shutdown_write_truncates
* test/unit/test_server.rb -n test_client_malformed_body
* test/unit/test_server.rb -n test_trickle_attack
* test/unit/test_server.rb -n test_close_client
* test/unit/test_server.rb -n test_bad_client
* test/unit/test_server.rb -n test_logger_set
* test/unit/test_server.rb -n test_logger_changed
* test/unit/test_server.rb -n test_bad_client_400
* test/unit/test_server.rb -n test_http_0_9
* test/unit/test_server.rb -n test_header_is_too_long
* test/unit/test_server.rb -n test_file_streamed_request
* test/unit/test_server.rb -n test_file_streamed_request_bad_body
* test/unit/test_server.rb -n test_listener_names
* test/exec/test_exec.rb -n test_working_directory_rel_path_config_file
* test/exec/test_exec.rb -n test_working_directory
* test/exec/test_exec.rb -n test_working_directory_controls_relative_paths
* test/exec/test_exec.rb -n test_exit_signals
* test/exec/test_exec.rb -n test_basic
* test/exec/test_exec.rb -n test_rack_env_unset
* test/exec/test_exec.rb -n test_rack_env_cli_set
* test/exec/test_exec.rb -n test_rack_env_ENV_set
* test/exec/test_exec.rb -n test_rack_env_cli_override_ENV
* test/exec/test_exec.rb -n test_ttin_ttou
* test/exec/test_exec.rb -n test_help
* test/exec/test_exec.rb -n test_broken_reexec_config
* test/exec/test_exec.rb -n test_broken_reexec_ru
* test/exec/test_exec.rb -n test_unicorn_config_listener_swap
* test/exec/test_exec.rb -n test_unicorn_config_listen_with_options
* test/exec/test_exec.rb -n test_unicorn_config_per_worker_listen
* test/exec/test_exec.rb -n test_unicorn_config_listen_augments_cli
* test/exec/test_exec.rb -n test_weird_config_settings
* test/exec/test_exec.rb -n test_read_embedded_cli_switches
* test/exec/test_exec.rb -n test_config_ru_alt_path
* test/exec/test_exec.rb -n test_load_module
* test/exec/test_exec.rb -n test_reexec
* test/exec/test_exec.rb -n test_reexec_alt_config
* test/exec/test_exec.rb -n test_socket_unlinked_restore
* test/exec/test_exec.rb -n test_unicorn_config_file
* test/exec/test_exec.rb -n test_daemonize_reexec
* test/exec/test_exec.rb -n test_daemonize_redirect_fail
* test/exec/test_exec.rb -n test_reexec_fd_leak
* test/exec/test_exec.rb -n test_preload_app_hup
* test/exec/test_exec.rb -n test_hup
* test/exec/test_exec.rb -n test_default_listen_hup_holds_listener
* test/exec/test_exec.rb -n test_default_listen_upgrade_holds_listener
* test/unit/test_signals.rb -n test_worker_dies_on_dead_master
* test/unit/test_signals.rb -n test_sleepy_kill
* test/unit/test_signals.rb -n test_timeout_slow_response
* test/unit/test_signals.rb -n test_response_write
* test/unit/test_signals.rb -n test_request_read
* test/unit/test_upload.rb -n test_put
* test/unit/test_upload.rb -n test_put_content_md5
* test/unit/test_upload.rb -n test_put_trickle_small
* test/unit/test_upload.rb -n test_put_keepalive_truncates_small_overwrite
* test/unit/test_upload.rb -n test_put_excessive_overwrite_closed
* test/unit/test_upload.rb -n test_uncomfortable_with_onenine_encodings
* test/unit/test_upload.rb -n test_chunked_upload_via_curl
* test/unit/test_upload.rb -n test_curl_chunked_small

179 tests, 63093 assertions, 0 failures, 0 errors
bash-3.2$


On Fri, Jun 25, 2010 at 2:35 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Andrew Milkowski <andrewmilkowski@gmail.com> wrote:
>> Hi there,
>>
>> ran to a snag building unicorn from sources (git master at
>> git://git.bogomips.org/unicorn.git)
>>
>>   1) Failure:
>> : test_working_directory_rel_path_config_file(ExecTest)
>> [test/exec/test_exec.rb:106]:
>> : <"/var/folders/gy/gyjECZCGGxKv3I3mRTmhB++++TI/-Tmp-/unicorn_exec_test20100625-1679-1x3ks9d-0">
>> expected but was
>> : <"/private/var/folders/gy/gyjECZCGGxKv3I3mRTmhB++++TI/-Tmp-/unicorn_exec_test20100625-1679-1x3ks9d-0">.
>
> Hi Andrew,
>
> Not being an OSX user, I had to look this up, but apparently /var on OSX
> is a symlink to /private/var?  Weird...
>
> We have to work around a similar issue for upgrades in Capistrano
> deployments by updating ENV['PWD'], might as well do it here.
>
> I've just pushed out the following patch, which is a more thorough test
> anyways:
>
> >From cf63db66bca9acfd3416ab8fc8a7fd4f07927342 Mon Sep 17 00:00:00 2001
> From: Eric Wong <normalperson@yhbt.net>
> Date: Fri, 25 Jun 2010 11:29:13 -0700
> Subject: [PATCH] test-exec: prefer ENV['PWD'] in working_directory tests
>
> We do an extra check in the application dispatch to ensure
> ENV['PWD'] is set correctly to match Dir.pwd (even if the
> string path is different) as this is required for Capistrano
> deployments.
>
> These tests should now pass under OSX where /var is apparently
> a symlink to /private/var.
> ---
>  test/exec/test_exec.rb |   29 +++++++++++++++++------------
>  1 files changed, 17 insertions(+), 12 deletions(-)
>
> diff --git a/test/exec/test_exec.rb b/test/exec/test_exec.rb
> index 9830683..1d24ca3 100644
> --- a/test/exec/test_exec.rb
> +++ b/test/exec/test_exec.rb
> @@ -54,6 +54,20 @@ before_fork do |server, worker|
>  end
>   EOS
>
> +  WORKING_DIRECTORY_CHECK_RU = <<-EOS
> +use Rack::ContentLength
> +run lambda { |env|
> +  pwd = ENV['PWD']
> +  a = ::File.stat(pwd)
> +  b = ::File.stat(Dir.pwd)
> +  if (a.ino == b.ino && a.dev == b.dev)
> +    [ 200, { 'Content-Type' => 'text/plain' }, [ pwd ] ]
> +  else
> +    [ 404, { 'Content-Type' => 'text/plain' }, [] ]
> +  end
> +}
> +  EOS
> +
>   def setup
>     @pwd = Dir.pwd
>     @tmpfile = Tempfile.new('unicorn_exec_test')
> @@ -87,10 +101,7 @@ end
>     File.unlink(other.path)
>     Dir.mkdir(other.path)
>     File.open("config.ru", "wb") do |fp|
> -      fp.syswrite <<EOF
> -use Rack::ContentLength
> -run proc { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ Dir.pwd ] ] }
> -EOF
> +      fp.syswrite WORKING_DIRECTORY_CHECK_RU
>     end
>     FileUtils.cp("config.ru", other.path + "/config.ru")
>     Dir.chdir(@tmpdir)
> @@ -138,10 +149,7 @@ EOF
>     File.unlink(other.path)
>     Dir.mkdir(other.path)
>     File.open("config.ru", "wb") do |fp|
> -      fp.syswrite <<EOF
> -use Rack::ContentLength
> -run proc { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ Dir.pwd ] ] }
> -EOF
> +      fp.syswrite WORKING_DIRECTORY_CHECK_RU
>     end
>     FileUtils.cp("config.ru", other.path + "/config.ru")
>     tmp = Tempfile.new('unicorn.config')
> @@ -177,10 +185,7 @@ EOF
>     File.unlink(other.path)
>     Dir.mkdir(other.path)
>     File.open("config.ru", "wb") do |fp|
> -      fp.syswrite <<EOF
> -use Rack::ContentLength
> -run proc { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ Dir.pwd ] ] }
> -EOF
> +      fp.syswrite WORKING_DIRECTORY_CHECK_RU
>     end
>     FileUtils.cp("config.ru", other.path + "/config.ru")
>     system('mkfifo', "#{other.path}/fifo")
> --
> Eric Wong
> _______________________________________________
> 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
>
_______________________________________________
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


^ permalink raw reply	[relevance 0%]

* Re: test failure on Mac OSX
  @ 2010-06-25 18:35  7% ` Eric Wong
  2010-06-25 23:51  0%   ` Andrew Milkowski
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2010-06-25 18:35 UTC (permalink / raw)
  To: unicorn list

Andrew Milkowski <andrewmilkowski@gmail.com> wrote:
> Hi there,
> 
> ran to a snag building unicorn from sources (git master at
> git://git.bogomips.org/unicorn.git)
> 
>   1) Failure:
> : test_working_directory_rel_path_config_file(ExecTest)
> [test/exec/test_exec.rb:106]:
> : <"/var/folders/gy/gyjECZCGGxKv3I3mRTmhB++++TI/-Tmp-/unicorn_exec_test20100625-1679-1x3ks9d-0">
> expected but was
> : <"/private/var/folders/gy/gyjECZCGGxKv3I3mRTmhB++++TI/-Tmp-/unicorn_exec_test20100625-1679-1x3ks9d-0">.

Hi Andrew,

Not being an OSX user, I had to look this up, but apparently /var on OSX
is a symlink to /private/var?  Weird...

We have to work around a similar issue for upgrades in Capistrano
deployments by updating ENV['PWD'], might as well do it here.

I've just pushed out the following patch, which is a more thorough test
anyways:

>From cf63db66bca9acfd3416ab8fc8a7fd4f07927342 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Fri, 25 Jun 2010 11:29:13 -0700
Subject: [PATCH] test-exec: prefer ENV['PWD'] in working_directory tests

We do an extra check in the application dispatch to ensure
ENV['PWD'] is set correctly to match Dir.pwd (even if the
string path is different) as this is required for Capistrano
deployments.

These tests should now pass under OSX where /var is apparently
a symlink to /private/var.
---
 test/exec/test_exec.rb |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/test/exec/test_exec.rb b/test/exec/test_exec.rb
index 9830683..1d24ca3 100644
--- a/test/exec/test_exec.rb
+++ b/test/exec/test_exec.rb
@@ -54,6 +54,20 @@ before_fork do |server, worker|
 end
   EOS
 
+  WORKING_DIRECTORY_CHECK_RU = <<-EOS
+use Rack::ContentLength
+run lambda { |env|
+  pwd = ENV['PWD']
+  a = ::File.stat(pwd)
+  b = ::File.stat(Dir.pwd)
+  if (a.ino == b.ino && a.dev == b.dev)
+    [ 200, { 'Content-Type' => 'text/plain' }, [ pwd ] ]
+  else
+    [ 404, { 'Content-Type' => 'text/plain' }, [] ]
+  end
+}
+  EOS
+
   def setup
     @pwd = Dir.pwd
     @tmpfile = Tempfile.new('unicorn_exec_test')
@@ -87,10 +101,7 @@ end
     File.unlink(other.path)
     Dir.mkdir(other.path)
     File.open("config.ru", "wb") do |fp|
-      fp.syswrite <<EOF
-use Rack::ContentLength
-run proc { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ Dir.pwd ] ] }
-EOF
+      fp.syswrite WORKING_DIRECTORY_CHECK_RU
     end
     FileUtils.cp("config.ru", other.path + "/config.ru")
     Dir.chdir(@tmpdir)
@@ -138,10 +149,7 @@ EOF
     File.unlink(other.path)
     Dir.mkdir(other.path)
     File.open("config.ru", "wb") do |fp|
-      fp.syswrite <<EOF
-use Rack::ContentLength
-run proc { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ Dir.pwd ] ] }
-EOF
+      fp.syswrite WORKING_DIRECTORY_CHECK_RU
     end
     FileUtils.cp("config.ru", other.path + "/config.ru")
     tmp = Tempfile.new('unicorn.config')
@@ -177,10 +185,7 @@ EOF
     File.unlink(other.path)
     Dir.mkdir(other.path)
     File.open("config.ru", "wb") do |fp|
-      fp.syswrite <<EOF
-use Rack::ContentLength
-run proc { |env| [ 200, { 'Content-Type' => 'text/plain' }, [ Dir.pwd ] ] }
-EOF
+      fp.syswrite WORKING_DIRECTORY_CHECK_RU
     end
     FileUtils.cp("config.ru", other.path + "/config.ru")
     system('mkfifo', "#{other.path}/fifo")
-- 
Eric Wong
_______________________________________________
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


^ permalink raw reply related	[relevance 7%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2010-06-25 15:06     test failure on Mac OSX Andrew Milkowski
2010-06-25 18:35  7% ` Eric Wong
2010-06-25 23:51  0%   ` Andrew Milkowski

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).