ParseOrDie -> MustParse; stop returning pointer

This commit is contained in:
Daniel Smith 2015-01-06 17:20:01 -08:00
parent 35f54addca
commit 2050131b9a
6 changed files with 32 additions and 35 deletions

View File

@ -102,14 +102,14 @@ const (
DecimalSI = Format("DecimalSI") // e.g., 12M (12 * 10^6)
)
// ParseOrDie turns the given string into a quantity or panics; for tests
// MustParse turns the given string into a quantity or panics; for tests
// or others cases where you know the string is valid.
func ParseOrDie(str string) *Quantity {
func MustParse(str string) Quantity {
q, err := ParseQuantity(str)
if err != nil {
panic(fmt.Errorf("cannot parse '%v': %v", str, err))
}
return q
return *q
}
const (
@ -403,10 +403,7 @@ func (qf qFlag) String() string {
// QuantityFlag is a helper that makes a quantity flag (using standard flag package).
// Will panic if defaultValue is not a valid quantity.
func QuantityFlag(flagName, defaultValue, description string) *Quantity {
q, err := ParseQuantity(defaultValue)
if err != nil {
panic(fmt.Errorf("can't use %v as a quantity: %v", defaultValue, err))
}
flag.Var(qFlag{q}, flagName, description)
return q
q := MustParse(defaultValue)
flag.Var(qFlag{&q}, flagName, description)
return &q
}

View File

@ -38,17 +38,17 @@ func ExampleFormat() {
// cores = 5300m
}
func ExampleParseOrDie() {
memorySize := resource.ParseOrDie("5Gi")
func ExampleMustParse() {
memorySize := resource.MustParse("5Gi")
fmt.Printf("memorySize = %v (%v)\n", memorySize.Value(), memorySize.Format)
diskSize := resource.ParseOrDie("5G")
diskSize := resource.MustParse("5G")
fmt.Printf("diskSize = %v (%v)\n", diskSize.Value(), diskSize.Format)
cores := resource.ParseOrDie("5300m")
cores := resource.MustParse("5300m")
fmt.Printf("milliCores = %v (%v)\n", cores.MilliValue(), cores.Format)
cores2 := resource.ParseOrDie("5.4")
cores2 := resource.MustParse("5.4")
fmt.Printf("milliCores = %v (%v)\n", cores2.MilliValue(), cores2.Format)
// Output:

View File

@ -373,8 +373,8 @@ func TestValidateManifest(t *testing.T) {
Image: "image",
Command: []string{"foo", "bar"},
WorkingDir: "/tmp",
Memory: *resource.Q("1"),
CPU: *resource.Q("1"),
Memory: resource.MustParse("1"),
CPU: resource.MustParse("1"),
Ports: []api.Port{
{Name: "p1", ContainerPort: 80, HostPort: 8080},
{Name: "p2", ContainerPort: 81},
@ -624,7 +624,7 @@ func TestValidatePodUpdate(t *testing.T) {
Containers: []api.Container{
{
Image: "foo:V1",
CPU: *resource.Q("100m"),
CPU: resource.MustParse("100m"),
},
},
},
@ -635,7 +635,7 @@ func TestValidatePodUpdate(t *testing.T) {
Containers: []api.Container{
{
Image: "foo:V2",
CPU: *resource.Q("1000m"),
CPU: resource.MustParse("1000m"),
},
},
},
@ -1301,8 +1301,8 @@ func TestValidateMinionUpdate(t *testing.T) {
},
Spec: api.NodeSpec{
Capacity: api.ResourceList{
api.ResourceCPU: *resource.Q("10000"),
api.ResourceMemory: *resource.Q("100"),
api.ResourceCPU: resource.MustParse("10000"),
api.ResourceMemory: resource.MustParse("100"),
},
},
}, api.Node{
@ -1311,8 +1311,8 @@ func TestValidateMinionUpdate(t *testing.T) {
},
Spec: api.NodeSpec{
Capacity: api.ResourceList{
api.ResourceCPU: *resource.Q("100"),
api.ResourceMemory: *resource.Q("10000"),
api.ResourceCPU: resource.MustParse("100"),
api.ResourceMemory: resource.MustParse("10000"),
},
},
}, true},
@ -1323,8 +1323,8 @@ func TestValidateMinionUpdate(t *testing.T) {
},
Spec: api.NodeSpec{
Capacity: api.ResourceList{
api.ResourceCPU: *resource.Q("10000"),
api.ResourceMemory: *resource.Q("100"),
api.ResourceCPU: resource.MustParse("10000"),
api.ResourceMemory: resource.MustParse("100"),
},
},
}, api.Node{
@ -1334,8 +1334,8 @@ func TestValidateMinionUpdate(t *testing.T) {
},
Spec: api.NodeSpec{
Capacity: api.ResourceList{
api.ResourceCPU: *resource.Q("100"),
api.ResourceMemory: *resource.Q("10000"),
api.ResourceCPU: resource.MustParse("100"),
api.ResourceMemory: resource.MustParse("10000"),
},
},
}, true},

View File

@ -734,8 +734,8 @@ func TestCreateMinion(t *testing.T) {
},
Spec: api.NodeSpec{
Capacity: api.ResourceList{
api.ResourceCPU: *resource.Q("1000m"),
api.ResourceMemory: *resource.Q("1Mi"),
api.ResourceCPU: resource.MustParse("1000m"),
api.ResourceMemory: resource.MustParse("1Mi"),
},
},
}

View File

@ -170,10 +170,10 @@ func (os *OpenStack) Instances() (cloudprovider.Instances, bool) {
rsrc := api.NodeResources{
Capacity: api.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(int64(flavor.VCPUs*1000), resource.DecimalSI),
api.ResourceMemory: *resource.Q(fmt.Sprintf("%dMi", flavor.RAM)),
"openstack.org/disk": *resource.Q(fmt.Sprintf("%dG", flavor.Disk)),
api.ResourceMemory: resource.MustParse(fmt.Sprintf("%dMi", flavor.RAM)),
"openstack.org/disk": resource.MustParse(fmt.Sprintf("%dG", flavor.Disk)),
"openstack.org/rxTxFactor": *resource.NewQuantity(int64(flavor.RxTxFactor*1000), resource.DecimalSI),
"openstack.org/swap": *resource.Q(fmt.Sprintf("%dMiB", flavor.Swap)),
"openstack.org/swap": resource.MustParse(fmt.Sprintf("%dMi", flavor.Swap)),
},
}
flavor_to_resource[flavor.ID] = &rsrc

View File

@ -56,14 +56,14 @@ func TestLeastRequested(t *testing.T) {
}
cpuOnly := api.PodSpec{
Containers: []api.Container{
{CPU: *resource.Q("1000m")},
{CPU: *resource.Q("2000m")},
{CPU: resource.MustParse("1000m")},
{CPU: resource.MustParse("2000m")},
},
}
cpuAndMemory := api.PodSpec{
Containers: []api.Container{
{CPU: *resource.Q("1000m"), Memory: *resource.Q("2000")},
{CPU: *resource.Q("2000m"), Memory: *resource.Q("3000")},
{CPU: resource.MustParse("1000m"), Memory: resource.MustParse("2000")},
{CPU: resource.MustParse("2000m"), Memory: resource.MustParse("3000")},
},
}
tests := []struct {