From 259347346169d4a2ab5b33719fe0985edc64bd3c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 3 Sep 2013 22:43:04 +0000 Subject: test/lib_read_write: account for larger-than-normal pipes Linux pipe buffers may use larger pages and increase the capacity of pipes. Thus the 10000 write attempt is not sufficient; just infinite loop until we hit :wait_writable. --- test/lib_read_write.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/lib_read_write.rb b/test/lib_read_write.rb index 7df9a79..5034db8 100644 --- a/test/lib_read_write.rb +++ b/test/lib_read_write.rb @@ -456,10 +456,12 @@ module LibReadWriteTest def @wr.kgio_wait_writable raise "Hello" end - tmp = [] - buf = "." * 1024 - 10000.times { tmp << @wr.kgio_trywrite(buf) } - assert_equal :wait_writable, tmp.pop + buf = "." * 4096 + rv = nil + until rv == :wait_writable + rv = @wr.kgio_trywrite(buf) + end + assert_equal :wait_writable, rv end def test_wait_writable_method -- cgit v1.2.3-24-ge0c7