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 {