#51 open
Wincent Colaiuta

0.7.0 (and master) spec failures

Reported by Wincent Colaiuta | March 1st, 2008 @ 02:00 PM | in Future

Ok, I mentioned in ticket #50 that some specs were failing for me on RHEL. Just to confirm that it's not a machine-local issue I tried to reproduce on Mac OS X 10.5.2 as well running ruby 1.8.6 (2007-09-24 patchlevel 111).

Ruby actually crashes once (sometimes twice) during the spec run, will attach a crash log although it's next-to-useless.

These were the specs which failed for 0.7.0 the first time I ran them (using "rake spec"):

..................................................................................................................................F........../spec/server/swiftiply_spec.rb:6:in `exec': No such file or directory - swiftiply -c ./spec/server/swiftiply.yml (Errno::ENOENT)
    from ./spec/server/swiftiply_spec.rb:6
    from ./spec/server/swiftiply_spec.rb:5:in `fork'
    from ./spec/server/swiftiply_spec.rb:5
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `each'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_group_methods.rb:255:in `run_before_each'
     ... 14 levels...
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:21:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:90:in `run_examples'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
F./spec/server/swiftiply_spec.rb:6:in `exec': No such file or directory - swiftiply -c ./spec/server/swiftiply.yml (Errno::ENOENT)
    from ./spec/server/swiftiply_spec.rb:6
    from ./spec/server/swiftiply_spec.rb:5:in `fork'
    from ./spec/server/swiftiply_spec.rb:5
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `each'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_group_methods.rb:255:in `run_before_each'
     ... 14 levels...
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:21:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:90:in `run_examples'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
F......F........

1)
NoMethodError in 'Thin::Server app builder should work with Rack url mapper'
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.+
/Library/Ruby/Gems/1.8/gems/rack-0.3.0/lib/rack/urlmap.rb:37:in `call'
/Library/Ruby/Gems/1.8/gems/rack-0.3.0/lib/rack/urlmap.rb:32:in `each'
/Library/Ruby/Gems/1.8/gems/rack-0.3.0/lib/rack/urlmap.rb:32:in `call'
./spec/server/builder_spec.rb:36:

2)
Errno::ECONNREFUSED in 'Thin::Server on Swiftiply should GET from Net::HTTP'
Connection refused - connect(2)
./spec/server/swiftiply_spec.rb:16:

3)
Errno::ECONNREFUSED in 'Thin::Server on Swiftiply should POST from Net::HTTP'
Connection refused - connect(2)
./spec/server/swiftiply_spec.rb:20:

4)
'Thin::Server on TCP socket should handle GET in less then 0.0045 RubySecond' FAILED
took <0.00634547591069331 RubySeconds>, should take less than 0.0045 RubySeconds.
./spec/server/tcp_spec.rb:40:

Finished in 49.680854 seconds

Running a second time ("rake clean" followed by "rake spec"):

..................................................................................................................................F........../spec/server/swiftiply_spec.rb:6:in `exec': No such file or directory - swiftiply -c ./spec/server/swiftiply.yml (Errno::ENOENT)
    from ./spec/server/swiftiply_spec.rb:6
    from ./spec/server/swiftiply_spec.rb:5:in `fork'
    from ./spec/server/swiftiply_spec.rb:5
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `each'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_group_methods.rb:255:in `run_before_each'
     ... 14 levels...
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:21:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:90:in `run_examples'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
F./spec/server/swiftiply_spec.rb:6:in `exec': No such file or directory - swiftiply -c ./spec/server/swiftiply.yml (Errno::ENOENT)
    from ./spec/server/swiftiply_spec.rb:6
    from ./spec/server/swiftiply_spec.rb:5:in `fork'
    from ./spec/server/swiftiply_spec.rb:5
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `each'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_group_methods.rb:255:in `run_before_each'
     ... 14 levels...
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:21:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:90:in `run_examples'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
F...............

1)
NoMethodError in 'Thin::Server app builder should work with Rack url mapper'
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.+
/Library/Ruby/Gems/1.8/gems/rack-0.3.0/lib/rack/urlmap.rb:37:in `call'
/Library/Ruby/Gems/1.8/gems/rack-0.3.0/lib/rack/urlmap.rb:32:in `each'
/Library/Ruby/Gems/1.8/gems/rack-0.3.0/lib/rack/urlmap.rb:32:in `call'
./spec/server/builder_spec.rb:36:

2)
Errno::ECONNREFUSED in 'Thin::Server on Swiftiply should GET from Net::HTTP'
Connection refused - connect(2)
./spec/server/swiftiply_spec.rb:16:

