/** * Maps the stringified CPU-pinning to the API format. */ static CpuTune stringToCpuTune(String cpuPinning) { if(cpuPinning == null || cpuPinning.equals("")) { return null; } final CpuTune cpuTune = new CpuTune(); VcpuPins pins = new VcpuPins(); for(String strCpu : cpuPinning.split("_")) { VcpuPin pin = stringToVCpupin(strCpu); pins.getVcpuPins().add(pin); } cpuTune.setVcpuPins(pins); return cpuTune; }
@Test public void stringToVCpupinWrongFormat() { assertThrows(IllegalArgumentException.class, () -> VmMapper.stringToVCpupin("X#X#X")); }
@Test public void stringToVCpupinBadCpuNumber() { assertThrows(IllegalArgumentException.class, () -> VmMapper.stringToVCpupin("XXX#1-4")); }
@Test public void stringToVCpupinSimple() { VcpuPin pin = VmMapper.stringToVCpupin("1#1"); assertEquals(1, (int) pin.getVcpu()); assertEquals("1", pin.getCpuSet()); pin = VmMapper.stringToVCpupin("1#10"); assertEquals(1, (int) pin.getVcpu()); assertEquals("10", pin.getCpuSet()); pin = VmMapper.stringToVCpupin("1#10,11,12"); assertEquals(1, (int) pin.getVcpu()); assertEquals("10,11,12", pin.getCpuSet()); pin = VmMapper.stringToVCpupin("1#10-12,16"); assertEquals(1, (int) pin.getVcpu()); assertEquals("10-12,16", pin.getCpuSet()); }
@Test public void stringToVCpupinIntervalsList() { VcpuPin pin = VmMapper.stringToVCpupin("1#1-4,6"); assertEquals(1, (int) pin.getVcpu()); assertEquals("1-4,6", pin.getCpuSet()); }