Skip to content

Instantly share code, notes, and snippets.

@dvyukov
Created May 25, 2021 15:25
Show Gist options
  • Save dvyukov/a8b27dc3f9315598ef401c2e5320fe3b to your computer and use it in GitHub Desktop.
Save dvyukov/a8b27dc3f9315598ef401c2e5320fe3b to your computer and use it in GitHub Desktop.
func createVMPool(targetArch, outputDir string) (*vm.Pool, *mgrconfig.Config, error) {
configData := fmt.Sprintf(`
{
"target": "netbsd/%[1]v",
"workdir": "%[2]v",
"image": "%[2]v/image",
"sshkey": "%[2]v/key",
"ssh_user": "root",
"type": "qemu",
"vm": {
"snapshot": false,
"mem": 1024
}
}
`, targetArch, outputDir)
cfg, err := mgrconfig.LoadData([]byte(configData))
if err != nil {
return nil, nil, err
}
vmPool, err := vm.Create(cfg, false)
if err != nil {
return nil, nil, err
}
return vmPool, cfg, nil
}
package build
import (
"os"
"io/ioutil"
"path/filepath"
"testing"
"github.com/google/syzkaller/sys/targets"
)
func TestCreateVMPool(t *testing.T) {
dir, err := ioutil.TempDir("", "syz-build")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(dir)
if err := ioutil.WriteFile(filepath.Join(dir, "image"), []byte("image"), 0666); err != nil {
t.Fatal(err)
}
if err := ioutil.WriteFile(filepath.Join(dir, "image"), []byte("key"), 0666); err != nil {
t.Fatal(err)
}
if _, _, err := createVMPool(targets.AMD64, dir); err != nil {
t.Fatal(err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment