func (s *InstanceSuite) TestParseContainerTypeOrNone(c *gc.C) { ctype, err := instance.ParseContainerTypeOrNone("lxc") c.Assert(err, jc.ErrorIsNil) c.Assert(ctype, gc.Equals, instance.LXC) ctype, err = instance.ParseContainerTypeOrNone("kvm") c.Assert(err, jc.ErrorIsNil) c.Assert(ctype, gc.Equals, instance.KVM) ctype, err = instance.ParseContainerTypeOrNone("none") c.Assert(err, jc.ErrorIsNil) c.Assert(ctype, gc.Equals, instance.NONE) _, err = instance.ParseContainerTypeOrNone("omg") c.Assert(err, gc.ErrorMatches, `invalid container type "omg"`) }
func (v *Value) setContainer(str string) error { if v.Container != nil { return fmt.Errorf("already set") } if str == "" { ctype := instance.ContainerType("") v.Container = &ctype } else { ctype, err := instance.ParseContainerTypeOrNone(str) if err != nil { return err } v.Container = &ctype } return nil }