View | Details | Raw Unified | Return to bug 253912 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/core/tests/internal/alias/BasicAliasTest.java (+58 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.core.tests.internal.alias;
11
package org.eclipse.core.tests.internal.alias;
12
12
13
import org.eclipse.core.runtime.IProgressMonitor;
14
import org.eclipse.core.runtime.IStatus;
15
16
import org.eclipse.core.runtime.*;
17
18
import org.eclipse.core.runtime.jobs.Job;
19
13
import java.io.File;
20
import java.io.File;
14
import java.util.Arrays;
21
import java.util.Arrays;
15
import java.util.Comparator;
22
import java.util.Comparator;
Lines 868-873 Link Here
868
		}
875
		}
869
	}
876
	}
870
877
878
	public void testSchedulingRules() {
879
		assertOverlap("Resource don't overlap", fLinkOverlap1, fLinkOverlap1);
880
881
		final Boolean[] done = new Boolean[2];
882
		done[0] = done[1] = Boolean.FALSE;
883
		
884
		Job j1 = new Job("j0") {
885
			protected IStatus run(IProgressMonitor monitor) {
886
				try {
887
					synchronized(done) {
888
						done[0] = Boolean.TRUE;
889
					}
890
					Thread.sleep(1000);					
891
					synchronized (done) {
892
						if (done[1] == Boolean.TRUE)
893
							fail("done1, already here!");
894
					}
895
				} catch (InterruptedException e) {fail("Interrupted");}
896
				return Status.OK_STATUS;
897
			}
898
		};
899
		Job j2 = new Job("j1") {
900
			protected IStatus run(IProgressMonitor monitor) {
901
				try {
902
					synchronized(done) {
903
						done[1] = Boolean.TRUE;
904
					}
905
					Thread.sleep(1000);
906
					synchronized (done) {
907
						if (done[0] == Boolean.TRUE)
908
							fail("done0, already here!");
909
					}
910
				} catch (InterruptedException e) {fail("Interrupted");}
911
				return Status.OK_STATUS;
912
			}
913
		};
914
		j1.setRule(fLinkOverlap1);
915
		j2.setRule(fLinkOverlap2);
916
		j1.schedule();
917
		j2.schedule();
918
919
		try {
920
			j2.join();
921
			if (j2.getResult() != Status.OK_STATUS)
922
				fail();
923
			j1.join();		
924
			if (j1.getResult() != Status.OK_STATUS)
925
				fail();
926
		} catch (InterruptedException e) {fail("Interrupted");}
927
	}
928
871
	public void testMoveFolder() {
929
	public void testMoveFolder() {
872
		// TODO
930
		// TODO
873
	}
931
	}

Return to bug 253912