Package: guix-patches;
Reported by: Gábor Boskovits <boskovits <at> gmail.com>
Date: Tue, 13 Mar 2018 21:55:01 UTC
Severity: normal
Tags: patch
Done: Gábor Boskovits <boskovits <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30810 in the body.
You can then email your comments to 30810 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#30810
; Package guix-patches
.
(Tue, 13 Mar 2018 21:55:01 GMT) Full text and rfc822 format available.Gábor Boskovits <boskovits <at> gmail.com>
:guix-patches <at> gnu.org
.
(Tue, 13 Mar 2018 21:55:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Gábor Boskovits <boskovits <at> gmail.com> To: guix-patches <at> gnu.org Cc: Gábor Boskovits <boskovits <at> gmail.com> Subject: [PATCH] gnu: java-jeromq: Fix tests. Date: Tue, 13 Mar 2018 22:54:16 +0100
* gnu/packages/patches/java-jeromq-fix-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-jeromq)[source](patches): Add it. [arguments](#test-exclude): Disable more failing tests. --- gnu/local.mk | 1 + gnu/packages/java.scm | 11 +- gnu/packages/patches/java-jeromq-fix-tests.patch | 253 +++++++++++++++++++++++ 3 files changed, 263 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/java-jeromq-fix-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9684d949f..2bae3660c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -782,6 +782,7 @@ dist_patch_DATA = \ %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \ + %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0f8c04e8b..85a8c9b3a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8117,7 +8117,8 @@ protocol-independent framework to build mail and messaging applications.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")))) + "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")) + (patches (search-patches "java-jeromq-fix-tests.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-jeromq.jar" @@ -8131,7 +8132,13 @@ protocol-independent framework to build mail and messaging applications.") ;; Failures "**/DealerSpecTest.java" "**/CustomDecoderTest.java" - "**/CustomEncoderTest.java"))) + "**/CustomEncoderTest.java" + "**/ConnectRidTest.java" + "**/ReqSpecTest.java" + "**/PushPullSpecTest.java" + "**/PubSubHwmTest.java" + "**/RouterSpecTest.java" + "**/ProxyTest.java"))) (inputs `(("java-jnacl" ,java-jnacl))) (native-inputs diff --git a/gnu/packages/patches/java-jeromq-fix-tests.patch b/gnu/packages/patches/java-jeromq-fix-tests.patch new file mode 100644 index 000000000..5466b9270 --- /dev/null +++ b/gnu/packages/patches/java-jeromq-fix-tests.patch @@ -0,0 +1,253 @@ +From 5803aadd3f209eba1ffbb2cf7bf16778019dbee1 Mon Sep 17 00:00:00 2001 +From: fredoboulo <fredoboulo <at> users.noreply.github.com> +Date: Fri, 23 Feb 2018 23:55:57 +0100 +Subject: [PATCH] Fix #524 : V1 and V2 protocol downgrades handle received data + in handshake buffer + +This patch is upstream pull request, see: +https://gihub.com/zeromq/jeromq/pull/527. + +It is merged on commit c2afa9c, and we can drop it on the +0.4.4 release. + +--- + src/main/java/zmq/io/StreamEngine.java | 21 ++++++++++-- + src/test/java/zmq/io/AbstractProtocolVersion.java | 41 +++++++++++++---------- + src/test/java/zmq/io/V0ProtocolTest.java | 12 +++++++ + src/test/java/zmq/io/V1ProtocolTest.java | 16 +++++++-- + src/test/java/zmq/io/V2ProtocolTest.java | 16 +++++++-- + 5 files changed, 81 insertions(+), 25 deletions(-) + +diff --git a/src/main/java/zmq/io/StreamEngine.java b/src/main/java/zmq/io/StreamEngine.java +index b8933c92..fe2f2d8d 100644 +--- a/src/main/java/zmq/io/StreamEngine.java ++++ b/src/main/java/zmq/io/StreamEngine.java +@@ -816,9 +816,7 @@ private boolean handshake() + assert (bufferSize == headerSize); + + // Make sure the decoder sees the data we have already received. +- greetingRecv.flip(); +- inpos = greetingRecv; +- insize = greetingRecv.limit(); ++ decodeDataAfterHandshake(0); + + // To allow for interoperability with peers that do not forward + // their subscriptions, we inject a phantom subscription message +@@ -846,6 +844,8 @@ else if (greetingRecv.get(revisionPos) == Protocol.V1.revision) { + } + encoder = new V1Encoder(errno, Config.OUT_BATCH_SIZE.getValue()); + decoder = new V1Decoder(errno, Config.IN_BATCH_SIZE.getValue(), options.maxMsgSize, options.allocator); ++ ++ decodeDataAfterHandshake(V2_GREETING_SIZE); + } + else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + // ZMTP/2.0 framing. +@@ -859,6 +859,8 @@ else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + } + encoder = new V2Encoder(errno, Config.OUT_BATCH_SIZE.getValue()); + decoder = new V2Decoder(errno, Config.IN_BATCH_SIZE.getValue(), options.maxMsgSize, options.allocator); ++ ++ decodeDataAfterHandshake(V2_GREETING_SIZE); + } + else { + zmtpVersion = Protocol.V3; +@@ -904,6 +906,19 @@ else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + return true; + } + ++ private void decodeDataAfterHandshake(int greetingSize) ++ { ++ final int pos = greetingRecv.position(); ++ if (pos > greetingSize) { ++ // data is present after handshake ++ greetingRecv.position(greetingSize).limit(pos); ++ ++ // Make sure the decoder sees this extra data. ++ inpos = greetingRecv; ++ insize = greetingRecv.remaining(); ++ } ++ } ++ + private Msg identityMsg() + { + Msg msg = new Msg(options.identitySize); +diff --git a/src/test/java/zmq/io/AbstractProtocolVersion.java b/src/test/java/zmq/io/AbstractProtocolVersion.java +index e60db403..aa06b4a7 100644 +--- a/src/test/java/zmq/io/AbstractProtocolVersion.java ++++ b/src/test/java/zmq/io/AbstractProtocolVersion.java +@@ -18,15 +18,18 @@ + import zmq.SocketBase; + import zmq.ZError; + import zmq.ZMQ; ++import zmq.ZMQ.Event; + import zmq.util.Utils; + + public abstract class AbstractProtocolVersion + { ++ protected static final int REPETITIONS = 1000; ++ + static class SocketMonitor extends Thread + { +- private final Ctx ctx; +- private final String monitorAddr; +- private final List<ZMQ.Event> events = new ArrayList<>(); ++ private final Ctx ctx; ++ private final String monitorAddr; ++ private final ZMQ.Event[] events = new ZMQ.Event[1]; + + public SocketMonitor(Ctx ctx, String monitorAddr) + { +@@ -41,15 +44,15 @@ public void run() + boolean rc = s.connect(monitorAddr); + assertThat(rc, is(true)); + // Only some of the exceptional events could fire +- while (true) { +- ZMQ.Event event = ZMQ.Event.read(s); +- if (event == null && s.errno() == ZError.ETERM) { +- break; +- } +- assertThat(event, notNullValue()); +- +- events.add(event); ++ ++ ZMQ.Event event = ZMQ.Event.read(s); ++ if (event == null && s.errno() == ZError.ETERM) { ++ s.close(); ++ return; + } ++ assertThat(event, notNullValue()); ++ ++ events[0] = event; + s.close(); + } + } +@@ -69,11 +72,12 @@ public void run() + boolean rc = ZMQ.setSocketOption(receiver, ZMQ.ZMQ_LINGER, 0); + assertThat(rc, is(true)); + +- SocketMonitor monitor = new SocketMonitor(ctx, "inproc://monitor"); +- monitor.start(); + rc = ZMQ.monitorSocket(receiver, "inproc://monitor", ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL); + assertThat(rc, is(true)); + ++ SocketMonitor monitor = new SocketMonitor(ctx, "inproc://monitor"); ++ monitor.start(); ++ + rc = ZMQ.bind(receiver, host); + assertThat(rc, is(true)); + +@@ -81,17 +85,18 @@ public void run() + OutputStream out = sender.getOutputStream(); + for (ByteBuffer raw : raws) { + out.write(raw.array()); +- ZMQ.msleep(100); + } + + Msg msg = ZMQ.recv(receiver, 0); + assertThat(msg, notNullValue()); + assertThat(new String(msg.data(), ZMQ.CHARSET), is(payload)); + +- ZMQ.msleep(500); +- assertThat(monitor.events.size(), is(1)); +- assertThat(monitor.events.get(0).event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); +- assertThat((Integer) monitor.events.get(0).arg, is(version)); ++ monitor.join(); ++ ++ final Event event = monitor.events[0]; ++ assertThat(event, notNullValue()); ++ assertThat(event.event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); ++ assertThat((Integer) event.arg, is(version)); + + InputStream in = sender.getInputStream(); + byte[] data = new byte[255]; +diff --git a/src/test/java/zmq/io/V0ProtocolTest.java b/src/test/java/zmq/io/V0ProtocolTest.java +index bd547d23..1a5b7aef 100644 +--- a/src/test/java/zmq/io/V0ProtocolTest.java ++++ b/src/test/java/zmq/io/V0ProtocolTest.java +@@ -10,6 +10,18 @@ + + public class V0ProtocolTest extends AbstractProtocolVersion + { ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion0short(); ++ } ++ System.out.println(); ++ } ++ + @Test(timeout = 2000) + public void testProtocolVersion0short() throws IOException, InterruptedException + { +diff --git a/src/test/java/zmq/io/V1ProtocolTest.java b/src/test/java/zmq/io/V1ProtocolTest.java +index e1045f34..764159d0 100644 +--- a/src/test/java/zmq/io/V1ProtocolTest.java ++++ b/src/test/java/zmq/io/V1ProtocolTest.java +@@ -10,7 +10,19 @@ + + public class V1ProtocolTest extends AbstractProtocolVersion + { +- @Test(timeout = 2000) ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion1short(); ++ } ++ System.out.println(); ++ } ++ ++ @Test + public void testProtocolVersion1short() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(0); +@@ -25,7 +37,7 @@ public void testProtocolVersion1short() throws IOException, InterruptedException + assertProtocolVersion(1, raws, "abcdefg"); + } + +- @Test(timeout = 2000) ++ @Test + public void testProtocolVersion1long() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(0); +diff --git a/src/test/java/zmq/io/V2ProtocolTest.java b/src/test/java/zmq/io/V2ProtocolTest.java +index d5e64bce..7fda31bc 100644 +--- a/src/test/java/zmq/io/V2ProtocolTest.java ++++ b/src/test/java/zmq/io/V2ProtocolTest.java +@@ -21,7 +21,19 @@ protected ByteBuffer identity() + .put((byte) 0); + } + +- @Test(timeout = 2000) ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion2short(); ++ } ++ System.out.println(); ++ } ++ ++ @Test + public void testProtocolVersion2short() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(1); +@@ -38,7 +50,7 @@ public void testProtocolVersion2short() throws IOException, InterruptedException + assertProtocolVersion(2, raws, "abcdefg"); + } + +- @Test(timeout = 2000) ++ @Test + public void testProtocolVersion2long() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(1); -- 2.16.2
Gábor Boskovits <boskovits <at> gmail.com>
:Gábor Boskovits <boskovits <at> gmail.com>
:Message #10 received at 30810-done <at> debbugs.gnu.org (full text, mbox):
From: Gábor Boskovits <boskovits <at> gmail.com> To: 30810-done <at> debbugs.gnu.org Cc: Gábor Boskovits <boskovits <at> gmail.com> Subject: Re: [PATCH] gnu: java-jeromq: Fix tests. Date: Tue, 13 Mar 2018 22:57:55 +0100
[Message part 1 (text/plain, inline)]
2018-03-13 22:54 GMT+01:00 Gábor Boskovits <boskovits <at> gmail.com>: > * gnu/packages/patches/java-jeromq-fix-tests.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. > * gnu/packages/java.scm (java-jeromq)[source](patches): Add it. > [arguments](#test-exclude): Disable more failing tests. > --- > gnu/local.mk | 1 + > gnu/packages/java.scm | 11 +- > gnu/packages/patches/java-jeromq-fix-tests.patch | 253 > +++++++++++++++++++++++ > 3 files changed, 263 insertions(+), 2 deletions(-) > create mode 100644 gnu/packages/patches/java-jeromq-fix-tests.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 9684d949f..2bae3660c 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -782,6 +782,7 @@ dist_patch_DATA = > \ > %D%/packages/patches/intltool-perl-compatibility.patch \ > %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ > %D%/packages/patches/jacal-fix-texinfo.patch \ > + %D%/packages/patches/java-jeromq-fix-tests.patch \ > %D%/packages/patches/java-powermock-fix-java-files.patch \ > %D%/packages/patches/java-xerces-bootclasspath.patch \ > %D%/packages/patches/java-xerces-build_dont_unzip.patch \ > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm > index 0f8c04e8b..85a8c9b3a 100644 > --- a/gnu/packages/java.scm > +++ b/gnu/packages/java.scm > @@ -8117,7 +8117,8 @@ protocol-independent framework to build mail and > messaging applications.") > (file-name (string-append name "-" version "-checkout")) > (sha256 > (base32 > - "1gxkp7lv2ahymgrqdw94ncq54bmp4 > m4sw5m1x9gkp7l5bxn0xsyj")))) > + "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")) > + (patches (search-patches "java-jeromq-fix-tests.patch")))) > (build-system ant-build-system) > (arguments > `(#:jar-name "java-jeromq.jar" > @@ -8131,7 +8132,13 @@ protocol-independent framework to build mail and > messaging applications.") > ;; Failures > "**/DealerSpecTest.java" > "**/CustomDecoderTest.java" > - "**/CustomEncoderTest.java"))) > + "**/CustomEncoderTest.java" > + "**/ConnectRidTest.java" > + "**/ReqSpecTest.java" > + "**/PushPullSpecTest.java" > + "**/PubSubHwmTest.java" > + "**/RouterSpecTest.java" > + "**/ProxyTest.java"))) > (inputs > `(("java-jnacl" ,java-jnacl))) > (native-inputs > diff --git a/gnu/packages/patches/java-jeromq-fix-tests.patch > b/gnu/packages/patches/java-jeromq-fix-tests.patch > new file mode 100644 > index 000000000..5466b9270 > --- /dev/null > +++ b/gnu/packages/patches/java-jeromq-fix-tests.patch > @@ -0,0 +1,253 @@ > +From 5803aadd3f209eba1ffbb2cf7bf16778019dbee1 Mon Sep 17 00:00:00 2001 > +From: fredoboulo <fredoboulo <at> users.noreply.github.com> > +Date: Fri, 23 Feb 2018 23:55:57 +0100 > +Subject: [PATCH] Fix #524 : V1 and V2 protocol downgrades handle received > data > + in handshake buffer > + > +This patch is upstream pull request, see: > +https://gihub.com/zeromq/jeromq/pull/527. > + > +It is merged on commit c2afa9c, and we can drop it on the > +0.4.4 release. > + > +--- > + src/main/java/zmq/io/StreamEngine.java | 21 ++++++++++-- > + src/test/java/zmq/io/AbstractProtocolVersion.java | 41 > +++++++++++++---------- > + src/test/java/zmq/io/V0ProtocolTest.java | 12 +++++++ > + src/test/java/zmq/io/V1ProtocolTest.java | 16 +++++++-- > + src/test/java/zmq/io/V2ProtocolTest.java | 16 +++++++-- > + 5 files changed, 81 insertions(+), 25 deletions(-) > + > +diff --git a/src/main/java/zmq/io/StreamEngine.java > b/src/main/java/zmq/io/StreamEngine.java > +index b8933c92..fe2f2d8d 100644 > +--- a/src/main/java/zmq/io/StreamEngine.java > ++++ b/src/main/java/zmq/io/StreamEngine.java > +@@ -816,9 +816,7 @@ private boolean handshake() > + assert (bufferSize == headerSize); > + > + // Make sure the decoder sees the data we have already > received. > +- greetingRecv.flip(); > +- inpos = greetingRecv; > +- insize = greetingRecv.limit(); > ++ decodeDataAfterHandshake(0); > + > + // To allow for interoperability with peers that do not > forward > + // their subscriptions, we inject a phantom subscription > message > +@@ -846,6 +844,8 @@ else if (greetingRecv.get(revisionPos) == > Protocol.V1.revision) { > + } > + encoder = new V1Encoder(errno, Config.OUT_BATCH_SIZE.getValue > ()); > + decoder = new V1Decoder(errno, Config.IN_BATCH_SIZE.getValue(), > options.maxMsgSize, options.allocator); > ++ > ++ decodeDataAfterHandshake(V2_GREETING_SIZE); > + } > + else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { > + // ZMTP/2.0 framing. > +@@ -859,6 +859,8 @@ else if (greetingRecv.get(revisionPos) == > Protocol.V2.revision) { > + } > + encoder = new V2Encoder(errno, Config.OUT_BATCH_SIZE.getValue > ()); > + decoder = new V2Decoder(errno, Config.IN_BATCH_SIZE.getValue(), > options.maxMsgSize, options.allocator); > ++ > ++ decodeDataAfterHandshake(V2_GREETING_SIZE); > + } > + else { > + zmtpVersion = Protocol.V3; > +@@ -904,6 +906,19 @@ else if (greetingRecv.get(revisionPos) == > Protocol.V2.revision) { > + return true; > + } > + > ++ private void decodeDataAfterHandshake(int greetingSize) > ++ { > ++ final int pos = greetingRecv.position(); > ++ if (pos > greetingSize) { > ++ // data is present after handshake > ++ greetingRecv.position(greetingSize).limit(pos); > ++ > ++ // Make sure the decoder sees this extra data. > ++ inpos = greetingRecv; > ++ insize = greetingRecv.remaining(); > ++ } > ++ } > ++ > + private Msg identityMsg() > + { > + Msg msg = new Msg(options.identitySize); > +diff --git a/src/test/java/zmq/io/AbstractProtocolVersion.java > b/src/test/java/zmq/io/AbstractProtocolVersion.java > +index e60db403..aa06b4a7 100644 > +--- a/src/test/java/zmq/io/AbstractProtocolVersion.java > ++++ b/src/test/java/zmq/io/AbstractProtocolVersion.java > +@@ -18,15 +18,18 @@ > + import zmq.SocketBase; > + import zmq.ZError; > + import zmq.ZMQ; > ++import zmq.ZMQ.Event; > + import zmq.util.Utils; > + > + public abstract class AbstractProtocolVersion > + { > ++ protected static final int REPETITIONS = 1000; > ++ > + static class SocketMonitor extends Thread > + { > +- private final Ctx ctx; > +- private final String monitorAddr; > +- private final List<ZMQ.Event> events = new ArrayList<>(); > ++ private final Ctx ctx; > ++ private final String monitorAddr; > ++ private final ZMQ.Event[] events = new ZMQ.Event[1]; > + > + public SocketMonitor(Ctx ctx, String monitorAddr) > + { > +@@ -41,15 +44,15 @@ public void run() > + boolean rc = s.connect(monitorAddr); > + assertThat(rc, is(true)); > + // Only some of the exceptional events could fire > +- while (true) { > +- ZMQ.Event event = ZMQ.Event.read(s); > +- if (event == null && s.errno() == ZError.ETERM) { > +- break; > +- } > +- assertThat(event, notNullValue()); > +- > +- events.add(event); > ++ > ++ ZMQ.Event event = ZMQ.Event.read(s); > ++ if (event == null && s.errno() == ZError.ETERM) { > ++ s.close(); > ++ return; > + } > ++ assertThat(event, notNullValue()); > ++ > ++ events[0] = event; > + s.close(); > + } > + } > +@@ -69,11 +72,12 @@ public void run() > + boolean rc = ZMQ.setSocketOption(receiver, ZMQ.ZMQ_LINGER, 0); > + assertThat(rc, is(true)); > + > +- SocketMonitor monitor = new SocketMonitor(ctx, > "inproc://monitor"); > +- monitor.start(); > + rc = ZMQ.monitorSocket(receiver, "inproc://monitor", > ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL); > + assertThat(rc, is(true)); > + > ++ SocketMonitor monitor = new SocketMonitor(ctx, > "inproc://monitor"); > ++ monitor.start(); > ++ > + rc = ZMQ.bind(receiver, host); > + assertThat(rc, is(true)); > + > +@@ -81,17 +85,18 @@ public void run() > + OutputStream out = sender.getOutputStream(); > + for (ByteBuffer raw : raws) { > + out.write(raw.array()); > +- ZMQ.msleep(100); > + } > + > + Msg msg = ZMQ.recv(receiver, 0); > + assertThat(msg, notNullValue()); > + assertThat(new String(msg.data(), ZMQ.CHARSET), is(payload)); > + > +- ZMQ.msleep(500); > +- assertThat(monitor.events.size(), is(1)); > +- assertThat(monitor.events.get(0).event, > is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); > +- assertThat((Integer) monitor.events.get(0).arg, is(version)); > ++ monitor.join(); > ++ > ++ final Event event = monitor.events[0]; > ++ assertThat(event, notNullValue()); > ++ assertThat(event.event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); > ++ assertThat((Integer) event.arg, is(version)); > + > + InputStream in = sender.getInputStream(); > + byte[] data = new byte[255]; > +diff --git a/src/test/java/zmq/io/V0ProtocolTest.java > b/src/test/java/zmq/io/V0ProtocolTest.java > +index bd547d23..1a5b7aef 100644 > +--- a/src/test/java/zmq/io/V0ProtocolTest.java > ++++ b/src/test/java/zmq/io/V0ProtocolTest.java > +@@ -10,6 +10,18 @@ > + > + public class V0ProtocolTest extends AbstractProtocolVersion > + { > ++ @Test > ++ public void testFixIssue524() throws IOException, > InterruptedException > ++ { > ++ for (int idx = 0; idx < REPETITIONS; ++idx) { > ++ if (idx % 100 == 0) { > ++ System.out.print(idx + " "); > ++ } > ++ testProtocolVersion0short(); > ++ } > ++ System.out.println(); > ++ } > ++ > + @Test(timeout = 2000) > + public void testProtocolVersion0short() throws IOException, > InterruptedException > + { > +diff --git a/src/test/java/zmq/io/V1ProtocolTest.java > b/src/test/java/zmq/io/V1ProtocolTest.java > +index e1045f34..764159d0 100644 > +--- a/src/test/java/zmq/io/V1ProtocolTest.java > ++++ b/src/test/java/zmq/io/V1ProtocolTest.java > +@@ -10,7 +10,19 @@ > + > + public class V1ProtocolTest extends AbstractProtocolVersion > + { > +- @Test(timeout = 2000) > ++ @Test > ++ public void testFixIssue524() throws IOException, > InterruptedException > ++ { > ++ for (int idx = 0; idx < REPETITIONS; ++idx) { > ++ if (idx % 100 == 0) { > ++ System.out.print(idx + " "); > ++ } > ++ testProtocolVersion1short(); > ++ } > ++ System.out.println(); > ++ } > ++ > ++ @Test > + public void testProtocolVersion1short() throws IOException, > InterruptedException > + { > + List<ByteBuffer> raws = raws(0); > +@@ -25,7 +37,7 @@ public void testProtocolVersion1short() throws > IOException, InterruptedException > + assertProtocolVersion(1, raws, "abcdefg"); > + } > + > +- @Test(timeout = 2000) > ++ @Test > + public void testProtocolVersion1long() throws IOException, > InterruptedException > + { > + List<ByteBuffer> raws = raws(0); > +diff --git a/src/test/java/zmq/io/V2ProtocolTest.java > b/src/test/java/zmq/io/V2ProtocolTest.java > +index d5e64bce..7fda31bc 100644 > +--- a/src/test/java/zmq/io/V2ProtocolTest.java > ++++ b/src/test/java/zmq/io/V2ProtocolTest.java > +@@ -21,7 +21,19 @@ protected ByteBuffer identity() > + .put((byte) 0); > + } > + > +- @Test(timeout = 2000) > ++ @Test > ++ public void testFixIssue524() throws IOException, > InterruptedException > ++ { > ++ for (int idx = 0; idx < REPETITIONS; ++idx) { > ++ if (idx % 100 == 0) { > ++ System.out.print(idx + " "); > ++ } > ++ testProtocolVersion2short(); > ++ } > ++ System.out.println(); > ++ } > ++ > ++ @Test > + public void testProtocolVersion2short() throws IOException, > InterruptedException > + { > + List<ByteBuffer> raws = raws(1); > +@@ -38,7 +50,7 @@ public void testProtocolVersion2short() throws > IOException, InterruptedException > + assertProtocolVersion(2, raws, "abcdefg"); > + } > + > +- @Test(timeout = 2000) > ++ @Test > + public void testProtocolVersion2long() throws IOException, > InterruptedException > + { > + List<ByteBuffer> raws = raws(1); > -- > 2.16.2 > > Sorry, sent the wrong patch.
[Message part 2 (text/html, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 11 Apr 2018 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.