use of org.graalvm.component.installer.model.ComponentInfo in project graal by oracle.
the class CatalogInstallTest method testTwoSameComponentsCommandLineDepsCommon.
private void testTwoSameComponentsCommandLineDepsCommon() throws Exception {
paramIterable = new CatalogIterable(this, this);
textParams.add("r");
textParams.add("r");
InstallCommand cmd = new InstallCommand();
cmd.init(this, withBundle(InstallCommand.class));
cmd.executionInit();
cmd.executeStep(cmd::prepareInstallation, false);
cmd.executeStep(cmd::completeInstallers, false);
List<Installer> instSequence = cmd.getInstallers();
assertEquals(2, instSequence.size());
ComponentInfo ci = instSequence.get(0).getComponentInfo();
assertEquals("org.graalvm.llvm-toolchain", ci.getId());
ci = instSequence.get(1).getComponentInfo();
assertEquals("org.graalvm.r", ci.getId());
}
use of org.graalvm.component.installer.model.ComponentInfo in project graal by oracle.
the class CatalogInstallTest method testDepsBeforeUsageCommon.
private void testDepsBeforeUsageCommon() throws Exception {
paramIterable = new CatalogIterable(this, this);
textParams.add("ruby");
InstallCommand cmd = new InstallCommand();
cmd.init(this, withBundle(InstallCommand.class));
cmd.executionInit();
cmd.executeStep(cmd::prepareInstallation, false);
cmd.executeStep(cmd::completeInstallers, false);
List<Installer> instSequence = cmd.getInstallers();
assertEquals(3, instSequence.size());
ComponentInfo ci = instSequence.get(0).getComponentInfo();
assertEquals("org.graalvm.llvm-toolchain", ci.getId());
ci = instSequence.get(1).getComponentInfo();
assertEquals("org.graalvm.native-image", ci.getId());
ci = instSequence.get(2).getComponentInfo();
assertEquals("org.graalvm.ruby", ci.getId());
}
use of org.graalvm.component.installer.model.ComponentInfo in project graal by oracle.
the class CatalogInstallTest method testRejectNewerInstallVersion.
/**
* Version 20.3.0 should not accept 20.3.1 (20.3.1.2, 20.3.1.3, ...) components.
*
* @throws Exception
*/
@Test
public void testRejectNewerInstallVersion() throws Exception {
storage.graalInfo.put(CommonConstants.CAP_GRAALVM_VERSION, "20.3.0");
setupCatalog("data/catalog21patch.properties");
textParams.add("llvm-toolchain");
paramIterable = new CatalogIterable(this, this);
Iterator<ComponentParam> params = paramIterable.iterator();
assertTrue(params.hasNext());
ComponentParam toolchainParam = params.next();
ComponentInfo toolchainInfo = toolchainParam.createMetaLoader().getComponentInfo();
assertNotNull(toolchainInfo);
assertEquals("org.graalvm.llvm-toolchain", toolchainInfo.getId());
assertEquals("Only release is compatible", "20.3.0", toolchainInfo.getVersion().displayString());
}
use of org.graalvm.component.installer.model.ComponentInfo in project graal by oracle.
the class CatalogInstallTest method testAcceptCompatibleOlders.
/**
* Checks that older versions are acceptable.
*
* @throws Exception
*/
@Test
public void testAcceptCompatibleOlders() throws Exception {
storage.graalInfo.put(CommonConstants.CAP_GRAALVM_VERSION, "21.0.0.2");
setupCatalog("data/catalog21patch.properties");
Collection<ComponentInfo> infos;
infos = registry.loadComponents("r", localRegistry.getGraalVersion().match(Version.Match.Type.INSTALLABLE), false);
assertEquals("1 older version ", 1, infos.size());
assertEquals("21.0.0", infos.iterator().next().getVersion().displayString());
infos = registry.loadComponents("python", localRegistry.getGraalVersion().match(Version.Match.Type.INSTALLABLE), false);
assertEquals("2 older and current versions ", 2, infos.size());
assertNotNull("21.0.0.2 present", findVersion(infos, "21.0.0.2"));
assertNotNull("21.0.0.0 present", findVersion(infos, "21.0.0.0"));
textParams.add("python");
paramIterable = new CatalogIterable(this, this);
Iterator<ComponentParam> params = paramIterable.iterator();
ComponentParam pythonParam = params.next();
ComponentInfo pythonInfo = pythonParam.createMetaLoader().getComponentInfo();
assertNotNull(pythonInfo);
assertEquals("Current version offered", "21.0.0.2", pythonInfo.getVersion().toString());
}
use of org.graalvm.component.installer.model.ComponentInfo in project graal by oracle.
the class CatalogInstallTest method testAcceptsNewerPatchInstallVersion.
@Test
public void testAcceptsNewerPatchInstallVersion() throws Exception {
storage.graalInfo.put(CommonConstants.CAP_GRAALVM_VERSION, "21.0.0.0");
setupCatalog("data/catalog21patch.properties");
textParams.add("ruby");
textParams.add("python");
Collection<ComponentInfo> infos = registry.loadComponents("ruby", localRegistry.getGraalVersion().match(Version.Match.Type.COMPATIBLE), false);
assertEquals("Release and patch ruby available", 2, infos.size());
paramIterable = new CatalogIterable(this, this);
Iterator<ComponentParam> params = paramIterable.iterator();
assertTrue(params.hasNext());
ComponentParam rubyParam = params.next();
ComponentInfo rubyInfo = rubyParam.createMetaLoader().getComponentInfo();
assertNotNull(rubyInfo);
assertEquals("org.graalvm.ruby", rubyInfo.getId());
assertEquals("Only release is compatible", "21.0.0", rubyInfo.getVersion().displayString());
ComponentParam pythonParam = params.next();
ComponentInfo pythonInfo = pythonParam.createMetaLoader().getComponentInfo();
assertNotNull(pythonInfo);
assertEquals("org.graalvm.python", pythonInfo.getId());
assertEquals("Patch can be installed", "21.0.0.2", pythonInfo.getVersion().displayString());
}
Aggregations