Skip to content

Commit

Permalink
Adjust tests to changed requirements size
Browse files Browse the repository at this point in the history
  • Loading branch information
laeubi committed Feb 6, 2024
1 parent fb544ef commit 88b4878
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public void bundle() throws Exception {

assertEquals("org.eclipse.tycho.p2.impl.test.bundle", unit.getId());
assertEquals("1.0.0.qualifier", unit.getVersion().toString());
assertEquals(3, unit.getRequirements().size());
assertEquals(4, unit.getRequirements().size());
assertEquals(DEFAULT_CLASSIFIER, unit.getProperty(TychoConstants.PROP_CLASSIFIER));

// not really necessary, but we get this because we reuse standard p2 implementation
Expand All @@ -97,14 +97,21 @@ public void bundle_with_p2_inf() throws Exception {
assertEquals("1.0.0.qualifier", unit.getVersion().toString());

List<IRequirement> requirements = new ArrayList<>(unit.getRequirements());
assertEquals(1, requirements.size());
IRequiredCapability requirement = (IRequiredCapability) requirements.get(0);
assertEquals(IInstallableUnit.NAMESPACE_IU_ID, requirement.getNamespace());
assertEquals("required.p2.inf", requirement.getName());

assertNotNull(getReqCap(requirements, IInstallableUnit.NAMESPACE_IU_ID, "required.p2.inf"));
assertNotNull(getUnitWithId("iu.p2.inf", units));
}

private IRequiredCapability getReqCap(List<IRequirement> requirements, String ns, String name) {
for (IRequirement r : requirements) {
if (r instanceof IRequiredCapability cap) {
if (ns.equals(cap.getNamespace()) && name.equals(cap.getName())) {
return cap;
}
}
}
return null;
}

private IInstallableUnit getUnitWithId(String id, List<IInstallableUnit> units) {
for (IInstallableUnit unit : units) {
if (id.equals(unit.getId())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@
import org.eclipse.equinox.p2.metadata.IRequirement;
import org.eclipse.equinox.p2.metadata.ITouchpointData;
import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.tycho.p2maven.tmp.BundlesAction;
import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
import org.eclipse.tycho.OptionalResolutionAction;
import org.eclipse.tycho.TargetEnvironment;
import org.eclipse.tycho.p2.metadata.DependencyMetadataGenerator;
import org.eclipse.tycho.p2.metadata.PublisherOptions;
import org.eclipse.tycho.p2maven.tmp.BundlesAction;
import org.eclipse.tycho.test.util.ArtifactMock;
import org.eclipse.tycho.test.util.BuildPropertiesParserForTesting;
import org.eclipse.tycho.test.util.LogVerifier;
Expand Down Expand Up @@ -117,15 +117,27 @@ public void testOptionalImportPackage_REQUIRE() throws Exception {
IInstallableUnit iu = getUnit("optional-import-package", units);
assertNotNull(iu);
List<IRequirement> requirements = new ArrayList<>(iu.getRequirements());
assertEquals(1, requirements.size());
IRequiredCapability requirement = (IRequiredCapability) requirements.get(0);
IRequiredCapability requirement = getReqCap(requirements, PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE,
"org.osgi.framework");
assertNotNull("org.osgi.framework", requirement);
assertTrue(requirement.isGreedy());
assertEquals(1, requirement.getMin());
assertEquals(1, requirement.getMax());
assertEquals(PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE, requirement.getNamespace());
assertEquals("org.osgi.framework", requirement.getName());
}

private IRequiredCapability getReqCap(List<IRequirement> requirements, String ns, String name) {
for (IRequirement r : requirements) {
if (r instanceof IRequiredCapability cap) {
if (ns.equals(cap.getNamespace()) && name.equals(cap.getName())) {
return cap;
}
}
}
return null;
}

private DefaultDependencyMetadataGenerator createDependencyMetadataGenerator() {
DefaultDependencyMetadataGenerator generator = new DefaultDependencyMetadataGenerator();
generator.setBuildPropertiesParser(new BuildPropertiesParserForTesting());
Expand All @@ -145,7 +157,7 @@ public void testOptionalImportPackage_IGNORE() throws Exception {
IInstallableUnit iu = getUnit("optional-import-package", units);
assertNotNull(iu);
List<IRequirement> requirements = new ArrayList<>(iu.getRequirements());
assertEquals(0, requirements.size());
assertEquals(1, requirements.size());
}

@Test
Expand All @@ -160,13 +172,12 @@ public void testOptionalRequireBundle_REQUIRE() throws Exception {
IInstallableUnit iu = getUnit("optional-require-bundle", units);
assertNotNull(iu);
List<IRequirement> requirements = new ArrayList<>(iu.getRequirements());
assertEquals(1, requirements.size());
IRequiredCapability requirement = (IRequiredCapability) requirements.get(0);
IRequiredCapability requirement = getReqCap(requirements, BundlesAction.CAPABILITY_NS_OSGI_BUNDLE,
"org.eclipse.osgi");
assertNotNull(requirement);
assertTrue(requirement.isGreedy());
assertEquals(1, requirement.getMin());
assertEquals(1, requirement.getMax());
assertEquals(BundlesAction.CAPABILITY_NS_OSGI_BUNDLE, requirement.getNamespace());
assertEquals("org.eclipse.osgi", requirement.getName());
}

@Test
Expand All @@ -181,13 +192,11 @@ public void testOptionalRequireBundle_OPTIONAL() throws Exception {
IInstallableUnit iu = getUnit("optional-require-bundle", units);
assertNotNull(iu);
List<IRequirement> requirements = new ArrayList<>(iu.getRequirements());
assertEquals(1, requirements.size());
IRequiredCapability requirement = (IRequiredCapability) requirements.get(0);
IRequiredCapability requirement = getReqCap(requirements, BundlesAction.CAPABILITY_NS_OSGI_BUNDLE,
"org.eclipse.osgi");
assertFalse(requirement.isGreedy());
assertEquals(0, requirement.getMin());
assertEquals(1, requirement.getMax());
assertEquals(BundlesAction.CAPABILITY_NS_OSGI_BUNDLE, requirement.getNamespace());
assertEquals("org.eclipse.osgi", requirement.getName());
}

@Test
Expand All @@ -202,7 +211,7 @@ public void testOptionalRequireBundle_IGNORE() throws Exception {
IInstallableUnit iu = getUnit("optional-require-bundle", units);
assertNotNull(iu);
List<IRequirement> requirements = new ArrayList<>(iu.getRequirements());
assertEquals(0, requirements.size());
assertEquals(1, requirements.size());
}

@Test
Expand All @@ -217,12 +226,10 @@ public void testOptionalRequireBundleP2inf_REQUIRE() throws Exception {
IInstallableUnit iu = getUnit("optional-reqiure-bundle-p2inf", units);
assertNotNull(iu);
List<IRequirement> requirements = new ArrayList<>(iu.getRequirements());
assertEquals(1, requirements.size());
IRequiredCapability requirement = (IRequiredCapability) requirements.get(0);
IRequiredCapability requirement = getReqCap(requirements, BundlesAction.CAPABILITY_NS_OSGI_BUNDLE,
"org.eclipse.osgi");
assertTrue(requirement.isGreedy());
assertEquals(1, requirement.getMin());
assertEquals(1, requirement.getMax());
assertEquals(BundlesAction.CAPABILITY_NS_OSGI_BUNDLE, requirement.getNamespace());
assertEquals("org.eclipse.osgi", requirement.getName());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public void gav() throws Exception {

Assert.assertEquals("org.eclipse.tycho.p2.impl.test.bundle", unit.getId());
Assert.assertEquals("1.0.0.qualifier", unit.getVersion().toString());
Assert.assertEquals(3, unit.getRequirements().size());
Assert.assertEquals(4, unit.getRequirements().size());

Assert.assertEquals(1, artifacts.size());
IArtifactDescriptor ad = artifacts.iterator().next();
Expand Down

0 comments on commit 88b4878

Please sign in to comment.