geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kirk Lund (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GEODE-1350) JUnit 4 Category plus Parameterized results in tests being skipped during build
Date Thu, 05 May 2016 20:27:12 GMT

    [ https://issues.apache.org/jira/browse/GEODE-1350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15273009#comment-15273009
] 

Kirk Lund commented on GEODE-1350:
----------------------------------

These are the tests in the Geode project using Parameterized:
{noformat}
GfshCommandsSecurityTest

CliCommandTestBase

ConfigCommandsDUnitTest
CreateAlterDestroyRegionCommandsDUnitTest
DeployCommandsDUnitTest
DiskStoreCommandsDUnitTest
FunctionCommandsDUnitTest
GemfireDataCommandsDUnitTest
GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest
IndexCommandsDUnitTest
ListAndDescribeDiskStoreCommandsDUnitTest
ListAndDescribeRegionDUnitTest
ListIndexCommandDUnitTest
MiscellaneousCommandsDUnitTest
MiscellaneousCommandsExportLogsPart1DUnitTest
MiscellaneousCommandsExportLogsPart2DUnitTest
MiscellaneousCommandsExportLogsPart3DUnitTest
MiscellaneousCommandsExportLogsPart4DUnitTest
QueueCommandsDUnitTest
SharedConfigurationCommandsDUnitTest
ShellCommandsDUnitTest
ShowMetricsDUnitTest
ShowStackTraceDUnitTest
UserCommandsDUnitTest
{noformat}


> 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
>            Reporter: Kirk Lund
>
> 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)

Mime
View raw message