Skip to content

refactor: use log.Fatal for fatal error handling in main#317

Merged
tenthirtyam merged 1 commit intomainfrom
refactor/standardize-fatal-error-handling
Jun 5, 2025
Merged

refactor: use log.Fatal for fatal error handling in main#317
tenthirtyam merged 1 commit intomainfrom
refactor/standardize-fatal-error-handling

Conversation

@tenthirtyam
Copy link
Copy Markdown
Collaborator

Refactor fatal error handling in the main function to use log.Fatal.

Previously, fatal errors were handled by printing to os.Stderr using fmt.Fprintln followed by an explicit os.Exit(1).This change replaces that pattern with a single call to log.Fatal(err). This is more idiomatic Go, makes the code more concise, and leverages the standard log package's capabilities, such as automatic timestamping of the error message. The program's exit behavior (exiting with status 1 on fatal error) remains the same.

~/Downloads/packer-plugin-vmware git:[refactor/standardize-fatal-error-handling]
go fmt ./...

~/Downloads/packer-plugin-vmware git:[refactor/standardize-fatal-error-handling]
make dev
packer plugins install --path packer-plugin-vmware "github.com/hashicorp/vmware"
Successfully installed plugin github.com/hashicorp/vmware from /Users/johnsonryan/Downloads/packer-plugin-vmware/packer-plugin-vmware to /Users/johnsonryan/.packer.d/plugins/github.com/hashicorp/vmware/packer-plugin-vmware_v1.1.1-dev_x5.0_darwin_amd64

~/Downloads/packer-plugin-vmware git:[refactor/standardize-fatal-error-handling]
make build

~/Downloads/packer-plugin-vmware git:[refactor/standardize-fatal-error-handling]
make test
?       github.com/hashicorp/packer-plugin-vmware       [no test files]
?       github.com/hashicorp/packer-plugin-vmware/version       [no test files]
ok      github.com/hashicorp/packer-plugin-vmware/builder/vmware/common 7.520s
ok      github.com/hashicorp/packer-plugin-vmware/builder/vmware/iso    3.759s
ok      github.com/hashicorp/packer-plugin-vmware/builder/vmware/vmx    2.914s

Refactor fatal error handling in the main function to use `log.Fatal`.

Previously, fatal errors were handled by printing to os.Stderr using `fmt.Fprintln` followed by an explicit `os.Exit(1)`.This change replaces that pattern with a single call to `log.Fatal(err)`. This is more idiomatic Go, makes the code more concise, and leverages the standard log package's capabilities, such as automatic timestamping of the error message. The program's exit behavior (exiting with status 1 on fatal error) remains the same.

Signed-off-by: Ryan Johnson <ryan.johnson@broadcom.com>
@tenthirtyam tenthirtyam added this to the v1.2.0 milestone May 23, 2025
@tenthirtyam tenthirtyam self-assigned this May 23, 2025
@tenthirtyam tenthirtyam requested a review from a team as a code owner May 23, 2025 18:58
@tenthirtyam tenthirtyam merged commit ed02e6b into main Jun 5, 2025
13 checks passed
@tenthirtyam tenthirtyam deleted the refactor/standardize-fatal-error-handling branch June 5, 2025 14:34
@github-actions
Copy link
Copy Markdown

I'm going to lock this pull request because it has been closed for 30 days. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants