diff --git a/src/test/java/net/openhft/chronicle/queue/ReadWriteTest.java b/src/test/java/net/openhft/chronicle/queue/ReadWriteTest.java index 46ba77565e..f026ed322f 100644 --- a/src/test/java/net/openhft/chronicle/queue/ReadWriteTest.java +++ b/src/test/java/net/openhft/chronicle/queue/ReadWriteTest.java @@ -153,21 +153,24 @@ public void testProceedWhenMetadataFileInitialized() throws IOException { } // Can't append to a read-only chronicle - @Test(expected = IllegalStateException.class) + @Test public void testWriteToReadOnlyChronicle() { - if (OS.isWindows()) { - System.err.println("#460 Cannot test read only mode on windows"); - throw new IllegalStateException("not run"); - } + assumeFalse("#460 Cannot test read only mode on Windows", OS.isWindows()); try (ChronicleQueue out = SingleChronicleQueueBuilder .binary(chroniclePath) .testBlockSize() .readOnly(true) - .build(); - final ExcerptAppender appender = out.createAppender()) { - assumeNotNull(appender); - // Do nothing + .build()) { + ExcerptAppender unexpectedAppender; + try { + unexpectedAppender = out.createAppender(); + } catch (IllegalStateException expected) { + return; + } + try (ExcerptAppender appender = unexpectedAppender) { + fail("Read-only queue unexpectedly created an appender: " + appender); + } } }