Bug#1018108: buster-pu: package ruby-hiredis/0.6.1-2+deb10u1
And here is the debdiff.
cu
Adrian
On Thu, Aug 25, 2022 at 09:27:20PM +0300, Adrian Bunk wrote:
> Package: release.debian.org
> Severity: normal
> Tags: buster
> User: release.debian.org@packages.debian.org
> Usertags: pu
> X-Debbugs-Cc: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>;
>
> * Skip more EAGAIN related tests. (Closes: #988023)
>
> debian/patches/disable-no-eagain-test.patch was updated to the
> version in 0.6.3-2, fixing the FTBFS.
diff -Nru ruby-hiredis-0.6.1/debian/changelog ruby-hiredis-0.6.1/debian/changelog
--- ruby-hiredis-0.6.1/debian/changelog 2018-10-12 10:38:52.000000000 +0300
+++ ruby-hiredis-0.6.1/debian/changelog 2022-08-25 21:21:59.000000000 +0300
@@ -1,3 +1,10 @@
+ruby-hiredis (0.6.1-2+deb10u1) buster; urgency=medium
+
+ * Non-maintainer upload.
+ * Skip more EAGAIN related tests. (Closes: #988023)
+
+ -- Adrian Bunk <bunk@debian.org> Thu, 25 Aug 2022 21:21:59 +0300
+
ruby-hiredis (0.6.1-2) unstable; urgency=medium
[ Cédric Boutillier ]
diff -Nru ruby-hiredis-0.6.1/debian/patches/disable-no-eagain-test.patch ruby-hiredis-0.6.1/debian/patches/disable-no-eagain-test.patch
--- ruby-hiredis-0.6.1/debian/patches/disable-no-eagain-test.patch 2016-02-09 16:07:46.000000000 +0200
+++ ruby-hiredis-0.6.1/debian/patches/disable-no-eagain-test.patch 2022-08-25 21:21:52.000000000 +0300
@@ -1,28 +1,107 @@
-Author: Apollon Oikonomopoulos <apoikos@debian.org>
-Description: Disable test_no_eagain_after_cumulative_wait_exceeds_timeout
- This test is probably too time-sensitive and yields different results across
- different kernels (seems to work reliably only on Linux).
+From: Apollon Oikonomopoulos <apoikos@debian.org>
+Date: Mon, 20 Jan 2020 09:28:45 -0300
+Subject: Disable EAGAIN related tests
+These tests are probably too time-sensitive and yields different results across
+different kernels (seems to work reliably only on Linux).
Forwarded: no
-Last-Update: 2014-04-14
+Last-Update: 2020-02-19
+
+test
+---
+ test/connection_test.rb | 105 ------------------------------------------------
+ 1 file changed, 105 deletions(-)
+
+diff --git a/test/connection_test.rb b/test/connection_test.rb
+index 513d520..bd94e80 100644
--- a/test/connection_test.rb
+++ b/test/connection_test.rb
-@@ -361,35 +361,37 @@
+@@ -281,111 +281,6 @@ module ConnectionTests
end
end
+- def test_recover_from_partial_write
+- listen do |server|
+- hiredis.connect("localhost", 6380)
+-
+- # Find out send buffer size
+- sndbuf = sockopt(hiredis.sock, Socket::SO_SNDBUF)
+-
+- # Make request that saturates the send buffer
+- hiredis.write(["x" * sndbuf])
+-
+- # Flush and disconnect to signal EOF
+- hiredis.flush
+- hiredis.disconnect
+-
+- # Compare to data received on the other end
+- formatted = "*1\r\n$#{sndbuf}\r\n#{"x" * sndbuf}\r\n"
+- assert formatted == server.read
+- end
+- end
+-
+- #
+- # This does not have consistent outcome for different operating systems...
+- #
+- # def test_eagain_on_write
+- # listen do |server|
+- # hiredis.connect("localhost", 6380)
+- # hiredis.timeout = 100_000
+-
+- # # Find out buffer sizes
+- # sndbuf = sockopt(hiredis.sock, Socket::SO_SNDBUF)
+- # rcvbuf = sockopt(hiredis.sock, Socket::SO_RCVBUF)
+-
+- # # Make request that fills both the remote receive buffer and the local
+- # # send buffer. This assumes that the size of the receive buffer on the
+- # # remote end is equal to our local receive buffer size.
+- # assert_raises Errno::EAGAIN do
+- # hiredis.write(["x" * rcvbuf * 2])
+- # hiredis.write(["x" * sndbuf * 2])
+- # hiredis.flush
+- # end
+- # end
+- # end
+-
+- def test_eagain_on_write_followed_by_remote_drain
+- listen do |server|
+- hiredis.connect("localhost", 6380)
+- hiredis.timeout = 100_000
+-
+- # Find out buffer sizes
+- sndbuf = sockopt(hiredis.sock, Socket::SO_SNDBUF)
+- rcvbuf = sockopt(hiredis.sock, Socket::SO_RCVBUF)
+-
+- # This thread starts reading the server buffer after 50ms. This will
+- # cause the local write to first return EAGAIN, wait for the socket to
+- # become writable with select(2) and retry.
+- begin
+- thread = Thread.new do
+- sleep(0.050)
+- loop do
+- server.read(1024)
+- end
+- end
+-
+- # Make request that fills both the remote receive buffer and the local
+- # send buffer. This assumes that the size of the receive buffer on the
+- # remote end is equal to our local receive buffer size.
+- hiredis.write(["x" * rcvbuf])
+- hiredis.write(["x" * sndbuf])
+- hiredis.flush
+- hiredis.disconnect
+- ensure
+- thread.kill
+- end
+- end
+- end
+-
- def test_no_eagain_after_cumulative_wait_exceeds_timeout
- listen do |server|
- hiredis.connect("localhost", 6380)
- hiredis.timeout = 10_000
-+ # The following test seems to be too sensitive wrt to timing and gives
-+ # unstable results across operating systems.
-+ #def test_no_eagain_after_cumulative_wait_exceeds_timeout
-+ # listen do |server|
-+ # hiredis.connect("localhost", 6380)
-+ # hiredis.timeout = 10_000
-
+-
- begin
- thread = Thread.new do
- loop do
@@ -30,14 +109,7 @@
- server.write("+ok\r\n")
- end
- end
-+ # begin
-+ # thread = Thread.new do
-+ # loop do
-+ # sleep(0.001)
-+ # server.write("+ok\r\n")
-+ # end
-+ # end
-
+-
- # The read timeout for this connection is 10 milliseconds.
- # To compensate for the overhead of parsing the reply and the chance
- # not having to wait because the reply is already present in the OS
@@ -54,22 +126,6 @@
- end
- end
- end
-+ # # The read timeout for this connection is 10 milliseconds.
-+ # # To compensate for the overhead of parsing the reply and the chance
-+ # # not having to wait because the reply is already present in the OS
-+ # # buffers, continue until we have waited at least 5x the timeout.
-+ # waited = 0
-+ # while waited < 50_000
-+ # t1 = Time.now
-+ # hiredis.read
-+ # t2 = Time.now
-+ # waited += (t2 - t1) * 1_000_000
-+ # end
-+ # ensure
-+ # thread.kill
-+ # end
-+ # end
-+ #end
end
if defined?(Hiredis::Ruby::Connection)
Reply to: