This is an automated email from the ASF dual-hosted git repository.
rongr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new c739f423ee Use groups to annotate tests for controller (#8706)
c739f423ee is described below
commit c739f423eebfd9751c26f6aa410e5e8830ecde71
Author: Rong Rong <[email protected]>
AuthorDate: Thu May 19 11:26:40 2022 -0700
Use groups to annotate tests for controller (#8706)
Benefits of this change
- allows adding new tests (and they will be default added to the stateful
set to reduce overhead for starting a new cluster)
- for stateless test, simply add stateless annotation is suffice (we don't
have a class level annotation but I assume this is something we can ask for
from testng)
- no longer need to change the testng_stateful/stateless.xml file whenever
some test classes are modified.
- this way we can add more groups by simply adding more group tagging
instead of needing to partition tests by classes (and create more testng files)
Co-authored-by: Rong Rong <[email protected]>
---
.../controller/ControllerStarterStatelessTest.java | 1 +
.../pinot/controller/ControllerTestSetup.java | 8 +--
.../PinotBrokerRestletResourceStatelessTest.java | 3 +-
...PinotIngestionRestletResourceStatelessTest.java | 1 +
.../helix/ControllerTenantStatelessTest.java | 1 +
.../helix/PinotControllerModeStatelessTest.java | 1 +
.../PinotHelixResourceManagerStatelessTest.java | 1 +
.../MinionInstancesCleanupTaskStatelessTest.java | 1 +
.../core/minion/PinotTaskManagerStatelessTest.java | 1 +
.../TableRebalancerClusterStatelessTest.java | 1 +
.../validation/ValidationManagerStatelessTest.java | 1 +
pinot-controller/testng-statefull.xml | 67 ++--------------------
pinot-controller/testng-stateless.xml | 22 +++----
13 files changed, 28 insertions(+), 81 deletions(-)
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerStarterStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerStarterStatelessTest.java
index 29231584a2..5706e80a7c 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerStarterStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerStarterStatelessTest.java
@@ -34,6 +34,7 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.fail;
+@Test(groups = "stateless")
public class ControllerStarterStatelessTest extends ControllerTest {
private final Map<String, Object> _configOverride = new HashMap<>();
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerTestSetup.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerTestSetup.java
index 53f06dc155..43e1f85899 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerTestSetup.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/ControllerTestSetup.java
@@ -18,8 +18,8 @@
*/
package org.apache.pinot.controller;
-import org.testng.annotations.AfterSuite;
-import org.testng.annotations.BeforeSuite;
+import org.testng.annotations.AfterGroups;
+import org.testng.annotations.BeforeGroups;
/**
@@ -35,7 +35,7 @@ public class ControllerTestSetup {
* TestNG will run this method once before all the test cases are run. We
use this method to initialize
* common state for all the test cases.
*/
- @BeforeSuite
+ @BeforeGroups
public void suiteSetup()
throws Exception {
ControllerTestUtils.startSuiteRun();
@@ -45,7 +45,7 @@ public class ControllerTestSetup {
* TestNG will run this method once after all the test cases have run. We
use this method to de-initialize
* common state used by all the test cases.
*/
- @AfterSuite
+ @AfterGroups
public void tearDownSuite() {
ControllerTestUtils.stopSuiteRun();
}
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotBrokerRestletResourceStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotBrokerRestletResourceStatelessTest.java
index f2a2d61af1..5c0242c5c5 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotBrokerRestletResourceStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotBrokerRestletResourceStatelessTest.java
@@ -31,6 +31,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
+@Test(groups = "stateless")
public class PinotBrokerRestletResourceStatelessTest extends ControllerTest {
private static final String TABLE_NAME_1 = "testTable1";
private static final String TABLE_NAME_2 = "testTable2";
@@ -45,7 +46,7 @@ public class PinotBrokerRestletResourceStatelessTest extends
ControllerTest {
1);
}
- public void testGetBrokersHelper(String state, int onlineServers, int
offlineServers)
+ private void testGetBrokersHelper(String state, int onlineServers, int
offlineServers)
throws Exception {
List<String> expectedBrokers = new ArrayList<>();
if (state == null) {
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotIngestionRestletResourceStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotIngestionRestletResourceStatelessTest.java
index ddee58c1f1..43ac573d75 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotIngestionRestletResourceStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotIngestionRestletResourceStatelessTest.java
@@ -50,6 +50,7 @@ import org.testng.annotations.Test;
* Tests for the ingestion restlet
*
*/
+@Test(groups = "stateless")
public class PinotIngestionRestletResourceStatelessTest extends ControllerTest
{
private static final String TABLE_NAME = "testTable";
private static final String TABLE_NAME_WITH_TYPE = "testTable_OFFLINE";
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerTenantStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerTenantStatelessTest.java
index 15a695f294..7c57e21a70 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerTenantStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerTenantStatelessTest.java
@@ -30,6 +30,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
+@Test(groups = "stateless")
public class ControllerTenantStatelessTest extends ControllerTest {
private static final String BROKER_TAG_PREFIX = "brokerTag_";
private static final String SERVER_TAG_PREFIX = "serverTag_";
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeStatelessTest.java
index 84b6448b8b..010f82eb06 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeStatelessTest.java
@@ -44,6 +44,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
+@Test(groups = "stateless")
public class PinotControllerModeStatelessTest extends ControllerTest {
private static final long TIMEOUT_IN_MS = 10_000L;
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManagerStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManagerStatelessTest.java
index ac5716ff96..88311095c0 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManagerStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManagerStatelessTest.java
@@ -51,6 +51,7 @@ import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
+@Test(groups = "stateless")
public class PinotHelixResourceManagerStatelessTest extends ControllerTest {
private static final int BASE_SERVER_ADMIN_PORT = 10000;
private static final int NUM_INSTANCES = 5;
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/MinionInstancesCleanupTaskStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/MinionInstancesCleanupTaskStatelessTest.java
index 7d808e2420..950f7c5492 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/MinionInstancesCleanupTaskStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/MinionInstancesCleanupTaskStatelessTest.java
@@ -29,6 +29,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
+@Test(groups = "stateless")
public class MinionInstancesCleanupTaskStatelessTest extends ControllerTest {
@BeforeClass
public void setup()
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManagerStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManagerStatelessTest.java
index 7885a413ac..84a1a5d6a7 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManagerStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManagerStatelessTest.java
@@ -48,6 +48,7 @@ import org.testng.annotations.Test;
import static org.testng.Assert.*;
+@Test(groups = "stateless")
public class PinotTaskManagerStatelessTest extends ControllerTest {
private static final String RAW_TABLE_NAME = "myTable";
private static final String OFFLINE_TABLE_NAME =
TableNameBuilder.OFFLINE.tableNameWithType(RAW_TABLE_NAME);
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancerClusterStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancerClusterStatelessTest.java
index ae7d9fbb19..571bba642c 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancerClusterStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancerClusterStatelessTest.java
@@ -56,6 +56,7 @@ import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
+@Test(groups = "stateless")
public class TableRebalancerClusterStatelessTest extends ControllerTest {
private static final String RAW_TABLE_NAME = "testTable";
private static final String OFFLINE_TABLE_NAME =
TableNameBuilder.OFFLINE.tableNameWithType(RAW_TABLE_NAME);
diff --git
a/pinot-controller/src/test/java/org/apache/pinot/controller/validation/ValidationManagerStatelessTest.java
b/pinot-controller/src/test/java/org/apache/pinot/controller/validation/ValidationManagerStatelessTest.java
index a665cd85e4..20da213757 100644
---
a/pinot-controller/src/test/java/org/apache/pinot/controller/validation/ValidationManagerStatelessTest.java
+++
b/pinot-controller/src/test/java/org/apache/pinot/controller/validation/ValidationManagerStatelessTest.java
@@ -36,6 +36,7 @@ import org.testng.annotations.Test;
/**
* Tests for the ValidationManagers.
*/
+@Test(groups = "stateless")
public class ValidationManagerStatelessTest extends ControllerTest {
private static final String TEST_TABLE_NAME = "testTable";
private static final String TEST_TABLE_TWO = "testTable2";
diff --git a/pinot-controller/testng-statefull.xml
b/pinot-controller/testng-statefull.xml
index e982064142..fc61e096a0 100644
--- a/pinot-controller/testng-statefull.xml
+++ b/pinot-controller/testng-statefull.xml
@@ -27,70 +27,13 @@
and destroying their own individual state.
-->
<test name="testng.suite.controller.statefull">
+ <groups>
+ <run>
+ <exclude name="stateless"/>
+ </run>
+ </groups>
<packages>
<package name="org.apache.pinot.controller.*"/>
</packages>
- <classes>
- <class name="org.apache.pinot.controller.ControllerStarterStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.api.ConsumingSegmentInfoReaderStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.api.PinotBrokerRestletResourceStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.api.PinotIngestionRestletResourceStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.ControllerTenantStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.PinotControllerModeStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.ControllerPeriodicTaskStarterStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.core.PinotHelixResourceManagerStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.core.minion.MinionInstancesCleanupTaskStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.core.minion.PinotTaskManagerStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.helix.core.rebalance.TableRebalancerClusterStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- <class
name="org.apache.pinot.controller.validation.ValidationManagerStatelessTest">
- <methods>
- <exclude name=".*" />
- </methods>
- </class>
- </classes>
</test>
</suite>
diff --git a/pinot-controller/testng-stateless.xml
b/pinot-controller/testng-stateless.xml
index e7f2c69384..ce6e14e4e6 100644
--- a/pinot-controller/testng-stateless.xml
+++ b/pinot-controller/testng-stateless.xml
@@ -29,19 +29,13 @@
suite.
-->
<test name="testng.suite.controller.stateless">
- <classes>
- <class
name="org.apache.pinot.controller.ControllerStarterStatelessTest"/>
- <class
name="org.apache.pinot.controller.api.ConsumingSegmentInfoReaderStatelessTest"/>
- <class
name="org.apache.pinot.controller.api.PinotBrokerRestletResourceStatelessTest"/>
- <class
name="org.apache.pinot.controller.api.PinotIngestionRestletResourceStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.ControllerTenantStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.PinotControllerModeStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.ControllerPeriodicTaskStarterStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.core.PinotHelixResourceManagerStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.core.minion.MinionInstancesCleanupTaskStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.core.minion.PinotTaskManagerStatelessTest"/>
- <class
name="org.apache.pinot.controller.helix.core.rebalance.TableRebalancerClusterStatelessTest"/>
- <class
name="org.apache.pinot.controller.validation.ValidationManagerStatelessTest"/>
- </classes>
+ <groups>
+ <run>
+ <include name="stateless"/>
+ </run>
+ </groups>
+ <packages>
+ <package name="org.apache.pinot.controller.*"/>
+ </packages>
</test>
</suite>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]