binctr/vendor/github.com/Microsoft/hcsshim/functional/utilities/createuvm.go
Jess Frazelle 94d1cfbfbf
update vendor
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-09-25 12:27:46 -04:00

47 lines
1 KiB
Go

package testutilities
import (
"testing"
"github.com/Microsoft/hcsshim/internal/uvm"
specs "github.com/opencontainers/runtime-spec/specs-go"
)
// CreateWCOWUVM creates a WCOW utility VM. Returns the UtilityVM object; folder used as its scratch
func CreateWCOWUVM(t *testing.T, uvmLayers []string, id string, resources *specs.WindowsResources) (*uvm.UtilityVM, string) {
scratchDir := CreateTempDir(t)
opts := &uvm.UVMOptions{
OperatingSystem: "windows",
LayerFolders: append(uvmLayers, scratchDir),
Resources: resources,
}
if id != "" {
opts.ID = id
}
uvm, err := uvm.Create(opts)
if err != nil {
t.Fatal(err)
}
if err := uvm.Start(); err != nil {
t.Fatal(err)
}
return uvm, scratchDir
}
// CreateLCOWUVM creates an LCOW utility VM.
func CreateLCOWUVM(t *testing.T, id string) *uvm.UtilityVM {
opts := &uvm.UVMOptions{OperatingSystem: "linux"}
if id != "" {
opts.ID = id
}
uvm, err := uvm.Create(opts)
if err != nil {
t.Fatal(err)
}
if err := uvm.Start(); err != nil {
t.Fatal(err)
}
return uvm
}