[jboss-cvs] JBossAS SVN: r81742 - in trunk/testsuite/src: resources/util and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 27 12:07:11 EST 2008
Author: adrian at jboss.org
Date: 2008-11-27 12:07:11 -0500 (Thu, 27 Nov 2008)
New Revision: 81742
Modified:
trunk/testsuite/src/main/org/jboss/test/util/test/SchedulerUnitTestCase.java
trunk/testsuite/src/resources/util/test-default-scheduler-service.xml
Log:
Make the SchedulerUnitTestCase more robust to timing issues
Modified: trunk/testsuite/src/main/org/jboss/test/util/test/SchedulerUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/util/test/SchedulerUnitTestCase.java 2008-11-27 16:52:36 UTC (rev 81741)
+++ trunk/testsuite/src/main/org/jboss/test/util/test/SchedulerUnitTestCase.java 2008-11-27 17:07:11 UTC (rev 81742)
@@ -21,10 +21,10 @@
*/
package org.jboss.test.util.test;
-import java.net.URL;
import java.util.Date;
+
+import javax.management.MBeanServerInvocationHandler;
import javax.management.ObjectName;
-import javax.management.MBeanServerInvocationHandler;
import org.jboss.test.JBossTestCase;
import org.jboss.varia.scheduler.ScheduleManager;
@@ -127,36 +127,44 @@
registered(scheduler1);
registered(scheduler2);
registered(manager1);
- check(ex1, 0, 0);
- check(ex2, 0, 0);
- check(ex3, 0, 0);
- Thread.sleep(1100); // NOW == one second
- check(ex1, 1, 0);
+ Thread.sleep(2500); // Half of one period
+ check(ex1, 1, 0); // Only one
check(ex2, 0, 0); // StartAtStartup is false
- check(ex3, 1, 2);
+ check(ex3, 1, 2); // First of three
+
+ // Sleep for the remainder of the period and start the other schedule
+ Thread.sleep(2500);
invoke(scheduler2, "startSchedule", null, null);
- Thread.sleep(400); // one period
+ Thread.sleep(2500); // Half of one period
check(ex1, 1, 0); // done
- check(ex2, 0, 0); // wait 500 more
- check(ex3, 2, 1); // last
+ check(ex2, 1, -1); // first
+ check(ex3, 2, 1); // one more to go
- Thread.sleep(500); // one period
+ Thread.sleep(5000); // one period
check(ex1, 1, 0); // done
- check(ex2, 1, -1); // first
+ check(ex2, 2, -1); // second
check(ex3, 3, 0); // done
- Thread.sleep(500); // one period
- check(ex2, 2, -1); // first
- invoke(scheduler2, "stopSchedule", new Object[] { Boolean.TRUE }, new String[] { boolean.class.getName() });
+ Thread.sleep(5000); // one period
+ check(ex1, 1, 0); // done
+ check(ex2, 3, -1); // third
+ check(ex3, 3, 0); // done
- Thread.sleep(500); // one period
- check(ex2, 2, -1); // no more
- invoke(scheduler2, "startSchedule", null, null);
+ // Make sure the schedule stops
+ invoke(scheduler2, "stopSchedule", new Object[] { Boolean.TRUE }, new String[] { boolean.class.getName() });
+ Thread.sleep(6000); // a bit more than one period
+ check(ex1, 1, 0); // done
+ check(ex2, 3, -1); // no more
+ check(ex3, 3, 0); // done
- Thread.sleep(1001); // one period
- check(ex2, 3, -1); // restated
+ // Test it restarts
+ invoke(scheduler2, "startSchedule", null, null);
+ Thread.sleep(2500); // half of one period
+ check(ex1, 1, 0); // done
+ check(ex2, 4, -1); // restated
+ check(ex3, 3, 0); // done
}
finally
{
Modified: trunk/testsuite/src/resources/util/test-default-scheduler-service.xml
===================================================================
--- trunk/testsuite/src/resources/util/test-default-scheduler-service.xml 2008-11-27 16:52:36 UTC (rev 81741)
+++ trunk/testsuite/src/resources/util/test-default-scheduler-service.xml 2008-11-27 17:07:11 UTC (rev 81742)
@@ -31,7 +31,7 @@
<attribute name="SchedulableMBean">test:name=SchedulableMBeanExample,instance=1</attribute>
<attribute name="SchedulableMBeanMethod">hit( NOTIFICATION, DATE, REPETITIONS, SCHEDULER_NAME, java.lang.String )</attribute>
<attribute name="InitialStartDate">NOW</attribute>
- <attribute name="SchedulePeriod">500</attribute>
+ <attribute name="SchedulePeriod">5000</attribute>
<attribute name="InitialRepetitions">1</attribute>
</mbean>
@@ -46,7 +46,7 @@
<attribute name="SchedulableMBean">test:name=SchedulableMBeanExample,instance=2</attribute>
<attribute name="SchedulableMBeanMethod">hit( NOTIFICATION, DATE, REPETITIONS, SCHEDULER_NAME, java.lang.String )</attribute>
<attribute name="InitialStartDate">NOW</attribute>
- <attribute name="SchedulePeriod">500</attribute>
+ <attribute name="SchedulePeriod">5000</attribute>
<attribute name="InitialRepetitions">-1</attribute>
</mbean>
@@ -67,7 +67,7 @@
<depends optional-attribute-name="TargetName">test:name=SchedulableMBeanExample,instance=3</depends>
<attribute name="StartDate">NOW</attribute>
<attribute name="Repetitions">3</attribute>
- <attribute name="Period">500</attribute>
+ <attribute name="Period">5000</attribute>
</mbean>
</server>
More information about the jboss-cvs-commits
mailing list