diff options
author | Szymon Brandys | 2010-02-23 17:52:57 +0000 |
---|---|---|
committer | Szymon Brandys | 2010-02-23 17:52:57 +0000 |
commit | 1335854f6c71ef1d4919a8c97b9be84fcf4b7b93 (patch) | |
tree | 113389f18569091c91a26684fd05c828a40c5ea4 /tests | |
parent | e2ea2724bf003ec70631ea6a5b0b98b9c5525e09 (diff) | |
download | eclipse.platform.team-1335854f6c71ef1d4919a8c97b9be84fcf4b7b93.tar.gz eclipse.platform.team-1335854f6c71ef1d4919a8c97b9be84fcf4b7b93.tar.xz eclipse.platform.team-1335854f6c71ef1d4919a8c97b9be84fcf4b7b93.zip |
bug 302163 - [Sync View] Error message during update operation after synchronization
Diffstat (limited to 'tests')
10 files changed, 593 insertions, 117 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch index bba0b6515..e2ca711ae 100644 --- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch +++ b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig"> <booleanAttribute key="askclear" value="false"/> <booleanAttribute key="automaticAdd" value="true"/> @@ -7,7 +7,8 @@ <stringAttribute key="checked" value="[NONE]"/> <booleanAttribute key="clearConfig" value="true"/> <booleanAttribute key="clearws" value="true"/> -<stringAttribute key="configLocation" value=""/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/CVS UI Tests"/> <booleanAttribute key="default" value="true"/> <booleanAttribute key="includeFragments" value="false"/> <booleanAttribute key="includeOptional" value="true"/> @@ -17,7 +18,7 @@ <booleanAttribute key="onePlugin" value="false"/> <stringAttribute key="onePluginID" value=""/> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> -<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllTests.java"/> +<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java"/> </listAttribute> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listEntry value="1"/> @@ -30,144 +31,147 @@ <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/> <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/> <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/> -<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.AllTests"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.subscriber.CVSWorkspaceSubscriberTest"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os win32 -ws win32 -arch x86 -nl en_CA"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.cvs.properties=c:\eclipse\repository.properties -Declipse.cvs.testName2=testFileAdditions"/> <stringAttribute key="pde.version" value="3.3"/> <stringAttribute key="product" value="org.eclipse.sdk.ide"/> +<booleanAttribute key="run_in_ui_thread" value="true"/> +<booleanAttribute key="show_selected_only" value="false"/> <booleanAttribute key="tracing" value="true"/> <mapAttribute key="tracingOptions"> -<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/> -<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> -<mapEntry key="org.eclipse.help/debug/context" value="false"/> -<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/> -<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> -<mapEntry key="org.eclipse.core.resources/history" value="false"/> -<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/> -<mapEntry key="org.eclipse.team.ftp/debug" value="false"/> +<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/> +<mapEntry key="org.eclipse.team.ftp/requests" value="true"/> <mapEntry key="org.eclipse.core.resources/restore" value="false"/> +<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/> +<mapEntry key="org.eclipse.core.boot/trace/pluginActivation" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> +<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/> +<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> +<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug/ieadapter/inprocess" value="false"/> +<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/install" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug/ieadapter" value="false"/> +<mapEntry key="org.eclipse.ant.core/debug" value="true"/> +<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> +<mapEntry key="org.eclipse.ui/debug" value="true"/> +<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> +<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> <mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> -<mapEntry key="org.eclipse.core.boot/trace/filters" value="trace.properties"/> -<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> -<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/> <mapEntry key="org.eclipse.jface/trace/actions" value="false"/> -<mapEntry key="org.eclipse.update.core/debug" value="true"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> +<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/> +<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> +<mapEntry key="org.eclipse.help/debug/context" value="false"/> +<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/> +<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> <mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/> -<mapEntry key="org.eclipse.core.resources/debug" value="false"/> -<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/> -<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> -<mapEntry key="org.eclipse.core.runtime/debug" value="false"/> -<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> -<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/> -<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/> +<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/> <mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/> -<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/> +<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/> +<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/> <mapEntry key="org.eclipse.team.core/debug" value="false"/> -<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/> -<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> -<mapEntry key="org.eclipse.help/debug" value="true"/> -<mapEntry key="org.eclipse.team.ftp/requests" value="true"/> -<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/> -<mapEntry key="org.eclipse.ant.core/buildfile/timing" value="false"/> -<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/install" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/> -<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/> -<mapEntry key="org.eclipse.core.boot/trace/classLoading" value="false"/> -<mapEntry key="org.eclipse.help.webapp/debug" value="true"/> -<mapEntry key="org.eclipse.core.resources/save" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/> <mapEntry key="org.eclipse.debug.ui/debug" value="true"/> -<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/> -<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> -<mapEntry key="org.eclipse.ant.core/debug" value="true"/> -<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/> -<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/save" value="false"/> +<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> +<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/type" value="false"/> +<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/> +<mapEntry key="org.eclipse.help.webapp/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> +<mapEntry key="org.eclipse.team.ftp/responses" value="true"/> +<mapEntry key="org.eclipse.team.ftp/debug" value="false"/> <mapEntry key="org.eclipse.core.boot/trace/filename" value="runtime.traces"/> -<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/web" value="false"/> -<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/> -<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug/ieadapter/inprocess" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> -<mapEntry key="org.eclipse.debug.core/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> -<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> <mapEntry key="org.eclipse.ui/trace/part.create" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> -<mapEntry key="org.eclipse.core.boot/monitor/bundles" value="false"/> -<mapEntry key="org.eclipse.core.boot/monitor/classes" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/> +<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/> +<mapEntry key="org.eclipse.core.resources/natures" value="false"/> <mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/> -<mapEntry key="org.eclipse.core.boot/trace/pluginActivation" value="false"/> -<mapEntry key="org.eclipse.team.ftp/list" value="true"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/> -<mapEntry key="org.eclipse.ui/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> -<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> -<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> -<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/> <mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug/ieadapter" value="false"/> -<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/> -<mapEntry key="org.eclipse.update.core/debug/type" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> +<mapEntry key="org.eclipse.core.boot/trace/filters" value="trace.properties"/> <mapEntry key="org.eclipse.help/debug/search" value="false"/> -<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> -<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/> -<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/> -<mapEntry key="org.eclipse.team.ftp/responses" value="true"/> +<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> +<mapEntry key="org.eclipse.team.core/streams" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> <mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/> -<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> +<mapEntry key="org.eclipse.ant.core/buildfile/timing" value="false"/> +<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/> +<mapEntry key="org.eclipse.core.boot/monitor/bundles" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/> +<mapEntry key="org.eclipse.debug.core/debug" value="true"/> +<mapEntry key="org.eclipse.core.resources/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/web" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/> +<mapEntry key="org.eclipse.help/debug" value="true"/> +<mapEntry key="org.eclipse.team.ftp/list" value="true"/> +<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/> <mapEntry key="org.eclipse.core.boot/monitor/plugins" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/> -<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> +<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/> +<mapEntry key="org.eclipse.update.core/debug" value="true"/> <mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> -<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug" value="true"/> -<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/> -<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> -<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/> -<mapEntry key="org.eclipse.core.resources/natures" value="false"/> -<mapEntry key="org.eclipse.team.core/streams" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/> +<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/> +<mapEntry key="org.eclipse.core.resources/history" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> +<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> <mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/> +<mapEntry key="org.eclipse.core.runtime/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/> +<mapEntry key="org.eclipse.core.boot/trace/classLoading" value="false"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/> +<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/> +<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/> +<mapEntry key="org.eclipse.core.boot/monitor/classes" value="false"/> +<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug" value="true"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> +<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/> +<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/> </mapAttribute> +<booleanAttribute key="useCustomFeatures" value="false"/> <booleanAttribute key="useDefaultConfig" value="true"/> <booleanAttribute key="useDefaultConfigArea" value="true"/> <booleanAttribute key="useProduct" value="true"/> diff --git a/tests/org.eclipse.team.tests.cvs.core/plugin.xml b/tests/org.eclipse.team.tests.cvs.core/plugin.xml index 2cfeafdcb..b02053ae3 100644 --- a/tests/org.eclipse.team.tests.cvs.core/plugin.xml +++ b/tests/org.eclipse.team.tests.cvs.core/plugin.xml @@ -49,4 +49,28 @@ name="CVS Test Editor"> </editor> </extension> + +<!-- Other declarations --> + + <!-- ***** Nature that identifies model projects used in tests for bug 302163 ***** --> + <extension + id="bug302163_ModelNature" + name="Project nature for bug 302163" + point="org.eclipse.core.resources.natures"> + <runtime> + <run class="org.eclipse.team.tests.ccvs.core.mappings.model.ModelNature"/> + </runtime> + </extension> + + <!-- ***** Model provider for the model used in tests for bug 302163 ***** --> + <extension + id="bug302163_ModelProvider" + name="Model Provider for bug 302163" + point="org.eclipse.core.resources.modelProviders"> + <modelProvider class="org.eclipse.team.tests.ccvs.core.mappings.model.mapping.CustomModelProvider"/> + <extends-model id="org.eclipse.core.resources.modelProvider"/> + <enablement> + <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.team.tests.cvs.core.bug302163_ModelNature" /> + </enablement> + </extension> </plugin> diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java new file mode 100644 index 000000000..b3d156560 --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.tests.ccvs.core.mappings.model; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IStorage; +import org.eclipse.core.runtime.CoreException; + +public class ModelFile extends ModelObject { + + public static final String MODEL_FILE_EXTENSION = "mod"; + + public static boolean isModFile(IResource resource) { + if (resource instanceof IFile) { + String fileExtension = resource.getFileExtension(); + if (fileExtension != null) + return fileExtension.equals(MODEL_FILE_EXTENSION); + } + return false; + } + + public static IResource[] getReferencedResources(String projectName, + IStorage storage) { + if (storage == null) + return new IResource[0]; + List result = new ArrayList(); + return (IResource[]) result.toArray(new IResource[result.size()]); + } + + public ModelFile(IFile file) { + super(file); + } + + public ModelObject[] getChildren() throws CoreException { + return null; + } + + public String getName() { + String name = super.getName(); + int index = name.lastIndexOf("."); + return name.substring(0, index); + } + +} diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelNature.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelNature.java new file mode 100644 index 000000000..6d7e346a0 --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelNature.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.tests.ccvs.core.mappings.model; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IProjectNature; + +/** + * Nature used to identify a model project + */ +public class ModelNature implements IProjectNature { + + public static final String NATURE_ID = "org.eclipse.team.tests.cvs.core.bug302163_ModelNature"; + + private IProject project; + + public void configure() { + // Nothing to do + } + + public void deconfigure() { + // Nothing to do + } + + public IProject getProject() { + return project; + } + + public void setProject(IProject project) { + this.project = project; + } + +} diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelObject.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelObject.java new file mode 100644 index 000000000..52b4b083f --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelObject.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.tests.ccvs.core.mappings.model; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.PlatformObject; + +public abstract class ModelObject extends PlatformObject { + + private final IResource resource; + + public static ModelObject create(IResource resource) { + switch (resource.getType()) { + case IResource.PROJECT: + return new ModelProject((IProject) resource); + case IResource.FILE: + if (ModelFile.isModFile(resource)) { + return new ModelFile((IFile) resource); + } + } + return null; + } + + protected ModelObject(IResource resource) { + this.resource = resource; + } + + public abstract ModelObject[] getChildren() throws CoreException; + + public IResource getResource() { + return resource; + } + + public String getName() { + return getResource().getName(); + } + + public String getPath() { + return getResource().getFullPath().makeRelative().toString(); + } + + public ModelObject getParent() { + return ModelObject.create(getResource().getParent()); + } + + public boolean equals(Object obj) { + if (obj instanceof ModelObject) { + ModelObject mr = (ModelObject) obj; + return getResource().equals(mr.getResource()); + } + return super.equals(obj); + } + + public int hashCode() { + return getResource().hashCode(); + } + + public void delete() throws CoreException { + getResource().delete(false, null); + } + + public ModelProject getProject() { + return (ModelProject) ModelObject.create(getResource().getProject()); + } +} diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java new file mode 100644 index 000000000..7df0a2d08 --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.tests.ccvs.core.mappings.model; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IProjectDescription; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; + +public class ModelProject extends ModelObject { + + public static boolean isModProject(IProject project) throws CoreException { + if (!project.isOpen()) + return false; + IProjectDescription description = project.getDescription(); + return description.hasNature(ModelNature.NATURE_ID); + } + + public static void makeModProject(IProject project, IProgressMonitor monitor) + throws CoreException { + IProjectDescription description = project.getDescription(); + String[] natureIds = description.getNatureIds(); + List result = new ArrayList(); + for (int i = 0; i < natureIds.length; i++) { + result.add(natureIds[i]); + } + result.add(ModelNature.NATURE_ID); + description.setNatureIds((String[]) result.toArray(new String[result + .size()])); + project.setDescription(description, monitor); + } + + public ModelProject(IProject project) { + super(project); + } + + protected IContainer getContainer() { + return (IContainer) getResource(); + } + + public ModelObject[] getChildren() throws CoreException { + IResource[] members = getContainer().members(); + List result = new ArrayList(); + for (int i = 0; i < members.length; i++) { + IResource resource = members[i]; + if (ModelFile.isModFile(resource)) { + result.add(new ModelFile((IFile) resource)); + } else if (resource instanceof IProject + && ModelProject.isModProject((IProject) resource)) { + result.add(new ModelProject((IProject) resource)); + } + } + return (ModelObject[]) result.toArray(new ModelObject[result.size()]); + } + +} diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/mapping/CustomModelProvider.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/mapping/CustomModelProvider.java new file mode 100644 index 000000000..adc257eb2 --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/mapping/CustomModelProvider.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.tests.ccvs.core.mappings.model.mapping; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.mapping.ResourceMapping; +import org.eclipse.core.resources.mapping.ResourceMappingContext; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.team.tests.ccvs.core.mappings.model.ModelObject; +import org.eclipse.team.tests.ccvs.core.mappings.model.ModelProject; + +/** + * The model provider for our example + */ +public class CustomModelProvider extends + org.eclipse.core.resources.mapping.ModelProvider { + + public static final String ID = "org.eclipse.team.tests.cvs.core.bug302163_ModelProvider"; + + public CustomModelProvider() { + super(); + } + + public IStatus validateChange(IResourceDelta delta, IProgressMonitor monitor) { + return super.validateChange(delta, monitor); + } + + public ResourceMapping[] getMappings(IResource resource, + ResourceMappingContext context, IProgressMonitor monitor) + throws CoreException { + if (ModelProject.isModProject(resource.getProject())) { + ModelObject object = ModelObject.create(resource); + if (object != null) + return new ResourceMapping[] { ModelResourceMapping + .create(object) }; + } + return super.getMappings(resource, context, monitor); + } +} diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/mapping/ModelResourceMapping.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/mapping/ModelResourceMapping.java new file mode 100644 index 000000000..6cbed80fe --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/mapping/ModelResourceMapping.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.tests.ccvs.core.mappings.model.mapping; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.resources.mapping.ResourceMapping; +import org.eclipse.core.resources.mapping.ResourceMappingContext; +import org.eclipse.core.resources.mapping.ResourceTraversal; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.team.tests.ccvs.core.mappings.model.ModelFile; +import org.eclipse.team.tests.ccvs.core.mappings.model.ModelObject; +import org.eclipse.team.tests.ccvs.core.mappings.model.ModelProject; + +public class ModelResourceMapping extends ResourceMapping { + + public static String projectName = ""; + private final ModelObject object; + + public static ResourceMapping create(ModelObject object) { + if (object instanceof ModelProject) { + return new ModelResourceMapping(object); + } + if (object instanceof ModelFile) { + return new ModelResourceMapping(object); + } + return null; + } + + public ResourceTraversal[] getTraversals(ResourceMappingContext context, + IProgressMonitor monitor) throws CoreException { + return new ResourceTraversal[] { new ResourceTraversal( + new IResource[] { ResourcesPlugin.getWorkspace().getRoot() + .getProject(projectName).getFile("file1.txt") }, + IResource.DEPTH_ZERO, IResource.NONE) }; + } + + protected ModelResourceMapping(ModelObject object) { + this.object = object; + } + + public Object getModelObject() { + return object; + } + + public String getModelProviderId() { + return CustomModelProvider.ID; + } + + public IProject[] getProjects() { + return new IProject[] { (IProject) object.getProject().getResource() }; + } + + public boolean contains(ResourceMapping mapping) { + if (mapping instanceof ModelResourceMapping) { + ModelObject object = (ModelObject) mapping.getModelObject(); + IResource resource = object.getResource(); + return getResource().getFullPath().isPrefixOf( + resource.getFullPath()); + } + return false; + } + + private IResource getResource() { + return ((ModelProject) getModelObject()).getResource(); + } + +} diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java index 73d8268f8..06de4fd0f 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,6 +20,7 @@ import junit.framework.TestSuite; import org.eclipse.core.resources.*; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.team.core.RepositoryProvider; import org.eclipse.team.core.TeamException; @@ -30,7 +31,11 @@ import org.eclipse.team.internal.ccvs.core.client.Command; import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption; import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot; import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo; +import org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation; import org.eclipse.team.tests.ccvs.core.CVSTestSetup; +import org.eclipse.team.tests.ccvs.core.mappings.model.ModelProject; +import org.eclipse.team.tests.ccvs.core.mappings.model.mapping.ModelResourceMapping; +import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource; /** * This class tests the CVSWorkspaceSubscriber @@ -277,6 +282,58 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { * Tests ******************************************************************/ + public void testBug302163WithStandardModel() throws CoreException { + IProject modelProject = getUniqueTestProject("test1"); + buildResources(modelProject, new String[] { "file.mod", "f1.moe" }, true); + modelProject.getFile("file.mod").setContents(new ByteArrayInputStream(("\nf1.moe").getBytes()), false, true, null); + shareProject(modelProject); + assertValidCheckout(modelProject); + + IProject copyModelProject = checkoutCopy(modelProject, "-copy"); + copyModelProject.getFile("file.mod").setContents(new ByteArrayInputStream(("\nf1.moe\nf2.moe").getBytes()), false, true, null); + commitProject(copyModelProject); + + refresh(getSubscriber(), modelProject); + + RepositoryProviderOperation.consultModelsWhenBuildingScope = true; + setSyncSource(new SyncInfoSource()); + try { + update(modelProject, new String[] { "file.mod" }); + } catch (CVSException e) { + fail("Update without models failed", e); + } + RepositoryProviderOperation.consultModelsWhenBuildingScope = false; + setSyncSource(new ModelParticipantSyncInfoSource()); + } + + public void testBug302163WithCustomModel() throws CoreException { + IProject project = createProject("test", new String[] { "file1.txt" }); + ModelResourceMapping.projectName = project.getName(); + + IProject modelProject = getUniqueTestProject("test1"); + buildResources(modelProject, new String[] { "file.mod", "f1.moe" }, true); + modelProject.getFile("file.mod").setContents(new ByteArrayInputStream(("\nf1.moe").getBytes()), false, true, null); + ModelProject.makeModProject(modelProject, new NullProgressMonitor()); + shareProject(modelProject); + assertValidCheckout(modelProject); + + IProject copyModelProject = checkoutCopy(modelProject, "-copy"); + copyModelProject.getFile("file.mod").setContents(new ByteArrayInputStream(("\nf1.moe\nf2.moe").getBytes()), false, true, null); + commitProject(copyModelProject); + + refresh(getSubscriber(), modelProject); + + RepositoryProviderOperation.consultModelsWhenBuildingScope = true; + setSyncSource(new SyncInfoSource()); + try { + update(modelProject, new String[] { "file.mod" }); + } catch (CVSException e) { + fail("Update without models failed", e); + } + RepositoryProviderOperation.consultModelsWhenBuildingScope = false; + setSyncSource(new ModelParticipantSyncInfoSource()); + } + /* * Perform a simple test that checks for the different types of incoming changes */ diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java index 613cdc936..186d5cdf6 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,8 +11,15 @@ package org.eclipse.team.tests.ccvs.core.subscriber; import org.eclipse.compare.structuremergeviewer.IDiffElement; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.team.core.mapping.ISynchronizationScopeManager; import org.eclipse.team.core.synchronize.SyncInfoSet; +import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption; +import org.eclipse.team.internal.ccvs.ui.operations.UpdateOnlyMergableOperation; import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceUpdateOperation; +import org.eclipse.team.internal.ui.mapping.BuildScopeOperation; import org.eclipse.team.tests.ccvs.core.EclipseTest; class TestUpdateOperation extends WorkspaceUpdateOperation { @@ -42,4 +49,17 @@ class TestUpdateOperation extends WorkspaceUpdateOperation { EclipseTest.fail("Should never prompt on update, simply update nodes that are valid."); return false; } + + protected UpdateOnlyMergableOperation createUpdateOnlyMergableOperation( + IProject project, IResource[] resources, LocalOption[] localOptions) { + return new UpdateOnlyMergableOperation(getPart(), project, resources, localOptions) { + protected BuildScopeOperation createBuildScopeOperation(ISynchronizationScopeManager manager) { + return new BuildScopeOperation(getPart(), manager) { + protected boolean promptForInputChange(String requestPreviewMessage, IProgressMonitor monitor) { + return false; + } + }; + } + }; + } } |