From 80901a24c2a545de66926c110eabc322dd339855 Mon Sep 17 00:00:00 2001 From: lbh930 Date: Fri, 12 Dec 2025 13:00:35 -0600 Subject: [PATCH] fix flaky tests in TestParameterInjectorKotlinTest by using deterministic field processing order --- .../TestParameterMethodProcessor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/junit4/src/main/java/com/google/testing/junit/testparameterinjector/TestParameterMethodProcessor.java b/junit4/src/main/java/com/google/testing/junit/testparameterinjector/TestParameterMethodProcessor.java index ba54082..151a2b8 100644 --- a/junit4/src/main/java/com/google/testing/junit/testparameterinjector/TestParameterMethodProcessor.java +++ b/junit4/src/main/java/com/google/testing/junit/testparameterinjector/TestParameterMethodProcessor.java @@ -50,6 +50,7 @@ import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.regex.Matcher; @@ -461,7 +462,12 @@ private ImmutableList> getFieldValueHold Class testClass) { List annotations = FluentIterable.from(listWithParents(testClass)) - .transformAndConcat(c -> Arrays.asList(c.getDeclaredFields())) + .transformAndConcat( + c -> { + Field[] fields = c.getDeclaredFields(); + Arrays.sort(fields, Comparator.comparing(Field::getName)); + return Arrays.asList(fields); + }) .transformAndConcat( field -> maybeGetTestParameter(field.getAnnotations())