Skip to content

Commit

Permalink
improve: allow flaky tests run with specify parameters
Browse files Browse the repository at this point in the history
Signed-off-by: ZhangJian He <[email protected]>
Signed-off-by: Zhangjian He <[email protected]>
  • Loading branch information
ZhangJian He authored and hezhangjian committed Jan 8, 2025
1 parent edb0672 commit 0369cce
Show file tree
Hide file tree
Showing 8 changed files with 319 additions and 292 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,21 @@
package org.apache.bookkeeper.common.testing.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

/**
* Intended for marking a test case as flaky.
*/
@Documented
@Retention(RetentionPolicy.SOURCE)
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Tag("flaky")
@Test
public @interface FlakyTest {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ public void testStorageThresholdCompaction() throws Exception {
File ledgerDir2 = tmpDirs.createNew("ledger", "test2");
File journalDir = tmpDirs.createNew("journal", "test");
String[] ledgerDirNames = new String[]{
ledgerDir1.getPath(),
ledgerDir2.getPath()
ledgerDir1.getPath(),
ledgerDir2.getPath()
};
conf.setLedgerDirNames(ledgerDirNames);
conf.setJournalDirName(journalDir.getPath());
Expand Down Expand Up @@ -224,7 +224,7 @@ public void diskFull(File disk) {
// there are no writableLedgerDirs
for (File ledgerDir : bookie.getLedgerDirsManager().getAllLedgerDirs()) {
assertFalse("Found entry log file ([0,1,2].log. They should have been compacted" + ledgerDir,
TestUtils.hasLogFiles(ledgerDir.getParentFile(), true, 0, 1, 2));
TestUtils.hasLogFiles(ledgerDir.getParentFile(), true, 0, 1, 2));
}

try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ public void testDiskSpaceWeightedBookieSelection() throws Exception {

/**
* Test to show that weight based selection honors the disk weight of bookies and also adapts
* when the bookies's weight changes.
* when the bookies' weight changes.
*/
@FlakyTest("https://github.com/apache/bookkeeper/issues/503")
public void testDiskSpaceWeightedBookieSelectionWithChangingWeights() throws Exception {
Expand Down
3 changes: 3 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -918,6 +918,9 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<excludedGroups>flaky</excludedGroups>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.TestInfo;
import org.junit.rules.TestName;
import org.junit.rules.Timeout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -72,6 +78,9 @@
public class TestDistributedLogBase {
static final Logger LOG = LoggerFactory.getLogger(TestDistributedLogBase.class);

@Rule
public final TestName runtime = new TestName();

@Rule
public Timeout globalTimeout = Timeout.seconds(120);

Expand Down Expand Up @@ -105,7 +114,20 @@ public class TestDistributedLogBase {
protected static int zkPort;
protected static final List<File> TMP_DIRS = new ArrayList<File>();

protected String testName;

@Before
public void setTestNameJunit4() {
testName = runtime.getMethodName();
}

@BeforeEach
void setTestNameJunit5(TestInfo testInfo) {
testName = testInfo.getDisplayName();
}

@BeforeClass
@BeforeAll
public static void setupCluster() throws Exception {
setupCluster(numBookies);
}
Expand Down Expand Up @@ -134,6 +156,7 @@ public void uncaughtException(Thread t, Throwable e) {
}

@AfterClass
@AfterAll
public static void teardownCluster() throws Exception {
bkutil.teardown();
zks.stop();
Expand All @@ -143,6 +166,7 @@ public static void teardownCluster() throws Exception {
}

@Before
@BeforeEach
public void setup() throws Exception {
try {
zkc = LocalDLMEmulator.connectZooKeeper("127.0.0.1", zkPort);
Expand All @@ -153,6 +177,7 @@ public void setup() throws Exception {
}

@After
@AfterEach
public void teardown() throws Exception {
if (null != zkc) {
zkc.close();
Expand Down
Loading

0 comments on commit 0369cce

Please sign in to comment.