3)
Errno::ECONNREFUSED in 'Thin::Server on Swiftiply should POST from Net::HTTP'
Connection refused - connect(2)
./spec/server/swiftiply_spec.rb:20:

And these are the failures for the current HEAD of master, first time:

1)
'Thin::Request legacy Mongrel tests should raise error on large mangled field values' FAILED
expected Thin::InvalidRequest but nothing was raised
./spec/request/mongrel_spec.rb:11:

2)
'Thin::Server HTTP pipelining should pipeline request on same socket' FAILED
expected "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: 8\r\nConnection: keep-alive\r\nServer: thin 0.7.1 codename Fancy Pants\r\n\r\n/first-1" to include "/first-1" and "/second-2"
./spec/server/pipelining_spec.rb:24:

3)
Errno::ECONNREFUSED in 'Thin::Server on Swiftiply should GET from Net::HTTP'
Connection refused - connect(2)
./spec/server/swiftiply_spec.rb:16:

4)
Errno::ECONNREFUSED in 'Thin::Server on Swiftiply should POST from Net::HTTP'
Connection refused - connect(2)
./spec/server/swiftiply_spec.rb:20:

5)
Timeout::Error in 'Thin::Server on TCP socket should handle GET in less then 0.0045 RubySecond'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

6)
Timeout::Error in 'Thin::Server on TCP socket should handle POST in less then 0.007 RubySecond'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

7)
Timeout::Error in 'Thin::Server on TCP socket should retreive remote address'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

And second time:

...................................................................................................................................F......FF./spec/server/swiftiply_spec.rb:6:in `exec': No such file or directory - swiftiply -c ./spec/server/swiftiply.yml (Errno::ENOENT)
    from ./spec/server/swiftiply_spec.rb:6
    from ./spec/server/swiftiply_spec.rb:5:in `fork'
    from ./spec/server/swiftiply_spec.rb:5
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `each'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_group_methods.rb:255:in `run_before_each'
     ... 14 levels...
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:21:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:90:in `run_examples'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
../spec/server/swiftiply_spec.rb:6:in `exec': No such file or directory - swiftiply -c ./spec/server/swiftiply.yml (Errno::ENOENT)
    from ./spec/server/swiftiply_spec.rb:6
    from ./spec/server/swiftiply_spec.rb:5:in `fork'
    from ./spec/server/swiftiply_spec.rb:5
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:47:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `each'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_methods.rb:46:in `eval_each_fail_fast'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/example/example_group_methods.rb:255:in `run_before_each'
     ... 14 levels...
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:21:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:90:in `run_examples'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run'
    from /Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4
.FFFFF..F...F...

1)
'Thin::Server HTTP pipelining should pipeline request on same socket' FAILED
expected "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: 8\r\nConnection: keep-alive\r\nServer: thin 0.7.1 codename Fancy Pants\r\n\r\n/first-1" to include "/first-1" and "/second-2"
./spec/server/pipelining_spec.rb:24:

2)
Timeout::Error in 'Thin::Server stopping should not accept new requests when soft stopping'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/stopping_spec.rb:5:

3)
Timeout::Error in 'Thin::Server stopping should drop current requests when hard stopping'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/stopping_spec.rb:5:

4)
Timeout::Error in 'Thin::Server on TCP socket should GET from Net::HTTP'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

5)
Timeout::Error in 'Thin::Server on TCP socket should GET from TCPSocket'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

6)
Timeout::Error in 'Thin::Server on TCP socket should return empty string on incomplete headers'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

7)
Timeout::Error in 'Thin::Server on TCP socket should return empty string on incorrect Content-Length'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

8)
Timeout::Error in 'Thin::Server on TCP socket should POST from Net::HTTP'
execution expired
./spec/server/../spec_helper.rb:144:in `start_server'
./spec/server/tcp_spec.rb:5:

9)
'Thin::Server on TCP socket should handle POST in less then 0.007 RubySecond' FAILED
took <0.00768630276826997 RubySeconds>, should take less than 0.007 RubySeconds.
./spec/server/tcp_spec.rb:44:

10)
Errno::ENOENT in 'Thin::Server on UNIX domain socket should handle GET in less then 0.002 RubySecond'
No such file or directory - /tmp/thin_test.sock
./spec/server/../spec_helper.rb:156:in `initialize'
./spec/server/../spec_helper.rb:156:in `new'
./spec/server/../spec_helper.rb:156:in `send_data'
./spec/server/../spec_helper.rb:168:in `get'
./spec/server/unix_socket_spec.rb:19:
./spec/server/../spec_helper.rb:40:in `times'
./spec/server/../spec_helper.rb:40:in `matches?'
/Library/Ruby/Gems/1.8/gems/benchmark_unit-0.1/lib/benchmark/unit.rb:22:in `measure'
/Library/Ruby/Gems/1.8/gems/benchmark_unit-0.1/lib/benchmark/unit.rb:21:in `measure'
./spec/server/../spec_helper.rb:39:in `matches?'
./spec/server/unix_socket_spec.rb:19:

