[
https://issues.apache.org/jira/browse/GEODE-1350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Deppe resolved GEODE-1350.
-------------------------------
Resolution: Fixed
Fix Version/s: 1.0.0-incubating.M3
> JUnit 4 Category plus Parameterized results in tests being skipped during
> build
> -------------------------------------------------------------------------------
>
> Key: GEODE-1350
> URL: https://issues.apache.org/jira/browse/GEODE-1350
> Project: Geode
> Issue Type: Bug
> Components: build, management
> Reporter: Kirk Lund
> Assignee: Jens Deppe
> Fix For: 1.0.0-incubating.M3
>
>
> As of JUnit 4.12, the use of Categories with the Parameterized runner is
> broken and may not get fixed by the JUnit community.
> All Geode tests using Parameterized should be reimplemented to use
> JUnitParamsRunner.
> Example 1 of test using JUnitParamsRunner:
> {noformat}
> @Category(UnitTest.class)
> @RunWith(JUnitParamsRunner.class)
> public class LogServiceJUnitTest {
> @Test
> @Parameters(method = "getToLevelParameters")
> public void toLevelShouldReturnMatchingLog4jLevel(final int intLevel, final
> Level level) {
> assertThat(LogService.toLevel(intLevel)).isSameAs(level);
> }
> private static final Object[] getToLevelParameters() {
> return $(
> new Object[] { 0, Level.OFF },
> new Object[] { 100, Level.FATAL },
> new Object[] { 200, Level.ERROR },
> new Object[] { 300, Level.WARN },
> new Object[] { 400, Level.INFO },
> new Object[] { 500, Level.DEBUG },
> new Object[] { 600, Level.TRACE },
> new Object[] { Integer.MAX_VALUE, Level.ALL }
> );
> }
> {noformat}
> Example 2 of test using JUnitParamsRunner:
> {noformat}
> @Category(UnitTest.class)
> @RunWith(JUnitParamsRunner.class)
> public class RegionEntryFactoryBuilderJUnitTest {
> /**
> * This method will test that the correct RegionEntryFactory is created
> * dependent on the 5 conditionals:
> * enableStats, enableLRU, enableDisk, enableVersion, enableOffHeap
> */
> @Test
> @Parameters({
> "VMThinRegionEntryHeapFactory,false,false,false,false,false",
> "VMThinRegionEntryOffHeapFactory,false,false,false,false,true",
> "VersionedThinRegionEntryHeapFactory,false,false,false,true,false",
> "VersionedThinRegionEntryOffHeapFactory,false,false,false,true,true",
> "VMThinDiskRegionEntryHeapFactory,false,false,true,false,false",
> "VMThinDiskRegionEntryOffHeapFactory,false,false,true,false,true",
> "VersionedThinDiskRegionEntryHeapFactory,false,false,true,true,false",
> "VersionedThinDiskRegionEntryOffHeapFactory,false,false,true,true,true",
> "VMThinLRURegionEntryHeapFactory,false,true,false,false,false",
> "VMThinLRURegionEntryOffHeapFactory,false,true,false,false,true",
> "VersionedThinLRURegionEntryHeapFactory,false,true,false,true,false",
> "VersionedThinLRURegionEntryOffHeapFactory,false,true,false,true,true",
> "VMThinDiskLRURegionEntryHeapFactory,false,true,true,false,false",
> "VMThinDiskLRURegionEntryOffHeapFactory,false,true,true,false,true",
> "VersionedThinDiskLRURegionEntryHeapFactory,false,true,true,true,false",
>
> "VersionedThinDiskLRURegionEntryOffHeapFactory,false,true,true,true,true",
> "VMStatsRegionEntryHeapFactory,true,false,false,false,false",
> "VMStatsRegionEntryOffHeapFactory,true,false,false,false,true",
> "VersionedStatsRegionEntryHeapFactory,true,false,false,true,false",
> "VersionedStatsRegionEntryOffHeapFactory,true,false,false,true,true",
> "VMStatsDiskRegionEntryHeapFactory,true,false,true,false,false",
> "VMStatsDiskRegionEntryOffHeapFactory,true,false,true,false,true",
> "VersionedStatsDiskRegionEntryHeapFactory,true,false,true,true,false",
> "VersionedStatsDiskRegionEntryOffHeapFactory,true,false,true,true,true",
> "VMStatsLRURegionEntryHeapFactory,true,true,false,false,false",
> "VMStatsLRURegionEntryOffHeapFactory,true,true,false,false,true",
> "VersionedStatsLRURegionEntryHeapFactory,true,true,false,true,false",
> "VersionedStatsLRURegionEntryOffHeapFactory,true,true,false,true,true",
> "VMStatsDiskLRURegionEntryHeapFactory,true,true,true,false,false",
> "VMStatsDiskLRURegionEntryOffHeapFactory,true,true,true,false,true",
> "VersionedStatsDiskLRURegionEntryHeapFactory,true,true,true,true,false",
>
> "VersionedStatsDiskLRURegionEntryOffHeapFactory,true,true,true,true,true"
> })
> public void testRegionEntryFactoryUnitTest(String factoryName, boolean
> enableStats, boolean enableLRU, boolean enableDisk,
> boolean enableVersioning, boolean enableOffHeap) {
> assertEquals(factoryName,
> regionEntryFactoryBuilder.getRegionEntryFactoryOrNull(enableStats,
> enableLRU, enableDisk, enableVersioning,
> enableOffHeap).getClass().getSimpleName());
> }
> {noformat}
> Example of BROKEN test using Parameterized which is skipped by our test
> targets due to use of Categories:
> {noformat}
> @Category(IntegrationTest.class)
> @RunWith(Parameterized.class)
> public class GfshCommandsSecurityTest {
> public GfshCommandsSecurityTest(boolean useHttp){
> gfshConnection = new GfshShellConnectionRule(jmxPort, httpPort, useHttp);
> }
> @Parameterized.Parameters
> public static Collection parameters() {
> return Arrays.asList(new Object[][] {
> { false}, // useHttp=false,
> { true } // useHttp=true,
> });
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)