The spec for "should not block for write" JRUBY-5122 TCPSocket regression spec does not appear to test anything and occasionally failed due to several inherent races. I improved the race situation somewhat, but it's unclear whether this spec can ever fail since it appears to accept both blocking and nonblocking write.
I believe the spec originally expected small writes not to block, which is reasonable, but at some point it mutated into a test that write does block under certain circumstances, making the original assertions meaningless.
I will remove the spec for now, since there's a large number of other tests that would hang if writes blocked, and the blocking behavior is testing platform-specific buffering behavior external to Ruby.
For this bug, I would like to see confirmation that the assertions this test made tested individually, or else confirm that other suites (MRI/RubySpec) cover them as well or better.
The text was updated successfully, but these errors were encountered:
The spec for "should not block for write" JRUBY-5122 TCPSocket regression spec does not appear to test anything and occasionally failed due to several inherent races. I improved the race situation somewhat, but it's unclear whether this spec can ever fail since it appears to accept both blocking and nonblocking write.
I believe the spec originally expected small writes not to block, which is reasonable, but at some point it mutated into a test that write does block under certain circumstances, making the original assertions meaningless.
I will remove the spec for now, since there's a large number of other tests that would hang if writes blocked, and the blocking behavior is testing platform-specific buffering behavior external to Ruby.
For this bug, I would like to see confirmation that the assertions this test made tested individually, or else confirm that other suites (MRI/RubySpec) cover them as well or better.
The text was updated successfully, but these errors were encountered: