From 6097f4481137154eb71bfcc4f48b95b6decbf5e4 Mon Sep 17 00:00:00 2001 From: Aisha Halim Date: Tue, 31 May 2016 14:05:13 -0700 Subject: [PATCH] ArrayComparisonFailure serialization incompatibility fix: Add back field fCause, initialize and use in the constructor (via initCause()) to avoid npe and unused field warnings, respectively Issue #1178, #976 --- .../java/org/junit/internal/ArrayComparisonFailure.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/junit/internal/ArrayComparisonFailure.java b/src/main/java/org/junit/internal/ArrayComparisonFailure.java index a26b65de874d..0b24cb865cc2 100644 --- a/src/main/java/org/junit/internal/ArrayComparisonFailure.java +++ b/src/main/java/org/junit/internal/ArrayComparisonFailure.java @@ -16,11 +16,12 @@ public class ArrayComparisonFailure extends AssertionError { /* * We have to use the f prefix until the next major release to ensure - * serialization compatibility. + * serialization compatibility. * See https://github.com/junit-team/junit4/issues/976 */ private final List fIndices = new ArrayList(); private final String fMessage; + private final AssertionError fCause; /** * Construct a new ArrayComparisonFailure with an error text and the array's @@ -32,7 +33,8 @@ public class ArrayComparisonFailure extends AssertionError { */ public ArrayComparisonFailure(String message, AssertionError cause, int index) { this.fMessage = message; - initCause(cause); + this.fCause = cause; + initCause(fCause); addDimension(index); }