From c133385986db9fb1333b37739528f66ad45de916 Mon Sep 17 00:00:00 2001 From: David Capwell Date: Fri, 3 Apr 2020 10:56:20 -0700 Subject: [PATCH] Fix CasWriterTest after CASSANDRA-15689 patch by David Capwell; reviewed by Benjamin Lerer for CASSANDRA-15689 --- .../distributed/test/CasWriteTest.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java b/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java index a5d7e72f47..1d886cfa8b 100644 --- a/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java @@ -167,8 +167,8 @@ public class CasWriteTest extends TestBaseImpl failure -> failure.get() != null && failure.get() - .getMessage() - .contains(CasWriteTimeoutException.class.getCanonicalName()), + .getClass().getCanonicalName() + .equals(CasWriteTimeoutException.class.getCanonicalName()), "Expecting cause to be CasWriteTimeoutException"); } @@ -217,8 +217,7 @@ public class CasWriteTest extends TestBaseImpl private void expectCasWriteTimeout() { - thrown.expect(RuntimeException.class); - thrown.expectCause(new BaseMatcher() + thrown.expect(new BaseMatcher() { public boolean matches(Object item) { @@ -232,7 +231,18 @@ public class CasWriteTest extends TestBaseImpl }); // unable to assert on class becuase the exception thrown was loaded by a differnet classloader, InstanceClassLoader // therefor asserts the FQCN name present in the message as a workaround - thrown.expectMessage(containsString(CasWriteTimeoutException.class.getCanonicalName())); + thrown.expect(new BaseMatcher() + { + public boolean matches(Object item) + { + return item.getClass().getCanonicalName().equals(CasWriteTimeoutException.class.getCanonicalName()); + } + + public void describeTo(Description description) + { + description.appendText("Class was expected to be " + CasWriteTimeoutException.class.getCanonicalName() + " but was not"); + } + }); thrown.expectMessage(containsString("CAS operation timed out")); } @@ -256,8 +266,8 @@ public class CasWriteTest extends TestBaseImpl } catch (Throwable t) { - Assert.assertTrue("Expecting cause to be CasWriteUncertainException", - t.getMessage().contains(CasWriteUnknownResultException.class.getCanonicalName())); + Assert.assertEquals("Expecting cause to be CasWriteUncertainException", + CasWriteUnknownResultException.class.getCanonicalName(), t.getClass().getCanonicalName()); return; } }