mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-22 14:12:10 +02:00
adding repeater to some intermittent tests
Change-Id: Idd1610e9c753951a974e336a65441b752e667e00
This commit is contained in:
parent
9fcf731caa
commit
76c4c117c4
2 changed files with 29 additions and 7 deletions
|
@ -16,18 +16,34 @@ import org.junit.runners.model.Statement;
|
|||
|
||||
/**
|
||||
* This is the rule to add to tests that rarely fail randomly and you want to keep them but cannot figure out they fail.
|
||||
* It is safe to use it in any class, it will only apply to tests which have @InterimittentRule annotation
|
||||
* <code>
|
||||
* It is safe to use it in any class, it will only apply to tests which have @Intermittent annotation
|
||||
<code>
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.Intermittent
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.IntermittentRule
|
||||
|
||||
public @Rule InterimittentRule rule = new InterimittentRule();
|
||||
class SomeTest {
|
||||
public @Rule IntermittentRule rule = new IntermittentRule();
|
||||
|
||||
@Test
|
||||
@InterimittentRule(repetition = 3)
|
||||
public void someTest (){}
|
||||
@Intermittent(repetition = 3)
|
||||
public void someTest (){...}
|
||||
}
|
||||
</code>
|
||||
|
||||
* </code>
|
||||
You can also ally this to the whole class
|
||||
<code>
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.Intermittent
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.IntermittentRule
|
||||
|
||||
@Intermittent(repetition = 3)
|
||||
class SomeTest {
|
||||
public @Rule IntermittentRule rule = new IntermittentRule();
|
||||
...
|
||||
}
|
||||
|
||||
</code>
|
||||
*/
|
||||
public class InterimittentRule implements MethodRule {
|
||||
public class IntermittentRule implements MethodRule {
|
||||
public static class RunIntermittent extends Statement {
|
||||
private final FrameworkMethod method;
|
||||
private final Statement statement;
|
|
@ -34,12 +34,15 @@ import org.eclipse.cdt.dsf.service.DsfServicesTracker;
|
|||
import org.eclipse.cdt.dsf.service.DsfSession;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.Intermittent;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.IntermittentRule;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.ServiceEventWaitor;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.SyncUtil;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.junit.Assume;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
|
@ -48,7 +51,10 @@ import org.junit.runner.RunWith;
|
|||
* Tests IMultiRunControl class for Non-stop multi-threaded application.
|
||||
*/
|
||||
@RunWith(BackgroundRunner.class)
|
||||
@Intermittent
|
||||
public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
|
||||
public @Rule IntermittentRule irule = new IntermittentRule();
|
||||
|
||||
@Override
|
||||
protected void setGdbVersion() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_0);
|
||||
|
|
Loading…
Add table
Reference in a new issue