From 08ff8ab81b31b7e625cec04fee48dc3f57e20d09 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sun, 22 Mar 2020 12:54:36 +0100 Subject: [PATCH] distro: the distro constructors cannot fail Simplify the code by dropping the potential error return. The constructor simply instantiates some maps, this cannot fail. Signed-off-by: Tom Gundersen --- internal/distro/distro.go | 26 +++---------------------- internal/distro/fedora30/distro.go | 4 ++-- internal/distro/fedora30/distro_test.go | 10 ++-------- internal/distro/fedora31/distro.go | 4 ++-- internal/distro/fedora31/distro_test.go | 10 ++-------- internal/distro/fedora32/distro.go | 4 ++-- internal/distro/fedora32/distro_test.go | 11 +++-------- internal/distro/rhel81/distro.go | 4 ++-- internal/distro/rhel81/distro_test.go | 10 ++-------- internal/distro/rhel82/distro.go | 4 ++-- internal/distro/rhel82/distro_test.go | 10 ++-------- 11 files changed, 24 insertions(+), 73 deletions(-) diff --git a/internal/distro/distro.go b/internal/distro/distro.go index 524c52ee2..78984ad33 100644 --- a/internal/distro/distro.go +++ b/internal/distro/distro.go @@ -78,29 +78,9 @@ func NewRegistry(distros ...Distro) (*Registry, error) { return reg, nil } -// Create a new Registry containing all known distros. +// NewDefaultRegistry creates a new Registry containing all known distros. func NewDefaultRegistry() (*Registry, error) { - f30, err := fedora30.New() - if err != nil { - return nil, fmt.Errorf("error loading fedora30: %v", err) - } - f31, err := fedora31.New() - if err != nil { - return nil, fmt.Errorf("error loading fedora31: %v", err) - } - f32, err := fedora32.New() - if err != nil { - return nil, fmt.Errorf("error loading fedora32: %v", err) - } - el81, err := rhel81.New() - if err != nil { - return nil, fmt.Errorf("error loading rhel81: %v", err) - } - el82, err := rhel82.New() - if err != nil { - return nil, fmt.Errorf("error loading rhel82: %v", err) - } - return NewRegistry(f30, f31, f32, el81, el82) + return NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New()) } func (r *Registry) GetDistro(name string) Distro { @@ -116,7 +96,7 @@ func (r *Registry) GetDistro(name string) Distro { return distro } -// Returns the names of all distros in a Registry, sorted alphabetically. +// List returns the names of all distros in a Registry, sorted alphabetically. func (r *Registry) List() []string { list := []string{} for _, distro := range r.distros { diff --git a/internal/distro/fedora30/distro.go b/internal/distro/fedora30/distro.go index 8809444a7..d21134020 100644 --- a/internal/distro/fedora30/distro.go +++ b/internal/distro/fedora30/distro.go @@ -44,7 +44,7 @@ type output struct { const Distro = common.Fedora30 const ModulePlatformID = "platform:f30" -func New() (*Fedora30, error) { +func New() *Fedora30 { const GigaByte = 1024 * 1024 * 1024 r := Fedora30{ @@ -286,7 +286,7 @@ func New() (*Fedora30, error) { }, } - return &r, nil + return &r } func (r *Fedora30) Name() string { diff --git a/internal/distro/fedora30/distro_test.go b/internal/distro/fedora30/distro_test.go index fc5e258eb..ac8e89144 100644 --- a/internal/distro/fedora30/distro_test.go +++ b/internal/distro/fedora30/distro_test.go @@ -19,10 +19,7 @@ func TestListOutputFormats(t *testing.T) { "vmdk", } - f30, err := fedora30.New() - if err != nil { - t.Fatal(err) - } + f30 := fedora30.New() if got := f30.ListOutputFormats(); !reflect.DeepEqual(got, want) { t.Errorf("ListOutputFormats() = %v, want %v", got, want) @@ -96,10 +93,7 @@ func TestFilenameFromType(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - f30, err := fedora30.New() - if err != nil { - t.Fatal(err) - } + f30 := fedora30.New() got, got1, err := f30.FilenameFromType(tt.args.outputFormat) if (err != nil) != tt.wantErr { t.Errorf("FilenameFromType() error = %v, wantErr %v", err, tt.wantErr) diff --git a/internal/distro/fedora31/distro.go b/internal/distro/fedora31/distro.go index 4a64ef55b..1e810e9b9 100644 --- a/internal/distro/fedora31/distro.go +++ b/internal/distro/fedora31/distro.go @@ -44,7 +44,7 @@ type output struct { const Distro = common.Fedora31 const ModulePlatformID = "platform:f31" -func New() (*Fedora31, error) { +func New() *Fedora31 { const GigaByte = 1024 * 1024 * 1024 r := Fedora31{ @@ -286,7 +286,7 @@ func New() (*Fedora31, error) { }, } - return &r, nil + return &r } func (r *Fedora31) Name() string { diff --git a/internal/distro/fedora31/distro_test.go b/internal/distro/fedora31/distro_test.go index 104442bec..0bddb1020 100644 --- a/internal/distro/fedora31/distro_test.go +++ b/internal/distro/fedora31/distro_test.go @@ -19,10 +19,7 @@ func TestListOutputFormats(t *testing.T) { "vmdk", } - f31, err := fedora31.New() - if err != nil { - t.Fatal(err) - } + f31 := fedora31.New() if got := f31.ListOutputFormats(); !reflect.DeepEqual(got, want) { t.Errorf("ListOutputFormats() = %v, want %v", got, want) @@ -96,10 +93,7 @@ func TestFilenameFromType(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - f31, err := fedora31.New() - if err != nil { - t.Fatal(err) - } + f31 := fedora31.New() got, got1, err := f31.FilenameFromType(tt.args.outputFormat) if (err != nil) != tt.wantErr { t.Errorf("FilenameFromType() error = %v, wantErr %v", err, tt.wantErr) diff --git a/internal/distro/fedora32/distro.go b/internal/distro/fedora32/distro.go index 9510cfa52..dcbcfb591 100644 --- a/internal/distro/fedora32/distro.go +++ b/internal/distro/fedora32/distro.go @@ -44,7 +44,7 @@ type output struct { const Distro = common.Fedora32 const ModulePlatformID = "platform:f32" -func New() (*Fedora32, error) { +func New() *Fedora32 { const GigaByte = 1024 * 1024 * 1024 r := Fedora32{ @@ -286,7 +286,7 @@ func New() (*Fedora32, error) { }, } - return &r, nil + return &r } func (r *Fedora32) Name() string { diff --git a/internal/distro/fedora32/distro_test.go b/internal/distro/fedora32/distro_test.go index 9d750a491..e01b049db 100644 --- a/internal/distro/fedora32/distro_test.go +++ b/internal/distro/fedora32/distro_test.go @@ -19,10 +19,7 @@ func TestListOutputFormats(t *testing.T) { "vmdk", } - f32, err := fedora32.New() - if err != nil { - t.Fatal(err) - } + f32 := fedora32.New() if got := f32.ListOutputFormats(); !reflect.DeepEqual(got, want) { t.Errorf("ListOutputFormats() = %v, want %v", got, want) @@ -96,10 +93,8 @@ func TestFilenameFromType(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - f32, err := fedora32.New() - if err != nil { - t.Fatal(err) - } + f32 := fedora32.New() + got, got1, err := f32.FilenameFromType(tt.args.outputFormat) if (err != nil) != tt.wantErr { t.Errorf("FilenameFromType() error = %v, wantErr %v", err, tt.wantErr) diff --git a/internal/distro/rhel81/distro.go b/internal/distro/rhel81/distro.go index c8aacfe08..42a475bee 100644 --- a/internal/distro/rhel81/distro.go +++ b/internal/distro/rhel81/distro.go @@ -45,7 +45,7 @@ type output struct { const Distro = common.RHEL81 const ModulePlatformID = "platform:el8" -func New() (*RHEL81, error) { +func New() *RHEL81 { const GigaByte = 1024 * 1024 * 1024 r := RHEL81{ @@ -425,7 +425,7 @@ func New() (*RHEL81, error) { }, } - return &r, nil + return &r } func (r *RHEL81) Name() string { diff --git a/internal/distro/rhel81/distro_test.go b/internal/distro/rhel81/distro_test.go index 5cb02c4de..2cecf93f9 100644 --- a/internal/distro/rhel81/distro_test.go +++ b/internal/distro/rhel81/distro_test.go @@ -19,10 +19,7 @@ func TestListOutputFormats(t *testing.T) { "vmdk", } - el81, err := rhel81.New() - if err != nil { - t.Fatal(err) - } + el81 := rhel81.New() if got := el81.ListOutputFormats(); !reflect.DeepEqual(got, want) { t.Errorf("ListOutputFormats() = %v, want %v", got, want) @@ -96,10 +93,7 @@ func TestFilenameFromType(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - el81, err := rhel81.New() - if err != nil { - t.Fatal(err) - } + el81 := rhel81.New() got, got1, err := el81.FilenameFromType(tt.args.outputFormat) if (err != nil) != tt.wantErr { t.Errorf("FilenameFromType() error = %v, wantErr %v", err, tt.wantErr) diff --git a/internal/distro/rhel82/distro.go b/internal/distro/rhel82/distro.go index dc2a53fdb..f86588292 100644 --- a/internal/distro/rhel82/distro.go +++ b/internal/distro/rhel82/distro.go @@ -45,7 +45,7 @@ type output struct { const Distro = common.RHEL82 const ModulePlatformID = "platform:el8" -func New() (*RHEL82, error) { +func New() *RHEL82 { const GigaByte = 1024 * 1024 * 1024 r := RHEL82{ @@ -425,7 +425,7 @@ func New() (*RHEL82, error) { }, } - return &r, nil + return &r } func (r *RHEL82) Name() string { diff --git a/internal/distro/rhel82/distro_test.go b/internal/distro/rhel82/distro_test.go index 444812fb3..6066eeac4 100644 --- a/internal/distro/rhel82/distro_test.go +++ b/internal/distro/rhel82/distro_test.go @@ -19,10 +19,7 @@ func TestListOutputFormats(t *testing.T) { "vmdk", } - el82, err := rhel82.New() - if err != nil { - t.Fatal(err) - } + el82 := rhel82.New() if got := el82.ListOutputFormats(); !reflect.DeepEqual(got, want) { t.Errorf("ListOutputFormats() = %v, want %v", got, want) @@ -96,10 +93,7 @@ func TestFilenameFromType(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - el82, err := rhel82.New() - if err != nil { - t.Fatal(err) - } + el82 := rhel82.New() got, got1, err := el82.FilenameFromType(tt.args.outputFormat) if (err != nil) != tt.wantErr { t.Errorf("FilenameFromType() error = %v, wantErr %v", err, tt.wantErr)