This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch SIS-457 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 5bc9d1e99b243fd677973f4f5036c923ae69eac9 Author: Michiel Rop <[email protected]> AuthorDate: Tue Jun 11 08:22:52 2019 +0200 SIS-457 Run TestSuites with junit5 Junit5 does not have support for TestSuites. There is request to introduce this, see [3]. To enable TestSuites in the least intrusive way the suites can run with the junit5 junit4 support, see [1] and [2]. [1] https://github.com/howtoprogram/junit5-examples/tree/master/junit5-test-suite-example [2] https://junit.org/junit5/docs/current/user-guide/#running-tests-junit-platform-runner-test-suite [3] https://github.com/junit-team/junit5/issues/744 --- .../apache/sis/test/suite/ConsoleTestSuite.java | 5 ++-- .../apache/sis/test/suite/OpenOfficeTestSuite.java | 4 +-- .../apache/sis/test/suite/FeatureTestSuite.java | 4 +-- .../apache/sis/test/suite/MetadataTestSuite.java | 4 +-- .../suite/ReferencingByIdentifiersTestSuite.java | 4 +-- .../sis/test/suite/ReferencingTestSuite.java | 4 +-- .../test/java/org/apache/sis/test/TestSuite.java | 9 ++++--- .../apache/sis/test/suite/UtilityTestSuite.java | 4 +-- pom.xml | 29 ++++++++++++++++++++++ .../sis/test/suite/FrenchProfileTestSuite.java | 4 +-- .../sis/test/suite/JapanProfileTestSuite.java | 4 +-- .../sis/test/suite/EarthObservationTestSuite.java | 4 +-- .../org/apache/sis/test/suite/GDALTestSuite.java | 4 +-- .../apache/sis/test/suite/GeoTiffTestSuite.java | 4 +-- .../org/apache/sis/test/suite/NetcdfTestSuite.java | 4 +-- .../apache/sis/test/suite/ShapefileTestSuite.java | 4 +-- .../org/apache/sis/test/suite/SQLTestSuite.java | 4 +-- .../apache/sis/test/suite/StorageTestSuite.java | 4 +-- .../org/apache/sis/test/suite/GPXTestSuite.java | 4 +-- 19 files changed, 69 insertions(+), 38 deletions(-) diff --git a/application/sis-console/src/test/java/org/apache/sis/test/suite/ConsoleTestSuite.java b/application/sis-console/src/test/java/org/apache/sis/test/suite/ConsoleTestSuite.java index a6db611..f60acd4 100644 --- a/application/sis-console/src/test/java/org/apache/sis/test/suite/ConsoleTestSuite.java +++ b/application/sis-console/src/test/java/org/apache/sis/test/suite/ConsoleTestSuite.java @@ -17,7 +17,8 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; + import org.junit.BeforeClass; @@ -29,7 +30,7 @@ import org.junit.BeforeClass; * @since 0.3 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.console.CommandRunnerTest.class, org.apache.sis.console.HelpCommandTest.class, org.apache.sis.console.AboutCommandTest.class, diff --git a/application/sis-openoffice/src/test/java/org/apache/sis/test/suite/OpenOfficeTestSuite.java b/application/sis-openoffice/src/test/java/org/apache/sis/test/suite/OpenOfficeTestSuite.java index c047931..ae69851 100644 --- a/application/sis-openoffice/src/test/java/org/apache/sis/test/suite/OpenOfficeTestSuite.java +++ b/application/sis-openoffice/src/test/java/org/apache/sis/test/suite/OpenOfficeTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.8 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.openoffice.TransformerTest.class, org.apache.sis.openoffice.ReferencingFunctionsTest.class }) diff --git a/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java b/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java index 72dd461..090979d 100644 --- a/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java +++ b/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java @@ -17,8 +17,8 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; -import org.junit.runners.Suite; /** @@ -30,7 +30,7 @@ import org.junit.runners.Suite; * @since 0.5 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.feature.DefaultAttributeTypeTest.class, org.apache.sis.feature.CharacteristicTypeMapTest.class, org.apache.sis.feature.CharacteristicMapTest.class, diff --git a/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java b/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java index 991fd98..b74552a 100644 --- a/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.3 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.internal.metadata.IdentifiersTest.class, org.apache.sis.internal.metadata.AxisNamesTest.class, org.apache.sis.internal.metadata.NameMeaningTest.class, diff --git a/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/test/suite/ReferencingByIdentifiersTestSuite.java b/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/test/suite/ReferencingByIdentifiersTestSuite.java index 3d1ea09..2ba9635 100644 --- a/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/test/suite/ReferencingByIdentifiersTestSuite.java +++ b/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/test/suite/ReferencingByIdentifiersTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.8 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.referencing.gazetteer.LocationFormatTest.class, org.apache.sis.referencing.gazetteer.LocationTypeTest.class, org.apache.sis.referencing.gazetteer.ReferencingByIdentifiersTest.class, diff --git a/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java b/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java index c89627d..2943eb8 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.3 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.internal.referencing.LazySetTest.class, org.apache.sis.internal.referencing.FormulasTest.class, org.apache.sis.internal.referencing.j2d.ShapeUtilitiesTest.class, diff --git a/core/sis-utility/src/test/java/org/apache/sis/test/TestSuite.java b/core/sis-utility/src/test/java/org/apache/sis/test/TestSuite.java index 2e98b2a..62e6c99 100644 --- a/core/sis-utility/src/test/java/org/apache/sis/test/TestSuite.java +++ b/core/sis-utility/src/test/java/org/apache/sis/test/TestSuite.java @@ -31,8 +31,9 @@ import org.apache.sis.util.logging.MonolineFormatter; import org.apache.sis.util.Classes; import org.junit.BeforeClass; import org.junit.AfterClass; +import org.junit.platform.runner.JUnitPlatform; +import org.junit.platform.suite.api.SelectClasses; import org.junit.runner.RunWith; -import org.junit.runners.Suite; import static org.junit.Assert.*; @@ -45,7 +46,7 @@ import static org.junit.Assert.*; * @since 0.3 * @module */ -@RunWith(Suite.class) +@RunWith(JUnitPlatform.class) public abstract strictfp class TestSuite { /** * The default set of base classes that all test cases are expected to extends. @@ -102,7 +103,7 @@ public abstract strictfp class TestSuite { * Now scan all "*Test.class" in the "target/org" directory and and sub-directories, * and fail on the first missing test file if any. */ - List<Class<?>> declared = Arrays.asList(suite.getAnnotation(Suite.SuiteClasses.class).value()); + List<Class<?>> declared = Arrays.asList(suite.getAnnotation(SelectClasses.class).value()); final Set<Class<?>> tests = new HashSet<>(declared); if (tests.size() != declared.size()) { declared = new ArrayList<>(declared); @@ -198,7 +199,7 @@ public abstract strictfp class TestSuite { * @param baseTestClasses the set of base classes that all test cases are expected to extends. */ protected static void verifyTestList(final Class<? extends TestSuite> suite, final Class<?>[] baseTestClasses) { - final Class<?>[] testCases = suite.getAnnotation(Suite.SuiteClasses.class).value(); + final Class<?>[] testCases = suite.getAnnotation(SelectClasses.class).value(); final Set<Class<?>> done = new HashSet<>(testCases.length); for (final Class<?> testCase : testCases) { if (!Classes.isAssignableToAny(testCase, baseTestClasses)) { diff --git a/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java b/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java index 3702235..66a6897 100644 --- a/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java +++ b/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.3 * @module */ [email protected]({ +@SelectClasses({ // Following are testing the test tools. org.apache.sis.internal.test.AssertTest.class, org.apache.sis.internal.test.TestUtilitiesTest.class, diff --git a/pom.xml b/pom.xml index 326d5b0..52c14d6 100644 --- a/pom.xml +++ b/pom.xml @@ -542,6 +542,23 @@ <version>${junit-jupiter-engine.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-runner</artifactId> + <version>${junit.platform.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <version>${junit.vintage.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-surefire-provider</artifactId> + <version>${junit.platform.version}</version> + </dependency> </dependencies> </dependencyManagement> @@ -557,10 +574,20 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-runner</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <scope>test</scope> + </dependency> <dependency> <!-- To be removed after https://issues.apache.org/jira/browse/SIS-469 is done. --> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> @@ -589,6 +616,8 @@ <jaxb.version>2.3.2</jaxb.version> <junit-jupiter-api.version>${junit-jupiter-engine.version}</junit-jupiter-api.version> <junit-jupiter-engine.version>5.4.2</junit-jupiter-engine.version> + <junit.vintage.version>5.4.2</junit.vintage.version> + <junit.platform.version>1.1.1</junit.platform.version> </properties> <profiles> diff --git a/profiles/sis-french-profile/src/test/java/org/apache/sis/test/suite/FrenchProfileTestSuite.java b/profiles/sis-french-profile/src/test/java/org/apache/sis/test/suite/FrenchProfileTestSuite.java index 24d2433..b887d7b 100644 --- a/profiles/sis-french-profile/src/test/java/org/apache/sis/test/suite/FrenchProfileTestSuite.java +++ b/profiles/sis-french-profile/src/test/java/org/apache/sis/test/suite/FrenchProfileTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.4 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.internal.profile.fra.DirectReferenceSystemTest.class, org.apache.sis.internal.profile.fra.DataIdentificationTest.class, org.apache.sis.profile.france.FrenchProfileTest.class diff --git a/profiles/sis-japan-profile/src/test/java/org/apache/sis/test/suite/JapanProfileTestSuite.java b/profiles/sis-japan-profile/src/test/java/org/apache/sis/test/suite/JapanProfileTestSuite.java index d5acbd3..595632d 100644 --- a/profiles/sis-japan-profile/src/test/java/org/apache/sis/test/suite/JapanProfileTestSuite.java +++ b/profiles/sis-japan-profile/src/test/java/org/apache/sis/test/suite/JapanProfileTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.4 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.profile.japan.JapanProfileTest.class }) public final strictfp class JapanProfileTestSuite extends TestSuite { diff --git a/storage/sis-earth-observation/src/test/java/org/apache/sis/test/suite/EarthObservationTestSuite.java b/storage/sis-earth-observation/src/test/java/org/apache/sis/test/suite/EarthObservationTestSuite.java index 7e85a2f..b995534 100644 --- a/storage/sis-earth-observation/src/test/java/org/apache/sis/test/suite/EarthObservationTestSuite.java +++ b/storage/sis-earth-observation/src/test/java/org/apache/sis/test/suite/EarthObservationTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -30,7 +30,7 @@ import org.junit.BeforeClass; * @since 0.8 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.storage.earthobservation.LandsatReaderTest.class, org.apache.sis.storage.earthobservation.LandsatStoreProviderTest.class }) diff --git a/storage/sis-gdal/src/test/java/org/apache/sis/test/suite/GDALTestSuite.java b/storage/sis-gdal/src/test/java/org/apache/sis/test/suite/GDALTestSuite.java index 5e2a5af..d326fa2 100644 --- a/storage/sis-gdal/src/test/java/org/apache/sis/test/suite/GDALTestSuite.java +++ b/storage/sis-gdal/src/test/java/org/apache/sis/test/suite/GDALTestSuite.java @@ -18,7 +18,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; import org.junit.BeforeClass; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; /** @@ -29,7 +29,7 @@ import org.junit.runners.Suite; * @since 0.8 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.storage.gdal.PJTest.class, org.apache.sis.storage.gdal.Proj4Test.class, org.apache.sis.storage.gdal.Proj4ParserTest.class, diff --git a/storage/sis-geotiff/src/test/java/org/apache/sis/test/suite/GeoTiffTestSuite.java b/storage/sis-geotiff/src/test/java/org/apache/sis/test/suite/GeoTiffTestSuite.java index 5c25f9f..2951563 100644 --- a/storage/sis-geotiff/src/test/java/org/apache/sis/test/suite/GeoTiffTestSuite.java +++ b/storage/sis-geotiff/src/test/java/org/apache/sis/test/suite/GeoTiffTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.8 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.storage.geotiff.TypeTest.class, org.apache.sis.storage.geotiff.CompressionTest.class, org.apache.sis.storage.geotiff.GeoKeysTest.class, diff --git a/storage/sis-netcdf/src/test/java/org/apache/sis/test/suite/NetcdfTestSuite.java b/storage/sis-netcdf/src/test/java/org/apache/sis/test/suite/NetcdfTestSuite.java index b3d3495..c6b159c 100644 --- a/storage/sis-netcdf/src/test/java/org/apache/sis/test/suite/NetcdfTestSuite.java +++ b/storage/sis-netcdf/src/test/java/org/apache/sis/test/suite/NetcdfTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.3 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.internal.netcdf.DataTypeTest.class, org.apache.sis.internal.netcdf.DecoderTest.class, org.apache.sis.internal.netcdf.VariableTest.class, diff --git a/storage/sis-shapefile/src/test/java/org/apache/sis/test/suite/ShapefileTestSuite.java b/storage/sis-shapefile/src/test/java/org/apache/sis/test/suite/ShapefileTestSuite.java index f7de34d..92beeb8 100644 --- a/storage/sis-shapefile/src/test/java/org/apache/sis/test/suite/ShapefileTestSuite.java +++ b/storage/sis-shapefile/src/test/java/org/apache/sis/test/suite/ShapefileTestSuite.java @@ -17,14 +17,14 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; /** * All tests from the {@code sis-shapefile} module, in rough dependency order. */ [email protected]({ +@SelectClasses({ org.apache.sis.storage.shapefile.ShapeFileTest.class, org.apache.sis.internal.shapefile.jdbc.DBFConnectionTest.class, org.apache.sis.internal.shapefile.jdbc.DBFStatementTest.class, diff --git a/storage/sis-sqlstore/src/test/java/org/apache/sis/test/suite/SQLTestSuite.java b/storage/sis-sqlstore/src/test/java/org/apache/sis/test/suite/SQLTestSuite.java index 2ed67d8..7e44dd4 100644 --- a/storage/sis-sqlstore/src/test/java/org/apache/sis/test/suite/SQLTestSuite.java +++ b/storage/sis-sqlstore/src/test/java/org/apache/sis/test/suite/SQLTestSuite.java @@ -17,14 +17,14 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; /** * All tests from the {@code sis-sqlstore} module, in rough dependency order. */ [email protected]({ +@SelectClasses({ org.apache.sis.storage.sql.SQLStoreTest.class }) public final strictfp class SQLTestSuite extends TestSuite { diff --git a/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java b/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java index b69e4a0..13e9d6e 100644 --- a/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java +++ b/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java @@ -17,7 +17,7 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; @@ -29,7 +29,7 @@ import org.junit.BeforeClass; * @since 0.3 * @module */ [email protected]({ +@SelectClasses({ org.apache.sis.internal.storage.CodeTypeTest.class, org.apache.sis.internal.storage.io.IOUtilitiesTest.class, org.apache.sis.internal.storage.io.ChannelDataInputTest.class, diff --git a/storage/sis-xmlstore/src/test/java/org/apache/sis/test/suite/GPXTestSuite.java b/storage/sis-xmlstore/src/test/java/org/apache/sis/test/suite/GPXTestSuite.java index e3ce9d9..9dae88d 100644 --- a/storage/sis-xmlstore/src/test/java/org/apache/sis/test/suite/GPXTestSuite.java +++ b/storage/sis-xmlstore/src/test/java/org/apache/sis/test/suite/GPXTestSuite.java @@ -17,14 +17,14 @@ package org.apache.sis.test.suite; import org.apache.sis.test.TestSuite; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; import org.junit.BeforeClass; /** * All tests from the {@code sis-xmlstore} module, in rough dependency order. */ [email protected]({ +@SelectClasses({ org.apache.sis.internal.storage.gpx.TypesTest.class, org.apache.sis.internal.storage.gpx.MetadataTest.class, org.apache.sis.internal.storage.gpx.ReaderTest.class,
