[
https://issues.apache.org/jira/browse/HDDS-9276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17767004#comment-17767004
]
Attila Doroszlai commented on HDDS-9276:
----------------------------------------
bq. we need to annotate TestClass with {{@RunWith(Categories.class)}}
That's not needed, Surefire supports [running JUnit4
categories|https://github.com/junit-team/junit4/wiki/Categories#using-categories-with-maven]
directly.
We need to define an interface for the category:
{code:title=hadoop-hdds/test-utils/src/main/java/org/apache/ozone/test/UnhealthyTest.java}
package org.apache.ozone.test;
/**
* Interface to mark test classes or methods that are unhealthy which
* means either they are unstable or inconsistent to run.
*/
public interface UnhealthyTest {
// category marker
}
{code}
which can be used as a "group" for exclusion:
{code:title=pom.xml}
<excludedGroups>flaky | slow | unhealthy |
org.apache.ozone.test.UnhealthyTest</excludedGroups>
{code}
({{unhealthy}} is the tag for JUnit5 from your PR).
Test can be categorized as e.g.:
{code}
@Override
@Test
@Category(UnhealthyTest.class) @Unhealthy("HDDS-4360")
public void testListStatusRootAndVolumeRecursive() throws IOException {
}
{code}
Note:
* added {{@Unhealthy}}, too, to be able to include the issue ID
* for overridden tests, {{@Test}} needs to be present
> Mark disabled tests using custom tag/category
> ---------------------------------------------
>
> Key: HDDS-9276
> URL: https://issues.apache.org/jira/browse/HDDS-9276
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: test
> Reporter: Attila Doroszlai
> Assignee: Devesh Kumar Singh
> Priority: Major
>
> There are 28 test classes with one or more disabled test cases:
> {code}
> hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestLegacyReplicationManager.java:
> @Disabled("This test doesn't properly test Rack Placement Policy as" +
> hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java:
> @Disabled
> hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestSCMSafeModeManager.java:
> @Disabled("The test is failing, enable after fixing it")
> hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/update/server/TestSCMUpdateServiceGrpcServer.java:
> @Disabled("HDDS-5319")
> hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/update/server/TestSCMUpdateServiceGrpcServer.java:
> @Disabled("HDDS-5319")
> hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/update/server/TestSCMUpdateServiceGrpcServer.java:
> @Disabled("HDDS-5319")
> hadoop-ozone/fault-injection-test/mini-chaos-tests/src/test/java/org/apache/hadoop/ozone/TestMiniChaosOzoneCluster.java:@Ignore
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileInterfaces.java:
> @Ignore("HDDS-3506")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystemWithFSO.java:
> @Ignore("TODO:HDDS-5012")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestRootedOzoneFileSystemWithFSO.java:
> @Ignore("TODO:HDDS-4360")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestLeaderChoosePolicy.java:@Disabled("This
> test was never enabled")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java:
> @Disabled("HDDS-8752")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientForAclAuditLog.java:@Ignore("Fix
> this after adding audit support for HA Acl code. This will be " +
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java:
> @Disabled("Needs to be moved out of this class as client setup is static")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerByPipeline.java:
> @Disabled("Failing with timeout")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/server/TestContainerServer.java:
> @Disabled("Fails with StatusRuntimeException: UNKNOWN")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/freon/TestFreonWithDatanodeFastRestart.java:
> @Ignore("TODO:HDDS-1160")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestRangerBGSyncService.java:@Ignore("TODO:
> Requires a Ranger endpoint")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotDisabledRestart.java:@Disabled("HDDS-8945")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshot.java:
> @Ignore //TODO - Fix in HDDS-8005
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerPrepare.java:
> @Disabled("RATIS-1481") // until upgrade to Ratis 2.3.0
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestScmSafeMode.java:@Ignore("HDDS-3260")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/node/TestQueryNode.java:@Disabled
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestContainerBalancerOperations.java:
> @Ignore("Since the cluster doesn't have unbalanced nodes,
> ContainerBalancer" +
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestSecureOzoneCluster.java:
> @Ignore("HDDS-8764")
> hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestSecureOzoneCluster.java:
> @Ignore("Run it locally since it will terminate the process.")
> hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotDiffManager.java:
> @Disabled
> hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMVersionManager.java:
> @Ignore("Since there is no longer a need to enforce the getRequestType " +
> hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/security/acl/TestParentAcl.java:
> @Flaky("HDDS-6335") @Ignore("HDDS-6335")
> {code}
> The goal of this task is to replace these {{@Ignore}} and {{@Disabled}}
> annotations with conditional ones. Regular CI should still skip them, but we
> would like to include them in nightly or other scheduled runs.
> For JUnit4 tests we can tag them using {{@Category}}
> ([doc|https://github.com/junit-team/junit4/wiki/Categories]), while for
> JUnit5 we can define a custom annotation
> ([doc|https://junit.org/junit5/docs/current/user-guide/#writing-tests-meta-annotations]).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]