From 99b2e4d35ca768a51e4ecc6303c498c4c3ba6100 Mon Sep 17 00:00:00 2001 From: Mauro Marques Filho Date: Thu, 21 May 2026 09:42:20 -0300 Subject: [PATCH] fix(cli): wrap missing config file errors --- cli/config.go | 2 +- cli/config_test.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 cli/config_test.go diff --git a/cli/config.go b/cli/config.go index e878b0f..cdca025 100644 --- a/cli/config.go +++ b/cli/config.go @@ -32,7 +32,7 @@ func RunConfig(args []string) error { } if _, err := os.Stat(target); os.IsNotExist(err) { - return fmt.Errorf("file not found: %s", target) + return fmt.Errorf("file not found: %s: %w", target, err) } cmd := exec.Command(editor, target) diff --git a/cli/config_test.go b/cli/config_test.go new file mode 100644 index 0000000..b7bee5d --- /dev/null +++ b/cli/config_test.go @@ -0,0 +1,19 @@ +package cli + +import ( + "errors" + "os" + "testing" +) + +func TestRunConfigMissingConfigWrapsNotExist(t *testing.T) { + t.Setenv("HOME", t.TempDir()) + + err := RunConfig(nil) + if err == nil { + t.Fatal("RunConfig() error = nil, want missing config error") + } + if !errors.Is(err, os.ErrNotExist) { + t.Fatalf("RunConfig() error = %v, want errors.Is(os.ErrNotExist)", err) + } +}