As you can see the number of failures is variable, but 0.7.0 fails less (3 or 4) than HEAD of master (7 or 10).

Perhaps there is some local dependency that isn't satisfied here, but it is on your machine.

Comments and changes to this ticket

  • macournoyer

    macournoyer March 1st, 2008 @ 03:59 PM

    • Milestone set to 0.7.1
    • State changed from “new” to “open”

    Most seem to be due to Swiftiply not beeing installed. I'll make those conditional.

    Also the "Thin::Server app builder should work with Rack url mapper" failure should be fixed on master now.

  • macournoyer

    macournoyer March 1st, 2008 @ 04:55 PM

    I fixed a couple on master. I still get 4 failures on my Ubuntu VM.

  • macournoyer

    macournoyer March 2nd, 2008 @ 01:51 AM

    Only 1 spec still fails now on my new Ubuntu VM.

    Can you run the specs again and see if it's better for you now?

  • macournoyer

    macournoyer March 2nd, 2008 @ 01:38 PM

    I got all specs running on both Mac OS 10.5 and an Ubuntu VM.

    But there's a couple phantom process left after running the specs on Ubuntu, I'll try to fix that.

    Anyone else can confirm all specs are green before I close this?

  • Kevin Williams

    Kevin Williams March 2nd, 2008 @ 06:44 PM

    are there any phantom ruby processes? I used to have that problem all the time, but I haven't compiled lately.

  • macournoyer

    macournoyer March 2nd, 2008 @ 07:39 PM

    aaarg nooo

    what are the names of those processes? ruby, swifitply or "Thin test server" ?

  • macournoyer

    macournoyer March 2nd, 2008 @ 08:28 PM

    that's crazy, I get no failures and no zombies on my Mac OS 10.5. But I do get those "std::runtime_error" sometimes which are due to EventMachine crashing, I've asked them if they could raise Ruby exception instead...

    Maybe it's your version of EventMachine, are you on trunk or using the gem version: 0.10 ?

  • macournoyer

    macournoyer March 2nd, 2008 @ 08:16 PM

    The thin w/ those crashed is that it's impossible to rescue those errors. I submitted a ticket to EM: http://rubyeventmachine.com/tick...

  • Kevin Williams

    Kevin Williams March 2nd, 2008 @ 08:50 PM

    I just sync'd and re-ran 'rake spec'. I get one error on the "Thin::Server on TCP socket should GET from Net::HTTP" spec saying "Connection reset by peer". I'm using EventMachine trunk. I have one ghost process named "Thin test server". This is my Mac 10.5.2.

    I really haven't tried building and testing Thin on Linux, so I can't comment there. It runs fine, though.

    I set up a Windows 2000 virtual to have as clean an env. as possible for building and testing the win32 gem. The current error is:

    ./spec/backends/../spec_helper.rb:17:in ``': No such file or directory - which swiftiply (Errno::ENOENT)

    I can fix that later. Suffice it to say that running specs on windows is worse. :)

  • Kevin Williams

    Kevin Williams March 2nd, 2008 @ 08:28 PM

    The EM trunk has the "std::runtime_error" errors fixed, or so they say. That's why I'm running EM trunk.

  • macournoyer

    macournoyer March 2nd, 2008 @ 08:49 PM

    I'm guessing it's because we start/stop EM multiple times in the specs. When I run each spec files individually I never get those.

  • macournoyer

    macournoyer March 3rd, 2008 @ 10:50 AM

    The last Daemonizing failyre is due to the previous crash I presume, cause the pid file is still there.

    When you say Ruby crash, you mean the: std::runtime_error ?

  • macournoyer

    macournoyer March 6th, 2008 @ 02:11 PM

    • Milestone changed from 0.7.1 to 0.8.0

    I got specs consistently passing on both Mac OS and Ubuntu. I'll try to setup other VMs and check on those

  • macournoyer

    macournoyer April 7th, 2008 @ 01:48 PM

    • Milestone changed from 0.8.0 to 1.0
  • macournoyer

    macournoyer October 21st, 2008 @ 11:29 PM

    • Milestone changed from 1.0 to Future
    • Tag set to specs

    :/

  • John

    John February 28th, 2024 @ 01:30 PM

    As far as i know, not every online casino is great. If you take a look at mrbet casino casino you'll make sure that it is something that can help you stop doing the job you hate.There you can find the biggest number of various games from table games to slot https://mrbetcanada.com/ games.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Attachments

Tags

Pages