Skip to content

Commit b73c053

Browse files
committed
CLOUDSTACK-9211: Unit test for 3dgpu support
1 parent 4fcebfc commit b73c053

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,7 @@ protected StartAnswer execute(StartCommand cmd) {
19531953
* @param vmMo virtual machine mo
19541954
* @param vmSpec virtual machine specs
19551955
*/
1956-
private void postVideoCardMemoryConfigBeforeStart(VirtualMachineMO vmMo, VirtualMachineTO vmSpec) {
1956+
protected void postVideoCardMemoryConfigBeforeStart(VirtualMachineMO vmMo, VirtualMachineTO vmSpec) {
19571957
String paramVRamSize = "svga.vramSize";
19581958
if (vmSpec.getDetails().containsKey(paramVRamSize)){
19591959
String value = vmSpec.getDetails().get(paramVRamSize);

plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,22 @@
1919
import static org.mockito.Mockito.doReturn;
2020
import static org.mockito.Mockito.verify;
2121
import static org.mockito.Mockito.when;
22+
import static org.mockito.Mockito.mock;
23+
import static org.mockito.Mockito.any;
24+
25+
import java.util.Arrays;
26+
import java.util.HashMap;
27+
import java.util.Map;
2228

2329
import org.junit.Before;
2430
import org.junit.Test;
2531
import org.mockito.Mock;
2632
import org.mockito.MockitoAnnotations;
2733
import org.mockito.Spy;
2834

35+
import com.vmware.vim25.VirtualDevice;
2936
import com.vmware.vim25.VirtualMachineConfigSpec;
30-
37+
import com.vmware.vim25.VirtualMachineVideoCard;
3138
import com.cloud.agent.api.Command;
3239
import com.cloud.agent.api.ScaleVmAnswer;
3340
import com.cloud.agent.api.ScaleVmCommand;
@@ -64,6 +71,10 @@ public VmwareHypervisorHost getHyperHost(VmwareContext context, Command cmd) {
6471
VirtualMachineMO vmMo;
6572
@Mock
6673
VirtualMachineConfigSpec vmConfigSpec;
74+
@Mock
75+
VirtualMachineMO vmMo3dgpu;
76+
@Mock
77+
VirtualMachineTO vmSpec3dgpu;
6778

6879
@Before
6980
public void setup() {
@@ -90,4 +101,20 @@ public void testScaleVMF1() throws Exception {
90101
verify(_resource).execute(cmd);
91102
}
92103

104+
@Test
105+
public void testStartVm3dgpuEnabled() throws Exception{
106+
Map<String, String> specDetails = new HashMap<String, String>();
107+
specDetails.put("svga.vramSize", "131072");
108+
when(vmSpec3dgpu.getDetails()).thenReturn(specDetails);
109+
110+
VirtualMachineVideoCard videoCard = mock(VirtualMachineVideoCard.class);
111+
when(videoCard.getVideoRamSizeInKB()).thenReturn(65536l);
112+
when(vmMo3dgpu.getAllDeviceList()).thenReturn(Arrays.asList((VirtualDevice) videoCard));
113+
114+
when(vmMo3dgpu.configureVm(any(VirtualMachineConfigSpec.class))).thenReturn(true);
115+
116+
_resource.postVideoCardMemoryConfigBeforeStart(vmMo3dgpu, vmSpec3dgpu);
117+
verify(vmMo3dgpu).configureVm(any(VirtualMachineConfigSpec.class));
118+
}
119+
93120
}

0 commit comments

Comments
 (0)