Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
Merge pull request #319 from jodh-intel/error-on-image+initrd
Browse files Browse the repository at this point in the history
config: Error if image+initrd specified
  • Loading branch information
Julio Montes authored May 21, 2018
2 parents 41492d5 + 8b56573 commit 8347f4d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
5 changes: 5 additions & 0 deletions cli/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,11 @@ func newQemuHypervisorConfig(h hypervisor) (vc.HypervisorConfig, error) {
return vc.HypervisorConfig{}, err
}

if image != "" && initrd != "" {
return vc.HypervisorConfig{},
errors.New("cannot specify an image and an initrd in configuration file")
}

firmware, err := h.firmware()
if err != nil {
return vc.HypervisorConfig{}, err
Expand Down
37 changes: 37 additions & 0 deletions cli/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,43 @@ func TestNewQemuHypervisorConfig(t *testing.T) {

}

func TestNewQemuHypervisorConfigImageAndInitrd(t *testing.T) {
assert := assert.New(t)

tmpdir, err := ioutil.TempDir(testDir, "")
assert.NoError(err)
defer os.RemoveAll(tmpdir)

imagePath := filepath.Join(tmpdir, "image")
initrdPath := filepath.Join(tmpdir, "initrd")
hypervisorPath := path.Join(tmpdir, "hypervisor")
kernelPath := path.Join(tmpdir, "kernel")

for _, file := range []string{imagePath, initrdPath, hypervisorPath, kernelPath} {
err = createEmptyFile(file)
assert.NoError(err)
}

machineType := "machineType"
disableBlock := true
enableIOThreads := true

hypervisor := hypervisor{
Path: hypervisorPath,
Kernel: kernelPath,
Image: imagePath,
Initrd: initrdPath,
MachineType: machineType,
DisableBlockDeviceUse: disableBlock,
EnableIOThreads: enableIOThreads,
}

_, err = newQemuHypervisorConfig(hypervisor)

// specifying both an image+initrd is invalid
assert.Error(err)
}

func TestNewShimConfig(t *testing.T) {
dir, err := ioutil.TempDir(testDir, "shim-config-")
if err != nil {
Expand Down

0 comments on commit 8347f4d

Please sign in to comment.