Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
CLOUDSTACK-9211: Unit test for 3dgpu support
  • Loading branch information
nvazquez committed Jan 20, 2016
commit b73c053abd59617b1faca18ad21ed26c5dc78e9f
Original file line number Diff line number Diff line change
Expand Up @@ -1953,7 +1953,7 @@ protected StartAnswer execute(StartCommand cmd) {
* @param vmMo virtual machine mo
* @param vmSpec virtual machine specs
*/
private void postVideoCardMemoryConfigBeforeStart(VirtualMachineMO vmMo, VirtualMachineTO vmSpec) {
protected void postVideoCardMemoryConfigBeforeStart(VirtualMachineMO vmMo, VirtualMachineTO vmSpec) {
String paramVRamSize = "svga.vramSize";
if (vmSpec.getDetails().containsKey(paramVRamSize)){
String value = vmSpec.getDetails().get(paramVRamSize);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,22 @@
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.any;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;

import com.vmware.vim25.VirtualDevice;
import com.vmware.vim25.VirtualMachineConfigSpec;

import com.vmware.vim25.VirtualMachineVideoCard;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.ScaleVmAnswer;
import com.cloud.agent.api.ScaleVmCommand;
Expand Down Expand Up @@ -64,6 +71,10 @@ public VmwareHypervisorHost getHyperHost(VmwareContext context, Command cmd) {
VirtualMachineMO vmMo;
@Mock
VirtualMachineConfigSpec vmConfigSpec;
@Mock
VirtualMachineMO vmMo3dgpu;
@Mock
VirtualMachineTO vmSpec3dgpu;

@Before
public void setup() {
Expand All @@ -90,4 +101,20 @@ public void testScaleVMF1() throws Exception {
verify(_resource).execute(cmd);
}

@Test
public void testStartVm3dgpuEnabled() throws Exception{
Map<String, String> specDetails = new HashMap<String, String>();
specDetails.put("svga.vramSize", "131072");
when(vmSpec3dgpu.getDetails()).thenReturn(specDetails);

VirtualMachineVideoCard videoCard = mock(VirtualMachineVideoCard.class);
when(videoCard.getVideoRamSizeInKB()).thenReturn(65536l);
when(vmMo3dgpu.getAllDeviceList()).thenReturn(Arrays.asList((VirtualDevice) videoCard));

when(vmMo3dgpu.configureVm(any(VirtualMachineConfigSpec.class))).thenReturn(true);

_resource.postVideoCardMemoryConfigBeforeStart(vmMo3dgpu, vmSpec3dgpu);
verify(vmMo3dgpu).configureVm(any(VirtualMachineConfigSpec.class));
}

}