From 2486686f2e6fae55777dceee5e1cda9130194d11 Mon Sep 17 00:00:00 2001 From: Congregalis <2056843452@qq.com> Date: Thu, 12 Mar 2026 23:07:21 +0800 Subject: [PATCH] fix(cli): reject non-positive chunk size --- internal/cli/run.go | 2 +- internal/cli/run_test.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/cli/run.go b/internal/cli/run.go index d141484..1fe9422 100644 --- a/internal/cli/run.go +++ b/internal/cli/run.go @@ -547,7 +547,7 @@ func parseFlags(args []string, stderr io.Writer) (options, error) { return options{}, errors.New("--max-retries must be 0 or greater") } if opts.ChunkSize <= 0 { - opts.ChunkSize = defaultChunkSize + return options{}, errors.New("--chunk-size must be positive") } opts.SourceURLs = fs.Args() diff --git a/internal/cli/run_test.go b/internal/cli/run_test.go index c505328..e7022da 100644 --- a/internal/cli/run_test.go +++ b/internal/cli/run_test.go @@ -520,6 +520,16 @@ func TestParseFlagsRejectsInvalidMaxRetries(t *testing.T) { } } +func TestParseFlagsRejectsNonPositiveChunkSize(t *testing.T) { + testCases := []string{"0", "-1"} + for _, value := range testCases { + _, err := parseFlags([]string{"--chunk-size", value, "https://example.com"}, io.Discard) + if err == nil || !strings.Contains(err.Error(), "--chunk-size must be positive") { + t.Fatalf("parseFlags error=%v, want chunk-size validation error for value=%s", err, value) + } + } +} + func TestParseFlagsAllowsVersionWithoutURL(t *testing.T) { opts, err := parseFlags([]string{"--version"}, io.Discard) if err != nil {