Repository: flink Updated Branches: refs/heads/master 3ff91be1d -> 198b74a85
[hotfix] [tests] Improve TypeInfoTestCoverageTest Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/6afd68b1 Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/6afd68b1 Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/6afd68b1 Branch: refs/heads/master Commit: 6afd68b100edab4689a6e7a39b5aee7743e05853 Parents: 3ff91be Author: Stephan Ewen <[email protected]> Authored: Thu Nov 2 17:19:19 2017 +0100 Committer: Stephan Ewen <[email protected]> Committed: Thu Nov 2 18:49:42 2017 +0100 ---------------------------------------------------------------------- .../completeness/TypeInfoTestCoverageTest.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/6afd68b1/flink-tests/src/test/java/org/apache/flink/test/completeness/TypeInfoTestCoverageTest.java ---------------------------------------------------------------------- diff --git a/flink-tests/src/test/java/org/apache/flink/test/completeness/TypeInfoTestCoverageTest.java b/flink-tests/src/test/java/org/apache/flink/test/completeness/TypeInfoTestCoverageTest.java index 95e1598..92ab013 100644 --- a/flink-tests/src/test/java/org/apache/flink/test/completeness/TypeInfoTestCoverageTest.java +++ b/flink-tests/src/test/java/org/apache/flink/test/completeness/TypeInfoTestCoverageTest.java @@ -23,12 +23,14 @@ import org.apache.flink.api.common.typeutils.TypeInformationTestBase; import org.apache.flink.util.TestLogger; import org.junit.Test; + import org.reflections.Reflections; import java.lang.reflect.Modifier; import java.util.Set; +import java.util.stream.Collectors; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Scans the class path for type information and checks if there is a test for it. @@ -40,7 +42,9 @@ public class TypeInfoTestCoverageTest extends TestLogger { Reflections reflections = new Reflections("org.apache.flink"); Set<Class<? extends TypeInformation>> typeInfos = reflections.getSubTypesOf(TypeInformation.class); - Set<Class<? extends TypeInformationTestBase>> typeInfoTests = reflections.getSubTypesOf(TypeInformationTestBase.class); + + Set<String> typeInfoTestNames = reflections.getSubTypesOf(TypeInformationTestBase.class) + .stream().map(Class::getName).collect(Collectors.toSet()); // check if a test exists for each type information for (Class<? extends TypeInformation> typeInfo : typeInfos) { @@ -54,13 +58,11 @@ public class TypeInfoTestCoverageTest extends TestLogger { typeInfo.getName().contains("queryablestate")) { continue; } - boolean found = false; - for (Class<? extends TypeInformationTestBase> typeInfoTest : typeInfoTests) { - if (typeInfoTest.getName().equals(typeInfo.getName() + "Test")) { - found = true; - } + + final String testToFind = typeInfo.getName() + "Test"; + if (!typeInfoTestNames.contains(testToFind)) { + fail("Could not find test '" + testToFind + "' that covers '" + typeInfo.getName() + "'."); } - assertTrue("Could not find test that corresponds to " + typeInfo.getName(), found); } } }
