Hi Ed, On Fri, Jul 4, 2008 at 11:48 PM, M. Edward (Ed) Borasky <znmeb / cesmail.net> wrote: > Vladimir Sizikov wrote: >> >> With the very latest RubySpec revision, Arthur and Federico managed to >> bring the number of spec failures for 1.8.6 and 1.8.7 HEADS to ZERO >> (on MacOS), and there are only 2 spec failures (IO failures only seen >> on Linux). > > Outstanding!! Can you post some details on those "IO failures only seen on > Linux?" I've spent a bit of time the past couple of months digging into > Linux I/O. :) Here you go. These two been bugging me for a while. They could be seen only on Linux. On MacOS and Windows they pass. Also, they pass with JRuby on all platforms. mspec -t /opt/ruby186-dev/bin/ruby 1.8/core/io/sysseek_spec.rb 1.8/core/io/sysread_spec.rb ....F.........F. 1) IO#sysseek on a file moves the read position relative to the end with SEEK_END FAILED Expected 0 to equal 134 /opt/work/mspec.git/lib/mspec/expectations/expectations.rb:10:in `fail_with' /opt/work/mspec.git/lib/mspec/matchers/base.rb:8:in `==' ./1.8/core/io/sysseek_spec.rb:49 /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `protect' /opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect' /opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each' /opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect' /opt/work/mspec.git/lib/mspec/runner/state.rb:60:in `process' /opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `each' /opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `process' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe' /opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe' ./1.8/core/io/sysseek_spec.rb:4 /opt/work/mspec.git/lib/mspec/runner/mspec.rb:48:in `load' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:48:in `files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `protect' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:48:in `files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `each' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:34:in `process' /opt/work/mspec.git/lib/mspec/commands/mspec-run.rb:75:in `run' /opt/work/mspec.git/lib/mspec/utils/script.rb:85:in `main' /opt/work/mspec.git/bin/mspec-run:8 2) IO#sysread on a file flushes write buffer when called immediately after a buffered IO#write FAILED Expected "01234" to equal "56789" /opt/work/mspec.git/lib/mspec/expectations/expectations.rb:10:in `fail_with' /opt/work/mspec.git/lib/mspec/matchers/base.rb:8:in `==' ./1.8/core/io/sysread_spec.rb:72 /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `protect' /opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect' /opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each' /opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect' /opt/work/mspec.git/lib/mspec/runner/state.rb:60:in `process' /opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `each' /opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `process' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe' /opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe' ./1.8/core/io/sysread_spec.rb:4 /opt/work/mspec.git/lib/mspec/runner/mspec.rb:48:in `load' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:48:in `files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:130:in `protect' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:48:in `files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `each' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:34:in `process' /opt/work/mspec.git/lib/mspec/commands/mspec-run.rb:75:in `run' /opt/work/mspec.git/lib/mspec/utils/script.rb:85:in `main' /opt/work/mspec.git/bin/mspec-run:8 Finished in 0.013024 seconds 2 files, 16 examples, 26 expectations, 2 failures, 0 errors