diff --git a/algo/qmc/key_mmkv_loader.go b/algo/qmc/key_mmkv_loader.go index 479e338..a9fc990 100644 --- a/algo/qmc/key_mmkv_loader.go +++ b/algo/qmc/key_mmkv_loader.go @@ -52,10 +52,10 @@ func parseQmpcMMKVCliOutput(r io.Reader, logger *zap.Logger) common.QMCKeys { } if err := sc.Err(); err != nil { - logger.Warn("LoadMMKVOrDefault: error reading qmpc-mmkv-cli output", zap.Error(err)) + logger.Warn("parseQmpcMMKVCliOutput: error reading qmpc-mmkv-cli output", zap.Error(err)) } if nameRead { - logger.Warn("LoadMMKVOrDefault: qmpc-mmkv-cli output has odd number of lines, ignoring last line", + logger.Warn("parseQmpcMMKVCliOutput: qmpc-mmkv-cli output has odd number of lines, ignoring last line", zap.String("line", name), ) } diff --git a/algo/qmc/key_mmkv_loader_windows.go b/algo/qmc/key_mmkv_loader_windows.go index ec681af..1e894d3 100644 --- a/algo/qmc/key_mmkv_loader_windows.go +++ b/algo/qmc/key_mmkv_loader_windows.go @@ -2,41 +2,34 @@ package qmc import ( "bytes" - "errors" "os/exec" "git.um-react.app/um/cli/algo/common" "go.uber.org/zap" ) +func runQmpcMMKVCLi(exe string) (stdout, stderr bytes.Buffer, err error) { + cmd := exec.Command(exe, "-f", "plaintext", "-o", "-") + cmd.Stdout = &stdout + cmd.Stderr = &stderr + err = cmd.Run() + return stdout, stderr, err +} + func LoadMMKVOrDefault(opts MMKVLoaderOptions, logger *zap.Logger) (result common.QMCKeys, err error) { exe := opts.CliExe - cmd := exec.Command(exe, "-f", "plaintext", "-o", "-") - var stdout, stderr bytes.Buffer - cmd.Stdout = &stdout - cmd.Stderr = &stderr - - err = cmd.Run() + stdout, stderr, err := runQmpcMMKVCLi(exe) if err != nil { - var exitErr *exec.ExitError - if errors.As(err, &exitErr) { - logger.Warn("LoadMMKVOrDefault: qmpc-mmkv-cli exited with non-zero status", - zap.String("exe", exe), - zap.Int("exit_code", exitErr.ExitCode()), - zap.String("stderr", stderr.String()), - ) - } else { - logger.Warn("LoadMMKVOrDefault: failed to run qmpc-mmkv-cli", - zap.String("exe", exe), - zap.Error(err), - zap.String("stderr", stderr.String()), - ) - } + logger.Warn("LoadMMKVOrDefault: qmpc-mmkv-cli exited with error", + zap.String("exe", exe), + zap.Error(err), + zap.String("stderr", stderr.String()), + ) return nil, nil } result = parseQmpcMMKVCliOutput(&stdout, logger) - logger.Debug("Keys loaded from qmpc-mmkv-cli", zap.Int("len", len(result))) + logger.Debug("LoadMMKVOrDefault: Keys loaded from qmpc-mmkv-cli", zap.Int("count", len(result))) return result, nil }