Skip to main content
summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJean Michel-Lemieux2002-03-22 16:34:49 +0000
committerJean Michel-Lemieux2002-03-22 16:34:49 +0000
commite0404c13f28184c7203e32ba1ab39ad2f6c3f6fd (patch)
tree7224108c455df28fe57d468cd53d1865384e297a /tests
parent98bdb5fd8623c6a5f6c6f8d0603e7756bfcb2ec7 (diff)
downloadeclipse.platform.team-e0404c13f28184c7203e32ba1ab39ad2f6c3f6fd.tar.gz
eclipse.platform.team-e0404c13f28184c7203e32ba1ab39ad2f6c3f6fd.tar.xz
eclipse.platform.team-e0404c13f28184c7203e32ba1ab39ad2f6c3f6fd.zip
Bug 11609: Disconnecting a project is slow
Bug 11869: Disconnecting does not clear cache? Bug 11059: Disconnect progress is terrible
Diffstat (limited to 'tests')
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java2
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java3
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java95
3 files changed, 98 insertions, 2 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java
index d5e21d1c5..932fbf69c 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java
@@ -147,7 +147,7 @@ public class EclipseTest extends EclipseWorkspaceTest {
public void unmanageResources(IContainer container, String[] hierarchy) throws CoreException, TeamException {
IResource[] resources = getResources(container, hierarchy);
for (int i=0;i<resources.length;i++) {
- CVSWorkspaceRoot.getCVSResourceFor(resources[i]).unmanage();
+ CVSWorkspaceRoot.getCVSResourceFor(resources[i]).unmanage(null);
}
}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java
index 50ba24c33..e4e41a51c 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java
@@ -11,7 +11,8 @@ public class AllTestsCVSResources extends EclipseTest {
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(ResourceSyncInfoTest.suite());
- //suite.addTest(EclipseSynchronizerTest.suite());
+ suite.addTest(EclipseSynchronizerTest.suite());
+ suite.addTest(EclipseFolderTest.suite());
return suite;
}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java
new file mode 100644
index 000000000..42662c4c6
--- /dev/null
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2002 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ ******************************************************************************/
+package org.eclipse.team.tests.ccvs.core.cvsresources;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.team.ccvs.core.ICVSFolder;
+import org.eclipse.team.ccvs.core.ICVSResource;
+import org.eclipse.team.ccvs.core.ICVSRunnable;
+import org.eclipse.team.core.TeamException;
+import org.eclipse.team.internal.ccvs.core.CVSException;
+import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
+import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
+import org.eclipse.team.tests.ccvs.core.EclipseTest;
+
+/**
+ * What does this class do?
+ */
+public class EclipseFolderTest extends EclipseTest {
+ public EclipseFolderTest() {
+ super();
+ }
+
+ public EclipseFolderTest(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite();
+ suite.addTestSuite(EclipseFolderTest.class);
+ return new CVSTestSetup(suite);
+ }
+
+ protected void assertChildrenHaveSync(IContainer root, final boolean hasSync) throws CoreException, CVSException {
+ root.accept(new IResourceVisitor() {
+ public boolean visit(IResource resource) throws CoreException {
+ try {
+ ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
+ if(!cvsResource.isIgnored()) {
+ if(resource.getType()==IResource.FILE) {
+ assertTrue((cvsResource.getSyncInfo()!=null) == hasSync);
+ } else {
+ assertTrue((((ICVSFolder)cvsResource).getFolderSyncInfo()!=null) == hasSync);
+ }
+ }
+ } catch(CVSException e) {
+ throw new CoreException(e.getStatus());
+ }
+ return true;
+ }
+ });
+ }
+
+ public void testUnmanageFolder() throws CoreException, TeamException {
+ IProject project = createProject("testUnmanageFolder_A", new String[] {"a.txt", "folder1/", "folder1/b.txt", "folder1/folder2/", "folder1/folder2/c.txt"});
+ ICVSFolder cvsProject = CVSWorkspaceRoot.getCVSFolderFor(project);
+ assertChildrenHaveSync(project, true);
+
+ // test that unmanaging the project flushes sync info
+ cvsProject.unmanage(null);
+ assertChildrenHaveSync(project, false);
+
+ final IProject projectB = createProject("testUnmanageFolder_B", new String[] {"a.txt", "folder1/", "folder1/b.txt", "folder1/folder2/", "folder1/folder2/c.txt"});
+ final ICVSFolder cvsProjectB = CVSWorkspaceRoot.getCVSFolderFor(projectB);
+ assertChildrenHaveSync(projectB, true);
+
+ // test that unmanaging in a CVS runnable flushes too
+ cvsProjectB.run(new ICVSRunnable() {
+ public void run(IProgressMonitor monitor) throws CVSException {
+ try {
+ assertChildrenHaveSync(projectB, true);
+ cvsProjectB.unmanage(null);
+ assertChildrenHaveSync(projectB, false);
+ } catch(CoreException e) {
+ throw CVSException.wrapException(e);
+ }
+ }
+ }, null);
+ assertChildrenHaveSync(projectB, false);
+ }
+} \ No newline at end of file

Back to the top