diff --git a/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestFailureExpected.java b/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestFailureExpected.java new file mode 100644 index 00000000..20a2d37c --- /dev/null +++ b/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestFailureExpected.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.module.afterburner.util.failure; + +import java.lang.annotation.*; + +import org.junit.jupiter.api.extension.ExtendWith; + +/** + *

+ * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. + * + *

+ * When a test method is annotated with {@code @JacksonTestFailureExpected}, the + * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. + * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, + * indicating that the test was expected to fail but didn't. + *

+ * + *

Usage Example:

+ * + *

+ *
+ *     @Test
+ *     @JacksonTestFailureExpected
+ *     public void testFeatureNotYetImplemented() {
+ *         // Test code that is expected to fail
+ *     }
+ * }
+ * 
+ * + *

+ * + * @since 2.19 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@ExtendWith(JacksonTestFailureExpectedInterceptor.class) +public @interface JacksonTestFailureExpected { } diff --git a/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestFailureExpectedInterceptor.java b/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestFailureExpectedInterceptor.java new file mode 100644 index 00000000..e07526ca --- /dev/null +++ b/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestFailureExpectedInterceptor.java @@ -0,0 +1,43 @@ +package com.fasterxml.jackson.module.afterburner.util.failure; + +import java.lang.reflect.Method; + +import org.junit.jupiter.api.extension.*; + +/** + * Custom {@link InvocationInterceptor} that intercepts test method invocation. + * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. + * + * @since 2.19 + */ +public class JacksonTestFailureExpectedInterceptor + implements InvocationInterceptor +{ + @Override + public void interceptTestMethod(Invocation invocation, + ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) + throws Throwable + { + try { + invocation.proceed(); + } catch (Throwable t) { + // do-nothing, we do expect an exception + return; + } + handleUnexpectePassingTest(invocationContext); + } + + private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { + // Collect information we need + Object targetClass = invocationContext.getTargetClass(); + Object testMethod = invocationContext.getExecutable().getName(); + //List arguments = invocationContext.getArguments(); + + // Create message + String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); + + // throw exception + throw new JacksonTestShouldFailException(message); + } + +} diff --git a/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestShouldFailException.java b/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestShouldFailException.java new file mode 100644 index 00000000..f2d73e14 --- /dev/null +++ b/afterburner/src/test/java/com/fasterxml/jackson/module/afterburner/util/failure/JacksonTestShouldFailException.java @@ -0,0 +1,18 @@ +package com.fasterxml.jackson.module.afterburner.util.failure; + +/** + * Exception used to alert that a test is passing, but should be failing. + * + * WARNING : This only for test code, and should never be thrown from production code. + * + * @since 2.19 + */ +public class JacksonTestShouldFailException + extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public JacksonTestShouldFailException(String msg) { + super(msg); + } +} diff --git a/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestFailureExpected.java b/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestFailureExpected.java new file mode 100644 index 00000000..a354a4f8 --- /dev/null +++ b/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestFailureExpected.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.module.androidrecord.testutil.failure; + +import java.lang.annotation.*; + +import org.junit.jupiter.api.extension.ExtendWith; + +/** + *

+ * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. + * + *

+ * When a test method is annotated with {@code @JacksonTestFailureExpected}, the + * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. + * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, + * indicating that the test was expected to fail but didn't. + *

+ * + *

Usage Example:

+ * + *

+ *
+ *     @Test
+ *     @JacksonTestFailureExpected
+ *     public void testFeatureNotYetImplemented() {
+ *         // Test code that is expected to fail
+ *     }
+ * }
+ * 
+ * + *

+ * + * @since 2.19 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@ExtendWith(JacksonTestFailureExpectedInterceptor.class) +public @interface JacksonTestFailureExpected { } diff --git a/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestFailureExpectedInterceptor.java b/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestFailureExpectedInterceptor.java new file mode 100644 index 00000000..4c6ee833 --- /dev/null +++ b/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestFailureExpectedInterceptor.java @@ -0,0 +1,43 @@ +package com.fasterxml.jackson.module.androidrecord.testutil.failure; + +import java.lang.reflect.Method; + +import org.junit.jupiter.api.extension.*; + +/** + * Custom {@link InvocationInterceptor} that intercepts test method invocation. + * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. + * + * @since 2.19 + */ +public class JacksonTestFailureExpectedInterceptor + implements InvocationInterceptor +{ + @Override + public void interceptTestMethod(Invocation invocation, + ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) + throws Throwable + { + try { + invocation.proceed(); + } catch (Throwable t) { + // do-nothing, we do expect an exception + return; + } + handleUnexpectePassingTest(invocationContext); + } + + private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { + // Collect information we need + Object targetClass = invocationContext.getTargetClass(); + Object testMethod = invocationContext.getExecutable().getName(); + //List arguments = invocationContext.getArguments(); + + // Create message + String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); + + // throw exception + throw new JacksonTestShouldFailException(message); + } + +} diff --git a/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestShouldFailException.java b/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestShouldFailException.java new file mode 100644 index 00000000..193fee9f --- /dev/null +++ b/android-record/src/test/java/com/fasterxml/jackson/module/androidrecord/testutil/failure/JacksonTestShouldFailException.java @@ -0,0 +1,18 @@ +package com.fasterxml.jackson.module.androidrecord.testutil.failure; + +/** + * Exception used to alert that a test is passing, but should be failing. + * + * WARNING : This only for test code, and should never be thrown from production code. + * + * @since 2.19 + */ +public class JacksonTestShouldFailException + extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public JacksonTestShouldFailException(String msg) { + super(msg); + } +} diff --git a/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestFailureExpected.java b/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestFailureExpected.java new file mode 100644 index 00000000..520b3d57 --- /dev/null +++ b/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestFailureExpected.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.module.blackbird.testutil.failure; + +import java.lang.annotation.*; + +import org.junit.jupiter.api.extension.ExtendWith; + +/** + *

+ * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. + * + *

+ * When a test method is annotated with {@code @JacksonTestFailureExpected}, the + * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. + * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, + * indicating that the test was expected to fail but didn't. + *

+ * + *

Usage Example:

+ * + *

+ *
+ *     @Test
+ *     @JacksonTestFailureExpected
+ *     public void testFeatureNotYetImplemented() {
+ *         // Test code that is expected to fail
+ *     }
+ * }
+ * 
+ * + *

+ * + * @since 2.19 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@ExtendWith(JacksonTestFailureExpectedInterceptor.class) +public @interface JacksonTestFailureExpected { } diff --git a/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestFailureExpectedInterceptor.java b/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestFailureExpectedInterceptor.java new file mode 100644 index 00000000..adcd8c07 --- /dev/null +++ b/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestFailureExpectedInterceptor.java @@ -0,0 +1,43 @@ +package com.fasterxml.jackson.module.blackbird.testutil.failure; + +import java.lang.reflect.Method; + +import org.junit.jupiter.api.extension.*; + +/** + * Custom {@link InvocationInterceptor} that intercepts test method invocation. + * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. + * + * @since 2.19 + */ +public class JacksonTestFailureExpectedInterceptor + implements InvocationInterceptor +{ + @Override + public void interceptTestMethod(Invocation invocation, + ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) + throws Throwable + { + try { + invocation.proceed(); + } catch (Throwable t) { + // do-nothing, we do expect an exception + return; + } + handleUnexpectePassingTest(invocationContext); + } + + private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { + // Collect information we need + Object targetClass = invocationContext.getTargetClass(); + Object testMethod = invocationContext.getExecutable().getName(); + //List arguments = invocationContext.getArguments(); + + // Create message + String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); + + // throw exception + throw new JacksonTestShouldFailException(message); + } + +} diff --git a/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestShouldFailException.java b/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestShouldFailException.java new file mode 100644 index 00000000..a8f1ebd4 --- /dev/null +++ b/blackbird/src/test/java/com/fasterxml/jackson/module/blackbird/testutil/failure/JacksonTestShouldFailException.java @@ -0,0 +1,18 @@ +package com.fasterxml.jackson.module.blackbird.testutil.failure; + +/** + * Exception used to alert that a test is passing, but should be failing. + * + * WARNING : This only for test code, and should never be thrown from production code. + * + * @since 2.19 + */ +public class JacksonTestShouldFailException + extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public JacksonTestShouldFailException(String msg) { + super(msg); + } +} diff --git a/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestFailureExpected.java b/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestFailureExpected.java new file mode 100644 index 00000000..f489f999 --- /dev/null +++ b/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestFailureExpected.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.module.jakarta.xmlbind.testutil.failure; + +import java.lang.annotation.*; + +import org.junit.jupiter.api.extension.ExtendWith; + +/** + *

+ * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. + * + *

+ * When a test method is annotated with {@code @JacksonTestFailureExpected}, the + * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. + * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, + * indicating that the test was expected to fail but didn't. + *

+ * + *

Usage Example:

+ * + *

+ *
+ *     @Test
+ *     @JacksonTestFailureExpected
+ *     public void testFeatureNotYetImplemented() {
+ *         // Test code that is expected to fail
+ *     }
+ * }
+ * 
+ * + *

+ * + * @since 2.19 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@ExtendWith(JacksonTestFailureExpectedInterceptor.class) +public @interface JacksonTestFailureExpected { } diff --git a/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestFailureExpectedInterceptor.java b/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestFailureExpectedInterceptor.java new file mode 100644 index 00000000..b23aa827 --- /dev/null +++ b/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestFailureExpectedInterceptor.java @@ -0,0 +1,43 @@ +package com.fasterxml.jackson.module.jakarta.xmlbind.testutil.failure; + +import java.lang.reflect.Method; + +import org.junit.jupiter.api.extension.*; + +/** + * Custom {@link InvocationInterceptor} that intercepts test method invocation. + * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. + * + * @since 2.19 + */ +public class JacksonTestFailureExpectedInterceptor + implements InvocationInterceptor +{ + @Override + public void interceptTestMethod(Invocation invocation, + ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) + throws Throwable + { + try { + invocation.proceed(); + } catch (Throwable t) { + // do-nothing, we do expect an exception + return; + } + handleUnexpectePassingTest(invocationContext); + } + + private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { + // Collect information we need + Object targetClass = invocationContext.getTargetClass(); + Object testMethod = invocationContext.getExecutable().getName(); + //List arguments = invocationContext.getArguments(); + + // Create message + String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); + + // throw exception + throw new JacksonTestShouldFailException(message); + } + +} diff --git a/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestShouldFailException.java b/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestShouldFailException.java new file mode 100644 index 00000000..855b7cc6 --- /dev/null +++ b/jakarta-xmlbind/src/test/java/com/fasterxml/jackson/module/jakarta/xmlbind/testutil/failure/JacksonTestShouldFailException.java @@ -0,0 +1,18 @@ +package com.fasterxml.jackson.module.jakarta.xmlbind.testutil.failure; + +/** + * Exception used to alert that a test is passing, but should be failing. + * + * WARNING : This only for test code, and should never be thrown from production code. + * + * @since 2.19 + */ +public class JacksonTestShouldFailException + extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public JacksonTestShouldFailException(String msg) { + super(msg); + } +} diff --git a/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestFailureExpected.java b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestFailureExpected.java new file mode 100644 index 00000000..849fd744 --- /dev/null +++ b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestFailureExpected.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.module.jaxb.testutil.failure; + +import java.lang.annotation.*; + +import org.junit.jupiter.api.extension.ExtendWith; + +/** + *

+ * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. + * + *

+ * When a test method is annotated with {@code @JacksonTestFailureExpected}, the + * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. + * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, + * indicating that the test was expected to fail but didn't. + *

+ * + *

Usage Example:

+ * + *

+ *
+ *     @Test
+ *     @JacksonTestFailureExpected
+ *     public void testFeatureNotYetImplemented() {
+ *         // Test code that is expected to fail
+ *     }
+ * }
+ * 
+ * + *

+ * + * @since 2.19 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@ExtendWith(JacksonTestFailureExpectedInterceptor.class) +public @interface JacksonTestFailureExpected { } diff --git a/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestFailureExpectedInterceptor.java b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestFailureExpectedInterceptor.java new file mode 100644 index 00000000..6b4308f0 --- /dev/null +++ b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestFailureExpectedInterceptor.java @@ -0,0 +1,43 @@ +package com.fasterxml.jackson.module.jaxb.testutil.failure; + +import java.lang.reflect.Method; + +import org.junit.jupiter.api.extension.*; + +/** + * Custom {@link InvocationInterceptor} that intercepts test method invocation. + * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. + * + * @since 2.19 + */ +public class JacksonTestFailureExpectedInterceptor + implements InvocationInterceptor +{ + @Override + public void interceptTestMethod(Invocation invocation, + ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) + throws Throwable + { + try { + invocation.proceed(); + } catch (Throwable t) { + // do-nothing, we do expect an exception + return; + } + handleUnexpectePassingTest(invocationContext); + } + + private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { + // Collect information we need + Object targetClass = invocationContext.getTargetClass(); + Object testMethod = invocationContext.getExecutable().getName(); + //List arguments = invocationContext.getArguments(); + + // Create message + String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); + + // throw exception + throw new JacksonTestShouldFailException(message); + } + +} diff --git a/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestShouldFailException.java b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestShouldFailException.java new file mode 100644 index 00000000..e259aecd --- /dev/null +++ b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/testutil/failure/JacksonTestShouldFailException.java @@ -0,0 +1,18 @@ +package com.fasterxml.jackson.module.jaxb.testutil.failure; + +/** + * Exception used to alert that a test is passing, but should be failing. + * + * WARNING : This only for test code, and should never be thrown from production code. + * + * @since 2.19 + */ +public class JacksonTestShouldFailException + extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public JacksonTestShouldFailException(String msg) { + super(msg); + } +} diff --git a/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestFailureExpected.java b/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestFailureExpected.java new file mode 100644 index 00000000..764c7ca3 --- /dev/null +++ b/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestFailureExpected.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.module.paranamer.testutil.failure; + +import java.lang.annotation.*; + +import org.junit.jupiter.api.extension.ExtendWith; + +/** + *

+ * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. + * + *

+ * When a test method is annotated with {@code @JacksonTestFailureExpected}, the + * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. + * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, + * indicating that the test was expected to fail but didn't. + *

+ * + *

Usage Example:

+ * + *

+ *
+ *     @Test
+ *     @JacksonTestFailureExpected
+ *     public void testFeatureNotYetImplemented() {
+ *         // Test code that is expected to fail
+ *     }
+ * }
+ * 
+ * + *

+ * + * @since 2.19 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@ExtendWith(JacksonTestFailureExpectedInterceptor.class) +public @interface JacksonTestFailureExpected { } diff --git a/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestFailureExpectedInterceptor.java b/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestFailureExpectedInterceptor.java new file mode 100644 index 00000000..3ead7da0 --- /dev/null +++ b/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestFailureExpectedInterceptor.java @@ -0,0 +1,43 @@ +package com.fasterxml.jackson.module.paranamer.testutil.failure; + +import java.lang.reflect.Method; + +import org.junit.jupiter.api.extension.*; + +/** + * Custom {@link InvocationInterceptor} that intercepts test method invocation. + * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. + * + * @since 2.19 + */ +public class JacksonTestFailureExpectedInterceptor + implements InvocationInterceptor +{ + @Override + public void interceptTestMethod(Invocation invocation, + ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) + throws Throwable + { + try { + invocation.proceed(); + } catch (Throwable t) { + // do-nothing, we do expect an exception + return; + } + handleUnexpectePassingTest(invocationContext); + } + + private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { + // Collect information we need + Object targetClass = invocationContext.getTargetClass(); + Object testMethod = invocationContext.getExecutable().getName(); + //List arguments = invocationContext.getArguments(); + + // Create message + String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); + + // throw exception + throw new JacksonTestShouldFailException(message); + } + +} diff --git a/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestShouldFailException.java b/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestShouldFailException.java new file mode 100644 index 00000000..4a54eeb1 --- /dev/null +++ b/paranamer/src/test/java/com/fasterxml/jackson/module/paranamer/testutil/failure/JacksonTestShouldFailException.java @@ -0,0 +1,18 @@ +package com.fasterxml.jackson.module.paranamer.testutil.failure; + +/** + * Exception used to alert that a test is passing, but should be failing. + * + * WARNING : This only for test code, and should never be thrown from production code. + * + * @since 2.19 + */ +public class JacksonTestShouldFailException + extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public JacksonTestShouldFailException(String msg) { + super(msg); + } +}