diff options
author | Alexander Kurtakov | 2017-12-15 06:44:51 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2017-12-15 06:44:51 +0000 |
commit | a24a7104a45101b52fd3f2b5382f7722d1c314d7 (patch) | |
tree | 48b1c542a8d9e39dd85c85674f0c829bef42d993 /bundles/org.eclipse.equinox.p2.tests | |
parent | 07c80afa6a12b3170e1b6b1dd5b7dadc775a501e (diff) | |
download | rt.equinox.p2-a24a7104a45101b52fd3f2b5382f7722d1c314d7.tar.gz rt.equinox.p2-a24a7104a45101b52fd3f2b5382f7722d1c314d7.tar.xz rt.equinox.p2-a24a7104a45101b52fd3f2b5382f7722d1c314d7.zip |
Revert "Revert "Bug 528494 - Using the match operator for RequiredCapability""I20171215-0930I20171215-0215
This reverts commit 07c80afa6a12b3170e1b6b1dd5b7dadc775a501e.
Revert the revert - issue is with multiple layers of features they need manual touching.
Change-Id: I3b4b8f2d64ed02d79ffd7bd9c7c5b85b45f8bd21
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests')
9 files changed, 295 insertions, 172 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java index 05bf2f2df..1c7356956 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java @@ -39,4 +39,4 @@ public class AllTests extends TestCase { return suite; } -} +}
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java index 6b12e2e15..adc767bba 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java @@ -12,7 +12,9 @@ package org.eclipse.equinox.p2.tests.publisher.actions; import static org.easymock.EasyMock.expect; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import org.easymock.EasyMock; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.equinox.internal.p2.metadata.InstallableUnit; @@ -20,15 +22,30 @@ import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader; import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile; import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData; import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData; -import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IInstallableUnitFragment; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.ITouchpointData; +import org.eclipse.equinox.p2.metadata.ITouchpointInstruction; +import org.eclipse.equinox.p2.metadata.MetadataFactory; import org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitDescription; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; import org.eclipse.equinox.p2.publisher.AbstractPublisherAction; import org.eclipse.equinox.p2.publisher.IPublisherResult; -import org.eclipse.equinox.p2.publisher.eclipse.*; +import org.eclipse.equinox.p2.publisher.eclipse.ConfigAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.ConfigCUsAction; +import org.eclipse.equinox.p2.publisher.eclipse.IConfigAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.IExecutableAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.LaunchingAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice; import org.eclipse.equinox.p2.query.IQueryResult; import org.eclipse.equinox.p2.query.QueryUtil; import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; -import org.eclipse.equinox.p2.tests.*; +import org.eclipse.equinox.p2.tests.TestActivator; +import org.eclipse.equinox.p2.tests.TestData; +import org.eclipse.equinox.p2.tests.TestMetadataRepository; public class ANYConfigCUsActionTest extends ActionTest { private static final String BUNDLE_VERSION = "5.0.0"; //$NON-NLS-1$ @@ -72,9 +89,9 @@ public class ANYConfigCUsActionTest extends ActionTest { //verify RequiredCapabilities List<IRequirement> requiredCapability = iu.getRequirements(); assertTrue(requiredCapability.size() == 3); - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".config." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".ini." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + configSpec + ORG_ECLIPSE_CORE_COMMANDS, new VersionRange(version, true, version, true)); + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".config." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".ini." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + configSpec + ORG_ECLIPSE_CORE_COMMANDS, new VersionRange(version, true, version, true)); //verify non root IUs verifyFragment("ini"); //$NON-NLS-1$ @@ -132,8 +149,8 @@ public class ANYConfigCUsActionTest extends ActionTest { assertEquals(0, fragment.getRequirements().size()); final Collection<IRequirement> hostRequirements = fragment.getHost(); - verifyRequiredCapability(hostRequirements, "osgi.bundle", ORG_ECLIPSE_CORE_COMMANDS, new VersionRange(BUNDLE_VERSION)); //$NON-NLS-1$ - verifyRequiredCapability(hostRequirements, "org.eclipse.equinox.p2.eclipse.type", "bundle", new VersionRange(Version.create("1.0.0"), true, Version.create("2.0.0"), false), 1, 1, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + verifyRequirement(hostRequirements, "osgi.bundle", ORG_ECLIPSE_CORE_COMMANDS, new VersionRange(BUNDLE_VERSION)); //$NON-NLS-1$ + verifyRequirement(hostRequirements, "org.eclipse.equinox.p2.eclipse.type", "bundle", new VersionRange(Version.create("1.0.0"), true, Version.create("2.0.0"), false), null, 1, 1, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ assertTrue(hostRequirements.size() == 2); final Collection<ITouchpointData> touchpointData = fragment.getTouchpointData(); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java index 06302d9a6..058cca76c 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java @@ -9,21 +9,44 @@ ******************************************************************************/ package org.eclipse.equinox.p2.tests.publisher.actions; -import static org.easymock.EasyMock.*; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; import static org.junit.Assert.assertThat; -import java.io.*; -import java.util.*; -import org.eclipse.core.runtime.*; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.StringTokenizer; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; import org.eclipse.equinox.internal.p2.core.helpers.FileUtils; -import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability; -import org.eclipse.equinox.internal.p2.metadata.InstallableUnit; -import org.eclipse.equinox.p2.metadata.*; -import org.eclipse.equinox.p2.metadata.expression.*; -import org.eclipse.equinox.p2.publisher.*; -import org.eclipse.equinox.p2.query.*; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.MetadataFactory; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; +import org.eclipse.equinox.p2.metadata.expression.ExpressionUtil; +import org.eclipse.equinox.p2.metadata.expression.IExpression; +import org.eclipse.equinox.p2.metadata.expression.IMatchExpression; +import org.eclipse.equinox.p2.publisher.AbstractPublisherAction; +import org.eclipse.equinox.p2.publisher.IPublisherInfo; +import org.eclipse.equinox.p2.publisher.IPublisherResult; +import org.eclipse.equinox.p2.publisher.PublisherResult; +import org.eclipse.equinox.p2.query.IQuery; +import org.eclipse.equinox.p2.query.IQueryResult; +import org.eclipse.equinox.p2.query.QueryUtil; import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; -import org.hamcrest.*; +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.TypeSafeMatcher; import org.junit.Assert; public abstract class ActionTest extends AbstractProvisioningTest { @@ -65,39 +88,33 @@ public abstract class ActionTest extends AbstractProvisioningTest { Assert.fail("Missing ProvidedCapability: " + name + version.toString()); //$NON-NLS-1$ } - protected void verifyRequiredCapability(Collection<IRequirement> requirement, String namespace, String name, VersionRange range) { - verifyRequiredCapability(requirement, namespace, name, range, 1, 1, true); + protected void verifyRequirement(Collection<IRequirement> actual, String namespace, String name, VersionRange range) { + verifyRequirement(actual, namespace, name, range, null, 1, 1, true); } - protected void verifyRequiredCapability(Collection<IRequirement> requirement, String namespace, String name, VersionRange range, int min, int max, boolean greedy) { - for (Iterator<IRequirement> iterator = requirement.iterator(); iterator.hasNext();) { - IRequiredCapability required = (IRequiredCapability) iterator.next(); - if (required.getName().equalsIgnoreCase(name) && required.getNamespace().equalsIgnoreCase(namespace) && required.getRange().equals(range)) { - String requirementDescr = "RequiredCapability " + name + " " + range.toString(); - Assert.assertEquals("Min of " + requirementDescr, min, required.getMin()); - Assert.assertEquals("Max of " + requirementDescr, max, required.getMax()); - Assert.assertEquals("Greedy of " + requirementDescr, greedy, required.isGreedy()); - return; - } - } - Assert.fail("Missing RequiredCapability: " + name + " " + range.toString()); //$NON-NLS-1$ + protected void verifyRequirement(Collection<IRequirement> actual, String namespace, String name, VersionRange range, String filterStr, int minCard, int maxCard, boolean greedy) { + IRequirement expected = MetadataFactory.createRequirement(namespace, name, range, null, minCard, maxCard, greedy); + verifyRequirement(actual, expected); } - protected void verifyRequirement(Collection<IRequirement> requirement, String filter, int min, int max, boolean greedy) { - IExpression expr = ExpressionUtil.parse(filter); - IMatchExpression<IInstallableUnit> matchExpr = ExpressionUtil.getFactory().matchExpression(expr); + protected void verifyRequirement(Collection<IRequirement> actual, String matchExpr, int minCard, int maxCard, boolean greedy) { + IExpression expr = ExpressionUtil.parse(matchExpr); + IMatchExpression<IInstallableUnit> matcher = ExpressionUtil.getFactory().matchExpression(expr); + IRequirement expected = MetadataFactory.createRequirement(matcher, null, minCard, maxCard, greedy); + verifyRequirement(actual, expected); + } - for (Iterator iterator = requirement.iterator(); iterator.hasNext();) { - IRequirement required = (IRequirement) iterator.next(); - if (required.getMatches().equals(matchExpr)) { - String requirementDescr = "IRequirement " + filter; - Assert.assertEquals("Min of " + requirementDescr, min, required.getMin()); - Assert.assertEquals("Max of " + requirementDescr, max, required.getMax()); - Assert.assertEquals("Greedy of " + requirementDescr, greedy, required.isGreedy()); + protected void verifyRequirement(Collection<IRequirement> actual, IRequirement expected) { + for (IRequirement act : actual) { + if (expected.getMatches().equals(act.getMatches())) { + String descr = "IRequirement " + expected.getMatches(); + Assert.assertEquals("Min of " + descr, expected.getMin(), act.getMin()); + Assert.assertEquals("Max of " + descr, expected.getMax(), act.getMax()); + Assert.assertEquals("Greedy of " + descr, expected.isGreedy(), act.isGreedy()); return; } } - Assert.fail("Missing IRequirement: " + filter); //$NON-NLS-1$ + Assert.fail("Missing IRequirement: " + expected); //$NON-NLS-1$ } protected IInstallableUnit mockIU(String id, Version version) { @@ -135,36 +152,6 @@ public abstract class ActionTest extends AbstractProvisioningTest { return map; } - protected void contains(Collection<IProvidedCapability> capabilities, String namespace, String name, Version version) { - for (IProvidedCapability capability : capabilities) { - if (capability.getNamespace().equals(namespace) && capability.getName().equals(name) && capability.getVersion().equals(version)) - return; - } - fail(); - } - - protected void contains(Collection<IRequirement> capabilities, String namespace, String name, VersionRange range, String filterStr, boolean optional, boolean multiple) { - IMatchExpression<IInstallableUnit> filter = InstallableUnit.parseFilter(filterStr); - for (Iterator<IRequirement> iterator = capabilities.iterator(); iterator.hasNext();) { - IRequiredCapability capability = (IRequiredCapability) iterator.next(); - if (filter == null) { - if (capability.getFilter() != null) - continue; - } else if (!filter.equals(capability.getFilter())) - continue; - if (!name.equals(capability.getName())) - continue; - if (!namespace.equals(capability.getNamespace())) - continue; - if (optional != (capability.getMin() == 0)) - continue; - if (!range.equals(capability.getRange())) - continue; - return; - } - fail(); - } - public void setupPublisherResult() { publisherResult = new PublisherResult(); } diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java index f943a7862..af99bfe42 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java @@ -11,23 +11,59 @@ ******************************************************************************/ package org.eclipse.equinox.p2.tests.publisher.actions; -import static org.easymock.EasyMock.*; +import static org.easymock.EasyMock.and; +import static org.easymock.EasyMock.capture; +import static org.easymock.EasyMock.expect; import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.errorStatus; import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.statusWithMessageWhich; -import static org.hamcrest.CoreMatchers.*; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.hasItem; +import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; -import java.io.*; -import java.util.*; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.zip.ZipInputStream; import org.easymock.EasyMock; -import org.eclipse.core.runtime.*; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; import org.eclipse.equinox.internal.p2.director.QueryableArray; -import org.eclipse.equinox.internal.p2.metadata.*; -import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.internal.p2.metadata.ArtifactKey; +import org.eclipse.equinox.internal.p2.metadata.RequiredCapability; +import org.eclipse.equinox.internal.p2.metadata.TranslationSupport; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.ITouchpointData; +import org.eclipse.equinox.p2.metadata.ITouchpointInstruction; +import org.eclipse.equinox.p2.metadata.IUpdateDescriptor; import org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitDescription; -import org.eclipse.equinox.p2.publisher.*; -import org.eclipse.equinox.p2.publisher.actions.*; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; +import org.eclipse.equinox.p2.publisher.AbstractPublisherApplication; +import org.eclipse.equinox.p2.publisher.AdviceFileAdvice; +import org.eclipse.equinox.p2.publisher.IPublisherInfo; +import org.eclipse.equinox.p2.publisher.IPublisherResult; +import org.eclipse.equinox.p2.publisher.PublisherInfo; +import org.eclipse.equinox.p2.publisher.PublisherResult; +import org.eclipse.equinox.p2.publisher.actions.IAdditionalInstallableUnitAdvice; +import org.eclipse.equinox.p2.publisher.actions.ICapabilityAdvice; +import org.eclipse.equinox.p2.publisher.actions.IPropertyAdvice; +import org.eclipse.equinox.p2.publisher.actions.ITouchpointAdvice; +import org.eclipse.equinox.p2.publisher.actions.IUpdateDescriptorAdvice; import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction; import org.eclipse.equinox.p2.publisher.eclipse.IBundleShapeAdvice; import org.eclipse.equinox.p2.query.IQueryResult; @@ -82,21 +118,21 @@ public class BundlesActionTest extends ActionTest { private static final String TEST2_PROV_X_NAMESPACE = JAVA_PACKAGE; private static final String TEST1_PROV_Z_NAMESPACE = JAVA_PACKAGE; - private final Version BUNDLE1_VERSION = Version.create("0.1.0");//$NON-NLS-1$ - private final Version BUNDLE2_VERSION = Version.create("1.0.0.qualifier");//$NON-NLS-1$ - private final Version BUNDLE3_VERSION = Version.create("0.1.0.qualifier");//$NON-NLS-1$ - private final Version BUNDLE4_VERSION = Version.create("2.0.1");//$NON-NLS-1$ - private final Version BUNDLE5_VERSION = Version.create("0.1.0.qualifier");//$NON-NLS-1$ - - private final VersionRange DEFAULT_VERSION_RANGE = VersionRange.emptyRange; - private final Version PROVBUNDLE2_VERSION = BUNDLE2_VERSION; - private final Version TEST2_PROVZ_VERSION = Version.emptyVersion; - private final Version TEST2_PROVY_VERSION = Version.emptyVersion; - private final Version TEST2_PROVX_VERSION = Version.emptyVersion; - private final VersionRange TEST2_IUA_VERSION_RANGE = VersionRange.emptyRange; - private final VersionRange TEST2_IUB_VERSION_RANGE = VersionRange.emptyRange; - private final VersionRange TEST2_IUC_VERSION_RANGE = new VersionRange(Version.create("1.0.0"), true, Version.MAX_VERSION, true);//$NON-NLS-1$ - private final VersionRange TEST1_IUD_VERSION_RANGE = new VersionRange(Version.create("1.3.0"), true, Version.MAX_VERSION, true);//$NON-NLS-1$ + private static final Version BUNDLE1_VERSION = Version.create("0.1.0");//$NON-NLS-1$ + private static final Version BUNDLE2_VERSION = Version.create("1.0.0.qualifier");//$NON-NLS-1$ + private static final Version BUNDLE3_VERSION = Version.create("0.1.0.qualifier");//$NON-NLS-1$ + private static final Version BUNDLE4_VERSION = Version.create("2.0.1");//$NON-NLS-1$ + private static final Version BUNDLE5_VERSION = Version.create("0.1.0.qualifier");//$NON-NLS-1$ + + private static final VersionRange DEFAULT_VERSION_RANGE = VersionRange.emptyRange; + private static final Version PROVBUNDLE2_VERSION = BUNDLE2_VERSION; + private static final Version TEST2_PROVZ_VERSION = Version.emptyVersion; + private static final Version TEST2_PROVY_VERSION = Version.emptyVersion; + private static final Version TEST2_PROVX_VERSION = Version.emptyVersion; + private static final VersionRange TEST2_IU_A_VERSION_RANGE = VersionRange.emptyRange; + private static final VersionRange TEST2_IU_B_VERSION_RANGE = VersionRange.emptyRange; + private static final VersionRange TEST2_IU_C_VERSION_RANGE = VersionRange.create("1.0.0");//$NON-NLS-1$ + private static final VersionRange TEST1_IU_D_VERSION_RANGE = VersionRange.create("1.3.0");//$NON-NLS-1$ protected TestArtifactRepository artifactRepository = new TestArtifactRepository(getAgent()); @@ -217,7 +253,7 @@ public class BundlesActionTest extends ActionTest { // check required capabilities Collection<IRequirement> requiredCapability = bundle1IU.getRequirements(); - verifyRequiredCapability(requiredCapability, TEST1_IU_D_NAMESPACE, TEST1_IUD_NAME, TEST1_IUD_VERSION_RANGE); + verifyRequirement(requiredCapability, TEST1_IU_D_NAMESPACE, TEST1_IUD_NAME, TEST1_IU_D_VERSION_RANGE); verifyRequirement(requiredCapability, TEST1_REQ_EE_FILTER, 0, 1, true); assertEquals("2.0", 2, requiredCapability.size()); @@ -254,9 +290,9 @@ public class BundlesActionTest extends ActionTest { // check required capabilities Collection<IRequirement> requirements = bundle2IU.getRequirements(); - verifyRequiredCapability(requirements, TEST2_IU_A_NAMESPACE, TEST2_REQ_A_NAME, TEST2_IUA_VERSION_RANGE); - verifyRequiredCapability(requirements, TEST2_IU_B_NAMESPACE, TEST2_REQ_B_NAME, TEST2_IUB_VERSION_RANGE); - verifyRequiredCapability(requirements, TEST2_IU_C_NAMESPACE, TEST2_REQ_C_NAME, TEST2_IUC_VERSION_RANGE); + verifyRequirement(requirements, TEST2_IU_A_NAMESPACE, TEST2_REQ_A_NAME, TEST2_IU_A_VERSION_RANGE); + verifyRequirement(requirements, TEST2_IU_B_NAMESPACE, TEST2_REQ_B_NAME, TEST2_IU_B_VERSION_RANGE); + verifyRequirement(requirements, TEST2_IU_C_NAMESPACE, TEST2_REQ_C_NAME, TEST2_IU_C_VERSION_RANGE); verifyRequirement(requirements, TEST2_REQ_EE_FILTER, 0, 1, true); assertTrue(requirements.size() == 4 /*number of tested elements*/); @@ -321,10 +357,10 @@ public class BundlesActionTest extends ActionTest { // check required capabilities Collection<IRequirement> requirements = bundle4IU.getRequirements(); - verifyRequiredCapability(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, 0, 1, false); - verifyRequiredCapability(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, 0, 1, true); - verifyRequiredCapability(requirements, OSGI, TEST4_REQ_BUNDLE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, 0, 1, false); - verifyRequiredCapability(requirements, OSGI, TEST4_REQ_BUNDLE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, 0, 1, true); + verifyRequirement(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, false); + verifyRequirement(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, true); + verifyRequirement(requirements, OSGI, TEST4_REQ_BUNDLE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, false); + verifyRequirement(requirements, OSGI, TEST4_REQ_BUNDLE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, true); assertEquals("2.0", 4, requirements.size()); } diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java index 5364a2571..542dced05 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java @@ -13,7 +13,9 @@ package org.eclipse.equinox.p2.tests.publisher.actions; import static org.easymock.EasyMock.expect; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import org.easymock.EasyMock; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.equinox.internal.p2.metadata.InstallableUnit; @@ -21,11 +23,24 @@ import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader; import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile; import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData; import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData; -import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.ITouchpointData; +import org.eclipse.equinox.p2.metadata.ITouchpointInstruction; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; import org.eclipse.equinox.p2.publisher.IPublisherResult; -import org.eclipse.equinox.p2.publisher.eclipse.*; +import org.eclipse.equinox.p2.publisher.eclipse.ConfigAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.ConfigCUsAction; +import org.eclipse.equinox.p2.publisher.eclipse.IConfigAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.IExecutableAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.LaunchingAdvice; +import org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice; import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; -import org.eclipse.equinox.p2.tests.*; +import org.eclipse.equinox.p2.tests.TestActivator; +import org.eclipse.equinox.p2.tests.TestData; +import org.eclipse.equinox.p2.tests.TestMetadataRepository; public class ConfigCUsActionTest extends ActionTest { private static File configLocation = new File(TestActivator.getTestDataFolder(), "ConfigCUsActionTest/level1/level2/config.ini"); //$NON-NLS-1$ @@ -63,8 +78,8 @@ public class ConfigCUsActionTest extends ActionTest { //verify RequiredCapabilities List<IRequirement> requiredCapability = iu.getRequirements(); - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".config." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".ini." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".config." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".ini." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ assertTrue(requiredCapability.size() == 2); //verify non root IUs diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java index ddd7d48bd..dbca9376e 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java @@ -10,10 +10,21 @@ ******************************************************************************/ package org.eclipse.equinox.p2.tests.publisher.actions; -import static org.easymock.EasyMock.*; - -import java.io.*; -import java.util.*; +import static org.easymock.EasyMock.anyBoolean; +import static org.easymock.EasyMock.anyObject; +import static org.easymock.EasyMock.expect; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Enumeration; +import java.util.LinkedList; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.ZipEntry; @@ -23,8 +34,16 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.equinox.internal.p2.core.helpers.FileUtils; import org.eclipse.equinox.internal.p2.metadata.InstallableUnit; import org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor; -import org.eclipse.equinox.p2.metadata.*; -import org.eclipse.equinox.p2.publisher.*; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IInstallableUnitFragment; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; +import org.eclipse.equinox.p2.publisher.AbstractPublisherAction; +import org.eclipse.equinox.p2.publisher.IPublisherInfo; +import org.eclipse.equinox.p2.publisher.IPublisherResult; import org.eclipse.equinox.p2.publisher.eclipse.EquinoxExecutableAction; import org.eclipse.equinox.p2.publisher.eclipse.IBrandingAdvice; import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor; @@ -123,7 +142,7 @@ public class EquinoxExecutableActionTest extends ActionTest { verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, flavorArg + idBase + ".executable." + confSpec, version); //$NON-NLS-1$ assertTrue(providedCapability.size() == 1); Collection<IRequirement> requiredCapability = fragment.getHost(); - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + confSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + confSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ assertTrue(requiredCapability.size() == 1); assertTrue(fragment.getFilter().getParameters()[0].toString().indexOf("(osgi.ws=" + _ws + ")") != -1); @@ -172,7 +191,7 @@ public class EquinoxExecutableActionTest extends ActionTest { assertTrue(providedCapabilities.size() == 2); Collection<IRequirement> requiredCapability = possibleExec.getRequirements(); - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.launcher." + (idBase.equals("mac") || idBase.equals("macCocoa") ? confSpec.substring(0, confSpec.lastIndexOf(".")) : confSpec), VersionRange.emptyRange); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.launcher." + (idBase.equals("mac") || idBase.equals("macCocoa") ? confSpec.substring(0, confSpec.lastIndexOf(".")) : confSpec), VersionRange.emptyRange); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ assertTrue(requiredCapability.size() == 1); try { diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java index 8c89140e7..3b782324a 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java @@ -10,12 +10,19 @@ ******************************************************************************/ package org.eclipse.equinox.p2.tests.publisher.actions; -import static org.easymock.EasyMock.*; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Map; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.equinox.internal.p2.metadata.InstallableUnitFragment; -import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; import org.eclipse.equinox.p2.publisher.IPublisherResult; import org.eclipse.equinox.p2.publisher.PublisherResult; import org.eclipse.equinox.p2.publisher.actions.IVersionAdvice; @@ -62,8 +69,8 @@ public class EquinoxLauncherCUActionTest extends ActionTest { if (iu.getId().equals(flavorArg + EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER)) { assertTrue(iu instanceof InstallableUnitFragment); //verify required capability - verifyRequiredCapability(((InstallableUnitFragment) iu).getHost(), PublisherHelper.OSGI_BUNDLE_CLASSIFIER, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER, VersionRange.emptyRange); - verifyRequiredCapability(((InstallableUnitFragment) iu).getHost(), PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", new VersionRange(Version.create("1.0.0"), true, Version.create("2.0.0"), false), 1, 1, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + verifyRequirement(((InstallableUnitFragment) iu).getHost(), PublisherHelper.OSGI_BUNDLE_CLASSIFIER, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER, VersionRange.emptyRange); + verifyRequirement(((InstallableUnitFragment) iu).getHost(), PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", new VersionRange(Version.create("1.0.0"), true, Version.create("2.0.0"), false), null, 1, 1, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ assertEquals(2, (((InstallableUnitFragment) iu).getHost().size())); Collection<IProvidedCapability> cap = iu.getProvidedCapabilities(); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java index eabb75fd9..4b6203fd5 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java @@ -10,11 +10,18 @@ ******************************************************************************/ package org.eclipse.equinox.p2.tests.publisher.actions; -import static org.easymock.EasyMock.*; +import static org.easymock.EasyMock.and; +import static org.easymock.EasyMock.capture; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.isA; import java.io.File; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.zip.ZipInputStream; import org.easymock.Capture; import org.easymock.EasyMock; @@ -22,15 +29,32 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.equinox.internal.p2.metadata.ArtifactKey; import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability; -import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IInstallableUnitPatch; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.ITouchpointData; +import org.eclipse.equinox.p2.metadata.ITouchpointInstruction; +import org.eclipse.equinox.p2.metadata.MetadataFactory; import org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitDescription; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; import org.eclipse.equinox.p2.metadata.expression.ExpressionUtil; -import org.eclipse.equinox.p2.metadata.expression.IMatchExpression; -import org.eclipse.equinox.p2.publisher.*; -import org.eclipse.equinox.p2.publisher.actions.*; +import org.eclipse.equinox.p2.publisher.IPublisherInfo; +import org.eclipse.equinox.p2.publisher.IPublisherResult; +import org.eclipse.equinox.p2.publisher.PublisherInfo; +import org.eclipse.equinox.p2.publisher.actions.IAdditionalInstallableUnitAdvice; +import org.eclipse.equinox.p2.publisher.actions.ICapabilityAdvice; +import org.eclipse.equinox.p2.publisher.actions.IFeatureRootAdvice; +import org.eclipse.equinox.p2.publisher.actions.IPropertyAdvice; +import org.eclipse.equinox.p2.publisher.actions.ITouchpointAdvice; +import org.eclipse.equinox.p2.publisher.actions.IUpdateDescriptorAdvice; import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction; import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor; -import org.eclipse.equinox.p2.tests.*; +import org.eclipse.equinox.p2.tests.TestActivator; +import org.eclipse.equinox.p2.tests.TestData; +import org.eclipse.equinox.p2.tests.TestMetadataRepository; import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository; import org.eclipse.equinox.spi.p2.publisher.PublisherHelper; @@ -84,11 +108,9 @@ public class FeaturesActionTest extends ActionTest { IRequirement[][] applicabilityScope = iu.getApplicabilityScope(); assertEquals(1, applicabilityScope.length); IRequiredCapability require = (IRequiredCapability) applicabilityScope[0][0]; - assertEquals("org.foo.feature.group", require.getName()); - IMatchExpression<IInstallableUnit> matches = require.getMatches(); - assertEquals("providedCapabilities.exists(x | x.name == $0 && x.namespace == $1 && x.version >= $2 && x.version < $3)", matches.toString()); - assertEquals(Version.parseVersion("1.0.0"), matches.getParameters()[2]); - assertEquals(Version.parseVersion("2.0.0"), matches.getParameters()[3]); + + IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.foo.feature.group", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true); + verifyRequirement(Collections.singleton(expected), require); } public void testMatchRange() throws Exception { @@ -111,16 +133,14 @@ public class FeaturesActionTest extends ActionTest { Collection<IRequirement> requires = iu.getRequirements(); assertEquals(3, requires.size()); for (IRequirement require : requires) { - if (((IRequiredCapability) require).getName().equals("org.foo.feature.group")) { - IMatchExpression<IInstallableUnit> matches = require.getMatches(); - assertEquals("providedCapabilities.exists(x | x.name == $0 && x.namespace == $1 && x.version >= $2 && x.version < $3)", matches.toString()); - assertEquals(Version.parseVersion("1.0.0"), matches.getParameters()[2]); - assertEquals(Version.parseVersion("2.0.0"), matches.getParameters()[3]); - } else if (((IRequiredCapability) require).getName().equals("org.plug")) { - IMatchExpression<IInstallableUnit> matches = require.getMatches(); - assertEquals("providedCapabilities.exists(x | x.name == $0 && x.namespace == $1 && x.version >= $2 && x.version < $3)", matches.toString()); - assertEquals(Version.parseVersion("1.0.0"), matches.getParameters()[2]); - assertEquals(Version.parseVersion("2.0.0"), matches.getParameters()[3]); + String requireName = ((IRequiredCapability) require).getName(); + + if (requireName.equals("org.foo.feature.group")) { + IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.foo.feature.group", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true); + verifyRequirement(Collections.singleton(expected), require); + } else if (requireName.equals("org.plug")) { + IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.plug", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true); + verifyRequirement(Collections.singleton(expected), require); } } } @@ -145,14 +165,14 @@ public class FeaturesActionTest extends ActionTest { Collection<IRequirement> requires = iu.getRequirements(); assertEquals(3, requires.size()); for (IRequirement require : requires) { - if (((IRequiredCapability) require).getName().equals("org.foo.feature.group")) { - IMatchExpression<IInstallableUnit> matches = require.getMatches(); - assertEquals("providedCapabilities.exists(x | x.name == $0 && x.namespace == $1 && x.version >= $2)", matches.toString()); - assertEquals(Version.parseVersion("1.0.0"), matches.getParameters()[2]); - } else if (((IRequiredCapability) require).getName().equals("org.plug")) { - IMatchExpression<IInstallableUnit> matches = require.getMatches(); - assertEquals("providedCapabilities.exists(x | x.name == $0 && x.namespace == $1 && x.version >= $2)", matches.toString()); - assertEquals(Version.parseVersion("1.0.0"), matches.getParameters()[2]); + String requireName = ((IRequiredCapability) require).getName(); + + if (requireName.equals("org.foo.feature.group")) { + IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.foo.feature.group", VersionRange.create("1.0.0"), null, false, false, true); + verifyRequirement(Collections.singleton(expected), require); + } else if (requireName.equals("org.plug")) { + IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.plug", VersionRange.create("1.0.0"), null, false, false, true); + verifyRequirement(Collections.singleton(expected), require); } } } @@ -225,9 +245,9 @@ public class FeaturesActionTest extends ActionTest { assertTrue(fooRequiredCapabilities.size() == 0); Collection<IProvidedCapability> fooProvidedCapabilities = foo.getProvidedCapabilities(); - contains(fooProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "foo.feature.jar", fooVersion); //$NON-NLS-1$ - contains(fooProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ - contains(fooProvidedCapabilities, "org.eclipse.update.feature", FOO, fooVersion); //$NON-NLS-1$ + verifyProvidedCapability(fooProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "foo.feature.jar", fooVersion); //$NON-NLS-1$ + verifyProvidedCapability(fooProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ + verifyProvidedCapability(fooProvidedCapabilities, "org.eclipse.update.feature", FOO, fooVersion); //$NON-NLS-1$ assertTrue(fooProvidedCapabilities.size() == 3); //feature group IU for foo @@ -260,8 +280,8 @@ public class FeaturesActionTest extends ActionTest { IInstallableUnit barGroup = barIUs.get(0); Collection<IRequirement> barRequiredCapabilities = barGroup.getRequirements(); //contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar_root", new VersionRange(barVersion, true, barVersion, true), null, false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$ - contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", new VersionRange(barVersion, true, barVersion, true), "(org.eclipse.update.install.features=true)", false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$ - contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "org.bar.feature.feature.group", VersionRange.emptyRange, "(&(|(osgi.nl=de)(osgi.nl=en)(osgi.nl=fr)))", false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$ + verifyRequirement(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", new VersionRange(barVersion, true, barVersion, true), "(org.eclipse.update.install.features=true)", 1, 1, true); //$NON-NLS-1$//$NON-NLS-2$ + verifyRequirement(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "org.bar.feature.feature.group", VersionRange.emptyRange, "(&(|(osgi.nl=de)(osgi.nl=en)(osgi.nl=fr)))", 1, 1, true); //$NON-NLS-1$//$NON-NLS-2$ assertEquals(barGroup.getFilter().getParameters()[0], ExpressionUtil.parseLDAP("(&(|(osgi.os=macosx)(osgi.os=win32))(|(osgi.ws=carbon)(osgi.ws=win32))(|(osgi.arch=ppc)(osgi.arch=x86))(osgi.nl=en))")); //check zipped=true in touchpointData @@ -277,9 +297,9 @@ public class FeaturesActionTest extends ActionTest { assertTrue(barRequiredCapabilities.size() == 0); Collection<IProvidedCapability> barProvidedCapabilities = bar.getProvidedCapabilities(); - contains(barProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", barVersion); //$NON-NLS-1$ - contains(barProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ - contains(barProvidedCapabilities, "org.eclipse.update.feature", BAR, barVersion); //$NON-NLS-1$ + verifyProvidedCapability(barProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", barVersion); //$NON-NLS-1$ + verifyProvidedCapability(barProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ + verifyProvidedCapability(barProvidedCapabilities, "org.eclipse.update.feature", BAR, barVersion); //$NON-NLS-1$ assertTrue(barProvidedCapabilities.size() == 3); } diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java index 75955785a..0fdb6488c 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java @@ -12,22 +12,44 @@ package org.eclipse.equinox.p2.tests.publisher.actions; import static org.easymock.EasyMock.expect; -import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.*; -import static org.hamcrest.CoreMatchers.*; +import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.errorStatus; +import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.okStatus; +import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.statusWithMessageWhich; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.hasItem; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.not; import static org.junit.Assert.assertThat; -import java.io.*; -import java.util.*; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; import java.util.zip.ZipInputStream; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.equinox.internal.p2.core.helpers.FileUtils; import org.eclipse.equinox.internal.p2.metadata.ArtifactKey; -import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IInstallableUnitFragment; +import org.eclipse.equinox.p2.metadata.IProvidedCapability; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.metadata.ITouchpointInstruction; +import org.eclipse.equinox.p2.metadata.MetadataFactory; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; import org.eclipse.equinox.p2.publisher.IPublisherInfo; import org.eclipse.equinox.p2.publisher.IPublisherResult; import org.eclipse.equinox.p2.publisher.actions.JREAction; -import org.eclipse.equinox.p2.tests.*; +import org.eclipse.equinox.p2.tests.TestActivator; +import org.eclipse.equinox.p2.tests.TestData; +import org.eclipse.equinox.p2.tests.TestMetadataRepository; import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository; import org.eclipse.equinox.spi.p2.publisher.PublisherHelper; @@ -188,7 +210,7 @@ public class JREActionTest extends ActionTest { assertTrue(((ITouchpointInstruction) instructions.get("uninstall")).getBody().equals("cleanupzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$ //$NON-NLS-2$ assertTrue(bar instanceof IInstallableUnitFragment); Collection<IRequirement> requiredCapability = ((IInstallableUnitFragment) bar).getHost(); - verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(jreVersion, true, Version.MAX_VERSION, true)); + verifyRequirement(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(jreVersion, true, Version.MAX_VERSION, true)); assertTrue(requiredCapability.size() == 1); Collection<IProvidedCapability> providedCapability = bar.getProvidedCapabilities(); |