Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 114161 Details for
Bug 200997
[Progress] Can't seem to cancel jobs from ProgressView
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch for automatic tests
job-canceling-test-patch.txt (text/plain), 3.01 KB, created by
Stephan Wahlbrink
on 2008-10-03 03:54:46 EDT
(
hide
)
Description:
Patch for automatic tests
Filename:
MIME Type:
Creator:
Stephan Wahlbrink
Created:
2008-10-03 03:54:46 EDT
Size:
3.01 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.core.tests.runtime >Index: src/org/eclipse/core/tests/runtime/jobs/JobTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/jobs/JobTest.java,v >retrieving revision 1.37 >diff -u -r1.37 JobTest.java >--- src/org/eclipse/core/tests/runtime/jobs/JobTest.java 9 Jul 2007 19:27:24 -0000 1.37 >+++ src/org/eclipse/core/tests/runtime/jobs/JobTest.java 2 Oct 2008 21:42:57 -0000 >@@ -393,7 +393,38 @@ > barrier.waitForStatus(TestBarrier.STATUS_WAIT_FOR_RUN); > assertTrue("1.0", !canceling[0]); > job.cancel(); >- assertTrue("1.0", canceling[0]); >+ assertTrue("1.1", canceling[0]); >+ //let the job finish >+ barrier.setStatus(TestBarrier.STATUS_RUNNING); >+ waitForState(job, Job.NONE); >+ } >+ >+ /** >+ * Tests the hook method {@link Job#canceling}. >+ */ >+ public void testCancelingByMonitor() { >+ final TestBarrier barrier = new TestBarrier(); >+ barrier.setStatus(TestBarrier.STATUS_WAIT_FOR_START); >+ final boolean[] canceling = new boolean[] {false}; >+ final IProgressMonitor[] jobmonitor = new IProgressMonitor[1]; >+ Job job = new Job("Testing#testCancelingByMonitor") { >+ protected void canceling() { >+ canceling[0] = true; >+ } >+ >+ protected IStatus run(IProgressMonitor monitor) { >+ jobmonitor[0] = monitor; >+ barrier.setStatus(TestBarrier.STATUS_WAIT_FOR_RUN); >+ barrier.waitForStatus(TestBarrier.STATUS_RUNNING); >+ return Status.OK_STATUS; >+ } >+ }; >+ //schedule the job and wait on the barrier until it is running >+ job.schedule(); >+ barrier.waitForStatus(TestBarrier.STATUS_WAIT_FOR_RUN); >+ assertTrue("1.0", !canceling[0]); >+ jobmonitor[0].setCanceled(true); >+ assertTrue("1.1", canceling[0]); > //let the job finish > barrier.setStatus(TestBarrier.STATUS_RUNNING); > waitForState(job, Job.NONE); >#P org.eclipse.core.jobs >Index: src/org/eclipse/core/internal/jobs/JobManager.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java,v >retrieving revision 1.29 >diff -u -r1.29 JobManager.java >--- src/org/eclipse/core/internal/jobs/JobManager.java 14 Jul 2008 17:23:59 -0000 1.29 >+++ src/org/eclipse/core/internal/jobs/JobManager.java 2 Oct 2008 21:42:59 -0000 >@@ -377,12 +377,19 @@ > /** > * Returns a new progress monitor for this job. Never returns null. > */ >- private IProgressMonitor createMonitor(Job job) { >+ private IProgressMonitor createMonitor(final Job job) { > IProgressMonitor monitor = null; > if (progressProvider != null) > monitor = progressProvider.createMonitor(job); > if (monitor == null) >- monitor = new NullProgressMonitor(); >+ monitor = new NullProgressMonitor() { >+ public void setCanceled(boolean canceled) { >+ if (canceled && !isCanceled()) { >+ super.setCanceled(true); >+ job.cancel(); >+ } >+ } >+ }; > return monitor; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
john.arthorne
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 200997
:
76826
|
114158
|
114160
|
114161
|
114221
|
114231
|
114258
|
114366