From cb07797566adc56ff8953805b598fed45ba9ec12 Mon Sep 17 00:00:00 2001 From: Benoit Tigeot Date: Fri, 27 Mar 2026 15:27:26 +0100 Subject: [PATCH] test: add v3 directory loader budget test Mirror the v2 `TestLoadDirExceedsBudget` test for the v3 loader to prevent budget enforcement regressions in either path. Signed-off-by: Benoit Tigeot --- internal/chart/v3/loader/load_test.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/internal/chart/v3/loader/load_test.go b/internal/chart/v3/loader/load_test.go index c4c252407..7d5e237ff 100644 --- a/internal/chart/v3/loader/load_test.go +++ b/internal/chart/v3/loader/load_test.go @@ -51,6 +51,20 @@ func TestLoadDir(t *testing.T) { verifyDependenciesLock(t, c) } +func TestLoadDirExceedsBudget(t *testing.T) { + orig := archive.MaxDecompressedChartSize + archive.MaxDecompressedChartSize = 1 // 1 byte budget + defer func() { archive.MaxDecompressedChartSize = orig }() + + _, err := LoadDir("testdata/frobnitz") + if err == nil { + t.Fatal("expected error when chart directory exceeds budget") + } + if !strings.Contains(err.Error(), "chart exceeds maximum decompressed size") { + t.Fatalf("unexpected error: %v", err) + } +} + func TestLoadDirWithDevNull(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("test only works on unix systems with /dev/null present")