You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by sa...@apache.org on 2013/01/24 11:04:18 UTC
svn commit: r1437925 -
/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java
Author: sathwik
Date: Thu Jan 24 10:04:18 2013
New Revision: 1437925
URL: http://svn.apache.org/viewvc?rev=1437925&view=rev
Log:
ODE-990: test case
Modified:
ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java
Modified: ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java?rev=1437925&r1=1437924&r2=1437925&view=diff
==============================================================================
--- ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java (original)
+++ ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java Thu Jan 24 10:04:18 2013
@@ -107,6 +107,29 @@ public class SchedulerThreadTest extends
}
}
+ @Test
+ public void testTaskDequeueOrderWithSameExecTime() throws Exception {
+ final long startTime = System.currentTimeMillis();
+
+ // enqueue jobs with same execution time and incremental jobId
+ for (int i = 0; i < 300; i++) {
+ Job tsk = new Job(startTime, String.valueOf(i), true, null);
+ _st.enqueue(tsk);
+ }
+
+ _st.start();
+ Thread.sleep(300 + 300 * 5);
+ assertEquals(300, _tasks.size());
+
+ // jobs need to be dequeued in the same order of insertion.
+ for (int i = 0; i < 299; ++i) {
+ Job currJob = (Job) _tasks.get(i).task;
+ Job nextJob = (Job) _tasks.get(i + 1).task;
+ assertTrue(Integer.parseInt(currJob.jobId) < Integer.parseInt(nextJob.jobId));
+ }
+ _st.stop();
+ }
+
public void runTask(Task task) {
synchronized(_tasks) {
_tasks.add(new TR(System.currentTimeMillis(),task));