Lines 393-399
Link Here
|
393 |
barrier.waitForStatus(TestBarrier.STATUS_WAIT_FOR_RUN); |
393 |
barrier.waitForStatus(TestBarrier.STATUS_WAIT_FOR_RUN); |
394 |
assertTrue("1.0", !canceling[0]); |
394 |
assertTrue("1.0", !canceling[0]); |
395 |
job.cancel(); |
395 |
job.cancel(); |
396 |
assertTrue("1.0", canceling[0]); |
396 |
assertTrue("1.1", canceling[0]); |
|
|
397 |
//let the job finish |
398 |
barrier.setStatus(TestBarrier.STATUS_RUNNING); |
399 |
waitForState(job, Job.NONE); |
400 |
} |
401 |
|
402 |
/** |
403 |
* Tests the hook method {@link Job#canceling}. |
404 |
*/ |
405 |
public void testCancelingByMonitor() { |
406 |
final TestBarrier barrier = new TestBarrier(); |
407 |
barrier.setStatus(TestBarrier.STATUS_WAIT_FOR_START); |
408 |
final boolean[] canceling = new boolean[] {false}; |
409 |
final IProgressMonitor[] jobmonitor = new IProgressMonitor[1]; |
410 |
Job job = new Job("Testing#testCancelingByMonitor") { |
411 |
protected void canceling() { |
412 |
canceling[0] = true; |
413 |
} |
414 |
|
415 |
protected IStatus run(IProgressMonitor monitor) { |
416 |
jobmonitor[0] = monitor; |
417 |
barrier.setStatus(TestBarrier.STATUS_WAIT_FOR_RUN); |
418 |
barrier.waitForStatus(TestBarrier.STATUS_RUNNING); |
419 |
return Status.OK_STATUS; |
420 |
} |
421 |
}; |
422 |
//schedule the job and wait on the barrier until it is running |
423 |
job.schedule(); |
424 |
barrier.waitForStatus(TestBarrier.STATUS_WAIT_FOR_RUN); |
425 |
assertTrue("1.0", !canceling[0]); |
426 |
jobmonitor[0].setCanceled(true); |
427 |
assertTrue("1.1", canceling[0]); |
397 |
//let the job finish |
428 |
//let the job finish |
398 |
barrier.setStatus(TestBarrier.STATUS_RUNNING); |
429 |
barrier.setStatus(TestBarrier.STATUS_RUNNING); |
399 |
waitForState(job, Job.NONE); |
430 |
waitForState(job, Job.NONE); |