Skip to content

Commit

Permalink
ParseOrDie -> MustParse; stop returning pointer
Browse files Browse the repository at this point in the history
  • Loading branch information
lavalamp committed Jan 7, 2015
1 parent 35f54ad commit 2050131
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 35 deletions.
15 changes: 6 additions & 9 deletions pkg/api/resource/quantity.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
Expand Down Expand Up @@ -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
}
10 changes: 5 additions & 5 deletions pkg/api/resource/quantity_example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
24 changes: 12 additions & 12 deletions pkg/api/validation/validation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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},
Expand Down Expand Up @@ -624,7 +624,7 @@ func TestValidatePodUpdate(t *testing.T) {
Containers: []api.Container{
{
Image: "foo:V1",
CPU: *resource.Q("100m"),
CPU: resource.MustParse("100m"),
},
},
},
Expand All @@ -635,7 +635,7 @@ func TestValidatePodUpdate(t *testing.T) {
Containers: []api.Container{
{
Image: "foo:V2",
CPU: *resource.Q("1000m"),
CPU: resource.MustParse("1000m"),
},
},
},
Expand Down Expand Up @@ -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{
Expand All @@ -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},
Expand All @@ -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{
Expand All @@ -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},
Expand Down
4 changes: 2 additions & 2 deletions pkg/client/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
},
},
}
Expand Down
6 changes: 3 additions & 3 deletions pkg/cloudprovider/openstack/openstack.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions pkg/scheduler/priorities_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 2050131

Please sign in to comment.